Class DefTreeModel

java.lang.Object
  |
  +--com.sun.java.swing.tree.DefaultTreeModel
        |
        +--DefTreeModel

public class DefTreeModel
extends com.sun.java.swing.tree.DefaultTreeModel

DefTree zeigt Merkmalseinheiten, -gruppen und Merkmale in der Hierarchie an,
die in der Relationen-Tabelle der HEISS-Datenbank festgelegt ist. Die 
Darstellung des Models in einem JTree wird von der View QueryPage übernommen.

Autor: Tim Paehler, Institut für Geoinformatik der Universität Münster e-mail: paehler@ifgi.uni-muenster.de

Version: 1.0 Bemerkung: benötigt jdk 1.1 mit Swing 1.0.1 Stand: November 1998

See Also:
QueryPage, Serialized Form

Fields inherited from class com.sun.java.swing.tree.DefaultTreeModel
asksAllowsChildren, listenerList, root
 
Constructor Summary
DefTreeModel(com.sun.java.swing.tree.DefaultMutableTreeNode inRoot)
          wird von RMIImpl aufgerufen (keine DB-Connection + progressBar noetig)
DefTreeModel(com.sun.java.swing.tree.DefaultMutableTreeNode inRoot, DBConnect db, com.sun.java.swing.JProgressBar inProgressBar)
          Konstruktor: weist nur die Variablen zu, Rest wird entweder auf dem Server erledigt (bei Übertragung via RMI) oder durch initializeJDBC()
 
Method Summary
 int[] getMitarbeiterGruppen(int[] ids)
          gibt die Gruppen-IDs des Mitarbeiters an, der dieses Objekt benutzt (enthalten in der DB-Tabelle MGRUPPE, Zuordnung über MGLISTE zu MITARBEITER).
 int getMitarbeiterID(int id)
          gibt die ID des Mitarbeiters an, der dieses Objekt benutzt (enthalten in der DB-Tabelle MITARBEITER).
 void initializeJDBC()
          Initialisiert den Baum durch direkten Zugriff auf die DB (falls RMI nicht funktioniert hat): Führt die notwendigen Datenbankabfragen durch und baut den DefTree rekursiv auf.
Die Methode sollte in einem eigenen Thread aufgerufen werden, da für ihre Abarbeitung einiges an Zeit (im Minutenbereich) benötigt wird.
static void main(java.lang.String[] args)
          Wird nur zum Testen benötigt, im Final-Release wieder rauswerfen !
 void removeRubbish(com.sun.java.swing.tree.DefaultMutableTreeNode node)
          entfernt alle verschlüsselten Einträge (= MGDef-DefRecs, deren Mitarbeitergruppe von der des Benutzers nicht in mitarbeiterGruppen enthalten ist)
 void setMitarbeiterGruppen(int[] ids)
          wird von RechercheModel.GetDefTree.run() benutzt.
 void setMitarbeiterID(int id)
          wird von RechercheModel.GetDefTree.run() benutzt .
 void setProgressBar(com.sun.java.swing.JProgressBar bar)
          wird nach dem Einholen via RMI aufgerufen (hierfür wird kein progressBar benötigt)
 
Methods inherited from class com.sun.java.swing.tree.DefaultTreeModel
addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getChild, getChildCount, getIndexOfChild, getPathToRoot, getPathToRoot, getRoot, insertNodeInto, isLeaf, nodeChanged, nodesChanged, nodeStructureChanged, nodesWereInserted, nodesWereRemoved, reload, reload, removeNodeFromParent, removeTreeModelListener, setAsksAllowsChildren, valueForPathChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefTreeModel

public DefTreeModel(com.sun.java.swing.tree.DefaultMutableTreeNode inRoot,
                    DBConnect db,
                    com.sun.java.swing.JProgressBar inProgressBar)
Konstruktor: weist nur die Variablen zu, Rest wird entweder auf dem Server erledigt (bei Übertragung via RMI) oder durch initializeJDBC()
Parameters:
inRoot - Wurzel für das TreeModel
db - initialisierte Datenbank-Verbindung
inProgressBar - von der View initialisierter JProgressBar, wird in insertChildren inkrementiert.

DefTreeModel

public DefTreeModel(com.sun.java.swing.tree.DefaultMutableTreeNode inRoot)
wird von RMIImpl aufgerufen (keine DB-Connection + progressBar noetig)
Method Detail

setProgressBar

public void setProgressBar(com.sun.java.swing.JProgressBar bar)
wird nach dem Einholen via RMI aufgerufen (hierfür wird kein progressBar benötigt)

initializeJDBC

public void initializeJDBC()
Initialisiert den Baum durch direkten Zugriff auf die DB (falls RMI nicht funktioniert hat): Führt die notwendigen Datenbankabfragen durch und baut den DefTree rekursiv auf.
Die Methode sollte in einem eigenen Thread aufgerufen werden, da für ihre Abarbeitung einiges an Zeit (im Minutenbereich) benötigt wird.

removeRubbish

public void removeRubbish(com.sun.java.swing.tree.DefaultMutableTreeNode node)
entfernt alle verschlüsselten Einträge (= MGDef-DefRecs, deren Mitarbeitergruppe von der des Benutzers nicht in mitarbeiterGruppen enthalten ist)
See Also:
RechercheModel

setMitarbeiterID

public void setMitarbeiterID(int id)
wird von RechercheModel.GetDefTree.run() benutzt .
See Also:
RechercheModel

getMitarbeiterID

public int getMitarbeiterID(int id)
gibt die ID des Mitarbeiters an, der dieses Objekt benutzt (enthalten in der DB-Tabelle MITARBEITER).

setMitarbeiterGruppen

public void setMitarbeiterGruppen(int[] ids)
wird von RechercheModel.GetDefTree.run() benutzt.
See Also:
RechercheModel

getMitarbeiterGruppen

public int[] getMitarbeiterGruppen(int[] ids)
gibt die Gruppen-IDs des Mitarbeiters an, der dieses Objekt benutzt (enthalten in der DB-Tabelle MGRUPPE, Zuordnung über MGLISTE zu MITARBEITER).

main

public static void main(java.lang.String[] args)
Wird nur zum Testen benötigt, im Final-Release wieder rauswerfen !