Class DafDataModel
- All Implemented Interfaces:
DataModel
,ObjectLookup
,UpdateDynamicObjects
public class DafDataModel extends java.lang.Object implements DataModel, UpdateDynamicObjects
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_PROTOCOL_VERSION
Maximale Protokollversion (beginnend bei 0) -
Constructor Summary
Constructors Constructor Description DafDataModel(ClientDavInterface connection)
Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung. -
Method Summary
Modifier and Type Method Description BackupResult
backupConfigurationFiles(java.lang.String targetDirectory, BackupProgressCallback callback)
Veranlasst die Konfiguration, alle Konfigurationsdateien zu sichern.BackupResult
backupConfigurationFiles(java.lang.String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback)
Veranlasst die Konfiguration, ausgewählte Konfigurationsdateien zu sichern.void
close()
Diese Methode sollte beim Terminieren der Datenverteilerverbindung aufgerufen werden.ConfigurationObject
createConfigurationObject(ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.List<? extends ObjectSet> sets)
Erzeugt ein neues Konfigurationsobjekt eines vorgegebenen Typs.DynamicObject
createDynamicObject(SystemObjectType type, java.lang.String pid, java.lang.String name)
Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs.ConfigurationRequester
createRequester()
int
getAcceptedCachedAreas()
int
getAcceptedCachedConfigData()
int
getAcceptedCachedSystemObjects()
short
getActiveVersion(ConfigurationArea configurationArea)
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.AttributeGroupUsage
getAttributeGroupUsage(long usageIdentification)
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.java.util.List<SystemObjectType>
getBaseTypes()
Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück.DafConfigurationArea
getConfigurationArea(java.lang.String pid)
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.ConfigurationAuthority
getConfigurationAuthority()
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.long
getConfigurationAuthorityId()
Gibt die Objekt-Id des Konfigurationsverantwortlichen zurück.java.lang.String
getConfigurationAuthorityPid()
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.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 aspect)
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.Data[]
getConfigurationData(SystemObject[] objects, AttributeGroupUsage usage)
Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück.Data[]
getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroup atg)
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.Data[]
getConfigurationData(java.util.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(java.util.Collection<SystemObject> objects, AttributeGroupUsage usage)
Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück.ConfigurationManager
getConfigurationManager()
Liefert das Objekt zur Verwaltung der Kommunikation mit der Konfiguration zurück.ClientDavInterface
getConnection()
Gibt die aktuelle Verbindung zum Datenverteiler zurück.int
getIgnoredCachedAreas()
int
getIgnoredCachedConfigData()
int
getIgnoredCachedSystemObjects()
DafMainEventThread
getMainEventThread()
SystemObject
getObject(long id)
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.SystemObject
getObject(java.lang.String pid)
Liefert das System-Objekt mit der angegebenen PID zurück.java.util.List<?>
getObjectDataValues(SystemObject object, AttributeGroup attributeGroup)
Deprecated.java.util.List<SystemObject>
getObjects(long... ids)
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.java.util.List<SystemObject>
getObjects(java.lang.String... pids)
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.java.util.Collection<SystemObject>
getObjects(java.lang.String pid, long startTime, long endTime)
Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.java.util.Collection<SystemObject>
getObjects(java.util.Collection<ConfigurationArea> configurationAreas, java.util.Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)
Gibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.java.util.List<SystemObject>
getObjectsById(java.util.Collection<java.lang.Long> ids)
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.java.util.List<SystemObject>
getObjectsByPid(java.util.Collection<java.lang.String> pids)
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.java.util.List<SystemObject>
getObjectsOfType(DafSystemObjectType dafSystemObject)
java.util.LinkedList<ConfigTelegram>
getPendingResponses()
Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragenlong
getProtocolVersion()
ConfigurationRequester
getRequester()
Mit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.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.void
init(ConfigurationManager configurationManager, long configurationAuthorityId)
Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteilervoid
invalidate(DafSystemObject dafSystemObject)
boolean
isConnectionClosed()
void
loadLocalConfigurationCache()
Liest lokal zwischengespeicherte Konfigurationsobjekte und konfigurierende Datensätze ein, falls in dem entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde und dort eine passende Datei vorhanden ist.void
newDynamicObjectCreated(long objectId, long typeId)
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.void
objectInvalidated(DafSystemObject object, long notValidSince)
void
revalidate(DafSystemObject dafSystemObject)
void
setName(DafSystemObject object, java.lang.String name)
void
setPublicConnection(ClientDavConnection publicConnection)
Wird bei der Initialisierung aufgerufen um die öffentliche ClientDavConnection zu setzen.void
update(ConfigTelegram telegram)
Diese Methode wird aufgerufen, wenn eine Antwort auf eine Konfigurationsanfrage empfangen wurde.void
updateName(long objectId, long typeId, java.lang.String newName)
Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.void
updateNotValidSince(long objectId, long typeId, long invalidTime)
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein dynamisches Objekt ungültig wurde.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface de.bsvrz.dav.daf.main.config.DataModel
getAspect, getAttributeGroup, getAttributeGroupUsage, getAttributeType, getConfigObject, getConfigType, getDataDescription, getDynamicObject, getDynamicType, getObjectSetType, getType
Methods inherited from interface de.bsvrz.dav.daf.main.config.ObjectLookup
getObject, getObject
-
Field Details
-
MAX_PROTOCOL_VERSION
public static final int MAX_PROTOCOL_VERSIONMaximale Protokollversion (beginnend bei 0)- See Also:
- Constant Field Values
-
-
Constructor Details
-
DafDataModel
Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung.- Parameters:
connection
- Verbindung zum Datenverteiler.
-
-
Method Details
-
getAcceptedCachedAreas
public int getAcceptedCachedAreas()- Returns:
- Liefert die Anzahl von Konfigurationsbereichen, die aus dem lokal gespeicherten Cache der Konfigurationsobjekte übernommen wurden.
-
getIgnoredCachedAreas
public int getIgnoredCachedAreas()- Returns:
- Liefert die Anzahl von Konfigurationsbereichen, die nicht aus dem lokal gespeicherten Cache der Konfigurationsobjekte übernommen wurden.
-
getAcceptedCachedSystemObjects
public int getAcceptedCachedSystemObjects()- Returns:
- Liefert die Anzahl von Konfigurationsobjekten, die aus dem lokal gespeicherten Cache der Konfigurationsobjekte übernommen wurden.
-
getIgnoredCachedSystemObjects
public int getIgnoredCachedSystemObjects()- Returns:
- Liefert die Anzahl von Konfigurationsobjekten, die nicht aus dem lokal gespeicherten Cache der Konfigurationsobjekte übernommen wurden.
-
getAcceptedCachedConfigData
public int getAcceptedCachedConfigData()- Returns:
- Liefert die Anzahl von konfigurierenden Datensätzen, die aus dem lokal gespeicherten Cache der Konfigurationsobjekte übernommen wurden.
-
getIgnoredCachedConfigData
public int getIgnoredCachedConfigData()- Returns:
- Liefert die Anzahl von konfigurierenden Datensätzen, die nicht aus dem lokal gespeicherten Cache der Konfigurationsobjekte übernommen wurden.
-
init
Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteiler- Parameters:
configurationManager
- Objekt zur Verwaltung der Kommunikation mit der KonfigurationconfigurationAuthorityId
- Die Objekt-Id des Konfigurationsverantwortlichen
-
setPublicConnection
Wird bei der Initialisierung aufgerufen um die öffentliche ClientDavConnection zu setzen.- Parameters:
publicConnection
- ClientDavConnection
-
getPendingResponses
Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragen -
getProtocolVersion
public final long getProtocolVersion() -
isConnectionClosed
public final boolean isConnectionClosed() -
loadLocalConfigurationCache
public final void loadLocalConfigurationCache()Liest lokal zwischengespeicherte Konfigurationsobjekte und konfigurierende Datensätze ein, falls in dem entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde und dort eine passende Datei vorhanden ist. Nach der Anzahl der relevanten Konfigurationsbereiche werden für jeden Konfigurationsbereich folgende Informationen in der Datei erwartet- die (long-)Id des Konfigurationsbereiches,
- die (short-)Aktive Version des Konfigurationsbereiches,
- der (long-) Zeitstempel der letzen Änderung von dynamischen Objekten,
- der (long-) Zeitsempel der letzten Änderung von konfigurierenden Objekten,
- der Zeitstempel der letzten Änderung von konfigurierenden Datensätzen
- byte: 1 (die eins kennzeichnet ein Konfigurationsobjekt und zeigt an, dass ein solches folgt)
- byte: internType (gint an, um welchen Typ von Konfigurationsobjekt es sich handelt)
- Object: object (serielles Objekt)
- byte: 2 (die zwei kennzeichnet einen konfigurierenden Datensatz und zeigt an das ein solcher folgt)
- long: Objekt-ID(Die ID des Objektes zu dem der konfiguriende Datensatz gehört)
- long: AtgV-ID(Die ID der Atributgruppenverwedung des konfigurienden Datensatzes)
- boolean: true→ Datensatz enthält Daten, false→ Datensatz enthält keine Daten
- Data: serialisierte Daten des Datensatzes
-
close
public final void close()Diese Methode sollte beim Terminieren der Datenverteilerverbindung aufgerufen werden. Sie speichert die zwischengespeicherten Objekte falls gewünscht in einer Datei im lokalen Dateisystem. -
getRequester
Mit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.- Returns:
- Objekt für Konfigurationsanfragen
-
createRequester
- Throws:
CommunicationError
-
getConnection
Gibt die aktuelle Verbindung zum Datenverteiler zurück.- Returns:
- Die Verbindung zum Datenverteiler
-
getConfigurationManager
Liefert das Objekt zur Verwaltung der Kommunikation mit der Konfiguration zurück.- Returns:
- Objekt zur Verwaltung der Kommunikation oder
null
, falls es noch nicht gesetzt wurde. - See Also:
init(de.bsvrz.dav.daf.main.impl.ConfigurationManager, long)
-
getTypeTypeObject
Description copied from interface:DataModel
Liefert das Systemobjekt, das den Typ von Typobjekten darstellt.- Specified by:
getTypeTypeObject
in interfaceDataModel
- Returns:
- Das Typ-Typ-Objekt.
-
getBaseTypes
Description copied from interface:DataModel
Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück. Basistypen sind z.B. die Objekte mit den Permanenten IDs "typ.konfigurationsObjekt" und "typ.dynamischesObjekt".- Specified by:
getBaseTypes
in interfaceDataModel
- Returns:
- Liste mit Typ-Objekten.
-
getObject
Description copied from interface:DataModel
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.- Specified by:
getObject
in interfaceDataModel
- Specified by:
getObject
in interfaceObjectLookup
- Parameters:
id
- Die Objekt-ID des System-Objekts- Returns:
- Das gewünschte System-Objekt oder
null
, wenn es kein Objekt mit der angegebenen ID gibt. - See Also:
DataModel
-
getObject
Description copied from interface:DataModel
Liefert das System-Objekt mit der angegebenen PID zurück.- Specified by:
getObject
in interfaceDataModel
- Specified by:
getObject
in interfaceObjectLookup
- Parameters:
pid
- Die permanente ID des System-Objekts- Returns:
- Das gewünschte System-Objekt oder
null
, wenn es kein Objekt mit der angegebenen PID gibt. - See Also:
DataModel
-
getObjects
Description copied from interface:DataModel
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält. Die Reihenfolge der Objekte der Liste entspricht der Reihenfolge der übergebenen IDs. Wurde ein Objekt nicht gefunden, enthält die Liste an der entsprechenden Positionnull
.Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals
DataModel.getObject(long)
aufzurufen.- Specified by:
getObjects
in interfaceDataModel
- Parameters:
ids
- Array mit IDs- Returns:
- zugehörige System-Objekte
- See Also:
DataModel.getObject(long)
-
getObjects
Description copied from interface:DataModel
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält. Die Reihenfolge der Objekte der Liste entspricht der Reihenfolge der übergebenen PIDs. Wurde ein Objekt nicht gefunden, enthält die Liste an der entsprechenden Positionnull
.Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals
DataModel.getObject(java.lang.String)
aufzurufen.- Specified by:
getObjects
in interfaceDataModel
- Parameters:
pids
- Array mit PIDs- Returns:
- zugehörige System-Objekte
- See Also:
DataModel.getObject(java.lang.String)
-
getObjectsById
Description copied from interface:DataModel
Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält. Die Reihenfolge der Objekte der Liste entspricht der Reihenfolge der übergebenen IDs. Wurde ein Objekt nicht gefunden, enthält die Liste an der entsprechenden Positionnull
.Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals
DataModel.getObject(long)
aufzurufen.- Specified by:
getObjectsById
in interfaceDataModel
- Parameters:
ids
- Liste mit IDs- Returns:
- zugehörige System-Objekte
- See Also:
DataModel.getObject(long)
-
getObjectsByPid
Description copied from interface:DataModel
Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält. Die Reihenfolge der Objekte der Liste entspricht der Reihenfolge der übergebenen PIDs. Wurde ein Objekt nicht gefunden, enthält die Liste an der entsprechenden Positionnull
.Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals
DataModel.getObject(java.lang.String)
aufzurufen.- Specified by:
getObjectsByPid
in interfaceDataModel
- Parameters:
pids
- Liste mit PIDs- Returns:
- zugehörige System-Objekte
- See Also:
DataModel.getObject(java.lang.String)
-
createDynamicObject
public final DynamicObject createDynamicObject(SystemObjectType type, java.lang.String pid, java.lang.String name) throws ConfigurationChangeExceptionDescription copied from interface:DataModel
Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs. Optional können auch Name und PID des neuen Objekts vorgegeben werden. Das neue Objekt wird sofort gültig und imStandard-Konfigurationsbereich
desaktuellen KV
erstellt.- Specified by:
createDynamicObject
in interfaceDataModel
- Parameters:
type
- Typ des neuen Objektspid
- PID des neuen Objekts.name
- Name des neuen Objekts.- Returns:
- Stellvertreterobjekt für das neu angelegte dynamische Objekt.
- Throws:
ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.- See Also:
SystemObject
,SystemObject.isValid()
-
createConfigurationObject
public ConfigurationObject createConfigurationObject(ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.List<? extends ObjectSet> sets) throws ConfigurationChangeExceptionDescription copied from interface:DataModel
Erzeugt ein neues Konfigurationsobjekt eines vorgegebenen Typs. Optional können auch Name und PID des neuen Objekts vorgegeben werden. Die verantwortliche Instanz des neuen Objektes kann nicht spezifiziert werden, da sie von der jeweiligen Konfiguration vergeben wird. Das neue Objekt wird erst mit Aktivierung der nächsten Konfigurationsversion gültig und imStandard-Konfigurationsbereich
desaktuellen KV
erstellt.- Specified by:
createConfigurationObject
in interfaceDataModel
- Parameters:
type
- Typ des neuen Objekts.pid
- PID des neuen Objekts.name
- Name des neuen Objekts.sets
- Liste der Mengen des neuen Objekts odernull
, wenn kein Mengen vergeben werden sollen.- Returns:
- Stellvertreterobjekt für das neu angelegte Konfigurationsobjekt.
- Throws:
ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.- See Also:
ConfigurationObject
,SystemObject.isValid()
,ConfigurationAuthority.getDefaultConfigurationArea()
-
setName
public final void setName(DafSystemObject object, java.lang.String name) throws ConfigurationChangeException- Throws:
ConfigurationChangeException
-
invalidate
- Throws:
ConfigurationChangeException
-
objectInvalidated
-
revalidate
- Throws:
ConfigurationChangeException
-
getObjectsOfType
-
getConfigurationArea
Description copied from interface:DataModel
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.- Specified by:
getConfigurationArea
in interfaceDataModel
- Parameters:
pid
- die Pid des Konfigurationsbereichs- Returns:
- der Konfigurationsbereich zur angegebenen Pid
-
getConfigurationAuthority
Description copied from interface:DataModel
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.- Specified by:
getConfigurationAuthority
in interfaceDataModel
- Returns:
- der Konfigurationsverantwortliche der Konfiguration
-
getConfigurationAuthorityPid
public java.lang.String getConfigurationAuthorityPid()Description copied from interface:DataModel
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.- Specified by:
getConfigurationAuthorityPid
in interfaceDataModel
- Returns:
- die Pid des Konfigurationsverantwortlichen
-
getObjects
public java.util.Collection<SystemObject> getObjects(java.lang.String pid, long startTime, long endTime)Description copied from interface:DataModel
Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.- Specified by:
getObjects
in interfaceDataModel
- Parameters:
pid
- die Pid der gewünschten ObjektestartTime
- der zu betachtende Startzeitpunkt des AnfragezeitraumsendTime
- der zu betrachtende Endzeitpunkt des Anfragezeitraums- Returns:
- Die Objekte, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
-
getObjects
public final java.util.Collection<SystemObject> getObjects(java.util.Collection<ConfigurationArea> configurationAreas, java.util.Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)Description copied from interface:DataModel
Gibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.- Specified by:
getObjects
in interfaceDataModel
- 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:
- Die gewünschten System-Objekte oder eine leere Collection, falls es keine passenden Objekte gibt.
-
getUserAdministration
Description copied from interface:DataModel
Gibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.- Specified by:
getUserAdministration
in interfaceDataModel
- Returns:
- Objekt zur Benutzerverwaltung.
-
backupConfigurationFiles
public BackupResult backupConfigurationFiles(java.lang.String targetDirectory, BackupProgressCallback callback) throws ConfigurationTaskException, RequestExceptionDescription copied from interface:DataModel
Veranlasst die Konfiguration, alle Konfigurationsdateien zu sichern. Diese Funktion wartet auf das Beenden des Vorgangs. Wird der Auftrag über den Datenverteiler ausgeführt (DafDataModel) kann die Konfiguration andere Anfragen parallel ausführen. Wird die Funktion lokal ausgeführt (ConfigDataModel), kann es möglicherweise sinnvoll sein, die Funktion in einem eigenen Thread auszuführen.- Specified by:
backupConfigurationFiles
in interfaceDataModel
- Parameters:
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 dasde.bsvrz.puk.config.configFile.datamodel.ConfigDataModel
direkt benutzt wird und mitde.bsvrz.puk.config.configFile.datamodel.ConfigDataModel#setBackupBaseDirectory(java.io.File)
noch kein 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 sind- Returns:
- Objekt, das Informationen über das Ergebnis des Sicherungsvorgangs enthält
- Throws:
ConfigurationTaskException
- 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.RequestException
- Fehler bei der Übertragung der Anfrage oder beim Empfang von Statusmeldungen der Konfiguration. Achtung: Man kann nicht zwingend darauf schließen, dass der Backupvorgang nicht erfolgreich war, wenn eine Exception geworfen wurde. Wenn während des Vorgangs beispielsweise die Verbindung zwischen Datenverteiler und Konfiguration abbricht, wird eine Exception geworfen, aber die Konfiguration wird den Vorgang vermutlich dennoch korrekt beenden.
-
backupConfigurationFiles
public final BackupResult backupConfigurationFiles(java.lang.String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) throws ConfigurationTaskException, RequestExceptionDescription copied from interface:DataModel
Veranlasst die Konfiguration, ausgewählte Konfigurationsdateien zu sichern. Diese Funktion wartet auf das Beenden des Vorgangs. Wird der Auftrag über den Datenverteiler ausgeführt (DafDataModel) kann die Konfiguration andere Anfragen parallel ausführen. Wird die Funktion lokal ausgeführt (ConfigDataModel), kann es möglicherweise sinnvoll sein, die Funktion in einem eigenen Thread auszuführen.- Specified by:
backupConfigurationFiles
in interfaceDataModel
- Parameters:
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 dasde.bsvrz.puk.config.configFile.datamodel .ConfigDataModel
direkt benutzt wird und mitde.bsvrz.puk.config.configFile.datamodel .ConfigDataModel#setBackupBaseDirectory(java.io.File)
noch kein 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 sind- Returns:
- Objekt, das Informationen über das Ergebnis des Sicherungsvorgangs enthält
- Throws:
ConfigurationTaskException
- 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.RequestException
- Fehler bei der Übertragung der Anfrage oder beim Empfang von Statusmeldungen der Konfiguration. Achtung: Man kann nicht zwingend darauf schließen, dass der Backupvorgang nicht erfolgreich war, wenn eine Exception geworfen wurde. Wenn während des Vorgangs beispielsweise die Verbindung zwischen Datenverteiler und Konfiguration abbricht, wird eine Exception geworfen, aber die Konfiguration wird den Vorgang vermutlich dennoch korrekt beenden.
-
getObjectDataValues
@Deprecated public final java.util.List<?> getObjectDataValues(SystemObject object, AttributeGroup attributeGroup)Deprecated.Zum Lesen von konfigurierenden Datensätzen sollten die MethodengetConfigurationData(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.config.AttributeGroup)
undSystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
verwendet werden.Ermittelt einen konfigurierenden Datensatz. Wenn nicht vorhanden wird es aus der Konfiguration geholt.- Parameters:
object
- Objekt des gewünschten DatensatzesattributeGroup
- Attributgruppe des gewünschten Datensatzes- Returns:
- Liste mit den Attributwerten des Datensatzes.
-
update
Diese Methode wird aufgerufen, wenn eine Antwort auf eine Konfigurationsanfrage empfangen wurde.- Parameters:
telegram
- Telegramm mit der empfangenen Antwort aus der Konfiguration.
-
getConfigurationData
Description copied from interface:DataModel
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabeiasp.eigenschaften
angenommen. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der MethodeSystemObject.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.- Specified by:
getConfigurationData
in interfaceDataModel
- Parameters:
objects
-Systemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.- Returns:
- Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters
objects
einen korrespondierender konfigurierender Datensatz odernull
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
updateName
public void updateName(long objectId, long typeId, java.lang.String newName)Description copied from interface:UpdateDynamicObjects
Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.Auf Meta-Seite muss dann der Name des Objekts aktualisiert werden. Des Weiteren muss dem Typ des Objekts die Namensänderung mitgeteilt werden. Dies ist nötig, weil am Typ des Objekts Listener für Namensänderungen vorhanden sind.
Beim setzen des Namens darf nicht die
SystemObject.setName(String)
Methode benutzt werden, weil dadurch erneut eine Anfrage an die Konfiguration verschickt werden würde.Der beschriebene Mechanismus muss nur durchgeführt werden wenn: Sich das Objekt im Cache des Meta-Datamodells befindet oder ein Listener auf Namensänderungen für den Typ des Objekt angemeldet ist.
Sind beide Bedingungen nicht erfüllt kann die Namensänderung verworfen werden.
- Specified by:
updateName
in interfaceUpdateDynamicObjects
- Parameters:
objectId
- Id des Objekts, dessen Name aktualisiert werden solltypeId
- Typ des Objekts, der informiert wird, dass sich der Name eines Objekts geändert hatnewName
- Neuer Name des Objekts
-
updateNotValidSince
public void updateNotValidSince(long objectId, long typeId, long invalidTime)Description copied from interface:UpdateDynamicObjects
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein dynamisches Objekt ungültig wurde.Die Methode muss beim dynamischen Objekt den Zeitpunkt aktualisieren, an dem es ungültig wurde und der Methodenaufruf von
SystemObject.isValid()
muss false zurück geben. Der Typ des Objekts muss ebenfalls informatiert werden, dass das Objekt nicht mehr gültig ist. Dies ist nötig, weil eventuell Listener auf diese Änderungen angemeldet sind.Der beschriebene Mechanismus muss nur durchgeführt werden wenn: Sich das Objekt im Cache des Meta-Datamodells befindet oder ein Listener auf Invalidation für den Typ des Objekt angemeldet ist.
Sind beide Bedingungen nicht erfüllt kann die Änderung verworfen werden.
- Specified by:
updateNotValidSince
in interfaceUpdateDynamicObjects
- Parameters:
objectId
- Id des Objekts, dessen UngültigAb-Wert aktualisiert werden solltypeId
- Typ des Objekts, der informiert wird, dass das Objekt ungültig geworden istinvalidTime
- Zeitpunkt, an dem das Objekt ungültig wurde
-
newDynamicObjectCreated
public void newDynamicObjectCreated(long objectId, long typeId)Description copied from interface:UpdateDynamicObjects
Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.Diese Information muss an den jeweiligen Typen des Objekt weitergereicht werden. Dies ist nötig, weil vielleicht Listener auf diese Information angemeldet sind. Ist dies der Fall, so muss das vollständige Objekt aus der Konfiguration angefordert werden.
- Specified by:
newDynamicObjectCreated
in interfaceUpdateDynamicObjects
- Parameters:
objectId
- Objekt, das neu angelegt wurdetypeId
- Typ des neuen Objekts. Dieser Typ wird darüber informiert, dass ein neues Objekt angelegt wurde.
-
getConfigurationData
public Data[] getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroupUsage usage)Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der MethodeSystemObject.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.- Parameters:
objects
- Liste derSystemobjekten
der gewünschten konfigurierenden Datensätze.usage
- Attributgruppenverwendung der gewünschten Datensätze.- Returns:
- Array mit den gewünschten konfigurierenden Datensätzen. Im Array enthält für jedes Element des Parameters
objects
einen korrespondierender konfigurierender Datensatz odernull
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.
-
getConfigurationData
public Data[] getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroup atg, Aspect asp)Description copied from interface:DataModel
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der MethodeSystemObject.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.- Specified by:
getConfigurationData
in interfaceDataModel
- Parameters:
objects
- Liste derSystemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.asp
- Aspekt der gewünschten Datensätze.- Returns:
- Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters
objects
einen korrespondierender konfigurierender Datensatz odernull
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
getConfigurationData
Description copied from interface:DataModel
Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabeiasp.eigenschaften
angenommen. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der MethodeSystemObject.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.- Specified by:
getConfigurationData
in interfaceDataModel
- Parameters:
objects
- Array mit denSystemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.- Returns:
- Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters
objects
einen korrespondierender konfigurierender Datensatz odernull
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
getConfigurationData
public final Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg, Aspect aspect)Description copied from interface:DataModel
Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück. Die zurückgelieferten Datensätze werden auch lokal zwischengespeichert und können mit der MethodeSystemObject.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.- Specified by:
getConfigurationData
in interfaceDataModel
- Parameters:
objects
- Array mit denSystemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.aspect
- Aspekt der gewünschten Datensätze.- Returns:
- Array mit den gewünschten konfigurierenden Datensätzen. Das Array enthält für jedes Element des Parameters
objects
einen korrespondierender konfigurierender Datensatz odernull
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
getConfigurationData
Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück. Die Methode sendet eine Konfiguationsanfrage an die Konfiguration um die noch nicht im Zwischenspeicher vorhandenen Datensätze zu laden. Die zurückgelieferten Datensätze werden lokal zwischengespeichert und können mit der MethodeSystemObject.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.- Parameters:
objects
- Array mit denSystemobjekten
der gewünschten konfigurierenden Datensätze.usage
- Attributgruppenverwendung der gewünschten Datensätze.- Returns:
- Array mit den gewünschten konfigurierenden Datensätzen. Im Array existiert für jedes Element des Parameters
objects
ein korrespondierender konfigurierender Datensatz odernull
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.
-
getActiveVersion
Description copied from interface:DataModel
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.- Specified by:
getActiveVersion
in interfaceDataModel
- Parameters:
configurationArea
- der Konfigurationsbereich- Returns:
- Versionsnummer des Konfigurationsbereichs
-
getConfigurationAuthorityId
public final long getConfigurationAuthorityId()Gibt die Objekt-Id des Konfigurationsverantwortlichen zurück.- Returns:
- Die Objekt-Id des Konfigurationsverantwortlichen
-
getMainEventThread
-
getAttributeGroupUsage
Description copied from interface:DataModel
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.- Specified by:
getAttributeGroupUsage
in interfaceDataModel
- Parameters:
usageIdentification
- Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.- Returns:
- Zur Identifizierung gehörende Attributgruppenverwendung oder
null
, wenn es keine Attributgruppenverwendung mit der angegebenen Identifizierung gibt.
-
getConfigurationData(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.config.AttributeGroup)
undSystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
verwendet werden.