public class DafDataModel extends java.lang.Object implements DataModel, UpdateDynamicObjects
Applikationsseitige Implementierung der DataModel Schnittstelle, die Zugriffe auf die Datenmodelle und Versorgungsdaten ermöglicht.
| Modifier and Type | Field and Description |
|---|---|
static int |
MAX_PROTOCOL_VERSION
Maximale Protokollversion (beginnend bei 0)
|
| Constructor and Description |
|---|
DafDataModel(ClientDavInterface connection)
Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung.
|
| Modifier and Type | Method and 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.
|
Aspect |
getAspect(java.lang.String pid)
Liefert den Aspekt mit der angegebenen PID zurück.
|
AttributeGroup |
getAttributeGroup(java.lang.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(java.lang.String pid)
Liefert den Attribut-Typ mit der angegebenen PID zurück.
|
java.util.List |
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(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.
|
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.
|
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() |
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<? extends java.lang.Object> |
getObjectDataValues(SystemObject object,
AttributeGroup attributeGroup)
Deprecated.
Zum Lesen von konfigurierenden Datensätzen sollten die Methoden
getConfigurationData(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.config.AttributeGroup) und SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) verwendet werden. |
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> |
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.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.
|
ObjectSetType |
getObjectSetType(java.lang.String pid)
Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.
|
java.util.List<SystemObject> |
getObjectsOfType(DafSystemObjectType dafSystemObject) |
java.util.LinkedList<ConfigTelegram> |
getPendingResponses()
Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragen
|
long |
getProtocolVersion() |
ConfigurationRequester |
getRequester()
Mit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.
|
SystemObjectType |
getType(java.lang.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.
|
void |
init(ConfigurationManager configurationManager,
long configurationAuthorityId)
Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteiler
|
void |
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.
|
public static final int MAX_PROTOCOL_VERSION
Maximale Protokollversion (beginnend bei 0)
public DafDataModel(ClientDavInterface connection)
Erzeugt ein neues Objekt zum Zugriff auf die Konfiguration über eine vorgegebene Datenverteilerverbindung.
connection - Verbindung zum Datenverteiler.public int getAcceptedCachedAreas()
public int getIgnoredCachedAreas()
public int getAcceptedCachedSystemObjects()
public int getIgnoredCachedSystemObjects()
public int getAcceptedCachedConfigData()
public int getIgnoredCachedConfigData()
public void init(ConfigurationManager configurationManager, long configurationAuthorityId)
Initialisiert dieses Objekt nach erfolgreichem Verbindungsaufbau mit dem Datenverteiler
configurationManager - Objekt zur Verwaltung der Kommunikation mit der KonfigurationconfigurationAuthorityId - Die Objekt-Id des Konfigurationsverantwortlichenpublic void setPublicConnection(ClientDavConnection publicConnection)
Wird bei der Initialisierung aufgerufen um die öffentliche ClientDavConnection zu setzen.
publicConnection - ClientDavConnectionpublic java.util.LinkedList<ConfigTelegram> getPendingResponses()
Liste mit den noch nicht bearbeiteten Antworten auf Konfigurationsanfragen
public long getProtocolVersion()
public boolean isConnectionClosed()
public 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
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.
public ConfigurationRequester getRequester()
Mit dem zurückgegebenen Objekt können Anfragen an eine Konfiguration gestellt werden.
public ConfigurationRequester createRequester() throws CommunicationError
CommunicationErrorpublic ClientDavInterface getConnection()
Gibt die aktuelle Verbindung zum Datenverteiler zurück.
public final ConfigurationManager getConfigurationManager()
Liefert das Objekt zur Verwaltung der Kommunikation mit der Konfiguration zurück.
null, falls es noch nicht gesetzt wurde.init(de.bsvrz.dav.daf.main.impl.ConfigurationManager,long)public final Aspect getAspect(java.lang.String pid)
DataModelLiefert den Aspekt mit der angegebenen PID zurück.
public final AttributeGroup getAttributeGroup(java.lang.String pid)
DataModelLiefert die Attributgruppe mit der angegebenen PID zurück.
getAttributeGroup in interface DataModelpid - Die permanente ID der Attributgruppenull, wenn es kein Objekt mit der gewünschten PID gibt.public final AttributeType getAttributeType(java.lang.String pid)
DataModelLiefert den Attribut-Typ mit der angegebenen PID zurück.
getAttributeType in interface DataModelpid - Die permanente ID des Attribut-Typsnull, wenn es kein Objekt mit der angegebenen PID gibt.public final SystemObjectType getType(java.lang.String pid)
DataModelLiefert das Typ-Objekt mit der angegebenen PID zurück.
public final ObjectSetType getObjectSetType(java.lang.String pid)
DataModelLiefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.
getObjectSetType in interface DataModelpid - Die permanente ID des Mengen-Typ-Objektsnull, wenn es kein Objekt mit der angegebenen PID gibt.public final SystemObjectType getTypeTypeObject()
DataModelLiefert das Systemobjekt, das den Typ von Typobjekten darstellt.
getTypeTypeObject in interface DataModelpublic final java.util.List getBaseTypes()
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”.
getBaseTypes in interface DataModelpublic final SystemObject getObject(long id)
DataModelLiefert das System-Objekt mit der angegebenen Objekt-ID zurück.
getObject in interface DataModelgetObject in interface ObjectLookupid - Die Objekt-ID des System-Objektsnull, wenn es kein Objekt mit der angegebenen ID gibt.DataModelpublic SystemObject getObject(java.lang.String pid)
DataModelLiefert das System-Objekt mit der angegebenen PID zurück.
getObject in interface DataModelgetObject in interface ObjectLookuppid - Die permanente ID des System-Objektsnull, wenn es kein Objekt mit der angegebenen PID gibt.DataModelpublic java.util.List<SystemObject> getObjects(long... ids)
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 Position null.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals DataModel.getObject(long) aufzurufen.
getObjects in interface DataModelids - Array mit IDsDataModel.getObject(long)public java.util.List<SystemObject> getObjects(java.lang.String... pids)
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 Position null.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals DataModel.getObject(java.lang.String) aufzurufen.
getObjects in interface DataModelpids - Array mit PIDsDataModel.getObject(java.lang.String)public java.util.List<SystemObject> getObjectsById(java.util.Collection<java.lang.Long> ids)
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 Position null.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals DataModel.getObject(long) aufzurufen.
getObjectsById in interface DataModelids - Liste mit IDsDataModel.getObject(long)public java.util.List<SystemObject> getObjectsByPid(java.util.Collection<java.lang.String> pids)
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 Position null.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals DataModel.getObject(java.lang.String) aufzurufen.
getObjectsByPid in interface DataModelpids - Liste mit PIDsDataModel.getObject(java.lang.String)public DynamicObject createDynamicObject(SystemObjectType type, java.lang.String pid, java.lang.String name) throws ConfigurationChangeException
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 im Standard-Konfigurationsbereich des aktuellen KV erstellt.
createDynamicObject in interface DataModeltype - 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 ConfigurationObject createConfigurationObject(ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.List<? extends ObjectSet> sets) throws ConfigurationChangeException
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 im Standard-Konfigurationsbereich des aktuellen KV erstellt.
createConfigurationObject in interface DataModeltype - 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 void setName(DafSystemObject object, java.lang.String name) throws ConfigurationChangeException
ConfigurationChangeExceptionpublic void invalidate(DafSystemObject dafSystemObject) throws ConfigurationChangeException
ConfigurationChangeExceptionpublic void objectInvalidated(DafSystemObject object, long notValidSince)
public void revalidate(DafSystemObject dafSystemObject) throws ConfigurationChangeException
ConfigurationChangeExceptionpublic java.util.List<SystemObject> getObjectsOfType(DafSystemObjectType dafSystemObject)
public DafConfigurationArea getConfigurationArea(java.lang.String pid)
DataModelLiefert zu der angegebenen Pid den passenden Konfigurationsbereich.
getConfigurationArea in interface DataModelpid - die Pid des Konfigurationsbereichspublic ConfigurationAuthority getConfigurationAuthority()
DataModelLiefert den lokalen Verantwortlichen der gesamten Konfiguration.
getConfigurationAuthority in interface DataModelpublic java.lang.String getConfigurationAuthorityPid()
DataModelLiefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.
getConfigurationAuthorityPid in interface DataModelpublic java.util.Collection<SystemObject> getObjects(java.lang.String pid, long startTime, long endTime)
DataModelGibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
getObjects in interface DataModelpid - die Pid der gewünschten ObjektestartTime - der zu betachtende Startzeitpunkt des AnfragezeitraumsendTime - der zu betrachtende Endzeitpunkt des Anfragezeitraumspublic java.util.Collection<SystemObject> getObjects(java.util.Collection<ConfigurationArea> configurationAreas, java.util.Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification)
DataModelGibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.
getObjects in interface DataModelconfigurationAreas - 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.public UserAdministration getUserAdministration()
DataModelGibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.
getUserAdministration in interface DataModelpublic BackupResult backupConfigurationFiles(java.lang.String targetDirectory, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException
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.
backupConfigurationFiles in interface DataModeltargetDirectory - 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 de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel direkt benutzt wird und mit de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel#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.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.public BackupResult backupConfigurationFiles(java.lang.String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException
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.
backupConfigurationFiles in interface DataModeltargetDirectory - 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 de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel direkt benutzt wird und mit de.bsvrz.puk.config.configFile.datamodel.ConfigDataModel#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.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.@Deprecated public final java.util.List<? extends java.lang.Object> getObjectDataValues(SystemObject object, AttributeGroup attributeGroup)
getConfigurationData(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.config.AttributeGroup) und SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup) verwendet werden.Ermittelt einen konfigurierenden Datensatz. Wenn nicht vorhanden wird es aus der Konfiguration geholt.
object - Objekt des gewünschten DatensatzesattributeGroup - Attributgruppe des gewünschten Datensatzespublic final void update(ConfigTelegram telegram)
Diese Methode wird aufgerufen, wenn eine Antwort auf eine Konfigurationsanfrage empfangen wurde.
telegram - Telegramm mit der empfangenen Antwort aus der Konfiguration.public Data[] getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroup atg)
DataModelLiefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabei 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 DataModelobjects - 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 void updateName(long objectId,
long typeId,
java.lang.String newName)
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.
updateName in interface UpdateDynamicObjectsobjectId - 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 Objektspublic void updateNotValidSince(long objectId,
long typeId,
long invalidTime)
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.
updateNotValidSince in interface UpdateDynamicObjectsobjectId - 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 wurdepublic void newDynamicObjectCreated(long objectId,
long typeId)
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.
newDynamicObjectCreated in interface UpdateDynamicObjectsobjectId - Objekt, das neu angelegt wurdetypeId - Typ des neuen Objekts. Dieser Typ wird darüber informiert, dass ein neues Objekt angelegt wurde.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 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.
objects - Liste der Systemobjekten der gewünschten konfigurierenden Datensätze.usage - Attributgruppenverwendung der gewünschten Datensätze.objects einen korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.public Data[] getConfigurationData(java.util.Collection<SystemObject> objects, AttributeGroup atg, Aspect asp)
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 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 DataModelobjects - 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 Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg)
DataModelLiefert die konfigurierenden Datensätze einer Attributgruppe für mehrere Objekte zurück. Als Aspekt wird dabei 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 DataModelobjects - 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(SystemObject[] objects, AttributeGroup atg, Aspect aspect)
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 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 DataModelobjects - Array mit den Systemobjekten der gewünschten konfigurierenden Datensätze.atg - Attributgruppe der gewünschten Datensätze.aspect - 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(SystemObject[] objects, AttributeGroupUsage usage)
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 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.
objects - Array mit den Systemobjekten der gewünschten konfigurierenden Datensätze.usage - Attributgruppenverwendung der gewünschten Datensätze.objects ein korrespondierender konfigurierender Datensatz oder null, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung Kombination hat.public short getActiveVersion(ConfigurationArea configurationArea)
DataModelGibt die aktive Version des angegebenen Konfigurationsbereichs zurück.
getActiveVersion in interface DataModelconfigurationArea - der Konfigurationsbereichpublic final long getConfigurationAuthorityId()
Gibt die Objekt-Id des Konfigurationsverantwortlichen zurück.
public AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
DataModelBestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
getAttributeGroupUsage in interface DataModelusageIdentification - Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.null, wenn es keine Attributgruppenverwendung mit der angegebenen Identifizierung gibt.