Class ConfigConfigurationArea

All Implemented Interfaces:
de.bsvrz.dav.daf.main.config.ConfigurationArea, de.bsvrz.dav.daf.main.config.ConfigurationObject, de.bsvrz.dav.daf.main.config.SystemObject, ConfigConfigurationAreaInterface, java.lang.Comparable

public class ConfigConfigurationArea
extends ConfigConfigurationObject
implements de.bsvrz.dav.daf.main.config.ConfigurationArea, ConfigConfigurationAreaInterface
Implementierung des Konfigurationsbereichs auf Seiten der Konfiguration.
  • Constructor Details

    • ConfigConfigurationArea

      public ConfigConfigurationArea​(ConfigDataModel dataModel, SystemObjectInformationInterface systemObjectInfo)
      Konstruktor eines System-Objekt für einen Konfigurationsbereich.
      Parameters:
      dataModel - das Datenmodell, welches alle Konfigurationsbereiche enthält
      systemObjectInfo - das korrespondierende Objekt aus den Konfigurationsdateien
  • Method Details

    • getDataModel

      public ConfigDataModel getDataModel()
      Specified by:
      getDataModel in interface de.bsvrz.dav.daf.main.config.SystemObject
      Overrides:
      getDataModel in class AbstractConfigSystemObject
    • getConfigurationArea

      public ConfigConfigurationArea getConfigurationArea()
      Specified by:
      getConfigurationArea in interface de.bsvrz.dav.daf.main.config.SystemObject
      Overrides:
      getConfigurationArea in class AbstractConfigSystemObject
    • getConfigurationAuthority

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

      public void setConfigurationData​(de.bsvrz.dav.daf.main.config.AttributeGroupUsage atgUsage, de.bsvrz.dav.daf.main.Data data) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      setConfigurationData in interface de.bsvrz.dav.daf.main.config.SystemObject
      Overrides:
      setConfigurationData in class ConfigSystemObject
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • activateNewAuthority

      public void activateNewAuthority​(de.bsvrz.dav.daf.main.config.SystemObject newAuthority) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Wird während der Aktivierung aufgerufen um den neuen KV zu setzen. Der Weg über setConfigurationData() ist nicht möglich, da dort das Setzen des KV eine Exception produziert.
      Parameters:
      newAuthority -
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • getActivatableVersion

      public short getActivatableVersion()
      Specified by:
      getActivatableVersion in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getTransferableVersion

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

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

      public short getModifiableVersion()
      Specified by:
      getModifiableVersion in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getLastModifiedVersion

      public short getLastModifiedVersion()
      Gibt die in Bearbeitung befindliche Version zurück, wenn Änderungen in dieser Version dieses Bereichs stattgefunden haben. Änderungen können sein:
      • Objekt wurde auf ungültig gesetzt
      • Objekt wurde erstellt
      • Elemente wurden einer Menge hinzugefügt
      • Elemente wurden aus einer Menge entfernt

      Wurden keine Änderungen in der in Bearbeitung befindlichen Version vorgenommen, wird die Version davor zurückgegeben.

      Returns:
      Falls Änderungen in der in Bearbeitung befindlichen Version durchgeführt wurden, wird diese Version zurückgegeben, sonst die Version davor.
    • getTimeOfLastDynamicChange

      public long getTimeOfLastDynamicChange()
      Specified by:
      getTimeOfLastDynamicChange in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getTimeOfLastNonActiveConfigurationChange

      public long getTimeOfLastNonActiveConfigurationChange()
      Specified by:
      getTimeOfLastNonActiveConfigurationChange in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getTimeOfLastActiveConfigurationChange

      public long getTimeOfLastActiveConfigurationChange()
      Specified by:
      getTimeOfLastActiveConfigurationChange in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getObjects

      public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects​(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification timeSpecification)
      Specified by:
      getObjects in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getDirectObjects

      public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getDirectObjects​(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObjectType> systemObjectTypes, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification timeSpecification)
      Specified by:
      getDirectObjects in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getCurrentObjects

      public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getCurrentObjects()
      Specified by:
      getCurrentObjects in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • getNewObjects

      public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getNewObjects()
      Specified by:
      getNewObjects in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
    • createConfigurationObject

      public de.bsvrz.dav.daf.main.config.ConfigurationObject createConfigurationObject​(de.bsvrz.dav.daf.main.config.ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.Collection<? 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.ConfigurationArea
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • createDynamicObject

      public de.bsvrz.dav.daf.main.config.DynamicObject createDynamicObject​(de.bsvrz.dav.daf.main.config.DynamicObjectType type, java.lang.String pid, java.lang.String name) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      createDynamicObject in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • createDynamicObject

      public de.bsvrz.dav.daf.main.config.DynamicObject createDynamicObject​(de.bsvrz.dav.daf.main.config.DynamicObjectType type, java.lang.String pid, java.lang.String name, short simulationVariant) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs mit einer angegebenen PID. Optional kann der Name des neuen Objekts vorgegeben werden. Das neue Objekt wird sofort gültig.
      Parameters:
      type - Typ des neuen Objekts
      pid - PID des neuen Objekts. Der leere String ("") oder null wird als "keine PID" interpretiert.
      name - Name des neuen Objekts (kann später verändert werden)
      simulationVariant - Simulationsvariante des neuen Objekts
      Returns:
      Stellvertreterobjekt für das neu angelegte dynamische Objekt.
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Wenn das Objekt nicht erzeugt werden konnte.
    • createDynamicObject

      public de.bsvrz.dav.daf.main.config.DynamicObject createDynamicObject​(de.bsvrz.dav.daf.main.config.DynamicObjectType type, java.lang.String pid, java.lang.String name, java.util.Collection<de.bsvrz.dav.daf.main.DataAndATGUsageInformation> data) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Specified by:
      createDynamicObject in interface de.bsvrz.dav.daf.main.config.ConfigurationArea
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException
    • getDependencyFromOtherConfigurationAreas

      public java.util.Collection<ConfigurationAreaDependency> getDependencyFromOtherConfigurationAreas()
      Description copied from interface: ConfigConfigurationAreaInterface
      Gibt alle Abhängigkeiten des Bereichs zu anderen Konfigurationsbereichen zurück.
      Specified by:
      getDependencyFromOtherConfigurationAreas in interface ConfigConfigurationAreaInterface
      Returns:
      Abhängigkeiten des Bereich oder eine leere Collection, falls keine Abhängigkeiten bestehen.
    • addAreaDependency

      public void addAreaDependency​(java.util.Collection<ConfigurationAreaDependency> areaDependencies) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Speichert eine Abhängigkeit dieses Bereichs. Besteht bereits eine Abhängigkeit (gleiche Versionen, gleiche Breiche), so wird die Abhängigkeit nicht erneut gespeichert.

      Wurde eine Abhängigkeit gespeichert, die den Typ OPTIONAL ConfigurationAreaDependencyKind und es soll eine Abhängigkeit REQUIRED gespeichert werden, so wird die optionale Abhängigkeit ersetzt. Umgekehrt ist dies nicht möglich.

      Ist der Bereich bereits von einem anderen Bereich abhängig (notwendig) und es soll eine Abhängigkeit optional hinzugefügt werden (dessen needed Version > als die notwendige Abhängigkeit), so wird diese Abhängigkeit automatisch auf "notwendig" gesetzt. Damit wird verhindert, das eine Abhängigkeit, die notwendig war, durch Versionswechsel wieder auf optional gesetzt werden kann.

      Ist der Konfiguration die Attributgruppe zum speichern der Datensätze nicht bekannt, so die Abhängigkeiten ignoriert und nichts gemacht.

      Parameters:
      areaDependencies - Abhängigkeiten, die gespeichert werden soll.
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Wird geworfen, wenn der Datensatz, der die Abhängigkeiten enthält, nicht gespeichert werden kann.
    • dependenciesChecked

      public boolean dependenciesChecked()
      Specified by:
      dependenciesChecked in interface ConfigConfigurationAreaInterface
      Returns:
      true, wenn der Bereich bereits auf Abhängigkeiten geprüft wurde; false, wenn der Bereich nicht auf Abhängigkeiten geprüft wurde.
    • getChangeLogs

      public java.util.Collection<ConfigurationAreaChangeInformation> getChangeLogs()
      Diese Methode gibt alle eingetragenen Konfigurationsänderungen zurück, die in der Versorgungsdatei eingetragen wurden.
      Returns:
      Alle eingetragenen Änderungen oder eine leere Collection, falls keine Einträge gemacht wurden.
    • createDynamicObject

      public de.bsvrz.dav.daf.main.config.DynamicObject createDynamicObject​(de.bsvrz.dav.daf.main.config.DynamicObjectType type, java.lang.String pid, java.lang.String name, java.util.Collection<de.bsvrz.dav.daf.main.DataAndATGUsageInformation> data, short simulationVariant) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs mit einer angegebenen PID. Optional kann der Name des neuen Objekts vorgegeben werden. Das neue Objekt wird sofort gültig. Zusätzlich können alle Datensätze übergeben werden.
      Parameters:
      type - Typ des neuen Objekts
      pid - PID des neuen Objekts. Der leere String ("") oder null wird als "keine PID" interpretiert.
      name - Name des neuen Objekts (kann später verändert werden)
      data - Datensätze für das dynamische Objekt
      simulationVariant - Simulationsvariante des neuen Objekts
      Returns:
      Stellvertreterobjekt für das neu angelegte dynamische Objekt.
      Throws:
      de.bsvrz.dav.daf.main.config.ConfigurationChangeException - Wenn das Objekt nicht erzeugt werden konnte.
    • initialiseTimeOfLastChanges

      public void initialiseTimeOfLastChanges()
      Prüft, ob es einen Wert im Datensatz atg.konfigurationsBereichÄnderungsZeiten gibt, der Undefiniert (0) ist, und ersetzt diesen mit der aktuellen Zeit.