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 java.lang.Object implements de.bsvrz.dav.daf.main.config.DataModel, de.bsvrz.dav.daf.main.config.management.ConfigurationControlImplementierung des Datenmodells auf Seiten der Konfiguration zum Zugriff auf die Konfigurationsdaten. DieVerwaltungsdatenund dieKonfigurationsdatenwerden hier zusammengeführt und entsprechend desDatenmodellszur Verfügung gestellt.- See Also:
DataModel
-
-
Field Summary
Fields Modifier and Type Field Description static intPROTOCOL_VERSIONMaximal unterstützte Protokollversion
-
Constructor Summary
Constructors Constructor Description ConfigDataModel(java.io.File adminFile)Erzeugt das Datenmodell der Konfiguration.ConfigDataModel(java.io.File adminFile, boolean ignoreDependencyErrorsInConsistencyCheck)Erzeugt das Datenmodell der Konfiguration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterfaceactivateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)de.bsvrz.dav.daf.main.config.BackupResultbackupConfigurationFiles(java.lang.String targetDirectory, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback)de.bsvrz.dav.daf.main.config.BackupResultbackupConfigurationFiles(java.lang.String targetDirectory, de.bsvrz.dav.daf.main.config.ConfigurationAuthority configurationAuthority, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback)voidcheckCodingOfConfigurationAuthority(short authorityCoding, java.lang.String authorityPid)Diese Methode prüft, ob die Kodierung des zu verwendenden Konfigurationsverantwortlichen eindeutig ist.de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterfacecheckConsistency(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterfacecheckConsistencyAndFixErrors(java.util.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.voidclose()de.bsvrz.dav.daf.main.config.ConfigurationAreacreateConfigurationArea(java.lang.String areaName, java.lang.String areaPid, de.bsvrz.dav.daf.main.config.SystemObjectType authorityObjectType, java.lang.String authorityPid, java.lang.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.ConfigurationAreacreateConfigurationArea(java.lang.String name, java.lang.String pid, java.lang.String authorityPid)de.bsvrz.dav.daf.main.config.ConfigurationObjectcreateConfigurationObject(de.bsvrz.dav.daf.main.config.ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.List<? extends de.bsvrz.dav.daf.main.config.ObjectSet> sets)de.bsvrz.dav.daf.main.config.DynamicObjectcreateDynamicObject(de.bsvrz.dav.daf.main.config.SystemObjectType type, java.lang.String pid, java.lang.String name)voiddeleteDynamicObjectsPermanently()voiddeleteObjects(short simulationVariant)Löscht alle dynamischen Objekte mit der angegebenen Simulationsvariante permanent.voiddoMaintenance(MaintenanceSpec spec)Ermittelt, welche Objekte endgültig gelöscht werden können und markiert diese.voidexportConfigurationAreas(java.io.File exportPath, java.util.Collection<java.lang.String> configurationAreaPids)shortgetActiveVersion(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea)java.util.Map<java.lang.String,de.bsvrz.dav.daf.main.config.ConfigurationArea>getAllConfigurationAreas()java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>getAllObjects(java.util.Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, java.util.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ückbooleangetAllowDoublePids()Liefert das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.protected java.util.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.AttributeGroupUsagegetAttributeGroupUsage(long usageIdentification)Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.java.io.FilegetBackupBaseDirectory()Gibt das Verzeichnis für Sicherungen der Konfigurationsdateien zurückjava.util.List<de.bsvrz.dav.daf.main.config.SystemObjectType>getBaseTypes()de.bsvrz.dav.daf.main.config.ConfigurationAreagetConfigurationArea(java.lang.String pid)ConfigurationAreaManagementInfogetConfigurationAreaManagementInfo(java.lang.String pid)Gibt zu einem Konfigurationsbereich dessen Verwaltungsinformationen zurück.de.bsvrz.dav.daf.main.config.ConfigurationAuthoritygetConfigurationAuthority()java.lang.StringgetConfigurationAuthorityPid()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(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg)de.bsvrz.dav.daf.main.Data[]getConfigurationData(java.util.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)ConfigurationFileManagergetConfigurationFileManager()Liefert die Verwaltung für die Konfigurationsdateien.booleangetIgnoreDependencyErrorsInConsistencyCheck()ConfigurationManagementFilegetManagementFile()Gibt das Objekt für Änderungen an der Verwaltungsdatei zurück.de.bsvrz.dav.daf.main.config.SystemObjectgetObject(long id)de.bsvrz.dav.daf.main.config.SystemObjectgetObject(java.lang.String pid)de.bsvrz.dav.daf.main.config.SystemObjectgetObject(java.lang.String pid, short simulationVariant)Gibt das Objekt mit der angegebenen Pid aus Sicht der angegebenen Simulation zurück.java.util.List<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(long... ids)java.util.List<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(java.lang.String... pids)java.util.List<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(java.lang.String[] pids, short simulationVariant)java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(java.lang.String pid, long startTime, long endTime)java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(java.lang.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.java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(java.util.Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, java.util.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 sindjava.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>getObjects(java.util.Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, java.util.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 sindjava.util.List<de.bsvrz.dav.daf.main.config.SystemObject>getObjectsById(java.util.Collection<java.lang.Long> ids)java.util.List<de.bsvrz.dav.daf.main.config.SystemObject>getObjectsByPid(java.util.Collection<java.lang.String> pids)ReferenceHelpergetReferenceHelper()de.bsvrz.dav.daf.main.config.SystemObjectTypegetTypeTypeObject()de.bsvrz.dav.daf.main.config.management.UserAdministrationgetUserAdministration()ConfigAuthenticationgetUserManagement()Gibt die Benutzerverwaltung zurück, falls über setUserManagement festgelegtvoidimportConfigurationAreas(java.io.File importPath, java.util.Collection<java.lang.String> configurationAreaPids)booleanobjectIsValidInSimulation(de.bsvrz.dav.daf.main.config.SystemObject systemObject, short simulationVariant)Prüft, ob ein Objekt in der angegebenen Simulation gültig istbooleanreferenceAllowed(de.bsvrz.dav.daf.main.config.SystemObject systemObject)Gibttruezurück, wenn das angegebene Objekt referenziert werden darf.voidreleaseConfigurationAreasForActivation(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterfacereleaseConfigurationAreasForActivationWithoutCAActivation(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterfacereleaseConfigurationAreasForTransfer(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)voidrestructure(ConfigurationAreaFile.RestructureMode mode)voidsave()Speichert die Verwaltungsdaten und die Konfigurationsbereiche ab.voidsaveSetElementsFileLater(MutableSetExtFileStorage mutableSetExtFileStorage)voidsaveSetElementsFiles()voidsendCollectionChangedNotification(ConfigMutableCollectionSupport mutableCollectionSupport, short simulationVariant, java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> removedElements)Leitet die Aktualisierungsnachrichten bzgl.voidsetAllowDoublePids(boolean allowDoublePids)Setzt das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.voidsetBackupBaseDirectory(java.io.File backupBaseDirectory)Setzt das Verzeichnis, in dem Konfigurationsdateien gesichert werden sollenvoidsetConfigurationAuthority(de.bsvrz.dav.daf.main.config.ConfigurationAuthority authority)Setzt den Konfigurationsverantwortlichen der Konfiguration.voidsetIgnoreDependencyErrorsInConsistencyCheck(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.voidsetSimulationHandler(SimulationHandler simulationHandler)Setzt die Simulationsverwaltung die für manche Funktionen benötigt wirdvoidsetUserManagement(ConfigAuthentication userManagement)Setzt die Benutzerverwaltungjava.lang.StringtoString()Gibt die String-Repräsentation dieser Klasse zurück.voidverifyDataReferences(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.voidverifyDataReferences(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
-
-
-
-
Field Detail
-
PROTOCOL_VERSION
public static final int PROTOCOL_VERSION
Maximal unterstützte Protokollversion- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ConfigDataModel
public ConfigDataModel(java.io.File adminFile)
Erzeugt das Datenmodell der Konfiguration.- Parameters:
adminFile- Datei mit den Verwaltungsdaten der Konfiguration oder leere Datei.
-
ConfigDataModel
public ConfigDataModel(java.io.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 Detail
-
checkCodingOfConfigurationAuthority
public void checkCodingOfConfigurationAuthority(short authorityCoding, java.lang.String authorityPid) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeExceptionDiese 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 KodierungauthorityPid- 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:
getConfigurationAuthorityin interfacede.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 java.lang.String getConfigurationAuthorityPid()
- Specified by:
getConfigurationAuthorityPidin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getConfigurationAreaManagementInfo
public ConfigurationAreaManagementInfo getConfigurationAreaManagementInfo(java.lang.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(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas)
- Specified by:
checkConsistencyin interfacede.bsvrz.dav.daf.main.config.management.ConfigurationControl
-
activateConfigurationAreas
public de.bsvrz.dav.daf.main.config.management.consistenycheck.ConsistencyCheckResultInterface activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
activateConfigurationAreasin interfacede.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(java.util.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 AktivierungactivateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)oder FreigabereleaseConfigurationAreasForTransfer(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(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
releaseConfigurationAreasForTransferin interfacede.bsvrz.dav.daf.main.config.management.ConfigurationControl- Throws:
de.bsvrz.dav.daf.main.config.ConfigurationChangeException
-
releaseConfigurationAreasForActivation
public void releaseConfigurationAreasForActivation(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
releaseConfigurationAreasForActivationin interfacede.bsvrz.dav.daf.main.config.management.ConfigurationControl- Throws:
de.bsvrz.dav.daf.main.config.ConfigurationChangeException
-
importConfigurationAreas
public void importConfigurationAreas(java.io.File importPath, java.util.Collection<java.lang.String> configurationAreaPids) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
importConfigurationAreasin interfacede.bsvrz.dav.daf.main.config.management.ConfigurationControl- Throws:
de.bsvrz.dav.daf.main.config.ConfigurationChangeException
-
exportConfigurationAreas
public void exportConfigurationAreas(java.io.File exportPath, java.util.Collection<java.lang.String> configurationAreaPids) throws de.bsvrz.dav.daf.main.config.ConfigurationTaskException- Specified by:
exportConfigurationAreasin interfacede.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(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion> configurationAreas) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
releaseConfigurationAreasForActivationWithoutCAActivationin interfacede.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(java.lang.String pid)
- Specified by:
getObjectin interfacede.bsvrz.dav.daf.main.config.DataModel- Specified by:
getObjectin interfacede.bsvrz.dav.daf.main.config.ObjectLookup
-
getObject
public de.bsvrz.dav.daf.main.config.SystemObject getObject(java.lang.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- PidsimulationVariant- Simulation- Returns:
- Ein Objekt falls vorhanden oder null.
-
getObject
public de.bsvrz.dav.daf.main.config.SystemObject getObject(long id)
- Specified by:
getObjectin interfacede.bsvrz.dav.daf.main.config.DataModel- Specified by:
getObjectin interfacede.bsvrz.dav.daf.main.config.ObjectLookup
-
getObjects
public java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(long... ids)
- Specified by:
getObjectsin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getObjects
public java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(java.lang.String... pids)
- Specified by:
getObjectsin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getObjects
public java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(java.lang.String[] pids, short simulationVariant)
-
getObjectsById
public java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> getObjectsById(java.util.Collection<java.lang.Long> ids)
- Specified by:
getObjectsByIdin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getObjectsByPid
public java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> getObjectsByPid(java.util.Collection<java.lang.String> pids)
- Specified by:
getObjectsByPidin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getConfigurationArea
public de.bsvrz.dav.daf.main.config.ConfigurationArea getConfigurationArea(java.lang.String pid)
- Specified by:
getConfigurationAreain interfacede.bsvrz.dav.daf.main.config.DataModel
-
getAllConfigurationAreas
public java.util.Map<java.lang.String,de.bsvrz.dav.daf.main.config.ConfigurationArea> getAllConfigurationAreas()
- Specified by:
getAllConfigurationAreasin interfacede.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:
getConfigurationDatain interfacede.bsvrz.dav.daf.main.config.DataModel
-
getConfigurationData
public de.bsvrz.dav.daf.main.Data[] getConfigurationData(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> objects, de.bsvrz.dav.daf.main.config.AttributeGroup atg)- Specified by:
getConfigurationDatain interfacede.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:
getConfigurationDatain interfacede.bsvrz.dav.daf.main.config.DataModel
-
getConfigurationData
public de.bsvrz.dav.daf.main.Data[] getConfigurationData(java.util.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:
getConfigurationDatain interfacede.bsvrz.dav.daf.main.config.DataModel
-
getActiveVersion
public short getActiveVersion(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea)
- Specified by:
getActiveVersionin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getTypeTypeObject
public de.bsvrz.dav.daf.main.config.SystemObjectType getTypeTypeObject()
- Specified by:
getTypeTypeObjectin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getBaseTypes
public java.util.List<de.bsvrz.dav.daf.main.config.SystemObjectType> getBaseTypes()
- Specified by:
getBaseTypesin interfacede.bsvrz.dav.daf.main.config.DataModel
-
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.List<? extends de.bsvrz.dav.daf.main.config.ObjectSet> sets) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
createConfigurationObjectin interfacede.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, java.lang.String pid, java.lang.String name) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
createDynamicObjectin interfacede.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 java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(java.lang.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 ObjektestartTime- der zu betachtende Startzeitpunkt des AnfragezeitraumsendTime- der zu betrachtende Endzeitpunkt des AnfragezeitraumssimulationVariant- 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 ObjektsimulationVariant- 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 java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(java.lang.String pid, long startTime, long endTime)- Specified by:
getObjectsin interfacede.bsvrz.dav.daf.main.config.DataModel
-
getAllObjects
public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getAllObjects(java.util.Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, java.util.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. Wirdnullübergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.systemObjectTypes- Objekttypen, die zu berücksichtigen sind. Wirdnullü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(java.util.Collection, java.util.Collection, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification)
-
getObjects
public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(java.util.Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, java.util.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:
getObjectsin interfacede.bsvrz.dav.daf.main.config.DataModel- Parameters:
configurationAreas- Konfigurationsbereiche, die zu berücksichtigen sind. Wirdnullübergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.systemObjectTypes- Objekttypen, die zu berücksichtigen sind. Wirdnullübergeben, so gilt dies als Wildcard und alle Objekttypen werden betrachtet.objectTimeSpecification- Gibt den Gültigkeitsbereich der geforderten Objekte an.- Returns:
- Objekte
- See Also:
getAllObjects(java.util.Collection, java.util.Collection, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification)
-
getObjects
public java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjects(java.util.Collection<de.bsvrz.dav.daf.main.config.ConfigurationArea> configurationAreas, java.util.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. Wirdnullübergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.systemObjectTypes- Objekttypen, die zu berücksichtigen sind. Wirdnullü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:
getUserAdministrationin interfacede.bsvrz.dav.daf.main.config.DataModel
-
backupConfigurationFiles
public de.bsvrz.dav.daf.main.config.BackupResult backupConfigurationFiles(java.lang.String targetDirectory, de.bsvrz.dav.daf.main.config.BackupProgressCallback callback) throws de.bsvrz.dav.daf.main.config.ConfigurationTaskException- Specified by:
backupConfigurationFilesin interfacede.bsvrz.dav.daf.main.config.DataModel- Throws:
de.bsvrz.dav.daf.main.config.ConfigurationTaskException
-
backupConfigurationFiles
public de.bsvrz.dav.daf.main.config.BackupResult backupConfigurationFiles(java.lang.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:
backupConfigurationFilesin interfacede.bsvrz.dav.daf.main.config.DataModel- Throws:
de.bsvrz.dav.daf.main.config.ConfigurationTaskException
-
getAllSubTypes
protected java.util.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 java.lang.String toString()
Gibt die String-Repräsentation dieser Klasse zurück. Der Wert kann sich ändern.- Overrides:
toStringin classjava.lang.Object- Returns:
- die String-Repräsentation dieser Klasse
-
save
public void save() throws java.io.IOExceptionSpeichert die Verwaltungsdaten und die Konfigurationsbereiche ab.- Throws:
java.io.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(java.lang.String areaName, java.lang.String areaPid, de.bsvrz.dav.daf.main.config.SystemObjectType authorityObjectType, java.lang.String authorityPid, java.lang.String authorityName, long authorityCoding) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeExceptionDiese 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 KonfigurationsbereichsareaPid- eindeutige Pid des neuen KonfigurationsbereichsauthorityPid- 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(java.lang.String name, java.lang.String pid, java.lang.String authorityPid) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException- Specified by:
createConfigurationAreain interfacede.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:
getAttributeGroupUsagein interfacede.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:
truefalls 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-truefalls 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-truefalls 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, java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, java.util.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 AktualisierungsnachrichtensimulationVariant- Simulationsvariante der ÄnderungaddedElements- Hinzugefügte Elemente der dynamischen ZusammenstellungremovedElements- Entfernte Elemente der dynamischen Zusammenstellung
-
getBackupBaseDirectory
public java.io.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(java.io.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 Objektdata- 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.ConfigurationChangeExceptionBei 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 Objektsdata- 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)
Gibttruezurü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, sonstfalse
-
-