Class ConfigDataModel

java.lang.Object
de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel
All Implemented Interfaces:
de.bsvrz.dav.daf.main.config.DataModel, de.bsvrz.dav.daf.main.config.management.ConfigurationControl, de.bsvrz.dav.daf.main.config.ObjectLookup

public class ConfigDataModel extends Object implements de.bsvrz.dav.daf.main.config.DataModel, de.bsvrz.dav.daf.main.config.management.ConfigurationControl
Implementierung des Datenmodells auf Seiten der Konfiguration zum Zugriff auf die Konfigurationsdaten. Die Verwaltungsdaten und die Konfigurationsdaten werden hier zusammengeführt und entsprechend des Datenmodells zur Verfügung gestellt.
See Also:
  • DataModel
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Maximal unterstützte Protokollversion
  • Constructor Summary

    Constructors
    Constructor
    Description
    ConfigDataModel(File adminFile)
    Erzeugt das Datenmodell der Konfiguration.
    ConfigDataModel(File adminFile, boolean ignoreDependencyErrorsInConsistencyCheck)
    Erzeugt das Datenmodell der Konfiguration.
  • Method Summary

    Modifier and Type
    Method
    Description
    de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface
    activateConfigurationAreas(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
     
    de.bsvrz.dav.daf.main.config.BackupResult
    backupConfigurationFiles(String targetDirectory, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback)
     
    de.bsvrz.dav.daf.main.config.BackupResult
    backupConfigurationFiles(String targetDirectory, de.bsvrz.dav.daf.main.config.ConfigurationAuthority configurationAuthority, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback)
     
    void
    checkCodingOfConfigurationAuthority(short authorityCoding, String authorityPid)
    Diese Methode prüft, ob die Kodierung des zu verwendenden Konfigurationsverantwortlichen eindeutig ist.
    de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface
    checkConsistency(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
     
    de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface
    checkConsistencyAndFixErrors(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
    Diese Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen und behebbare Probleme zu beheben.
    void
     
    de.bsvrz.dav.daf.main.config.ConfigurationArea
    createConfigurationArea(String areaName, String areaPid, de.bsvrz.dav.daf.main.config.SystemObjectType authorityObjectType, String authorityPid, String authorityName, long authorityCoding)
    Diese Methode legt einen neuen Konfigurationsbereich und bei Bedarf den dazugehörigen Konfigurationsverantwortlichen in der lokalen Konfiguration an.
    de.bsvrz.dav.daf.main.config.ConfigurationArea
    createConfigurationArea(String name, String pid, String authorityPid)
     
    de.bsvrz.dav.daf.main.config.ConfigurationObject
    createConfigurationObject(de.bsvrz.dav.daf.main.config.ConfigurationObjectType type, String pid, String name, List<? extends de.bsvrz.dav.daf.main.config.ObjectSet> sets)
     
    de.bsvrz.dav.daf.main.config.DynamicObject
    createDynamicObject(de.bsvrz.dav.daf.main.config.SystemObjectType type, String pid, String name)
     
    final void
     
    void
    deleteObjects(short simulationVariant)
    Löscht alle dynamischen Objekte mit der angegebenen Simulationsvariante permanent.
    void
    Ermittelt, welche Objekte endgültig gelöscht werden können und markiert diese.
    void
    exportConfigurationAreas(File exportPath, Collection<String> configurationAreaPids)
     
    short
    getActiveVersion(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea)
     
    Map<String,de.bsvrz.dav.daf.main.config.ConfigurationArea>
     
    Collection<de.bsvrz.dav.daf.main.config.SystemObject>
    getAllObjects(Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification objectTimeSpecification)
    Gibt alle Objekte unabhängig von der Simulationsvariante zurück
    boolean
    Liefert das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.
    protected Collection<de.bsvrz.dav.daf.main.config.SystemObjectType>
    getAllSubTypes(de.bsvrz.dav.daf.main.config.SystemObjectType type)
    Diese Methode ermittelt zu diesem Objekt-Typ rekursiv alle Typen, die diesen Typ direkt und indirekt erweitern.
    de.bsvrz.dav.daf.main.config.AttributeGroupUsage
    getAttributeGroupUsage(long usageIdentification)
    Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
    Gibt das Verzeichnis für Sicherungen der Konfigurationsdateien zurück
    List<de.bsvrz.dav.daf.main.config.SystemObjectType>
     
    de.bsvrz.dav.daf.main.config.ConfigurationArea
     
    Gibt zu einem Konfigurationsbereich dessen Verwaltungsinformationen zurück.
    de.bsvrz.dav.daf.main.config.ConfigurationAuthority
     
     
    de.bsvrz.dav.daf.main.Data[]
    getConfigurationData(de.bsvrz.dav.daf.main.config.SystemObject[] objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg)
     
    de.bsvrz.dav.daf.main.Data[]
    getConfigurationData(de.bsvrz.dav.daf.main.config.SystemObject[] objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg, de.bsvrz.dav.daf.main.config.Aspect asp)
     
    de.bsvrz.dav.daf.main.Data[]
    getConfigurationData(Collection<de.bsvrz.dav.daf.main.config.SystemObject> objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg)
     
    de.bsvrz.dav.daf.main.Data[]
    getConfigurationData(Collection<de.bsvrz.dav.daf.main.config.SystemObject> objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg, de.bsvrz.dav.daf.main.config.Aspect asp)
     
    Liefert die Verwaltung für die Konfigurationsdateien.
    boolean
     
    Gibt das Objekt für Änderungen an der Verwaltungsdatei zurück.
    de.bsvrz.dav.daf.main.config.SystemObject
    getObject(long id)
     
    de.bsvrz.dav.daf.main.config.SystemObject
     
    de.bsvrz.dav.daf.main.config.SystemObject
    getObject(String pid, short simulationVariant)
    Gibt das Objekt mit der angegebenen Pid aus Sicht der angegebenen Simulation zurück.
    List<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(long... ids)
     
    List<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(String... pids)
     
    List<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(String[] pids, short simulationVariant)
     
    Collection<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(String pid, long startTime, long endTime)
     
    Collection<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(String pid, long startTime, long endTime, short simulationVariant)
    Gibt die Objekte zurück, die aus Sicht der angegebenen Simulationsvariante zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
    Collection<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification objectTimeSpecification)
    Gibt alle Objekte zurück, außer Objekten die in Simulationen sind
    Collection<de.bsvrz.dav.daf.main.config.SystemObject>
    getObjects(Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification objectTimeSpecification, short simulationVariant)
    Gibt alle Objekte zurück, die in einer bestimmten Simulation gültig sind
    List<de.bsvrz.dav.daf.main.config.SystemObject>
     
    List<de.bsvrz.dav.daf.main.config.SystemObject>
     
     
    de.bsvrz.dav.daf.main.config.SystemObjectType
     
     
    de.bsvrz.dav.daf.main.config.management.UserAdministration
     
    Gibt die Benutzerverwaltung zurück, falls über setUserManagement festgelegt
    void
    importConfigurationAreas(File importPath, Collection<String> configurationAreaPids)
     
    boolean
    objectIsValidInSimulation(de.bsvrz.dav.daf.main.config.SystemObject systemObject, short simulationVariant)
    Prüft, ob ein Objekt in der angegebenen Simulation gültig ist
    boolean
    referenceAllowed(de.bsvrz.dav.daf.main.config.SystemObject systemObject)
    Gibt true zurück, wenn das angegebene Objekt referenziert werden darf.
    void
    releaseConfigurationAreasForActivation(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
     
    de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface
    releaseConfigurationAreasForActivationWithoutCAActivation(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
     
    de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface
    releaseConfigurationAreasForTransfer(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
     
    void
     
    void
    Speichert die Verwaltungsdaten und die Konfigurationsbereiche ab.
    void
     
    void
     
    void
    sendCollectionChangedNotification(ConfigMutableCollectionSupport mutableCollectionSupport, short simulationVariant, List<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, List<de.bsvrz.dav.daf.main.config.SystemObject> removedElements)
    Leitet die Aktualisierungsnachrichten bzgl.
    void
    setAllowDoublePids(boolean allowDoublePids)
    Setzt das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.
    void
    setBackupBaseDirectory(File backupBaseDirectory)
    Setzt das Verzeichnis, in dem Konfigurationsdateien gesichert werden sollen
    void
    setConfigurationAuthority(de.bsvrz.dav.daf.main.config.ConfigurationAuthority authority)
    Setzt den Konfigurationsverantwortlichen der Konfiguration.
    void
    setIgnoreDependencyErrorsInConsistencyCheck(boolean ignoreDependencyErrorsInConsistencyCheck)
    Setzt das Flag, mit dem die Konsistenzprüfung entscheidet, ob Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden oder zum Abbruch führen sollen. werden sollen.
    void
    Setzt die Simulationsverwaltung die für manche Funktionen benötigt wird
    void
    Setzt die Benutzerverwaltung
    Gibt die String-Repräsentation dieser Klasse zurück.
    void
    verifyDataReferences(short simulationVariant, de.bsvrz.dav.daf.main.Data data)
    Bei Simulationen muss sichergestellt sein, dass Konfigurationsdaten von dynamischen Objekten aus Simulationen keine (assoziativen) Referenzen auf Objekte enthalten, die in dieser Simulation nicht gültig sind.
    void
    verifyDataReferences(ConfigSystemObject referencingObject, de.bsvrz.dav.daf.main.Data data)
    Bei Simulationen muss sichergestellt sein, dass Konfigurationsdaten von dynamischen Objekten aus Simulationen keine (assoziativen) Referenzen auf Objekte enthalten, die in dieser Simulation nicht gültig sind.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface de.bsvrz.dav.daf.main.config.DataModel

    getAspect, getAttributeGroup, getAttributeGroupUsage, getAttributeType, getConfigObject, getConfigType, getDataDescription, getDynamicObject, getDynamicType, getObjectSetType, getType

    Methods inherited from interface de.bsvrz.dav.daf.main.config.ObjectLookup

    getObject, getObject
  • Field Details

    • PROTOCOL_VERSION

      public static final int PROTOCOL_VERSION
      Maximal unterstützte Protokollversion
      See Also:
  • Constructor Details

    • ConfigDataModel

      public ConfigDataModel(File adminFile)
      Erzeugt das Datenmodell der Konfiguration.
      Parameters:
      adminFile - Datei mit den Verwaltungsdaten der Konfiguration oder leere Datei.
    • ConfigDataModel

      public ConfigDataModel(File adminFile, boolean ignoreDependencyErrorsInConsistencyCheck)
      Erzeugt das Datenmodell der Konfiguration.
      Parameters:
      adminFile - Datei mit den Verwaltungsdaten der Konfiguration oder leere Datei.
      ignoreDependencyErrorsInConsistencyCheck - Flag zum ignorieren fehlender Abhängigkeiten zwischen Konfigurationsbereichen
  • Method Details

    • checkCodingOfConfigurationAuthority

      public void checkCodingOfConfigurationAuthority(short authorityCoding, String authorityPid) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Diese Methode prüft, ob die Kodierung des zu verwendenden Konfigurationsverantwortlichen eindeutig ist. Es darf also keinen aktuellen Verantwortlichen geben, der die gleiche Kodierung verwendet.
      Parameters:
      authorityCoding - zu vergleichende Kodierung
      authorityPid - Pid des Konfigurationsverantwortlichen
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Falls die Kodierung nicht eindeutig ist.
    • getConfigurationFileManager

      public ConfigurationFileManager getConfigurationFileManager()
      Liefert die Verwaltung für die Konfigurationsdateien.
      Returns:
      die Verwaltung für die Konfigurationsdateien
    • getManagementFile

      public ConfigurationManagementFile getManagementFile()
      Gibt das Objekt für Änderungen an der Verwaltungsdatei zurück.
      Returns:
      das Objekt zur Manipulation der Verwaltungsdatei
    • getConfigurationAuthority

      public de.bsvrz.dav.daf.main.config.ConfigurationAuthority getConfigurationAuthority()
      Specified by:
      getConfigurationAuthority in interface de.bsvrz.dav.daf.main.config.DataModel
    • setConfigurationAuthority

      public void setConfigurationAuthority(de.bsvrz.dav.daf.main.config.ConfigurationAuthority authority)
      Setzt den Konfigurationsverantwortlichen der Konfiguration.
      Parameters:
      authority - der Konfigurationsverantwortliche der Konfiguration
    • getConfigurationAuthorityPid

      public String getConfigurationAuthorityPid()
      Specified by:
      getConfigurationAuthorityPid in interface de.bsvrz.dav.daf.main.config.DataModel
    • getConfigurationAreaManagementInfo

      public ConfigurationAreaManagementInfo getConfigurationAreaManagementInfo(String pid)
      Gibt zu einem Konfigurationsbereich dessen Verwaltungsinformationen zurück.
      Parameters:
      pid - Pid des Konfigurationsbereichs
      Returns:
      Verwaltungsinformationen des gewünschten Konfigurationsbereichs
    • checkConsistency

      public de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface checkConsistency(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
      Specified by:
      checkConsistency in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
    • activateConfigurationAreas

      public de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface activateConfigurationAreas(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      activateConfigurationAreas in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • checkConsistencyAndFixErrors

      public de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface checkConsistencyAndFixErrors(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
      Diese Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen und behebbare Probleme zu beheben. Diese Methode kann unabhängig von der Aktivierung activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>) oder Freigabe releaseConfigurationAreasForTransfer(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>) aufgerufen werden.
      Parameters:
      configurationAreas - Definiert alle Konfigurationsbereiche, die einer Konsistenzprüfung unterzogen werden sollen. Der Bereich wird über seine Pid identifiziert, zusätzlich wird die Version angegeben in der der Konfigurationsbereich geprüft werden soll. Alle Bereiche der Konfiguration, die nicht angegeben werden, werden in die Prüfung einbezogen und zwar mit ihrer aktuellen Version und müssen somit nicht explizit angegeben werden.
      Returns:
      Ergebnis der Konsistenzprüfung
    • restructure

      public void restructure(ConfigurationAreaFile.RestructureMode mode)
    • releaseConfigurationAreasForTransfer

      public de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface releaseConfigurationAreasForTransfer(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      releaseConfigurationAreasForTransfer in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • releaseConfigurationAreasForActivation

      public void releaseConfigurationAreasForActivation(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      releaseConfigurationAreasForActivation in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • importConfigurationAreas

      public void importConfigurationAreas(File importPath, Collection<String> configurationAreaPids) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      importConfigurationAreas in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • exportConfigurationAreas

      public void exportConfigurationAreas(File exportPath, Collection<String> configurationAreaPids) throws de.bsvrz.dav.daf.main.config.ConfigurationTaskException
      Specified by:
      exportConfigurationAreas in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationTaskException
    • releaseConfigurationAreasForActivationWithoutCAActivation

      public de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface releaseConfigurationAreasForActivationWithoutCAActivation(Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      releaseConfigurationAreasForActivationWithoutCAActivation in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • deleteDynamicObjectsPermanently

      public final void deleteDynamicObjectsPermanently()
    • getObject

      public de.bsvrz.dav.daf.main.config.SystemObject getObject(String pid)
      Specified by:
      getObject in interface de.bsvrz.dav.daf.main.config.DataModel
      Specified by:
      getObject in interface de.bsvrz.dav.daf.main.config.ObjectLookup
    • getObject

      public de.bsvrz.dav.daf.main.config.SystemObject getObject(String pid, short simulationVariant)
      Gibt das Objekt mit der angegebenen Pid aus Sicht der angegebenen Simulation zurück. Das heißt im Detail:
      • Bei Anfragen mit Simulationsvariante 0 werden nur "normale" aktive Objekte zurückgegeben.
      • Bei Anfragen aus Simulationen wird entweder ein Objekt derselben Simulation zurückgegeben, oder ein "normales" aktives Objekt. "normale" Objekte werden aber nur zurückgegeben, wenn der Typ des Objektes nicht speziell in der Simulation behandelt wird. Wird der Typ speziell behandelt ist das Objekt in der Simulation nicht gültig und es wird stattdessen null zurückgegeben.
      Parameters:
      pid - Pid
      simulationVariant - Simulation
      Returns:
      Ein Objekt falls vorhanden oder null.
    • getObject

      public de.bsvrz.dav.daf.main.config.SystemObject getObject(long id)
      Specified by:
      getObject in interface de.bsvrz.dav.daf.main.config.DataModel
      Specified by:
      getObject in interface de.bsvrz.dav.daf.main.config.ObjectLookup
    • getObjects

      public List<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(long... ids)
      Specified by:
      getObjects in interface de.bsvrz.dav.daf.main.config.DataModel
    • getObjects

      public List<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(String... pids)
      Specified by:
      getObjects in interface de.bsvrz.dav.daf.main.config.DataModel
    • getObjects

      public List<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(String[] pids, short simulationVariant)
    • getObjectsById

      public List<de.bsvrz.dav.daf.main.config.SystemObject> getObjectsById(Collection<Long> ids)
      Specified by:
      getObjectsById in interface de.bsvrz.dav.daf.main.config.DataModel
    • getObjectsByPid

      public List<de.bsvrz.dav.daf.main.config.SystemObject> getObjectsByPid(Collection<String> pids)
      Specified by:
      getObjectsByPid in interface de.bsvrz.dav.daf.main.config.DataModel
    • getConfigurationArea

      public de.bsvrz.dav.daf.main.config.ConfigurationArea getConfigurationArea(String pid)
      Specified by:
      getConfigurationArea in interface de.bsvrz.dav.daf.main.config.DataModel
    • getAllConfigurationAreas

      public Map<String,de.bsvrz.dav.daf.main.config.ConfigurationArea> getAllConfigurationAreas()
      Specified by:
      getAllConfigurationAreas in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
    • getConfigurationData

      public de.bsvrz.dav.daf.main.Data[] getConfigurationData(de.bsvrz.dav.daf.main.config.SystemObject[] objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg)
      Specified by:
      getConfigurationData in interface de.bsvrz.dav.daf.main.config.DataModel
    • getConfigurationData

      public de.bsvrz.dav.daf.main.Data[] getConfigurationData(Collection<de.bsvrz.dav.daf.main.config.SystemObject> objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg)
      Specified by:
      getConfigurationData in interface de.bsvrz.dav.daf.main.config.DataModel
    • getConfigurationData

      public de.bsvrz.dav.daf.main.Data[] getConfigurationData(de.bsvrz.dav.daf.main.config.SystemObject[] objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg, de.bsvrz.dav.daf.main.config.Aspect asp)
      Specified by:
      getConfigurationData in interface de.bsvrz.dav.daf.main.config.DataModel
    • getConfigurationData

      public de.bsvrz.dav.daf.main.Data[] getConfigurationData(Collection<de.bsvrz.dav.daf.main.config.SystemObject> objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg, de.bsvrz.dav.daf.main.config.Aspect asp)
      Specified by:
      getConfigurationData in interface de.bsvrz.dav.daf.main.config.DataModel
    • getActiveVersion

      public short getActiveVersion(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea)
      Specified by:
      getActiveVersion in interface de.bsvrz.dav.daf.main.config.DataModel
    • getTypeTypeObject

      public de.bsvrz.dav.daf.main.config.SystemObjectType getTypeTypeObject()
      Specified by:
      getTypeTypeObject in interface de.bsvrz.dav.daf.main.config.DataModel
    • getBaseTypes

      public List<de.bsvrz.dav.daf.main.config.SystemObjectType> getBaseTypes()
      Specified by:
      getBaseTypes in interface de.bsvrz.dav.daf.main.config.DataModel
    • createConfigurationObject

      public de.bsvrz.dav.daf.main.config.ConfigurationObject createConfigurationObject(de.bsvrz.dav.daf.main.config.ConfigurationObjectType type, String pid, String name, List<? extends de.bsvrz.dav.daf.main.config.ObjectSet> sets) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      createConfigurationObject in interface de.bsvrz.dav.daf.main.config.DataModel
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • createDynamicObject

      public de.bsvrz.dav.daf.main.config.DynamicObject createDynamicObject(de.bsvrz.dav.daf.main.config.SystemObjectType type, String pid, String name) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      createDynamicObject in interface de.bsvrz.dav.daf.main.config.DataModel
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • deleteObjects

      public void deleteObjects(short simulationVariant)
      Löscht alle dynamischen Objekte mit der angegebenen Simulationsvariante permanent.
      Parameters:
      simulationVariant - die Simulationsvariante
    • doMaintenance

      public void doMaintenance(MaintenanceSpec spec)
      Ermittelt, welche Objekte endgültig gelöscht werden können und markiert diese. Entfernt historische Referenzen in dynamischen Mengen
      Parameters:
      spec - Spezifikation, welche Objekttypen nach welchen Zeiträumen gelöscht werden dürfen
    • getReferenceHelper

      public ReferenceHelper getReferenceHelper()
    • getObjects

      public Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(String pid, long startTime, long endTime, short simulationVariant)
      Gibt die Objekte zurück, die aus Sicht der angegebenen Simulationsvariante zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
      Parameters:
      pid - die Pid der gewünschten Objekte
      startTime - der zu betachtende Startzeitpunkt des Anfragezeitraums
      endTime - der zu betrachtende Endzeitpunkt des Anfragezeitraums
      simulationVariant - die Simulationsvariante
      Returns:
      Die Objekte, die zu der angegebenen Pid in dem angegebenen Zeitraum in der angegebenen Simulation gültig waren.
    • objectIsValidInSimulation

      public boolean objectIsValidInSimulation(de.bsvrz.dav.daf.main.config.SystemObject systemObject, short simulationVariant)
      Prüft, ob ein Objekt in der angegebenen Simulation gültig ist
      Parameters:
      systemObject - Zu prüfendes Objekt
      simulationVariant - Simulationsvariante der zu prüfenden Simulation oder 0 falls keine Simulation verwendet wird
      Returns:
      true: Objekt ist gültig, false sonst. Insbesondere ist ein Objekt dann gültig wenn
      • Keine Simulation verwendet wird und das Objekt auch nicht simuliert ist
      • Eine Simulation verwendet wird und das Objekt dieselbe Simulationsvariante besitzt
      • Eine Simulation verwendet wird und das Objekt nicht simuliert ist, der Typ des Objektes aber auch nicht in der Simulationsstrecke definiert ist
    • getObjects

      public Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(String pid, long startTime, long endTime)
      Specified by:
      getObjects in interface de.bsvrz.dav.daf.main.config.DataModel
    • getAllObjects

      public Collection<de.bsvrz.dav.daf.main.config.SystemObject> getAllObjects(Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification objectTimeSpecification)
      Gibt alle Objekte unabhängig von der Simulationsvariante zurück
      Parameters:
      configurationAreas - Konfigurationsbereiche, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.
      systemObjectTypes - Objekttypen, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Objekttypen werden betrachtet.
      objectTimeSpecification - Gibt den Gültigkeitsbereich der geforderten Objekte an.
      Returns:
      Objekte
      See Also:
    • getObjects

      public Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification objectTimeSpecification)
      Gibt alle Objekte zurück, außer Objekten die in Simulationen sind
      Specified by:
      getObjects in interface de.bsvrz.dav.daf.main.config.DataModel
      Parameters:
      configurationAreas - Konfigurationsbereiche, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.
      systemObjectTypes - Objekttypen, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Objekttypen werden betrachtet.
      objectTimeSpecification - Gibt den Gültigkeitsbereich der geforderten Objekte an.
      Returns:
      Objekte
      See Also:
    • getObjects

      public Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification objectTimeSpecification, short simulationVariant)
      Gibt alle Objekte zurück, die in einer bestimmten Simulation gültig sind
      Parameters:
      configurationAreas - Konfigurationsbereiche, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.
      systemObjectTypes - Objekttypen, die zu berücksichtigen sind. Wird null übergeben, so gilt dies als Wildcard und alle Objekttypen werden betrachtet.
      objectTimeSpecification - Gibt den Gültigkeitsbereich der geforderten Objekte an.
      simulationVariant - Simulationsvariante
      Returns:
      Objekte
    • getUserAdministration

      public de.bsvrz.dav.daf.main.config.management.UserAdministration getUserAdministration()
      Specified by:
      getUserAdministration in interface de.bsvrz.dav.daf.main.config.DataModel
    • backupConfigurationFiles

      public de.bsvrz.dav.daf.main.config.BackupResult backupConfigurationFiles(String targetDirectory, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback) throws de.bsvrz.dav.daf.main.config.ConfigurationTaskException
      Specified by:
      backupConfigurationFiles in interface de.bsvrz.dav.daf.main.config.DataModel
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationTaskException
    • backupConfigurationFiles

      public de.bsvrz.dav.daf.main.config.BackupResult backupConfigurationFiles(String targetDirectory, de.bsvrz.dav.daf.main.config.ConfigurationAuthority configurationAuthority, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback) throws de.bsvrz.dav.daf.main.config.ConfigurationTaskException
      Specified by:
      backupConfigurationFiles in interface de.bsvrz.dav.daf.main.config.DataModel
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationTaskException
    • getAllSubTypes

      protected Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> getAllSubTypes(de.bsvrz.dav.daf.main.config.SystemObjectType type)
      Diese Methode ermittelt zu diesem Objekt-Typ rekursiv alle Typen, die diesen Typ direkt und indirekt erweitern.
      Parameters:
      type - der zu betrachtende Objekt-Typ
      Returns:
      Alle Typen, die diesen Typ direkt und indirekt erweitern.
    • toString

      public String toString()
      Gibt die String-Repräsentation dieser Klasse zurück. Der Wert kann sich ändern.
      Overrides:
      toString in class Object
      Returns:
      die String-Repräsentation dieser Klasse
    • save

      public void save() throws IOException
      Speichert die Verwaltungsdaten und die Konfigurationsbereiche ab.
      Throws:
      IOException - Fehler, die beim Speichern der Verwaltungsdaten oder der Konfigurationsdateien auftreten, werden hier weitergereicht.
    • close

      public void close()
    • createConfigurationArea

      public de.bsvrz.dav.daf.main.config.ConfigurationArea createConfigurationArea(String areaName, String areaPid, de.bsvrz.dav.daf.main.config.SystemObjectType authorityObjectType, String authorityPid, String authorityName, long authorityCoding) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Diese Methode legt einen neuen Konfigurationsbereich und bei Bedarf den dazugehörigen Konfigurationsverantwortlichen in der lokalen Konfiguration an. Hierfür wird eine entsprechende Konfigurationsdatei angelegt, die initial das Objekt des Konfigurationsbereichs (und ggf. des Konfigurationsverantwortlichen) enthält.

      Zusätzlich müssen die konfigurierenden Datensätze für den Konfigurationsverantwortlichen und für die Versionsnummern (aktivierbare und übernehmbare Version) angelegt werden.

      Ein Eintrag in der Verwaltungsdatei wird ebenfalls eingetragen. Er enthält die Pid des Konfigurationsbereichs und die Pfadangabe, wo sich die Konfigurationsdatei nach Erstellung befindet.

      Soll ein Konfigurationsverantwortlicher angelegt werden, müssen die Parameter `authorityObjectType`, `authorityName` und `authorityCoding` gesetzt sein (sonst werden die Werte ignoriert).

      Soll kein Konfigurationsverantwortlicher angelegt werden, muss der Parameter `authorityPid` dem aktuellen KV entsprechen.

      Zum Anlegen eines neuen KV sind folgende Bedingungen zu erfüllen:

      • Es gibt noch kein KV mit derselben Pid in der Konfiguration.
      • Der neue KV ist bereits in der verwaltungsdaten.xml bzw. in `getManagementFile()` als aktueller KV eingetragen.
      • Die neue Kodierung liegt innerhalb des zulässigen Bereichs und ist noch keinem anderen KV zugeordnet

      Nach dem Anlegen eines KVs werden weitere Operationen (wie Erzeugungen weiterer Objekte) unter dem neuen KV mit seiner Kodierung durchgeführt.

      Nach dem Methodenaufruf müssen bei dem ggf. angelegten KV konfigurierende Informationen und Mengen (insbesondere der Datensatz "atg.konfigurationsVerantwortlicherEigenschaften") des KV manuell ergänzt werden. Der gerade angelegte KV kann mit der Methode getConfigurationAuthority() ermittelt werden. Wird das nicht gemacht, ist die Kodierung nach einem Neustart der Konfiguration nicht mehr bekannt und die Konfiguration ist ggf. nicht mehr benutzbar.

      Parameters:
      areaName - Name des neuen Konfigurationsbereichs
      areaPid - eindeutige Pid des neuen Konfigurationsbereichs
      authorityPid - die Pid des Konfigurationsverantwortlichen des neuen Konfigurationsbereichs
      Returns:
      Das Objekt des neuen Konfigurationsbereichs.
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Falls kein neuer Konfigurationsbereich angelegt werden konnte.
    • createConfigurationArea

      public de.bsvrz.dav.daf.main.config.ConfigurationArea createConfigurationArea(String name, String pid, String authorityPid) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      createConfigurationArea in interface de.bsvrz.dav.daf.main.config.management.ConfigurationControl
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • getAttributeGroupUsage

      public de.bsvrz.dav.daf.main.config.AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
      Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
      Specified by:
      getAttributeGroupUsage in interface de.bsvrz.dav.daf.main.config.DataModel
      Parameters:
      usageIdentification - Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.
      Returns:
      Zur Identifizierung gehörende Attributgruppenverwendung.
    • getAllowDoublePids

      public boolean getAllowDoublePids()
      Liefert das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.
      Returns:
      true falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.
    • setAllowDoublePids

      public void setAllowDoublePids(boolean allowDoublePids)
      Setzt das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.
      Parameters:
      allowDoublePids - true falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.
    • getIgnoreDependencyErrorsInConsistencyCheck

      public boolean getIgnoreDependencyErrorsInConsistencyCheck()
    • setIgnoreDependencyErrorsInConsistencyCheck

      public void setIgnoreDependencyErrorsInConsistencyCheck(boolean ignoreDependencyErrorsInConsistencyCheck)
      Setzt das Flag, mit dem die Konsistenzprüfung entscheidet, ob Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden oder zum Abbruch führen sollen. werden sollen.
      Parameters:
      ignoreDependencyErrorsInConsistencyCheck - true falls Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden sollen.
    • saveSetElementsFileLater

      public void saveSetElementsFileLater(MutableSetExtFileStorage mutableSetExtFileStorage)
    • saveSetElementsFiles

      public void saveSetElementsFiles()
    • sendCollectionChangedNotification

      public void sendCollectionChangedNotification(ConfigMutableCollectionSupport mutableCollectionSupport, short simulationVariant, List<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, List<de.bsvrz.dav.daf.main.config.SystemObject> removedElements)
      Leitet die Aktualisierungsnachrichten bzgl. Änderungen von dynamischen Mengen und dynamischen Typen an das entsprechende Verwaltungsobjekt weiter.
      Parameters:
      mutableCollectionSupport - Verwaltungsobjekt für Aktualisierungsnachrichten
      simulationVariant - Simulationsvariante der Änderung
      addedElements - Hinzugefügte Elemente der dynamischen Zusammenstellung
      removedElements - Entfernte Elemente der dynamischen Zusammenstellung
    • getBackupBaseDirectory

      public File getBackupBaseDirectory()
      Gibt das Verzeichnis für Sicherungen der Konfigurationsdateien zurück
      Returns:
      das Verzeichnis, in dem Konfigurationsdateien gesichert werden sollen. null wenn keines festgelegt wurde
    • setBackupBaseDirectory

      public void setBackupBaseDirectory(File backupBaseDirectory)
      Setzt das Verzeichnis, in dem Konfigurationsdateien gesichert werden sollen
      Parameters:
      backupBaseDirectory - das Verzeichnis, in dem Konfigurationsdateien gesichert werden sollen
    • getUserManagement

      public ConfigAuthentication getUserManagement()
      Gibt die Benutzerverwaltung zurück, falls über setUserManagement festgelegt
      Returns:
      eine ConfigAuthentication oder null falls keine festgelegt wurde
    • setUserManagement

      public void setUserManagement(ConfigAuthentication userManagement)
      Setzt die Benutzerverwaltung
      Parameters:
      userManagement - Benutzerverwaltungsklasse
    • setSimulationHandler

      public void setSimulationHandler(SimulationHandler simulationHandler)
      Setzt die Simulationsverwaltung die für manche Funktionen benötigt wird
      Parameters:
      simulationHandler - Klasse zur Abfrage nach Simulationen
    • verifyDataReferences

      public void verifyDataReferences(ConfigSystemObject referencingObject, de.bsvrz.dav.daf.main.Data data) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Bei Simulationen muss sichergestellt sein, dass Konfigurationsdaten von dynamischen Objekten aus Simulationen keine (assoziativen) Referenzen auf Objekte enthalten, die in dieser Simulation nicht gültig sind.

      Ebenfalls dürfen für das Löschen vorgemerkte Objekte nicht referenziert werden

      Diese Prüfung wird hier vorgenommen und kann von verschiedenen Stellen aus aufgerufen werden

      Parameters:
      referencingObject - Referenzierendes Objekt
      data - Konfigurationsdaten
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Wird geworfen wenn Referenzen ungültig sind
    • verifyDataReferences

      public void verifyDataReferences(short simulationVariant, de.bsvrz.dav.daf.main.Data data) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Bei Simulationen muss sichergestellt sein, dass Konfigurationsdaten von dynamischen Objekten aus Simulationen keine (assoziativen) Referenzen auf Objekte enthalten, die in dieser Simulation nicht gültig sind.

      Ebenfalls dürfen für das Löschen vorgemerkte Objekte nicht referenziert werden

      Diese Prüfung wird hier vorgenommen und kann von verschiedenen Stellen aus aufgerufen werden

      Parameters:
      simulationVariant - Simulationsvariante des dynamischen Objekts
      data - Konfigurationsdaten
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Wird geworfen wenn Referenzen ungültig sind
    • referenceAllowed

      public boolean referenceAllowed(de.bsvrz.dav.daf.main.config.SystemObject systemObject)
      Gibt true zurück, wenn das angegebene Objekt referenziert werden darf. Ein Objekt darf nicht mehr Referenziert werden, wenn es fürs endgültige Löschen vorgemerkt wurde-
      Returns:
      true, wenn das angegebene Objekt referenziert werden darf, sonst false
    • getUnknownObjectHandler

      public UnknownObjectHandler getUnknownObjectHandler()