public class ConfigDataModel extends Object implements DataModel, ConfigurationControl
Verwaltungsdaten
und die Konfigurationsdaten
werden
hier zusammengeführt und entsprechend des Datenmodells
zur Verfügung gestellt.DataModel
Modifier and Type | Field and Description |
---|---|
static int |
PROTOCOL_VERSION |
Constructor and Description |
---|
ConfigDataModel(File adminFile)
Erzeugt das Datenmodell der Konfiguration.
|
ConfigDataModel(File adminFile,
boolean ignoreDependencyErrorsInConsistencyCheck)
Erzeugt das Datenmodell der Konfiguration.
|
Modifier and Type | Method and Description |
---|---|
ConsistencyCheckResultInterface |
activateConfigurationAreas(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche zu aktivieren (siehe TPuK1-142).
|
BackupResult |
backupConfigurationFiles(String targetDirectory,
BackupProgressCallback callback)
Veranlasst die Konfiguration, alle Konfigurationsdateien zu sichern.
|
BackupResult |
backupConfigurationFiles(String targetDirectory,
ConfigurationAuthority configurationAuthority,
BackupProgressCallback callback)
Veranlasst die Konfiguration, ausgewählte Konfigurationsdateien zu sichern.
|
ConsistencyCheckResultInterface |
checkConsistency(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen (siehe TPuK1-138).
|
ConsistencyCheckResultInterface |
checkConsistencyAndFixErrors(Collection<ConfigAreaAndVersion> configurationAreas)
Diese Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen und behebbare Probleme zu beheben.
|
void |
close() |
ConfigurationArea |
createConfigurationArea(String name,
String pid,
String authorityPid)
Die Implementierung dieser Methode legt einen neuen Konfigurationsbereich in der lokalen Konfiguration an.
|
ConfigurationArea |
createConfigurationArea(String areaName,
String areaPid,
SystemObjectType authorityObjectType,
String authorityPid,
String authorityName,
long authorityCoding) |
ConfigurationObject |
createConfigurationObject(ConfigurationObjectType type,
String pid,
String name,
List<? extends ObjectSet> sets)
Erzeugt ein neues Konfigurationsobjekt eines vorgegebenen Typs.
|
DynamicObject |
createDynamicObject(SystemObjectType type,
String pid,
String name)
Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs.
|
void |
deleteDynamicObjectsPermanently() |
void |
deleteObjects(short simulationVariant)
Löscht alle dynamischen Objekte mit der angegebenen Simulationsvariante permanent.
|
void |
doMaintenance(MaintenanceSpec spec)
Ermittelt, welche Objekte endgültig gelöscht werden können und markiert diese.
|
void |
exportConfigurationAreas(File exportPath,
Collection<String> configurationAreaPids)
Die Implementierung dieser Methode exportiert aus der bestehenden Konfiguration die Versorgungsdateien zu den angegebenen Pids in das angegebene
Verzeichnis.
|
short |
getActiveVersion(ConfigurationArea configurationArea)
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.
|
Map<String,ConfigurationArea> |
getAllConfigurationAreas()
Alle Konfigurationsbereichseinträge in der Verwaltungsdatei werden zurückgegeben.
|
Collection<SystemObject> |
getAllObjects(Collection<ConfigurationArea> configurationAreas,
Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification objectTimeSpecification)
Gibt alle Objekte unabhängig von der Simulationsvariante zurück
|
boolean |
getAllowDoublePids()
Liefert das Flag, mit dem die Konsistenzprüfung entscheiden soll, ob doppelte Pids in verschiedenen Konfigurationsbereichen erlaubt sind.
|
protected Collection<SystemObjectType> |
getAllSubTypes(SystemObjectType type)
Diese Methode ermittelt zu diesem Objekt-Typ rekursiv alle Typen, die diesen Typ direkt und indirekt erweitern.
|
Aspect |
getAspect(String pid)
Liefert den Aspekt mit der angegebenen PID zurück.
|
AttributeGroup |
getAttributeGroup(String pid)
Liefert die Attributgruppe mit der angegebenen PID zurück.
|
AttributeGroupUsage |
getAttributeGroupUsage(long usageIdentification)
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
|
AttributeType |
getAttributeType(String pid)
Liefert den Attribut-Typ mit der angegebenen PID zurück.
|
File |
getBackupBaseDirectory()
Gibt das Verzeichnis für Sicherungen der Konfigurationsdateien zurück
|
List<SystemObjectType> |
getBaseTypes()
Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück.
|
ConfigurationArea |
getConfigurationArea(String pid)
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.
|
ConfigurationAreaManagementInfo |
getConfigurationAreaManagementInfo(String pid)
Gibt zu einem Konfigurationsbereich dessen Verwaltungsinformationen zurück.
|
ConfigurationAuthority |
getConfigurationAuthority()
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.
|
String |
getConfigurationAuthorityPid()
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.
|
Data[] |
getConfigurationData(Collection<SystemObject> objects,
AttributeGroup atg)
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.
|
Data[] |
getConfigurationData(Collection<SystemObject> objects,
AttributeGroup atg,
Aspect asp)
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.
|
Data[] |
getConfigurationData(SystemObject[] objects,
AttributeGroup atg)
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.
|
Data[] |
getConfigurationData(SystemObject[] objects,
AttributeGroup atg,
Aspect asp)
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.
|
ConfigurationFileManager |
getConfigurationFileManager()
Liefert die Verwaltung für die Konfigurationsdateien.
|
boolean |
getIgnoreDependencyErrorsInConsistencyCheck() |
ConfigurationManagementFile |
getManagementFile()
Gibt das Objekt für Änderungen an der Verwaltungsdatei zurück.
|
SystemObject |
getObject(long id)
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.
|
SystemObject |
getObject(String pid)
Liefert das System-Objekt mit der angegebenen PID zurück.
|
SystemObject |
getObject(String pid,
short simulationVariant)
Gibt das Objekt mit der angegebenen Pid aus Sicht der angegebenen Simulation zurück.
|
Collection<SystemObject> |
getObjects(Collection<ConfigurationArea> configurationAreas,
Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification objectTimeSpecification)
Gibt alle Objekte zurück, außer Objekten die in Simulationen sind
|
Collection<SystemObject> |
getObjects(Collection<ConfigurationArea> configurationAreas,
Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification objectTimeSpecification,
short simulationVariant)
Gibt alle Objekte zurück, die in einer bestimmten Simulation gültig sind
|
List<SystemObject> |
getObjects(long... ids)
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.
|
List<SystemObject> |
getObjects(String... pids)
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.
|
List<SystemObject> |
getObjects(String[] pids,
short simulationVariant) |
Collection<SystemObject> |
getObjects(String pid,
long startTime,
long endTime)
Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
|
Collection<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.
|
List<SystemObject> |
getObjectsById(Collection<Long> ids)
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.
|
List<SystemObject> |
getObjectsByPid(Collection<String> pids)
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.
|
ObjectSetType |
getObjectSetType(String pid)
Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.
|
ReferenceHelper |
getReferenceHelper() |
SystemObjectType |
getType(String pid)
Liefert das Typ-Objekt mit der angegebenen PID zurück.
|
SystemObjectType |
getTypeTypeObject()
Liefert das Systemobjekt, das den Typ von Typobjekten darstellt.
|
UserAdministration |
getUserAdministration()
Gibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.
|
ConfigAuthentication |
getUserManagement()
Gibt die Benutzerverwaltung zurück, falls über setUserManagement festgelegt
|
void |
importConfigurationAreas(File importPath,
Collection<String> configurationAreaPids)
Die Implementierung dieser Methode importiert die Versorgungsdateien der angegebenen Pids vom angegebenen Verzeichnis in die bestehende Konfiguration.
|
boolean |
objectIsValidInSimulation(SystemObject systemObject,
short simulationVariant)
Prüft, ob ein Objekt in der angegebenen Simulation gültig ist
|
boolean |
referenceAllowed(SystemObject systemObject)
Gibt true zurück, wenn das angegebene Objekt referenziert werden darf.
|
void |
releaseConfigurationAreasForActivation(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angegebenen Konfigurationsbereiche in den Status "Freigabe zur Aktivierung" zu
überführen.
|
ConsistencyCheckResultInterface |
releaseConfigurationAreasForActivationWithoutCAActivation(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angegebenen Bereiche in den Zustand "Darf durch andere aktiviert werden, obwohl der KV
es selbst nicht aktiviert hat" zu bringen.
|
ConsistencyCheckResultInterface |
releaseConfigurationAreasForTransfer(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche in den Status "Freigabe zur Übernahme" zu überführen
(siehe TPuK1-143).
|
void |
restructure(ConfigurationAreaFile.RestructureMode mode) |
void |
save()
Speichert die Verwaltungsdaten und die Konfigurationsbereiche ab.
|
void |
saveSetElementsFileLater(MutableSetExtFileStorage mutableSetExtFileStorage) |
void |
saveSetElementsFiles() |
void |
sendCollectionChangedNotification(ConfigMutableCollectionSupport mutableCollectionSupport,
short simulationVariant,
List<SystemObject> addedElements,
List<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(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.
|
void |
setSimulationHandler(SimulationHandler simulationHandler)
Setzt die Simulationsverwaltung die für manche Funktionen benötigt wird
|
void |
setUserManagement(ConfigAuthentication userManagement)
Setzt die Benutzerverwaltung
|
String |
toString()
Gibt die String-Repräsentation dieser Klasse zurück.
|
void |
verifyDataReferences(ConfigSystemObject referencingObject,
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(short simulationVariant,
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.
|
public static final int PROTOCOL_VERSION
public ConfigDataModel(File adminFile)
adminFile
- Datei mit den Verwaltungsdaten der Konfiguration oder leere Datei.public ConfigDataModel(File adminFile, boolean ignoreDependencyErrorsInConsistencyCheck)
adminFile
- Datei mit den Verwaltungsdaten der Konfiguration oder leere Datei.ignoreDependencyErrorsInConsistencyCheck
- Flag zum ignorieren fehlender Abhängigkeiten zwischen Konfigurationsbereichenpublic ConfigurationFileManager getConfigurationFileManager()
public ConfigurationManagementFile getManagementFile()
public ConfigurationAuthority getConfigurationAuthority()
de.bsvrz.dav.daf.main.config.DataModel
getConfigurationAuthority
in interface DataModel
public String getConfigurationAuthorityPid()
de.bsvrz.dav.daf.main.config.DataModel
getConfigurationAuthorityPid
in interface DataModel
public ConfigurationAreaManagementInfo getConfigurationAreaManagementInfo(String pid)
pid
- Pid des Konfigurationsbereichspublic ConsistencyCheckResultInterface checkConsistency(Collection<ConfigAreaAndVersion> configurationAreas)
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
ConfigurationControl.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
oder Freigabe ConfigurationControl.releaseConfigurationAreasForTransfer(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
aufgerufen
werden.checkConsistency
in interface ConfigurationControl
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.public ConsistencyCheckResultInterface activateConfigurationAreas(Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
activateConfigurationAreas
in interface ConfigurationControl
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version aktiviert werden sollenConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht aktiviert werden konnte. public ConsistencyCheckResultInterface checkConsistencyAndFixErrors(Collection<ConfigAreaAndVersion> configurationAreas)
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.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.public void restructure(ConfigurationAreaFile.RestructureMode mode)
public ConsistencyCheckResultInterface releaseConfigurationAreasForTransfer(Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
releaseConfigurationAreasForTransfer
in interface ConfigurationControl
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version freigegeben werden sollenConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht zur Übernahme freigegeben werden konnte. public void releaseConfigurationAreasForActivation(Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
ConfigurationControl.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
wurde.
Es werden entweder alle angegebenen Konfigurationsbereiche in der jeweils geforderten Version aktiviert oder keiner.releaseConfigurationAreasForActivation
in interface ConfigurationControl
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version für andere Konfigurationen freigegeben werden sollenConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht zur Aktivierung freigegeben werden konnte. ConfigurationControl.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
.public void importConfigurationAreas(File importPath, Collection<String> configurationAreaPids) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
exportiert
werden.importConfigurationAreas
in interface ConfigurationControl
importPath
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids der zu importierenden KonfigurationsbereicheConfigurationChangeException
- Falls während des Imports Fehler auftreten. Nach Korrektur des Fehlers kann der Import wiederholt werden.public void exportConfigurationAreas(File exportPath, Collection<String> configurationAreaPids) throws ConfigurationTaskException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
importiert
werden.exportConfigurationAreas
in interface ConfigurationControl
exportPath
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids der zu exportierenden KonfigurationsbereicheConfigurationTaskException
- Die angegebenen Bereiche konnte nicht exportiert werden. Dies kann mehrere Gründe haben (zu einer Pid wurde kein
Konfigurationsbereich gefunden, eine Versorgungsdatei konnte nicht geschrieben werden, usw.).public ConsistencyCheckResultInterface releaseConfigurationAreasForActivationWithoutCAActivation(Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
releaseConfigurationAreasForActivationWithoutCAActivation
in interface ConfigurationControl
configurationAreas
- Bereiche, die für andere zur Aktivierung freigegeben sind aber ihrerseits nicht durch den KV aktiviert wurden.ConfigurationChangeException
- Fehler beim Versuch die Bereiche für andere freizugeben. Es wurde kein Bereich freigegeben.public final void deleteDynamicObjectsPermanently()
public SystemObject getObject(String pid)
de.bsvrz.dav.daf.main.config.DataModel
getObject
in interface DataModel
getObject
in interface ObjectLookup
pid
- Die permanente ID des System-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.DataModel
public SystemObject getObject(String pid, short simulationVariant)
pid
- PidsimulationVariant
- Simulationpublic SystemObject getObject(long id)
de.bsvrz.dav.daf.main.config.DataModel
getObject
in interface DataModel
getObject
in interface ObjectLookup
id
- Die Objekt-ID des System-Objektsnull
, wenn es kein Objekt mit der angegebenen ID gibt.DataModel
public List<SystemObject> getObjects(long... ids)
de.bsvrz.dav.daf.main.config.DataModel
null
.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals DataModel.getObject(long)
aufzurufen.getObjects
in interface DataModel
ids
- Array mit IDsDataModel.getObject(long)
public List<SystemObject> getObjects(String... pids)
de.bsvrz.dav.daf.main.config.DataModel
null
.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals DataModel.getObject(java.lang.String)
aufzurufen.getObjects
in interface DataModel
pids
- Array mit PIDsDataModel.getObject(java.lang.String)
public List<SystemObject> getObjects(String[] pids, short simulationVariant)
public List<SystemObject> getObjectsById(Collection<Long> ids)
de.bsvrz.dav.daf.main.config.DataModel
null
.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals DataModel.getObject(long)
aufzurufen.getObjectsById
in interface DataModel
ids
- Liste mit IDsDataModel.getObject(long)
public List<SystemObject> getObjectsByPid(Collection<String> pids)
de.bsvrz.dav.daf.main.config.DataModel
null
.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals DataModel.getObject(java.lang.String)
aufzurufen.getObjectsByPid
in interface DataModel
pids
- Liste mit PIDsDataModel.getObject(java.lang.String)
public ConfigurationArea getConfigurationArea(String pid)
de.bsvrz.dav.daf.main.config.DataModel
getConfigurationArea
in interface DataModel
pid
- die Pid des Konfigurationsbereichspublic Map<String,ConfigurationArea> getAllConfigurationAreas()
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
getAllConfigurationAreas
in interface ConfigurationControl
public Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg)
de.bsvrz.dav.daf.main.config.DataModel
asp.eigenschaften
angenommen.
Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
ohne weitere
Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen
Verzögerungszeiten eingesetzt werden.getConfigurationData
in interface DataModel
objects
- Array mit den Systemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.public Data[] getConfigurationData(Collection<SystemObject> objects, AttributeGroup atg)
de.bsvrz.dav.daf.main.config.DataModel
asp.eigenschaften
angenommen.
Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
ohne weitere
Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen
Verzögerungszeiten eingesetzt werden.getConfigurationData
in interface DataModel
objects
- Systemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.public Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg, Aspect asp)
de.bsvrz.dav.daf.main.config.DataModel
SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
ohne weitere Konfigurationsanfrage abgefragt werden. Die
Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.getConfigurationData
in interface DataModel
objects
- Array mit den Systemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.asp
- Aspekt der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.public Data[] getConfigurationData(Collection<SystemObject> objects, AttributeGroup atg, Aspect asp)
de.bsvrz.dav.daf.main.config.DataModel
SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
ohne weitere Konfigurationsanfrage abgefragt werden. Die
Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.getConfigurationData
in interface DataModel
objects
- Liste der Systemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.asp
- Aspekt der gewünschten Datensätze.objects
einen
korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt
Kombination hat.public short getActiveVersion(ConfigurationArea configurationArea)
de.bsvrz.dav.daf.main.config.DataModel
getActiveVersion
in interface DataModel
configurationArea
- der Konfigurationsbereichpublic SystemObjectType getTypeTypeObject()
de.bsvrz.dav.daf.main.config.DataModel
getTypeTypeObject
in interface DataModel
public List<SystemObjectType> getBaseTypes()
de.bsvrz.dav.daf.main.config.DataModel
getBaseTypes
in interface DataModel
public SystemObjectType getType(String pid)
de.bsvrz.dav.daf.main.config.DataModel
public ObjectSetType getObjectSetType(String pid)
de.bsvrz.dav.daf.main.config.DataModel
getObjectSetType
in interface DataModel
pid
- Die permanente ID des Mengen-Typ-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.public AttributeGroup getAttributeGroup(String pid)
de.bsvrz.dav.daf.main.config.DataModel
getAttributeGroup
in interface DataModel
pid
- Die permanente ID der Attributgruppenull
, wenn es kein Objekt mit der gewünschten PID gibt.public AttributeType getAttributeType(String pid)
de.bsvrz.dav.daf.main.config.DataModel
getAttributeType
in interface DataModel
pid
- Die permanente ID des Attribut-Typsnull
, wenn es kein Objekt mit der angegebenen PID gibt.public Aspect getAspect(String pid)
de.bsvrz.dav.daf.main.config.DataModel
public ConfigurationObject createConfigurationObject(ConfigurationObjectType type, String pid, String name, List<? extends ObjectSet> sets) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.DataModel
Standard-Konfigurationsbereich
des
aktuellen KV
erstellt.createConfigurationObject
in interface DataModel
type
- Typ des neuen Objekts.pid
- PID des neuen Objekts.name
- Name des neuen Objekts.sets
- Liste der Mengen des neuen Objekts oder null
, wenn kein Mengen vergeben werden sollen.ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.ConfigurationObject
,
SystemObject.isValid()
,
ConfigurationAuthority.getDefaultConfigurationArea()
public DynamicObject createDynamicObject(SystemObjectType type, String pid, String name) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.DataModel
Standard-Konfigurationsbereich
des aktuellen KV
erstellt.createDynamicObject
in interface DataModel
type
- Typ des neuen Objektspid
- PID des neuen Objekts.name
- Name des neuen Objekts.ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.SystemObject
,
SystemObject.isValid()
public void deleteObjects(short simulationVariant)
simulationVariant
- die Simulationsvariantepublic void doMaintenance(MaintenanceSpec spec)
spec
- Spezifikation, welche Objekttypen nach welchen Zeiträumen gelöscht werden dürfenpublic ReferenceHelper getReferenceHelper()
public Collection<SystemObject> getObjects(String pid, long startTime, long endTime, short simulationVariant)
pid
- die Pid der gewünschten ObjektestartTime
- der zu betachtende Startzeitpunkt des AnfragezeitraumsendTime
- der zu betrachtende Endzeitpunkt des AnfragezeitraumssimulationVariant
- die Simulationsvariantepublic boolean objectIsValidInSimulation(SystemObject systemObject, short simulationVariant)
systemObject
- Zu prüfendes ObjektsimulationVariant
- Sumulationsvariante der zu prüfenden Simulation oder 0 falls keine Simulation verwendet wirdpublic Collection<SystemObject> getObjects(String pid, long startTime, long endTime)
de.bsvrz.dav.daf.main.config.DataModel
getObjects
in interface DataModel
pid
- die Pid der gewünschten ObjektestartTime
- der zu betachtende Startzeitpunkt des AnfragezeitraumsendTime
- der zu betrachtende Endzeitpunkt des Anfragezeitraumspublic Collection<SystemObject> getAllObjects(Collection<ConfigurationArea> configurationAreas, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)
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.getObjects(java.util.Collection, java.util.Collection, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification)
public Collection<SystemObject> getObjects(Collection<ConfigurationArea> configurationAreas, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)
getObjects
in interface DataModel
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.getAllObjects(java.util.Collection, java.util.Collection, de.bsvrz.dav.daf.main.config.ObjectTimeSpecification)
public Collection<SystemObject> getObjects(Collection<ConfigurationArea> configurationAreas, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification, short simulationVariant)
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
- Simulationsvariantepublic UserAdministration getUserAdministration()
de.bsvrz.dav.daf.main.config.DataModel
getUserAdministration
in interface DataModel
public BackupResult backupConfigurationFiles(String targetDirectory, BackupProgressCallback callback) throws ConfigurationTaskException
de.bsvrz.dav.daf.main.config.DataModel
backupConfigurationFiles
in interface DataModel
targetDirectory
- Relatives Zielverzeichnis innerhalb des in der Konfiguration (mit dem Parameter -sicherungsVerzeichnis) festgelegten
Sicherungsordners. Wird null oder ein Leerstring angegeben, generiert die Konfiguration aus aktuellem Datum und Uhrzeit einen neuen
Pfadnamen. Falls das ConfigDataModel
direkt benutzt wird und mit setBackupBaseDirectory(java.io.File)
noch keine Zielverzeichnis angelegt
wurde, kann auch ein absoluter Pfadname angegeben werden. Ein relativer Pfadname würde dann relativ zum Arbeitsverzeichnis
interpretiert.callback
- Objekt, an das Statusmeldungen gesendet werden oder null, falls keine Rückmeldungen gewünscht sindConfigurationTaskException
- Der Backup-Vorgang konnte nicht durchgeführt werden, beispielsweise weil das Zielverzeichnis falsch war. Falls das
Sichern einzelner Dateien fehlschlägt wird keine solche Exception geworfen, stattdessen findet man innerhalb vom callback
eventuelle Fehlschläge und BackupResult.getFailed ist größer 0.public BackupResult backupConfigurationFiles(String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) throws ConfigurationTaskException
de.bsvrz.dav.daf.main.config.DataModel
backupConfigurationFiles
in interface DataModel
targetDirectory
- Relatives Zielverzeichnis innerhalb des in der Konfiguration (mit dem Parameter -sicherungsVerzeichnis) festgelegten
Sicherungsordners. Wird null oder ein Leerstring angegeben, generiert die Konfiguration aus aktuellem Datum und Uhrzeit einen neuen
Pfadnamen. Falls das ConfigDataModel
direkt benutzt wird und mit setBackupBaseDirectory(java.io.File)
noch keine Zielverzeichnis angelegt
wurde, kann auch ein absoluter Pfadname angegeben werden. Ein relativer Pfadname würde dann relativ zum Arbeitsverzeichnis
interpretiert.configurationAuthority
- Konfigurationsverantwortlicher, dessen Konfigurations-Dateien gesichert werden sollen. Falls null werden
alle Dateien gesichert.callback
- Objekt, an das Statusmeldungen gesendet werden oder null, falls keine Rückmeldungen gewünscht sindConfigurationTaskException
- Der Backup-Vorgang konnte nicht durchgeführt werden, beispielsweise weil das Zielverzeichnis falsch war. Falls das
Sichern einzelner Dateien fehlschlägt wird keine solche Exception geworfen, stattdessen findet man innerhalb vom callback
eventuelle Fehlschläge und BackupResult.getFailed ist größer 0.protected Collection<SystemObjectType> getAllSubTypes(SystemObjectType type)
type
- der zu betrachtende Objekt-Typpublic String toString()
public void save() throws IOException
IOException
- Fehler, die beim Speichern der Verwaltungsdaten oder der Konfigurationsdateien auftreten, werden hier weitergereicht.public void close()
public void setConfigurationAuthority(ConfigurationAuthority authority)
authority
- der Konfigurationsverantwortliche der Konfigurationpublic ConfigurationArea createConfigurationArea(String areaName, String areaPid, SystemObjectType authorityObjectType, String authorityPid, String authorityName, long authorityCoding) throws ConfigurationChangeException
ConfigurationChangeException
public ConfigurationArea createConfigurationArea(String name, String pid, String authorityPid) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.management.ConfigurationControl
createConfigurationArea
in interface ConfigurationControl
name
- Name des neuen Konfigurationsbereichspid
- eindeutige Pid des neuen KonfigurationsbereichsauthorityPid
- die Pid des Konfigurationsverantwortlichen des neuen KonfigurationsbereichsConfigurationChangeException
- Falls kein neuer Konfigurationsbereich angelegt werden konnte.public AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
getAttributeGroupUsage
in interface DataModel
usageIdentification
- Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.public void setAllowDoublePids(boolean allowDoublePids)
allowDoublePids
- true
falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.public boolean getAllowDoublePids()
true
falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.public void setIgnoreDependencyErrorsInConsistencyCheck(boolean ignoreDependencyErrorsInConsistencyCheck)
ignoreDependencyErrorsInConsistencyCheck
- true
falls Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden sollen.public boolean getIgnoreDependencyErrorsInConsistencyCheck()
public void saveSetElementsFileLater(MutableSetExtFileStorage mutableSetExtFileStorage)
public void saveSetElementsFiles()
public void sendCollectionChangedNotification(ConfigMutableCollectionSupport mutableCollectionSupport, short simulationVariant, List<SystemObject> addedElements, List<SystemObject> removedElements)
mutableCollectionSupport
- Verwaltungsobjekt für AktualisierungsnachrichtensimulationVariant
- Simulationsvariante der ÄnderungaddedElements
- Hinzugefügte Elemente der dynamischen ZusammenstellungremovedElements
- Entfernte Elemente der dynamischen Zusammenstellungpublic File getBackupBaseDirectory()
public void setBackupBaseDirectory(File backupBaseDirectory)
backupBaseDirectory
- das Verzeichnis, in dem Konfigurationsdateien gesichert werden sollenpublic void setUserManagement(ConfigAuthentication userManagement)
userManagement
- Benutzerverwaltungsklassepublic ConfigAuthentication getUserManagement()
public void setSimulationHandler(SimulationHandler simulationHandler)
simulationHandler
- Klasse zur Abfrage nach Simulationenpublic void verifyDataReferences(ConfigSystemObject referencingObject, Data data) throws ConfigurationChangeException
referencingObject
- Referenzierendes Objektdata
- KonfigurationsdatenConfigurationChangeException
- Wird geworfen wenn Referenzen ungültig sindpublic void verifyDataReferences(short simulationVariant, Data data) throws ConfigurationChangeException
simulationVariant
- Simulationsvariante des dynamischen Objektsdata
- KonfigurationsdatenConfigurationChangeException
- Wird geworfen wenn Referenzen ungültig sindpublic boolean referenceAllowed(SystemObject systemObject)