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 | Class and Description |
---|---|
(package private) static class |
DafDataModel.ConfigDataKey
Identifikation eines konfigurierenden Datensatzes, die das zugehörige Systemobjekt und die zugehörige Attributgruppenverwendung speichert.
|
private class |
DafDataModel.ConfigurationAreaInfo
Hilfsklasse zum Speichern von Informationen zu Konfigurationsbereichen.
|
private static class |
DafDataModel.NotificationObject
Speichert die für eine asynchrone Benachrichtigung erforderlichen Parameter.
|
private class |
DafDataModel.NotifyingMutableCollectionChangeListener
Klasse zur asynchronen Benachrichtigung der Listener für Änderungen der Elemente von dynamischen Zusammenstellungen.
|
Modifier and Type | Field and Description |
---|---|
private int |
_acceptedCachedAreas |
private int |
_acceptedCachedConfigData |
private int |
_acceptedCachedSystemObjects |
private java.util.Map<java.lang.Long,DafDataModel.ConfigurationAreaInfo> |
_areaInfos |
private DafSystemObject[] |
_configAreas |
private java.util.Hashtable<DafDataModel.ConfigDataKey,java.lang.Object> |
_configDataValuesTable
Tabelle der zwischengespeicherten konfigurierenden Datensätze, als Key dient ein ConfigDataKey mit Systemobjekt und Attributgruppenverwendung
|
private DafConfigurationAuthority |
_configurationAuthority
Konfigurationsverantwortlicher der Konfiguration
|
private long |
_configurationAuthorityId
Die Objekt-Id des Konfigurationsverantwortlichen
|
private ConfigurationManager |
_configurationManager
Objekt zur Verwaltung der Kommunikation mit der Konfiguration
|
private AttributeGroupUsage |
_configurationReadReplyUsage
Attribugruppenverwendung Konfigurationsleseantworten
|
private AttributeGroupUsage |
_configurationReadRequestUsage
Attribugruppenverwendung Konfigurationsleseanfragen
|
private AttributeGroupUsage |
_configurationWriteReplyUsage
Attribugruppenverwendung Konfigurationsschreibantworten
|
private AttributeGroupUsage |
_configurationWriteRequestUsage
Attribugruppenverwendung Konfigurationsschreibanfragen
|
private ClientDavInterface |
_connection
Verbindung zum Datenverteiler.
|
private boolean |
_connectionClosed
Wird gesetzt, wenn die Verbindung zum Datenverteiler geschlossen wurde.
|
private DavConnectionListener |
_davConnectionListener |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private Aspect |
_defaultConfigurationDataAspect
Aspekt “asp.eigenschaften”, der als Default für Konfigurierende Datensätze bei Anfragen ohne Aspekt benutzt wird.
|
private int |
_ignoredCachedAreas |
private int |
_ignoredCachedConfigData |
private int |
_ignoredCachedSystemObjects |
private java.util.Set<SystemObjectType> |
_metaObjectTypes |
private static java.lang.Object |
_noDataMarker
Falls ein Datensatz angefordert wurde, aber es keinen Datensatz gab, wird dieser Platzhalter eingefügt.
|
private DafDataModel.NotifyingMutableCollectionChangeListener |
_notifyingMutableCollectionChangeListener
Objekt zur asynchronen Benachrichtigung der Listener für Änderungen der Elemente von dynamischen Zusammenstellungen.
|
private java.util.LinkedList<ConfigTelegram> |
_pendingResponses |
private long |
_protocolVersion
Von der Konfiguration unterstützte Protokollversion <= MAX_PROTOCOL_VERSION
|
private ClientDavInterface |
_publicConnection
Verbindung zum Datenverteiler.
|
private BaseSubscriptionInfo |
_readBaseSubscriptionInfo
Anmeldeinfo für Konfigurationsanfragen zum Lesen
|
private ConfigurationRequester |
_remoteRequester
ConfigurationRequester für Konfigurationsanfragen.
|
private AutoExpireMap<java.lang.Long,DafSystemObject> |
_systemObjectsById
Map der zwischengespeicherten konfigurierenden oder dynamischen Systemobjekte, als Key dient die ID des Objekts
|
private java.util.HashMap<java.lang.String,DafSystemObject> |
_systemObjectsByPid
Map der zwischengespeicherten Objekte mit PID, als Key dient die PID des Objekts
|
private UserAdministration |
_userAdministration
Verschickt Auftrage zur Benutzerverwaltung mittels des ConfigurationsRequesters an die Konfiguration.
|
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 |
---|---|
(package private) void |
addSet(DafConfigurationObject configurationObject,
ObjectSet set)
Ordnet dem Konfigurationsobjekt eine weitere Menge zu.
|
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.
|
private java.util.List<SystemObject> |
castInterfaceToClass(java.util.Collection<SystemObject> systemObjects)
Diese Methode castet eine Collection, die Objekte enthält, die ein Interface implementieren, auf die konkrete Klasse.
|
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.
|
(package private) java.util.Hashtable<DafDataModel.ConfigDataKey,java.lang.Object> |
getConfigDataValuesTable() |
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.
|
(package private) Data |
getConfigurationData(SystemObject object,
AttributeGroup atg)
Liefert einen konfigurierenden Datensatz eines Objekts zurück.
|
(package private) Data |
getConfigurationData(SystemObject object,
AttributeGroupUsage atgUsage)
Liefert einen konfigurierenden Datensatz eines Objekts zurück.
|
private Data[] |
getConfigurationDataRemote(java.util.List<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.
|
(package private) java.util.List<SystemObject> |
getElementsOfType(DafSystemObjectType type,
long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
|
(package private) java.util.List<SystemObject> |
getElementsOfTypeDuringPeriod(DafSystemObjectType type,
long startTime,
long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
|
(package private) java.util.List<SystemObject> |
getElementsOfTypeInPeriod(DafSystemObjectType type,
long startTime,
long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
|
int |
getIgnoredCachedAreas() |
int |
getIgnoredCachedConfigData() |
int |
getIgnoredCachedSystemObjects() |
private java.io.File |
getLocalConfigurationCacheFile(java.lang.String configurationPath)
Bestimmt das File-Objekt für die Datei zur lokalen Speicherung von Konfigurationsdaten.
|
private DafSystemObject[] |
getMetaDataFromConfiguration()
Initiale Abfrage der von der Applikation benötigten Objekte.
|
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. |
(package private) DafSystemObject |
getObjectFromCache(long objectId)
Gibt das SystemObjekt mit der angegebenen Objekt-Id aus dem Cache zurück.
|
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.
|
(package private) java.util.List |
getSetElements(DafObjectSet set,
long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Mengenzusammenstellung gehörenden Elemente.
|
(package private) java.util.List<SystemObject> |
getSetElementsDuringPeriod(DafObjectSet set,
long startTime,
long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.
|
(package private) java.util.List<SystemObject> |
getSetElementsInAllVersions(DafObjectSet set,
short fromVersion,
short toVersion)
Bestimmt die Elemente, die in allen Konfigurationsversionen eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.
|
(package private) java.util.List<SystemObject> |
getSetElementsInAnyVersions(DafObjectSet set,
short fromVersion,
short toVersion)
Bestimmt die Elemente, die in mindestens einer Konfigurationsversion eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.
|
(package private) java.util.List<SystemObject> |
getSetElementsInNextVersion(DafObjectSet set)
Bestimmt die nach Aktivierung der nächsten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.
|
(package private) java.util.List<SystemObject> |
getSetElementsInPeriod(DafObjectSet set,
long startTime,
long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.
|
(package private) java.util.List<SystemObject> |
getSetElementsInVersion(DafObjectSet set,
short version)
Bestimmt die in einer bestimmten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.
|
private java.util.List<SystemObject> |
getSystemObjectsFromConfiguration(long... ids) |
private java.util.List<SystemObject> |
getSystemObjectsFromConfiguration(java.lang.String... pids) |
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) |
(package private) void |
removeSet(DafConfigurationObject configurationObject,
ObjectSet set)
Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge.
|
void |
revalidate(DafSystemObject dafSystemObject) |
private void |
saveLocalConfigurationCache()
Speichert Konfigurationsobjekte und konfigurierende Datensätze in einer lokalen Konfigurationsdatei, falls im entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde.
|
(package private) void |
setConfigurationData(SystemObject systemObject,
AttributeGroupUsage atgUsage,
Data data)
Ändert einen konfigurierenden Datensatz eines Objekts.
|
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.
|
(package private) DafSystemObject |
updateInternalDataStructure(DafSystemObject systemObject,
boolean cachePidWhenDynamic)
Aktualisiert die Tabellen mit zwischengespeicherten Objekten, wenn Objekte gültig bzw. ungültig geworden sind.
|
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.
|
private static final Debug _debug
DebugLogger für Debug-Ausgaben
public static final int MAX_PROTOCOL_VERSION
Maximale Protokollversion (beginnend bei 0)
private long _protocolVersion
Von der Konfiguration unterstützte Protokollversion <= MAX_PROTOCOL_VERSION
private ClientDavInterface _connection
Verbindung zum Datenverteiler. Wenn 2 Datenverteilerverbindungen verwendet werden die interne Verbindung.
private ClientDavInterface _publicConnection
Verbindung zum Datenverteiler. Wenn 2 Datenverteilerverbindungen verwendet werden die öffentliche Verbindung.
private final AutoExpireMap<java.lang.Long,DafSystemObject> _systemObjectsById
Map der zwischengespeicherten konfigurierenden oder dynamischen Systemobjekte, als Key dient die ID des Objekts
private java.util.HashMap<java.lang.String,DafSystemObject> _systemObjectsByPid
Map der zwischengespeicherten Objekte mit PID, als Key dient die PID des Objekts
private java.util.Hashtable<DafDataModel.ConfigDataKey,java.lang.Object> _configDataValuesTable
Tabelle der zwischengespeicherten konfigurierenden Datensätze, als Key dient ein ConfigDataKey mit Systemobjekt und Attributgruppenverwendung
private ConfigurationRequester _remoteRequester
ConfigurationRequester für Konfigurationsanfragen.
private DafDataModel.NotifyingMutableCollectionChangeListener _notifyingMutableCollectionChangeListener
Objekt zur asynchronen Benachrichtigung der Listener für Änderungen der Elemente von dynamischen Zusammenstellungen.
private int _acceptedCachedAreas
private int _ignoredCachedAreas
private int _acceptedCachedSystemObjects
private int _ignoredCachedSystemObjects
private int _acceptedCachedConfigData
private int _ignoredCachedConfigData
private static final java.lang.Object _noDataMarker
Falls ein Datensatz angefordert wurde, aber es keinen Datensatz gab, wird dieser Platzhalter eingefügt. Dies verhindert, das der Datensatz erneut angefordert wird.
private DafConfigurationAuthority _configurationAuthority
Konfigurationsverantwortlicher der Konfiguration
private BaseSubscriptionInfo _readBaseSubscriptionInfo
Anmeldeinfo für Konfigurationsanfragen zum Lesen
private ConfigurationManager _configurationManager
Objekt zur Verwaltung der Kommunikation mit der Konfiguration
private java.util.LinkedList<ConfigTelegram> _pendingResponses
private long _configurationAuthorityId
Die Objekt-Id des Konfigurationsverantwortlichen
private Aspect _defaultConfigurationDataAspect
Aspekt “asp.eigenschaften”, der als Default für Konfigurierende Datensätze bei Anfragen ohne Aspekt benutzt wird.
private AttributeGroupUsage _configurationReadRequestUsage
Attribugruppenverwendung Konfigurationsleseanfragen
private AttributeGroupUsage _configurationReadReplyUsage
Attribugruppenverwendung Konfigurationsleseantworten
private AttributeGroupUsage _configurationWriteRequestUsage
Attribugruppenverwendung Konfigurationsschreibanfragen
private AttributeGroupUsage _configurationWriteReplyUsage
Attribugruppenverwendung Konfigurationsschreibantworten
private UserAdministration _userAdministration
Verschickt Auftrage zur Benutzerverwaltung mittels des ConfigurationsRequesters an die Konfiguration. Das Objekt wird so spät wie möglich initialisiert, damit alle Verbindungen aufgebaut werden können.
private boolean _connectionClosed
Wird gesetzt, wenn die Verbindung zum Datenverteiler geschlossen wurde.
private DavConnectionListener _davConnectionListener
private java.util.Map<java.lang.Long,DafDataModel.ConfigurationAreaInfo> _areaInfos
private DafSystemObject[] _configAreas
private java.util.Set<SystemObjectType> _metaObjectTypes
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()
java.util.Hashtable<DafDataModel.ConfigDataKey,java.lang.Object> getConfigDataValuesTable()
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
private void saveLocalConfigurationCache()
Speichert Konfigurationsobjekte und konfigurierende Datensätze in einer lokalen Konfigurationsdatei, falls im entsprechenden Aufrufparameter ein Verzeichnis angegeben wurde. Vor den Konfigurationsobjekten und deren Datensätzen wird folgendes geschrieben:
private java.io.File getLocalConfigurationCacheFile(java.lang.String configurationPath)
Bestimmt das File-Objekt für die Datei zur lokalen Speicherung von Konfigurationsdaten. Der Dateiname setzt sich aus der Pid des Konfigurationsverantwortlichen der Konfiguration, dem Namen der Applikation und der Endung .configcache
zusammen.
configurationPath
- Verzeichnis für die Datei zur lokalen Speicherung von Konfigurationsdaten.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
CommunicationError
public ClientDavInterface getConnection()
Gibt die aktuelle Verbindung zum Datenverteiler zurück.
DafSystemObject updateInternalDataStructure(DafSystemObject systemObject, boolean cachePidWhenDynamic)
Aktualisiert die Tabellen mit zwischengespeicherten Objekten, wenn Objekte gültig bzw. ungültig geworden sind.
systemObject
- Objekt das möglicherweise gültig bzw. ungültig geworden ist.cachePidWhenDynamic
- Da Pids in verschiedenen Simulationsvarianten unterschiedliche Objekte referenzieren, dürfen dynamische Objekte nicht in _systemObjectsByPid gespeichert werden, wenn nicht sicher ist, dass das dynamische Objekt zu der aktuell verwendeten Simulation gehört. Die Pid darf nur gecacht werden, wenn das Objekt als Ergebnis von getObject(String)
, createDynamicObject(de.bsvrz.dav.daf.main.config.SystemObjectType, String, String)
, oder beim Abruf von getElements()/getObjects() einer dynamischen Menge zurückgegeben wurde. In dem Fall ist der Parameter true. Konfigurationsobjekte werden immer gecacht, hier ist der Parameter egal.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)
DataModel
Liefert den Aspekt mit der angegebenen PID zurück.
public final AttributeGroup getAttributeGroup(java.lang.String pid)
DataModel
Liefert die Attributgruppe mit der angegebenen PID zurück.
getAttributeGroup
in interface DataModel
pid
- Die permanente ID der Attributgruppenull
, wenn es kein Objekt mit der gewünschten PID gibt.public final AttributeType getAttributeType(java.lang.String pid)
DataModel
Liefert den Attribut-Typ mit der angegebenen PID zurück.
getAttributeType
in interface DataModel
pid
- Die permanente ID des Attribut-Typsnull
, wenn es kein Objekt mit der angegebenen PID gibt.public final SystemObjectType getType(java.lang.String pid)
DataModel
Liefert das Typ-Objekt mit der angegebenen PID zurück.
public final ObjectSetType getObjectSetType(java.lang.String pid)
DataModel
Liefert das Mengen-Typ-Objekt mit der angegebenen PID zurück.
getObjectSetType
in interface DataModel
pid
- Die permanente ID des Mengen-Typ-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.public final SystemObjectType getTypeTypeObject()
DataModel
Liefert das Systemobjekt, das den Typ von Typobjekten darstellt.
getTypeTypeObject
in interface DataModel
public final java.util.List getBaseTypes()
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”.
getBaseTypes
in interface DataModel
public final SystemObject getObject(long id)
DataModel
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück.
getObject
in interface DataModel
getObject
in interface ObjectLookup
id
- Die Objekt-ID des System-Objektsnull
, wenn es kein Objekt mit der angegebenen ID gibt.DataModel
public SystemObject getObject(java.lang.String pid)
DataModel
Liefert das System-Objekt mit der angegebenen PID zurück.
getObject
in interface DataModel
getObject
in interface ObjectLookup
pid
- Die permanente ID des System-Objektsnull
, wenn es kein Objekt mit der angegebenen PID gibt.DataModel
public java.util.List<SystemObject> getObjects(long... ids)
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 Position null
.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals DataModel.getObject(long)
aufzurufen.
getObjects
in interface DataModel
ids
- Array mit IDsDataModel.getObject(long)
public java.util.List<SystemObject> getObjects(java.lang.String... pids)
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 Position null
.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals DataModel.getObject(java.lang.String)
aufzurufen.
getObjects
in interface DataModel
pids
- Array mit PIDsDataModel.getObject(java.lang.String)
public java.util.List<SystemObject> getObjectsById(java.util.Collection<java.lang.Long> ids)
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 Position null
.
Diese Methode kann bei der Anfrage nach mehreren IDs schneller sein, als mehrmals DataModel.getObject(long)
aufzurufen.
getObjectsById
in interface DataModel
ids
- Liste mit IDsDataModel.getObject(long)
public java.util.List<SystemObject> getObjectsByPid(java.util.Collection<java.lang.String> pids)
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 Position null
.
Diese Methode kann bei der Anfrage nach mehreren PIDs schneller sein, als mehrmals DataModel.getObject(java.lang.String)
aufzurufen.
getObjectsByPid
in interface DataModel
pids
- Liste mit PIDsDataModel.getObject(java.lang.String)
private DafSystemObject[] getMetaDataFromConfiguration()
Initiale Abfrage der von der Applikation benötigten Objekte.
private java.util.List<SystemObject> getSystemObjectsFromConfiguration(long... ids)
private java.util.List<SystemObject> getSystemObjectsFromConfiguration(java.lang.String... pids)
public DynamicObject createDynamicObject(SystemObjectType type, java.lang.String pid, java.lang.String name) throws ConfigurationChangeException
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 im Standard-Konfigurationsbereich
des aktuellen KV
erstellt.
createDynamicObject
in interface DataModel
type
- Typ des neuen Objektspid
- PID des neuen Objekts.name
- Name des neuen Objekts.ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.SystemObject
,
SystemObject.isValid()
public ConfigurationObject createConfigurationObject(ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.List<? extends ObjectSet> sets) throws ConfigurationChangeException
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 im Standard-Konfigurationsbereich
des aktuellen KV
erstellt.
createConfigurationObject
in interface DataModel
type
- Typ des neuen Objekts.pid
- PID des neuen Objekts.name
- Name des neuen Objekts.sets
- Liste der Mengen des neuen Objekts oder null
, wenn kein Mengen vergeben werden sollen.ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.ConfigurationObject
,
SystemObject.isValid()
,
ConfigurationAuthority.getDefaultConfigurationArea()
public void setName(DafSystemObject object, java.lang.String name) throws ConfigurationChangeException
ConfigurationChangeException
public void invalidate(DafSystemObject dafSystemObject) throws ConfigurationChangeException
ConfigurationChangeException
public void objectInvalidated(DafSystemObject object, long notValidSince)
public void revalidate(DafSystemObject dafSystemObject) throws ConfigurationChangeException
ConfigurationChangeException
public java.util.List<SystemObject> getObjectsOfType(DafSystemObjectType dafSystemObject)
public DafConfigurationArea getConfigurationArea(java.lang.String pid)
DataModel
Liefert zu der angegebenen Pid den passenden Konfigurationsbereich.
getConfigurationArea
in interface DataModel
pid
- die Pid des Konfigurationsbereichspublic ConfigurationAuthority getConfigurationAuthority()
DataModel
Liefert den lokalen Verantwortlichen der gesamten Konfiguration.
getConfigurationAuthority
in interface DataModel
public java.lang.String getConfigurationAuthorityPid()
DataModel
Liefert die Pid des lokalen Verantwortlichen der gesamten Konfiguration.
getConfigurationAuthorityPid
in interface DataModel
public java.util.Collection<SystemObject> getObjects(java.lang.String pid, long startTime, long endTime)
DataModel
Gibt die Objekte zurück, die zu der angegebenen Pid in dem angegebenen Zeitraum gültig waren.
getObjects
in interface DataModel
pid
- 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)
DataModel
Gibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.
getObjects
in interface DataModel
configurationAreas
- Konfigurationsbereiche, die zu berücksichtigen sind. Wird null
übergeben, so gilt dies als Wildcard und alle Konfigurationsbereiche werden betrachtet.systemObjectTypes
- Objekttypen, die zu berücksichtigen sind. Wird null
übergeben, so gilt dies als Wildcard und alle Objekttypen werden betrachtet.objectTimeSpecification
- Gibt den Gültigkeitsbereich der geforderten Objekte an.public UserAdministration getUserAdministration()
DataModel
Gibt ein Objekt zurück, mit dem die Benutzer der Konfiguration verwaltet werden können.
getUserAdministration
in interface DataModel
public BackupResult backupConfigurationFiles(java.lang.String targetDirectory, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException
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.
backupConfigurationFiles
in interface DataModel
targetDirectory
- Relatives Zielverzeichnis innerhalb des in der Konfiguration (mit dem Parameter -sicherungsVerzeichnis) festgelegten Sicherungsordners. Wird null oder ein Leerstring angegeben, generiert die Konfiguration aus aktuellem Datum und Uhrzeit einen neuen Pfadnamen. Falls das 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
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.
backupConfigurationFiles
in interface DataModel
targetDirectory
- Relatives Zielverzeichnis innerhalb des in der Konfiguration (mit dem Parameter -sicherungsVerzeichnis) festgelegten Sicherungsordners. Wird null oder ein Leerstring angegeben, generiert die Konfiguration aus aktuellem Datum und Uhrzeit einen neuen Pfadnamen. Falls das 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)
DataModel
Liefert 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 DataModel
objects
- Systemobjekte
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.objects
einen korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.public void updateName(long objectId, long typeId, java.lang.String newName)
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.
updateName
in interface UpdateDynamicObjects
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 Objektspublic void updateNotValidSince(long objectId, long typeId, long invalidTime)
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.
updateNotValidSince
in interface UpdateDynamicObjects
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 wurdepublic void newDynamicObjectCreated(long objectId, long typeId)
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.
newDynamicObjectCreated
in interface UpdateDynamicObjects
objectId
- Objekt, das neu angelegt wurdetypeId
- Typ des neuen Objekts. Dieser Typ wird darüber informiert, dass ein neues Objekt angelegt wurde.DafSystemObject getObjectFromCache(long objectId)
Gibt das SystemObjekt mit der angegebenen Objekt-Id aus dem Cache zurück. Befindet sich das Objekt nicht im Cache wird null
zurückgegeben.
objectId
- Id des Objektsnull
, falls es sich nicht im Cache befindet.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)
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 Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
ohne weitere Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.
getConfigurationData
in interface DataModel
objects
- 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)
DataModel
Liefert 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 DataModel
objects
- Array mit den Systemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.objects
einen korrespondierender konfigurierender Datensatz oder null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe-Aspekt Kombination hat.public Data[] getConfigurationData(SystemObject[] objects, AttributeGroup atg, Aspect aspect)
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 Methode SystemObject.getConfigurationData(de.bsvrz.dav.daf.main.config.AttributeGroup)
ohne weitere Konfigurationsanfrage abgefragt werden. Die Methode kann somit zur Minimierung der Anzahl von Konfigurationsanfragen und den damit verbundenen Verzögerungszeiten eingesetzt werden.
getConfigurationData
in interface DataModel
objects
- Array mit den Systemobjekten
der gewünschten konfigurierenden Datensätze.atg
- Attributgruppe der gewünschten Datensätze.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.private Data[] getConfigurationDataRemote(java.util.List<SystemObject> objects, AttributeGroupUsage usage)
Liefert die konfigurierenden Datensätze einer Attributgruppenverwendung für mehrere Objekte zurück. Dies ist eine Hilfsfunktion zu getConfigurationData
, die im Gegensatz zu dieser keine Daten aus dem Cache liest (wohl aber welche hineinschreibt).
objects
- Array mit den 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 short getActiveVersion(ConfigurationArea configurationArea)
DataModel
Gibt die aktive Version des angegebenen Konfigurationsbereichs zurück.
getActiveVersion
in interface DataModel
configurationArea
- der KonfigurationsbereichData getConfigurationData(SystemObject object, AttributeGroup atg)
Liefert einen konfigurierenden Datensatz eines Objekts zurück. Als Aspekt des gewünschten Datensatzes wird “asp.eigenschaften
” angenommen.
object
- SystemObject des gewünschten Datensatzes.atg
- Attributgruppe des gewünschten Datensatzes.null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppe hat.Data getConfigurationData(SystemObject object, AttributeGroupUsage atgUsage)
Liefert einen konfigurierenden Datensatz eines Objekts zurück.
object
- SystemObject des gewünschten Datensatzes.atgUsage
- Attributgruppenverwendung des gewünschten Datensatzes.null
, wenn das Objekt keinen Datensatz der angegebenen Attributgruppenverwendung hat.public final long getConfigurationAuthorityId()
Gibt die Objekt-Id des Konfigurationsverantwortlichen zurück.
final void addSet(DafConfigurationObject configurationObject, ObjectSet set) throws ConfigurationChangeException
Ordnet dem Konfigurationsobjekt eine weitere Menge zu. Die Zuordnung wird erst mit der nächsten Konfigurationsversion gültig.
configurationObject
- Objekt, dem eine neue Menge zugeordnet werden soll.set
- Menge, die dem Konfigurationsobjekt zugeordnet werden soll.ConfigurationChangeException
- Die Konfiguration führt den Auftrag nicht aus. Ein Grund wäre zum Beispiel, dass die Konfiguration nicht der Konfigurationsverantwortliche für dieses Objekt ist.final void removeSet(DafConfigurationObject configurationObject, ObjectSet set) throws ConfigurationChangeException
Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge. Die Änderung wird erst mit der nächsten Konfigurationsversion gültig.
configurationObject
- Objekt, von dem eine Menge entfernt werden sollset
- Menge, die entfernt werden soll.ConfigurationChangeException
- Die Konfiguration führt den Auftrag nicht aus. Ein Grund wäre zum Beispiel, dass die Konfiguration nicht der Konfigurationsverantwortliche für dieses Objekt ist.final java.util.List<SystemObject> getElementsOfType(DafSystemObjectType type, long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
type
- Type, der geprüft werden solltime
- Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.final java.util.List<SystemObject> getElementsOfTypeInPeriod(DafSystemObjectType type, long startTime, long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
type
- die Id des Typs.startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.final java.util.List<SystemObject> getElementsOfTypeDuringPeriod(DafSystemObjectType type, long startTime, long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
type
- die Id des Typs.startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.private java.util.List<SystemObject> castInterfaceToClass(java.util.Collection<SystemObject> systemObjects)
Diese Methode castet eine Collection, die Objekte enthält, die ein Interface implementieren, auf die konkrete Klasse.
systemObjects
- Collection, deren Elemente gecastet werden müssenfinal java.util.List getSetElements(DafObjectSet set, long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Mengenzusammenstellung gehörenden Elemente.
set
- Menge, aus der die Objekte angefordert werden sollentime
- Zeitpunkt in Millisekunden seit 1970final java.util.List<SystemObject> getSetElementsInPeriod(DafObjectSet set, long startTime, long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.
set
- Menge, aus der die Objekte angefordert werden sollenstartTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.final java.util.List<SystemObject> getSetElementsDuringPeriod(DafObjectSet set, long startTime, long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Mengenzusammenstellung gehört haben.
set
- Menge, aus der die Objekte angefordert werden sollenstartTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.final java.util.List<SystemObject> getSetElementsInNextVersion(DafObjectSet set)
Bestimmt die nach Aktivierung der nächsten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.
set
- Menge, aus der die Objekte angefordert werden sollenfinal java.util.List<SystemObject> getSetElementsInVersion(DafObjectSet set, short version)
Bestimmt die in einer bestimmten Konfigurationsversion zur Mengenzusammenstellung gehörenden Elemente.
set
- Menge, in der die Objekte betrachtet werden sollenversion
- Version der Konfigurationfinal java.util.List<SystemObject> getSetElementsInAllVersions(DafObjectSet set, short fromVersion, short toVersion)
Bestimmt die Elemente, die in allen Konfigurationsversionen eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.
set
- Menge, die die Elemente enthält, die betrachtet werden sollen.fromVersion
- Erste Version des Bereichs von KonfigurationversionentoVersion
- Letzte Version des Bereichs von Konfigurationversionenfinal java.util.List<SystemObject> getSetElementsInAnyVersions(DafObjectSet set, short fromVersion, short toVersion)
Bestimmt die Elemente, die in mindestens einer Konfigurationsversion eines vorgegebenen Versionsbereichs zur Mengenzusammenstellung gehört haben.
set
- Menge, aus der die Objekte angefordert werden sollenfromVersion
- Erste Version des Bereichs von KonfigurationversionentoVersion
- Letzte Version des Bereichs von Konfigurationversionenvoid setConfigurationData(SystemObject systemObject, AttributeGroupUsage atgUsage, Data data) throws ConfigurationChangeException
Ändert einen konfigurierenden Datensatz eines Objekts.
systemObject
- Systemobjekt an dem der Datensatz geändert werden soll.atgUsage
- Attributgruppenverwendung des zu ändernden Datensatzesdata
- Der neue Datensatz. Wird null
angegeben, wird der Datensatz am Objekt gelöscht.ConfigurationChangeException
- Wenn der Datensatz nicht geändert werden konnte.public AttributeGroupUsage getAttributeGroupUsage(long usageIdentification)
DataModel
Bestimmt die Attributgruppenverwendung mit der angegebenen Datenverteiler-Identifizierung.
getAttributeGroupUsage
in interface DataModel
usageIdentification
- Identifizierung dieser Attributgruppenverwendung bei der Kommunikation über den Datenverteiler.null
, wenn es keine Attributgruppenverwendung mit der angegebenen Identifizierung gibt.