de.bsvrz.pat.sysbed.preselection.lists
Class PreselectionListsHandler

java.lang.Object
  extended by de.bsvrz.pat.sysbed.preselection.lists.PreselectionListsHandler

 class PreselectionListsHandler
extends Object

Die Klasse PreselectionListsHandler verarbeitet die Daten des Panels PreselectionLists.

Author:
Kappich Systemberatung

Field Summary
private  Set<Aspect> _aspectFilter
           
private  Set<AttributeGroup> _attributeGroupFilter
           
private  List<SystemObject> _objectsDependOnAsp
           
private  List<SystemObject> _objectsDependOnAtg
           
private  List<SystemObject> _objectsDependOnObjectType
           
private  List<SystemObject> _objectsDependOnTree
           
private  Set<SystemObjectType> _objectTypeFilter
           
private  PreselectionLists _preselectionLists
          speichert ein Objekt der Klasse PreselectionLists
private  Set<Aspect> _wantedAspectFilter
           
private  Set<AttributeGroup> _wantedAttributeGroupFilter
           
 
Constructor Summary
PreselectionListsHandler(PreselectionLists preselectionLists)
          Konstruktor, damit PreselectionLists und PreselectionListsHandler miteinander arbeiten können.
 
Method Summary
private  void acquireFilterAspects()
           
private  void acquireFilterAttributeGroups()
           
private  HashSet<SystemObjectType> getAllSuperTypes(SystemObjectType systemObjectType, HashSet<SystemObjectType> set)
          Hilfsmethode zu getObjectTypeData(java.util.List).
private  List getAspData(List<SystemObject> objects, List<AttributeGroup> selectedAtgs)
          Gibt die zu den Systemobjekten gehörenden Aspekte in Abhängigkeit der Attributgruppen zurück.
private  List getAtgData(List<SystemObject> objects)
          Gibt die zu den Systemobjekten gehörenden Attributgruppen zurück.
private  List getObjectTypeData(List<SystemObject> objects)
          Liefert zu den übergebenden SystemObjekten ihre Objekttypen und die Objekttypen von denen sie abgeleitet sind.
private  boolean hasObjectSuperType(SystemObjectType systemObjectType, List objects)
          Überprüft rekursiv, ob der übergebene Objekttyp eines Systemobjekts in der Liste der Objekttypen vorkommt.
private  void init(List<SystemObjectType> systemObjectTypes, List<AttributeGroup> attributeGroups, List<Aspect> aspects)
           
private  void objectsDependOn(List<SystemObjectType> selectedObjectTypes, List<AttributeGroup> selectedATGs, List<Aspect> selectedASPs)
          Zu jeder der vier Listen der Klasse PreselectionLists werden in Abhängigkeit der selektierten Werte die Objekte gefiltert und gespeichert.
 void objectsDependOnAsp(List<SystemObjectType> selectedObjectType, List<AttributeGroup> selectedATGs, List<Aspect> selectedASPs)
          Diese Methode aktualisiert die Listen der Objekte in Abhängigkeit von den selektierten Werten der Listen Objekttyp, Attributgruppe und Aspekt.
 void objectsDependOnAtg(List<SystemObjectType> selectedObjectTypes, List<AttributeGroup> selectedATGs, List<Aspect> selectedASPs)
          Diese Methode aktualisiert die Listen der Aspekte und der Objekte in Abhängigkeit von den selektierten Werten der Listen Objekttyp, Attributgruppe und Aspekt.
 void objectsDependOnObjectType(List<SystemObjectType> selectedObjectTypes, List<AttributeGroup> selectedATGs, List<Aspect> selectedASPs)
          Diese Methode aktualisiert die Listen der Attributgruppen, Aspekte und Objekte in Abhängigkeit von den selektierten Werten der Listen Objekttyp, Attributgruppe und Aspekt.
(package private)  void setAspectFilter(Collection<Aspect> aspects)
           
(package private)  void setAttributeGroupFilter(Collection<AttributeGroup> attributeGroups)
           
(package private)  void setObjects(Collection<SystemObject> systemObjects)
          Versetzt die Listen in ihren initialen Zustand.
(package private)  void setObjectTypeFilter(Collection<SystemObjectType> objectTypes)
           
private  List<SystemObject> sortCollection(List<SystemObject> list)
          Sortiert eine Liste lexikographisch unter Berücksichtigung von deutschen Umlauten.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_preselectionLists

private PreselectionLists _preselectionLists
speichert ein Objekt der Klasse PreselectionLists


_objectsDependOnTree

private List<SystemObject> _objectsDependOnTree

_objectsDependOnObjectType

private List<SystemObject> _objectsDependOnObjectType

_objectsDependOnAtg

private List<SystemObject> _objectsDependOnAtg

_objectsDependOnAsp

private List<SystemObject> _objectsDependOnAsp

_objectTypeFilter

private Set<SystemObjectType> _objectTypeFilter

_wantedAttributeGroupFilter

private Set<AttributeGroup> _wantedAttributeGroupFilter

_wantedAspectFilter

private Set<Aspect> _wantedAspectFilter

_aspectFilter

private Set<Aspect> _aspectFilter

_attributeGroupFilter

private Set<AttributeGroup> _attributeGroupFilter
Constructor Detail

PreselectionListsHandler

PreselectionListsHandler(PreselectionLists preselectionLists)
Konstruktor, damit PreselectionLists und PreselectionListsHandler miteinander arbeiten können. D.h. PreselectionListsHandler verarbeitet die Daten (Objekte) und stellt sie wieder auf dem Panel PreselectionLists dar.

