Class DafDataModel
- All Implemented Interfaces:
DataModel,ObjectLookup,UpdateDynamicObjects
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMaximale Protokollversion (beginnend bei 0) -
Constructor Summary
ConstructorsConstructorDescriptionDafDataModel(ClientDavInterface connection) Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung. -
Method Summary
Modifier and TypeMethodDescriptionbackupConfigurationFiles(String targetDirectory, BackupProgressCallback callback) Veranlasst die Konfiguration, alle Konfigurationsdateien zu sichern.final BackupResultbackupConfigurationFiles(String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) Veranlasst die Konfiguration, ausgewählte Konfigurationsdateien zu sichern.final voidclose()Diese Methode sollte beim Terminieren der Datenverteilerverbindung aufgerufen werden.createConfigurationObject(ConfigurationObjectType type, String pid, String name, List<? extends ObjectSet> sets) Erzeugt ein neues Konfigurationsobjekt eines vorgegebenen Typs.final DynamicObjectcreateDynamicObject(SystemObjectType type, String pid, String name) Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs.final ConfigurationRequesterintintintshortgetActiveVersion(ConfigurationArea configurationArea) Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.final AttributeGroupUsagegetAttributeGroupUsage(long usageIdentification) Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.final List<SystemObjectType>Liefert die Basistypen, also die Typ-Objekte, die keinen anderen Typ erweitern, zurück.final Collection<? extends DafSystemObject>Gibt alle lokal gecachten Systemobjekte zurückfinal DafConfigurationAreaLiefert zu der angegebenen Pid den passenden Konfigurationsbereich.final ConfigurationAuthorityLiefert den lokalen Verantwortlichen der gesamten Konfiguration.final longGibt die Objekt-Id des Konfigurationsverantwortlichen zurück.Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.final Data[]getConfigurationData(SystemObject[] objects, AttributeGroup atg) Liefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück.final Data[]getConfigurationData(SystemObject[] objects, AttributeGroup atg, Aspect aspect) Liefert die konfigurierenden Datensätze einer Attributgruppe und eines Aspekts für mehrere Objekte zurück.final Data[]getConfigurationData(SystemObject[] objects, AttributeGroupUsage usage) Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück.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(Collection<SystemObject> objects, AttributeGroupUsage usage) Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück.final ConfigurationManagerLiefert das Objekt zur Verwaltung der Kommunikation mit der Konfiguration zurück.final ClientDavInterfaceGibt die aktuelle Verbindung zum Datenverteiler zurück.intintintfinal SystemObjectgetObject(long id) Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.final SystemObjectLiefert das System-Objekt mit der angegebenen PID zurück.final List<?>getObjectDataValues(SystemObject object, AttributeGroup attributeGroup) Deprecated.final DafSystemObjectgetObjectFromCache(long objectId) Gibt das SystemObjekt mit der angegebenen Objekt-Id aus dem Cache zurück.final List<SystemObject>getObjects(long... ids) Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.final List<SystemObject>getObjects(String... pids) Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.getObjects(String pid, long startTime, long endTime) Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.final Collection<SystemObject>getObjects(Collection<ConfigurationArea> configurationAreas, 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.getObjectsById(Collection<Long> ids) Liefert eine Liste zurück, die zu den angegebenen IDs die zugehörigen System-Objekte enthält.getObjectsByPid(Collection<String> pids) Liefert eine Liste zurück, die zu den angegebenen PIDs die zugehörigen System-Objekte enthält.final List<SystemObject>getObjectsOfType(DafSystemObjectType dafSystemObject) final LinkedList<ConfigTelegram>Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragenfinal longMit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.final SystemObjectTypeLiefert das Systemobjekt, das den Typ von Typobjekten darstellt.final UserAdministrationGibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.final voidinit(ConfigurationManager configurationManager, long configurationAuthorityId) Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteilerfinal voidinvalidate(DafSystemObject dafSystemObject) final booleanfinal voidLiest lokal zwischengespeicherte Konfigurationsobjekte und konfigurierende Datensätze ein, falls in dem entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde und dort eine passende Datei vorhanden ist.voidnewDynamicObjectCreated(long objectId, long typeId) Diese Methode wird aufgerufen, wenn die Konfiguration propagiert, dass ein neues dynamisches Objekt erzeugt wurde.final voidobjectInvalidated(DafSystemObject object, long notValidSince) final voidrevalidate(DafSystemObject dafSystemObject) final voidsetName(DafSystemObject object, String name) final voidsetPublicConnection(ClientDavConnection publicConnection) Wird bei der Initialisierung aufgerufen um die öffentliche ClientDavConnection zu setzen.final voidupdate(ConfigTelegram telegram) Diese Methode wird aufgerufen, wenn eine Antwort auf eine Konfigurationsanfrage empfangen wurde.voidupdateName(long objectId, long typeId, String newName) Diese Methode wird aufgerufen, wenn die Konfiguration eine Namensänderung eines dynamischen Objekts propagiert hat.voidupdateNotValidSince(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, waitMethods inherited from interface de.bsvrz.dav.daf.main.config.DataModel
getAspect, getAttributeGroup, getAttributeGroupUsage, getAttributeType, getConfigObject, getConfigType, getDataDescription, getDynamicObject, getDynamicType, getObjectSetType, getTypeMethods 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:
-
-
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:
-
getTypeTypeObject
Description copied from interface:DataModelLiefert das Systemobjekt, das den Typ von Typobjekten darstellt.- Specified by:
getTypeTypeObjectin interfaceDataModel- Returns:
- Das Typ-Typ-Objekt.
-
getBaseTypes
Description copied from interface:DataModelLiefert 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:
getBaseTypesin interfaceDataModel- Returns:
- Liste mit Typ-Objekten.
-
getObject
Description copied from interface:DataModelLiefert das System-Objekt mit der angegebenen Objekt-ID zurück.- Specified by:
getObjectin interfaceDataModel- Specified by:
getObjectin 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:
-
getObject
Description copied from interface:DataModelLiefert das System-Objekt mit der angegebenen PID zurück.- Specified by:
getObjectin interfaceDataModel- Specified by:
getObjectin 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:
-
getObjects
Description copied from interface:DataModelLiefert 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:
getObjectsin interfaceDataModel- Parameters:
ids- Array mit IDs- Returns:
- zugehörige System-Objekte
- See Also:
-
getObjects
Description copied from interface:DataModelLiefert 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:
getObjectsin interfaceDataModel- Parameters:
pids- Array mit PIDs- Returns:
- zugehörige System-Objekte
- See Also:
-
getObjectsById
Description copied from interface:DataModelLiefert 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:
getObjectsByIdin interfaceDataModel- Parameters:
ids- Liste mit IDs- Returns:
- zugehörige System-Objekte
- See Also:
-
getObjectsByPid
Description copied from interface:DataModelLiefert 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:
getObjectsByPidin interfaceDataModel- Parameters:
pids- Liste mit PIDs- Returns:
- zugehörige System-Objekte
- See Also:
-
createDynamicObject
public final DynamicObject createDynamicObject(SystemObjectType type, String pid, String name) throws ConfigurationChangeException Description copied from interface:DataModelErzeugt 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-Konfigurationsbereichdesaktuellen KVerstellt.- Specified by:
createDynamicObjectin 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:
-
createConfigurationObject
public ConfigurationObject createConfigurationObject(ConfigurationObjectType type, String pid, String name, List<? extends ObjectSet> sets) throws ConfigurationChangeException Description copied from interface:DataModelErzeugt 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-Konfigurationsbereichdesaktuellen KVerstellt.- Specified by:
createConfigurationObjectin 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:
-
setName
- Throws:
ConfigurationChangeException
-
invalidate
- Throws:
ConfigurationChangeException
-
objectInvalidated
-
revalidate
- Throws:
ConfigurationChangeException
-
getObjectsOfType
-
getConfigurationArea
Description copied from interface:DataModelLiefert zu der angegebenen Pid den passenden Konfigurationsbereich.- Specified by:
getConfigurationAreain interfaceDataModel- Parameters:
pid- die Pid des Konfigurationsbereichs- Returns:
- der Konfigurationsbereich zur angegebenen Pid
-
getConfigurationAuthority
Description copied from interface:DataModelLiefert den lokalen Verantwortlichen der gesamten Konfiguration.- Specified by:
getConfigurationAuthorityin interfaceDataModel- Returns:
- der Konfigurationsverantwortliche der Konfiguration
-
getConfigurationAuthorityPid
Description copied from interface:DataModelLiefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.- Specified by:
getConfigurationAuthorityPidin interfaceDataModel- Returns:
- die Pid des Konfigurationsverantwortlichen
-
getObjects
Description copied from interface:DataModelGibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.- Specified by:
getObjectsin 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 Collection<SystemObject> getObjects(Collection<ConfigurationArea> configurationAreas, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification) Description copied from interface:DataModelGibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.- Specified by:
getObjectsin 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:DataModelGibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.- Specified by:
getUserAdministrationin interfaceDataModel- Returns:
- Objekt zur Benutzerverwaltung.
-
backupConfigurationFiles
public BackupResult backupConfigurationFiles(String targetDirectory, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException Description copied from interface:DataModelVeranlasst 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:
backupConfigurationFilesin 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.ConfigDataModeldirekt 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(String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException Description copied from interface:DataModelVeranlasst 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:
backupConfigurationFilesin 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 .ConfigDataModeldirekt 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 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:DataModelLiefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabeiasp.eigenschaftenangenommen. 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:
getConfigurationDatain interfaceDataModel- Parameters:
objects-Systemobjekteder 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
objectseinen korrespondierender konfigurierender Datensatz odernull, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
updateName
Description copied from interface:UpdateDynamicObjectsDiese 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:
updateNamein 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:UpdateDynamicObjectsDiese 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:
updateNotValidSincein 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:UpdateDynamicObjectsDiese 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:
newDynamicObjectCreatedin interfaceUpdateDynamicObjects- Parameters:
objectId- Objekt, das neu angelegt wurdetypeId- Typ des neuen Objekts. Dieser Typ wird darüber informiert, dass ein neues Objekt angelegt wurde.
-
getObjectFromCache
Gibt das SystemObjekt mit der angegebenen Objekt-Id aus dem Cache zurück. Befindet sich das Objekt nicht im Cache wirdnullzurückgegeben.- Parameters:
objectId- Id des Objekts- Returns:
- SystemObjekt aus dem Cache oder
null, falls es sich nicht im Cache befindet.
-
getCachedObjects
Gibt alle lokal gecachten Systemobjekte zurück- Returns:
- Systemobjekte, die lokal gecacht wurden
-
getConfigurationData
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 derSystemobjektender 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
objectseinen korrespondierender konfigurierender Datensatz odernull, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.
-
getConfigurationData
public Data[] getConfigurationData(Collection<SystemObject> objects, AttributeGroup atg, Aspect asp) Description copied from interface:DataModelLiefert 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:
getConfigurationDatain interfaceDataModel- Parameters:
objects- Liste derSystemobjekteder 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
objectseinen korrespondierender konfigurierender Datensatz odernull, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
getConfigurationData
Description copied from interface:DataModelLiefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabeiasp.eigenschaftenangenommen. 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:
getConfigurationDatain interfaceDataModel- Parameters:
objects- Array mit denSystemobjektender 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
objectseinen korrespondierender konfigurierender Datensatz odernull, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.
-
getConfigurationData
Description copied from interface:DataModelLiefert 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:
getConfigurationDatain interfaceDataModel- Parameters:
objects- Array mit denSystemobjektender 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
objectseinen 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 denSystemobjektender 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
objectsein korrespondierender konfigurierender Datensatz odernull, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.
-
getActiveVersion
Description copied from interface:DataModelGibt die aktive Version des angegebenen Konfigurationsbereichs zurück.- Specified by:
getActiveVersionin 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:DataModelBestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.- Specified by:
getAttributeGroupUsagein 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.