1
|
import java.io.*;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.table.AbstractTableModel;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Vector;
import java.util.Date;
/**
* <p>�berschrift: TierCon</p>
*
* <p>Beschreibung: Container Klasse der Tiere</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Organisation: </p>
*
* @author Andreas Spirka, Sven Eisenhauer
* @version 1.0
*/
public class TierCon extends AbstractTableModel implements Serializable {
private Vector<Tier> vec = new Vector<Tier>();
String[] colnam = { "ID","Name","Tierart","Rasse","Farbe","Alter","Geschlecht","Foto","Sonstiges","Heimeintritt","Impfung","zust�ndiger Mitarbeiter","�nderung","Befund","Last Changer","Freigabe"};
/**
* Konstruktor
*/
public TierCon() {
}
/**
* @return int naechste freie ID im Container
* entspricht TierID
*/
public int getNextFreeID() {
int retVal=1000;
if (vec.size()!=0)
{
retVal=vec.lastElement().getTierID()+1;
}
return retVal;
}
/**
* @param t Tier
* zum Container hinzufuegen
*/
public void addTier(Tier t) {
vec.addElement(t);
fireTableDataChanged();
}
/**
* @param t Tier
* aus Container loeschen
*/
public void removeTier(Tier t) {
vec.removeElement(t);
fireTableDataChanged();
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getColumnCount()
*/
public int getColumnCount() {
return colnam.length;
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getColumnName(int)
*/
public String getColumnName(int column) {
return colnam[ column ];
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getRowCount()
*/
public int getRowCount() {
return vec.size();
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getValueAt(int, int)
*/
public Object getValueAt(int rowIndex, int columnIndex) {
Tier t = (Tier) vec.elementAt( rowIndex );
switch (columnIndex) {
case 0: return Integer.toString(t.getTierID()); //ID
case 1: return t.getTierName(); //Name
case 2: return Tier.TIERARTEN[t.getTierart()]; //Tierart
case 3: return t.getRasse();
case 4: return t.getFarbe(); //Farbe
case 5: return Integer.toString(t.getAlter()); //Alter
case 6: return Tier.GESCHLECHT[t.getGeschlecht()]; // Geschlecht
case 7: return t.getFoto(); //Foto
case 8: return t.getSonstiges(); //sonstiges
case 9: return t.getHeimeintritt(); //heimeintritt
case 10: return t.getImpfung(); //impfung
case 11: return t.getMitarbeiter().getUserName(); // zust�ndiger Mitarbeiter
case 12: return t.getAenderung(); //�nderung
case 13: return t.getBefund(); //befund
case 14: return t.getChanger().getUserName(); //last Canger
case 15: return t.getFreigabe(); //Freiagbe
default:
}
return null;
}
/**
* @return int size of container
*/
public int size () {
return vec.size();
}
/**
* @param i int
* @return Object
*/
public Object elementAt(int i) {
return (Object) vec.elementAt(i);
}
/**
* @param t Tier
* @param i int Position
*/
public void setElementAt(Tier t, int i) {
t.setChanger(thv.getActUser());
vec.setElementAt(t,i);
fireTableDataChanged();
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getColumnClass(int)
*/
public Class<?> getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#isCellEditable(int, int)
*/
public boolean isCellEditable(int rowIndex, int columnIndex) {
if(thv.getActUser().getRole() == User.ROLE_GUEST)
return false;
else if (columnIndex == 14 || columnIndex==7 || columnIndex==12)
return false;
else if ( (columnIndex == 13 || columnIndex == 15) && thv.getActUser().getRole() != User.ROLE_VET)
return false;
else
return true;
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
*/
public void setValueAt(Object o,int rowIndex, int columnIndex)
{
Tier t = (Tier) vec.elementAt(rowIndex);
switch (columnIndex) {
case 1: // Name
t.setTierName((String) o);
break;
case 2: // Tierart
t.setTierArt ( (String) o );
break;
case 3: // Rasse
t.setRasse((String) o);
break;
case 4: // Farbe
t.setFarbe((String) o);
break;
case 5: // Alter
t.setAlter((String) o);
break;
case 6: // Geschlecht
t.setGeschlecht((String) o);
break;
//case 7: // Fotopfad
// u.setFoto((String) o);
// break;
case 8: // Sonstige Merkmale
t.setSonstiges((String) o);
break;
case 9: // Datum Heimeintritt
t.setHeimeintritt((String) o);
break;
case 10: // Impfung
t.setImpfung((String) o);
break;
case 11: // zust�ndiger Mitarbeiter
t.setMitarbeiter( (String) o);
break;
case 12: // Datum Letzte �ndererung
t.setAenderung((String) o);
break;
case 13: // �rztlicher Befund
t.setBefund((String) o);
break;
//case 14: // Mitarbeiter Letzte �nderung
// t.setChanger(t.getChanger());
// break;
case 15: // Freigabe
t.setFreigabe( (Boolean) o );
break;
default:
}
vec.setElementAt(t,rowIndex);
fireTableCellUpdated(rowIndex,columnIndex);
thv.setDataChanged(true);
}
/**
* clear container
*/
public void clear()
{
vec.clear();
}
}
|