Parameters:
preselectionLists - das Panel PreselectionLists
Method Detail

setObjects

void setObjects(Collection<SystemObject> systemObjects)
Versetzt die Listen in ihren initialen Zustand. Die Listen werden anhand der übergebenen SystemObjekte erstellt und angezeigt.

Parameters:
systemObjects - die anzuzeigenden SystemObjekte

init

private void init(List<SystemObjectType> systemObjectTypes,
                  List<AttributeGroup> attributeGroups,
                  List<Aspect> aspects)

sortCollection

private List<SystemObject> sortCollection(List<SystemObject> list)
Sortiert eine Liste lexikographisch unter Berücksichtigung von deutschen Umlauten.

Parameters:
list - zu sortierende Liste
Returns:
die lexikographisch sortierte Liste

getObjectTypeData

private List getObjectTypeData(List<SystemObject> objects)
Liefert zu den übergebenden SystemObjekten ihre Objekttypen und die Objekttypen von denen sie abgeleitet sind.

Parameters:
objects - SystemObjekte, zu denen die Objekttypen gebraucht werden
Returns:
alle Objekttypen passend zu den SystemObjekten

getAllSuperTypes

private HashSet<SystemObjectType> getAllSuperTypes(SystemObjectType systemObjectType,
                                                   HashSet<SystemObjectType> set)
Hilfsmethode zu getObjectTypeData(java.util.List). Gibt zurück, von welchen Objekttypen der übergebene Objekttyp erbt.

Parameters:
systemObjectType - Objekttyp, zu dem seine Objekttypen gesucht werden
set - hier werden die Objekttypen gespeichert
Returns:
alle gefundenen Objekttypen

getAtgData

private List getAtgData(List<SystemObject> objects)
Gibt die zu den Systemobjekten gehörenden Attributgruppen zurück.

Parameters:
objects - Liste der Systemobjekte
Returns:
Liste der gefundenen Attributgruppen

getAspData

private List getAspData(List<SystemObject> objects,
                        List<AttributeGroup> selectedAtgs)
Gibt die zu den Systemobjekten gehörenden Aspekte in Abhängigkeit der Attributgruppen zurück.

Parameters:
objects - Liste der Systemobjekte
selectedAtgs - Liste der ausgewählten Attributgruppen
Returns:
Liste der gefundenen Aspekte

hasObjectSuperType

private boolean hasObjectSuperType(SystemObjectType systemObjectType,
                                   List objects)
Überprüft rekursiv, ob der übergebene Objekttyp eines Systemobjekts in der Liste der Objekttypen vorkommt.

Parameters:
systemObjectType - ein Objekttyp
objects - Liste von Objekttypen
Returns:
true/false ob Objekttyp in der Liste der Objekttypen vorkommt

objectsDependOn

private void objectsDependOn(List<SystemObjectType> selectedObjectTypes,
                             List<AttributeGroup> selectedATGs,
                             List<Aspect> selectedASPs)
Zu jeder der vier Listen der Klasse PreselectionLists werden in Abhängigkeit der selektierten Werte die Objekte gefiltert und gespeichert.

Parameters:
selectedObjectTypes - die selektierten Objekttypen
selectedATGs - die selektierten Attributgruppen
selectedASPs - die selektierten Aspekte

objectsDependOnObjectType

public void objectsDependOnObjectType(List<SystemObjectType> selectedObjectTypes,
                                      List<AttributeGroup> selectedATGs,
                                      List<Aspect> selectedASPs)
Diese Methode aktualisiert die Listen der Attributgruppen, Aspekte und Objekte in Abhängigkeit von den selektierten Werten der Listen Objekttyp, Attributgruppe und Aspekt.

Parameters:
selectedObjectTypes - die selektierten Objekttypen
selectedATGs - die selektierten Attributgruppen
selectedASPs - die selektierten Aspekte

objectsDependOnAtg

public void objectsDependOnAtg(List<SystemObjectType> selectedObjectTypes,
                               List<AttributeGroup> selectedATGs,
                               List<Aspect> selectedASPs)
Diese Methode aktualisiert die Listen der Aspekte und der Objekte in Abhängigkeit von den selektierten Werten der Listen Objekttyp, Attributgruppe und Aspekt.

Parameters:
selectedObjectTypes - die selektierten Objekttypen
selectedATGs - die selektierten Attributgruppen
selectedASPs - die selektierten Aspekte

objectsDependOnAsp

public void objectsDependOnAsp(List<SystemObjectType> selectedObjectType,
                               List<AttributeGroup> selectedATGs,
                               List<Aspect> selectedASPs)
Diese Methode aktualisiert die Listen der Objekte in Abhängigkeit von den selektierten Werten der Listen Objekttyp, Attributgruppe und Aspekt.

Parameters:
selectedObjectType - die selektierten Objekttypen
selectedATGs - die selektierten Attributgruppen
selectedASPs - die selektierten Aspekte

setObjectTypeFilter

void setObjectTypeFilter(Collection<SystemObjectType> objectTypes)

setAttributeGroupFilter

void setAttributeGroupFilter(Collection<AttributeGroup> attributeGroups)

setAspectFilter

void setAspectFilter(Collection<Aspect> aspects)

acquireFilterAttributeGroups

private void acquireFilterAttributeGroups()

acquireFilterAspects

private void acquireFilterAspects()