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 Detail

      • 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 Detail

      • 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
      • 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.