public class RemoteRequesterV0
extends java.lang.Object
Implementierung von Version 1 des Protokolls zur Kommunikation mit dem Datenverteiler. Die aktuelle Implementierugn befindet sich in RemoteRequester
Modifier and Type | Field and Description |
---|---|
protected ClientDavInterface |
_connection
Verbidung zum Datenverteiler.
|
protected DataModel |
_localConfiguration |
Constructor and Description |
---|
RemoteRequesterV0(ClientDavInterface connection,
DafDataModel localConfiguration,
ConfigurationAuthority configurationAuthority) |
Modifier and Type | Method and Description |
---|---|
ConsistencyCheckResultInterface |
activateConfigurationAreas(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche zu aktivieren (siehe TPuK1-142).
|
BackupResult |
backupConfigurationFiles(java.lang.String targetDirectory,
ConfigurationAuthority configurationAuthority,
BackupProgressCallback callback)
Veranlasst die Konfiguration, die Konfigurationsdateien zu sichern.
|
void |
changeElements(ObjectSet set,
SystemObject[] addElements,
SystemObject[] removeElements)
Mittels dieser Methode lassen sich Mengen verändern.
|
void |
changeUserPassword(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String user,
java.lang.String newPassword)
Beauftragt die Konfiguration das Passwort eines Benutzers zu ändern.
|
void |
changeUserRights(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String user,
boolean adminRights)
Beauftragt die Konfiguration die Rechte eines Benutzers zu ändern.
|
ConsistencyCheckResultInterface |
checkConsistency(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen (siehe TPuK1-138).
|
void |
clearSingleServingPasswords(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String username)
Löscht alle Einmalpasswörter für einen angegebenen Benutzer.
|
void |
close()
Teilt einem Request mit, dass er sich beenden soll
|
ConfigurationArea |
createConfigurationArea(java.lang.String name,
java.lang.String pid,
java.lang.String authorityPid)
Die Implementierung dieser Methode legt einen neuen Konfigurationsbereich in der lokalen Konfiguration an.
|
ConfigurationObject |
createConfigurationObject(ConfigurationArea configurationArea,
ConfigurationObjectType type,
java.lang.String pid,
java.lang.String name,
java.util.Collection<? extends ObjectSet> sets)
Verschickt an eine entfernte Konfiguration einen Auftrag ein Konfigurationsobjekt anzulegen.
|
ConfigurationObject |
createConfigurationObject(ConfigurationObjectType type,
java.lang.String pid,
java.lang.String name,
java.util.Collection<? extends ObjectSet> sets)
Verschickt an eine entfernte Konfiguration einen Auftrag ein Konfigurationsobjekt anzulegen.
|
DynamicObject |
createDynamicObject(ConfigurationArea configurationArea,
DynamicObjectType type,
java.lang.String pid,
java.lang.String name)
Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen.
|
DynamicObject |
createDynamicObject(ConfigurationArea configurationArea,
DynamicObjectType type,
java.lang.String pid,
java.lang.String name,
java.util.List<DataAndATGUsageInformation> data)
Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen.
|
DynamicObject |
createDynamicObject(DynamicObjectType type,
java.lang.String pid,
java.lang.String name)
Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen.
|
void |
createNewUser(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String newUsername,
java.lang.String newUserPid,
java.lang.String newPassword,
boolean adminRights,
java.lang.String pidConfigurationArea)
Beauftragt die Konfiguration ein neues Benutzerkonto anzulegen.
|
void |
createNewUser(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String newUsername,
java.lang.String newUserPid,
java.lang.String newPassword,
boolean adminRights,
java.lang.String pidConfigurationArea,
java.util.Collection<DataAndATGUsageInformation> data)
Beauftragt die Konfiguration ein neues Benutzerkonto anzulegen.
|
void |
createSingleServingPassword(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String username,
java.lang.String singleServingPassword)
Beauftragt die Konfiguration ein Einmal-Passwort zu erzeugen.
|
void |
deleteUser(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String userToDelete)
Beauftragt die Konfiguration ein Benutzerkonto zu löschen.
|
SystemObject |
duplicate(SystemObject systemObject,
java.util.Map<java.lang.String,java.lang.String> substitutePids)
Verschickt an eine entfernte Konfiguration einen Auftrag die Kopie eines Objekts zu erstellen.
|
void |
editConfigurationSet(ConfigurationObject configurationObject,
ObjectSet set,
boolean addSet) |
void |
exportConfigurationAreas(java.io.File exportPath,
java.util.Collection<java.lang.String> configurationAreaPids)
Die Implementierung dieser Methode exportiert aus der bestehenden Konfiguration die Versorgungsdateien zu den angegebenen Pids in das angegebene Verzeichnis.
|
short |
getActiveVersion(ConfigurationArea configurationArea)
Fordert für den angegebenen Bereich die Version an, in der der Bereich aktiv ist.
|
java.util.Map<java.lang.String,ConfigurationArea> |
getAllConfigurationAreas()
Alle Konfigurationsbereichseinträge in der Verwaltungsdatei werden zurückgegeben.
|
byte[][] |
getConfigurationData(SystemObject[] systemObject,
AttributeGroupUsage attributeGroupUsage)
Liefert für die angegebenen Systemobjekte jeweils einen konfigurierenden Datensatz der angegebenen Attributgruppenverwendung zurück.
|
java.util.Collection<SystemObject> |
getDirectObjects(ConfigurationArea area,
java.util.Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification timeSpecification)
Stellt eine Anfrage an eine entferne Konfiguration und fordert die Objekte an, die direkt von den übergebenen Typen abstammen.
|
SystemObject[] |
getElements(MutableSet set,
long startTime,
long endTime,
boolean validDuringEntirePeriod)
Liefert alle Elemente einer Dynamischen Menge.
|
short |
getModifiableVersion(ConfigurationArea configurationArea)
Neue Version eines Bereichs, die weder zur Übernahme freigegeben noch lokal aktiviert ist.
|
java.util.List<SystemObject> |
getNewObjects(ConfigurationArea configurationArea)
Beauftragt die Konfiguration alle neuen Objekte eine Konfigurationsbereichs zurückzugeben.
|
java.util.Collection<SystemObject> |
getObjects(java.util.Collection<ConfigurationArea> configurationAreas,
java.util.Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification objectTimeSpecification)
Stellt eine Anfrage an eine entfernte Konfiguration und 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)
Lädt ein Systemobjekt durch entsprechende Konfigurationsanfragen aus der Konfiguration.
|
java.util.List<SystemObject> |
getObjects(java.lang.String... pids)
Liefert die System-Objekte mit den angegebenen PIDs zurück.
|
java.util.Collection<SystemObject> |
getObjects(java.lang.String pid,
long startTime,
long endTime)
Verschickt an eine entfernte Konfiguration einen Anfrage, in der alle Objekte, die zu einer Pid gehören, zurückgegeben werden, die im angegebenen Zeitbereich gültig waren.
|
java.util.List<SystemObject> |
getObjectsOfType(SystemObjectType type)
Liefert eine Liste mit allen Systemobjekten eines Typs zurück.
|
protected java.util.List<SystemObject> |
getReplyObjects(Data reply) |
java.util.Collection<SystemObject> |
getSetElements(ObjectSet set,
ObjectTimeSpecification objectTimeSpecification)
Verschickt eine Anfrage an die Konfigration alle Elemente einer Menge zurückzugeben, die zu einem Zeitpunkt/Zeitbereich aktiv waren.
|
java.util.Collection<SystemObject> |
getSetElementsInAllVersions(ObjectSet set,
short fromVersion,
short toVersion)
Verschickt einen Auftrag an die Konfiguration alle Elemente einer Menge zurückzugeben, die im angegebenen Versionsbereich durchgängig gültig gewesen sind.
|
java.util.Collection<SystemObject> |
getSetElementsInAnyVersions(ObjectSet set,
short fromVersion,
short toVersion)
Verschickt einen Auftrag an die Konfiguration alle Elemente einer Menge zurückzugeben, die im angegebnen Versionsbereich gültig waren.
|
java.util.Collection<SystemObject> |
getSetElementsInNextVersion(ObjectSet set)
Verschickt einen Auftrag an die Konfiguration alle Elemente zurückzugeben, die in der nächsten Version gültig werden.
|
java.util.Collection<SystemObject> |
getSetElementsInVersion(ObjectSet set,
short version)
Verschickt einen Auftrag an die Konfiguration alle Elemente einer Menge, die in der angegebenen Version gültig gewesen sind, zurückzugeben.
|
int |
getSingleServingPasswordCount(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String username)
Ermittelt die Anzahl der noch vorhandenen, gültigen Einmal-Passwörter.
|
int |
getSystemModelVersion() |
UserAdministration |
getUserAdministration() |
void |
importConfigurationAreas(java.io.File importPath,
java.util.Collection<java.lang.String> configurationAreaPids)
Die Implementierung dieser Methode importiert die Versorgungsdateien der angegebenen Pids vom angegebenen Verzeichnis in die bestehende Konfiguration.
|
void |
init(long localApplicationId)
Initialisiert den Requester
|
void |
invalidate(SystemObject object)
Löscht das Objekt, indem es ungültig gemacht wird.
|
boolean |
isUserAdmin(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String username)
Prüft, ob ein angegebener Benutzer Admin-Rechte besitzt.
|
boolean |
isUserValid(java.lang.String orderer,
java.lang.String ordererPassword,
java.lang.String username)
Prüft, ob ein angegebener Benutzername gültig ist, d.h. ob er ein zugeordnetes Systemobjekt und einen Eintrag in der benutzerverwaltung.xml hat.
|
void |
releaseConfigurationAreasForActivation(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angegebenen Konfigurationsbereiche in den Status “Freigabe zur Aktivierung” zu überführen.
|
ConsistencyCheckResultInterface |
releaseConfigurationAreasForActivationWithoutCAActivation(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
Beauftragt die Konfiguration die angegebenen Bereiche in den vorgegebenen Version für andere Konfiguraiton zur Aktivierung freizugeben obwohl die Bereiche durch den Konfigurationsverantwortlichen der Bereiche noch nicht lokal aktiviert wurden.
|
ConsistencyCheckResultInterface |
releaseConfigurationAreasForTransfer(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche in den Status “Freigabe zur Übernahme” zu überführen (siehe TPuK1-143).
|
void |
revalidate(SystemObject object)
Macht ein bereits als ungültig markiertes Objekt wieder gültig.
|
void |
sendDummyQuery() |
void |
setConfigurationData(AttributeGroupUsage attributeGroupUsage,
SystemObject systemObject,
byte[] data)
Legt an einem Objekt einen konfigurierenden Datensatz fest.
|
void |
setMutableCollectionChangeListener(MutableCollectionChangeListener notifyingMutableCollectionChangeListener)
Setzt den Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten bzgl.
|
void |
setName(SystemObject object,
java.lang.String name)
Setzt den Namen eines Systemobjekts.
|
void |
subscribe(MutableSet set,
long time)
Meldet die Dynamische Menge bei der Konfiguration an, um sie immer auf dem neuesten Stand zu halten.
|
int |
subscribeConfigurationCommunicationChanges(SystemObject object) |
java.util.Collection<SystemObject> |
subscribeMutableCollectionChanges(MutableCollection mutableCollection,
short simVariant)
Sendet ein Anmeldungstelgramm für Aktualisierungsnachrichten bzgl.
|
java.util.List<SystemObject> |
subscribeUserChangeListener(MutableCollectionChangeListener listener)
Erstellt einen Listener der Änderungen an den Benutzern überwacht und eine aktuelle Liste aller Benutzer zurückgibt
|
void |
unsubscribe(MutableSet set)
Meldet die Dynamische Menge bei der Konfiguration auf Änderungen wieder ab.
|
void |
unsubscribeConfigurationCommunicationChanges(SystemObject object) |
void |
unsubscribeMutableCollectionChanges(MutableCollection mutableCollection,
short simVariant)
Sendet ein Abmeldungstelgramm zu einer vorher getätigten Anmeldung für Aktualisierungsnachrichten bzgl.
|
void |
unsubscribeUserChangeListener(MutableCollectionChangeListener listener)
Entfernt den mit subscribeUserChangeListener erstellten Listener
|
protected final DataModel _localConfiguration
protected final ClientDavInterface _connection
public RemoteRequesterV0(ClientDavInterface connection, DafDataModel localConfiguration, ConfigurationAuthority configurationAuthority)
public void close()
public java.util.List<SystemObject> getObjects(long... ids)
Lädt ein Systemobjekt durch entsprechende Konfigurationsanfragen aus der Konfiguration.
getObjects
in interface ConfigurationRequester
id
- ID des gewünschen Objekts.public java.util.List<SystemObject> getObjects(java.lang.String... pids)
ConfigurationRequester
Liefert die System-Objekte mit den angegebenen PIDs zurück.
getObjects
in interface ConfigurationRequester
pids
- Die permanente ID des System-Objekts (oder mehrere Pids)public final java.util.List<SystemObject> getObjectsOfType(SystemObjectType type)
Liefert eine Liste mit allen Systemobjekten eines Typs zurück. Zu beachten ist, das auch Objekte eines Typs, der diesen Typ erweitert, zurückgegeben werden.
getObjectsOfType
in interface ConfigurationRequester
type
- Typ der gewünschten SystemobjekteSystem-Objekten
public final ConfigurationObject createConfigurationObject(ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.Collection<? extends ObjectSet> sets) throws ConfigurationChangeException
ConfigurationRequester
Verschickt an eine entfernte Konfiguration einen Auftrag ein Konfigurationsobjekt anzulegen. Die Parameter sind unter ConfigurationArea.createConfigurationObject(de.bsvrz.dav.daf.main.config.ConfigurationObjectType, java.lang.String, java.lang.String, java.util.Collection<? extends de.bsvrz.dav.daf.main.config.ObjectSet>)
beschrieben. Das Objekt wird im Default-Bereich angelegt.
createConfigurationObject
in interface ConfigurationRequester
type
- Typ des neuen Objekts.pid
- Pid des neuen Objekts.name
- Name des neuen Objekts.sets
- Mengen des neuen Objekts.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht anlegenpublic final DynamicObject createDynamicObject(DynamicObjectType type, java.lang.String pid, java.lang.String name) throws ConfigurationChangeException
ConfigurationRequester
Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen. Die Parameter sind unter ConfigurationArea.createDynamicObject(de.bsvrz.dav.daf.main.config.DynamicObjectType,String,String,java.util.Collection)
beschrieben. Das Objekt wird im Default-Bereich angelegt.
createDynamicObject
in interface ConfigurationRequester
type
- Typ des neuen Objekts.pid
- Pid des neuen Objekts.name
- Name des neuen Objekts.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht anlegenpublic final void invalidate(SystemObject object) throws ConfigurationChangeException
Löscht das Objekt, indem es ungültig gemacht wird. Dynamische System-Objekte werden sofort ungültig. Bereits gültige konfigurierende System-Objekte werden mit Aktivierung der nächsten Konfigurationsversion ungültig. Für historische Anfragen bleiben ungültige Objekte nach wie vor existent. Konfigurierende System-Objekte, die noch nie gültig waren werden durch diese Methode gelöscht und sind nicht mehr zugreifbar.
invalidate
in interface ConfigurationRequester
object
- Objekt, dass gelöscht bzw. ungültig gesetzt werden soll.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht löschenpublic final void revalidate(SystemObject object) throws ConfigurationChangeException
Macht ein bereits als ungültig markiertes Objekt wieder gültig. Wenn ein Konfigurationsobjekt mit der Methode DafSystemObject.invalidate()
für eine zukünftige Konfigurationsversion als ungültig markiert wurde und diese Konfigurationsversion noch nicht aktiviert wurde, dann kann das Objekt durch Aufruf dieser Methode wieder gültig gemacht werden.
revalidate
in interface ConfigurationRequester
object
- Objekt, dass wieder gültig gemacht werden soll.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht wiederherstellenpublic final void setName(SystemObject object, java.lang.String name) throws ConfigurationChangeException
Setzt den Namen eines Systemobjekts.
setName
in interface ConfigurationRequester
object
- Systemobjekt, das umbenannt werden soll.name
- Neuer Name des Objekts. Der leere String ("“) wird als ”kein Name" interpretiert.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht umbenennenDafSystemObjectType.isNameOfObjectsPermanent()
public void init(long localApplicationId) throws CommunicationError
ConfigurationRequester
Initialisiert den Requester
init
in interface ConfigurationRequester
localApplicationId
- Eigene Applikations-IDCommunicationError
public void sendDummyQuery() throws RequestException
RequestException
public void createSingleServingPassword(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String username, java.lang.String singleServingPassword) throws ConfigurationTaskException
ConfigurationRequester
Beauftragt die Konfiguration ein Einmal-Passwort zu erzeugen. Der Auftrag muss verschlüsselt übertragen werden, das Passwort des Auftraggebers ordererPassword
wird zum verschlüsseln der Nachricht benutzt und darf nicht übertragen werden. In der verschlüsselten Nachricht ist ausserdem ein Zufallstext enthalten, der von der Konfiguration angefordert werden muss.
Damit dieser Auftrag ausgeführt werden kann, muss der Auftraggeber orderer
besondere Rechte besitzen. Besitzt der Auftraggeber diese Rechte nicht, wird der Auftrag zwar zur Konfiguration übertragen, dort aber nicht ausgeführt.
createSingleServingPassword
in interface ConfigurationRequester
orderer
- Benutzername des AuftraggebersordererPassword
- Passwort des Auftraggebers, dies wird zum verschlüsseln benutzt und darf nicht mit übertragen werdenusername
- Benutzername, dem ein Einmal-Passwort hinzugefügt werden soll. Der Name ist zu verschlüsseln.singleServingPassword
- Einmal-Passwort das dem Benutzer, der mit username
identifiziert wird, hinzugefügt wird. Das Einmal-Passwort darf nur verschlüsselt übertragen werdenConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen, weil die übergebenen Parameter falsch sind. So kann der Auftraggeber zum Beispiel nicht die nötigen Rechte besitzen ein Einmal-Passwort anzulegen oder das Passwort existiert bereits, usw.. Wird der Auftrag mit den richtigen Parametern übertragen, wird die Konfiguration ihn ausführen.public int getSingleServingPasswordCount(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String username) throws ConfigurationTaskException
ConfigurationRequester
Ermittelt die Anzahl der noch vorhandenen, gültigen Einmal-Passwörter. Jeder Benutzer kann diese Anzahl für seinen eigenen Account ermitteln, ansonsten sind Admin-Rechte notwendig.
getSingleServingPasswordCount
in interface ConfigurationRequester
orderer
- Benutzername des AuftraggebersordererPassword
- Passwort des Auftraggebers, dies wird zum verschlüsseln benutzt und darf nicht mit übertragen werdenusername
- Benutzername, dessen Einmalpasswörter geprüft werden sollen.ConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen.public void clearSingleServingPasswords(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String username) throws ConfigurationTaskException
ConfigurationRequester
Löscht alle Einmalpasswörter für einen angegebenen Benutzer. Es ist jedem Benutzer gestattet die Passwörter seines eigenen Accounts zu löschen. Soll ein fremdes Benutzerkonto geändert werden, sind Admin-Rechte nötig.
clearSingleServingPasswords
in interface ConfigurationRequester
orderer
- Benutzername des AuftraggebersordererPassword
- Passwort des Auftraggebers, dies wird zum verschlüsseln benutzt und darf nicht mit übertragen werdenusername
- Benutzername, dessen Einmalpasswörter gelöscht werden sollen.ConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen.public void createNewUser(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String newUsername, java.lang.String newUserPid, java.lang.String newPassword, boolean adminRights, java.lang.String pidConfigurationArea) throws ConfigurationTaskException
ConfigurationRequester
Beauftragt die Konfiguration ein neues Benutzerkonto anzulegen. Zu einem Benutzerkonto gehören ein Benutzername, ein Passwort und die Rechte des Benutzers. Alle Informationen, die zu einem Benutzerkonto gehören, sind mit dem Passwort des Auftraggebers zu verschlüsseln und verschlüsselt zu übertragen. Das Passwort des Auftraggebers wird nicht übertragen.
Ein neuer Benutzer kann nur durch einen Benutzer angelegt werden, der bestimmte Rechte besitzt. Besitzt der Benutzer diese Rechte nicht, wird der Auftrag zur Konfiguration übertragen und dort abgelehnt.
createNewUser
in interface ConfigurationRequester
orderer
- Benutzername des AuftraggebersordererPassword
- Passwort des Auftraggebers. Das Passwort wird nicht übertragen.newUsername
- Benutzername des neuen BenutzersnewUserPid
- Pid des neuen Benutzers. Wird der Leerstring ("") übergeben, wird dem Benutzer keine explizite Pid zugewiesennewPassword
- Passwort des neuen BenutzersadminRights
- true = Der Benutzer besitzt spezielle Rechte; false = Der Benutzer besitzt keine speziellen RechtepidConfigurationArea
- Pid des Konfigurationsbereichs, in dem der neue Benutzer angelegt werden sollConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen, weil die übergebenen Parameter falsch sind. So kann der Auftraggeber zum Beispiel nicht die nötigen Rechte besitzen einen neuen Benutzer anzulegen. Wird der Auftrag mit den richtigen Parametern übertragen, wird die Konfiguration ihn ausführen.public void deleteUser(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String userToDelete) throws ConfigurationTaskException
ConfigurationRequester
Beauftragt die Konfiguration ein Benutzerkonto zu löschen. Alle Informationen, die zu einem Benutzerkonto gehören, sind mit dem Passwort des Auftraggebers zu verschlüsseln und verschlüsselt zu übertragen.
Ein Benutzerkonto kann nur durch einen Benutzer gelöscht werden, der die Rechte eines Administrators besitzt.
deleteUser
in interface ConfigurationRequester
orderer
- Benutzername des Auftraggebers.ordererPassword
- Passwort des Auftraggebers.userToDelete
- Benutzername des zu löschenden Benutzers.ConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen.public boolean isUserAdmin(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String username) throws ConfigurationTaskException
ConfigurationRequester
Prüft, ob ein angegebener Benutzer Admin-Rechte besitzt. Jeder Benutzer kann diese Aktion ausführen. Zur verschlüsselten Übertragung des Vorgangs ist dennoch die Angabe eines gültigen Benutzernamens und Passworts notwendig.
isUserAdmin
in interface ConfigurationRequester
orderer
- Benutzername des Auftraggebers.ordererPassword
- Passwort des Auftraggebers.username
- Name des zu prüfenden BenutzersConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen.public boolean isUserValid(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String username) throws ConfigurationTaskException
ConfigurationRequester
Prüft, ob ein angegebener Benutzername gültig ist, d.h. ob er ein zugeordnetes Systemobjekt und einen Eintrag in der benutzerverwaltung.xml hat. Jeder Benutzer kann diese Aktion ausführen. Zur (verschlüsselten) Übertragung des Vorgangs ist dennoch die Angabe eines gültigen Benutzernamens und Passworts notwendig. Mit dieser Funktion kann geprüft werden, ob die Benutzernamen, die ConfigurationRequester.subscribeUserChangeListener(de.bsvrz.dav.daf.main.config.MutableCollectionChangeListener)
liefert, tatsächlichen zu einem gültigen Benutzer gehören, da subscribeUserChangeListener nur die Systemobjekte berücksichtigt.
isUserValid
in interface ConfigurationRequester
orderer
- Benutzername des Auftraggebers.ordererPassword
- Passwort des Auftraggebers.username
- Name des zu prüfenden BenutzersConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen.public void createNewUser(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String newUsername, java.lang.String newUserPid, java.lang.String newPassword, boolean adminRights, java.lang.String pidConfigurationArea, java.util.Collection<DataAndATGUsageInformation> data) throws ConfigurationTaskException
ConfigurationRequester
Beauftragt die Konfiguration ein neues Benutzerkonto anzulegen. Zu einem Benutzerkonto gehören ein Benutzername, ein Passwort und die Rechte des Benutzers.
Ein neuer Benutzer kann nur durch einen Benutzer angelegt werden, der die Rechte eines Administrators besitzt. Besitzt der Benutzer diese Rechte nicht, wird der Auftrag zur Konfiguration übertragen und dort abgelehnt.
createNewUser
in interface ConfigurationRequester
orderer
- Benutzername des Auftraggebers.ordererPassword
- Passwort des Auftraggebers.newUsername
- Benutzername des neuen Benutzers.newUserPid
- Pid des neuen Benutzers. Wird der Leerstring ("") übergeben, wird dem Benutzer keine explizite Pid zugewiesen.newPassword
- Passwort des neuen Benutzers.adminRights
- true
, wenn der neue Benutzer die Rechte eines Administrators besitzen soll; false
, wenn der Benutzer keine speziellen Rechte besitzen soll.pidConfigurationArea
- Pid des Konfigurationsbereichs, in dem der neue Benutzer angelegt werden soll.data
- Konfigurierende Datensätze mit den dazugehörigen Attributgruppenverwendungen, die für das neue Benutzer-Objekt gespeichert werden sollen. Wird null übergeben, werden keine Konfigurationsdaten angelegt.ConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen, weil die übergebenen Parameter falsch sind. So kann der Auftraggeber zum Beispiel nicht die nötigen Rechte besitzen einen neuen Benutzer anzulegen.ConfigurationArea.createDynamicObject(de.bsvrz.dav.daf.main.config.DynamicObjectType, String, String, java.util.Collection)
public java.util.List<SystemObject> subscribeUserChangeListener(MutableCollectionChangeListener listener)
ConfigurationRequester
Erstellt einen Listener der Änderungen an den Benutzern überwacht und eine aktuelle Liste aller Benutzer zurückgibt
subscribeUserChangeListener
in interface ConfigurationRequester
listener
- Objekt, an das Rückmeldungen gesendet werden sollen. null
, wenn nur die Liste der aktuellen Benutzer geholt werden soll.public void unsubscribeUserChangeListener(MutableCollectionChangeListener listener)
ConfigurationRequester
Entfernt den mit subscribeUserChangeListener erstellten Listener
unsubscribeUserChangeListener
in interface ConfigurationRequester
listener
- Objekt, and das keien Rückmeldungen mehr gesendet werden sollen.public void changeUserRights(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String user, boolean adminRights) throws ConfigurationTaskException
ConfigurationRequester
Beauftragt die Konfiguration die Rechte eines Benutzers zu ändern. Es wird mit dem Passwort des Benutzers, der den Auftrag erteilt, eine verschlüsselte Nachricht erzeugt, die den Benutzernamen des Benutzers enthält dessen Rechte geändert werden sollen und die neuen Rechte des Benutzers. Das Passwort des Auftraggebers wird nicht übertragen.
Nur ein Benutzer mit speziellen Rechten darf die Rechte anderer Benutzer ändern. Besitzt ein Benutzer diese Rechte nicht wird der Auftrag an die Konfiguration verschickt und dort von der Konfiguration abgelehnt.
changeUserRights
in interface ConfigurationRequester
orderer
- Auftraggeber, der die Rechte eines Benuters ändern möchteordererPassword
- Passwort des Auftraggebers. Das Passwort wird nicht übertragenuser
- Benutzer, dessen Rechte geändert werden sollenadminRights
- true = Der Benutzer, der mit user
identifiziert wird, erhält spezielle Rechte; false = Der Benutzer der mit user
identifiziert wird, erhält normale RechteConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen, weil die übergebenen Parameter falsch sind. So kann der Auftraggeber zum Beispiel nicht die nötigen Rechte besitzen die Rechte eines anderen Benutzers zu ändern. Wird der Auftrag mit den richtigen Parametern übertragen, wird die Konfiguration ihn ausführen.public void changeUserPassword(java.lang.String orderer, java.lang.String ordererPassword, java.lang.String user, java.lang.String newPassword) throws ConfigurationTaskException
ConfigurationRequester
Beauftragt die Konfiguration das Passwort eines Benutzers zu ändern. Diese Methode kann von jedem Benutzer aufgerufen werden. Es ist jedem Benutzer gestattet das Passwort seines Benutzerkontos zu ändern. Soll das Passwort eines fremden Benutzerkontos geändert werden, sind spezielle Rechte nötig.
Der Benutzername des Benutzerkontos, das geändert werden soll, und das neue Passwort sind verschlüsselt zu übertragen. Als Schlüssel wird das Benutzerpasswort ordererPassword
des Auftraggebers orderer
benutzt. Das Passwort ordererPassword
darf nicht übertragen werden.
changeUserPassword
in interface ConfigurationRequester
orderer
- Benutzername des AuftraggebersordererPassword
- derzeit gültiges Passwort, falls der Benutzername orderer
und user
identisch sind. Sind die Parameter nicht identisch, muss der Benutzer, der mit orderer
identifiziert wird, spezielle Rechte besitzen und sein Passwort übergebenuser
- Benutzername des Benutzerkontos, dessen Passwort geändert werden sollnewPassword
- Neues Passwort des Benutzers, der mit user
identifiziert wurdeConfigurationTaskException
- Die Konfiguration kann den Auftrag nicht ausführen, weil die übergebenen Parameter falsch sind. So kann der Auftraggeber zum Beispiel nicht die nötigen Rechte besitzen das Passwort eines anderen Benutzers zu ändern oder das Passwort zum ändern ist falsch. Wird der Auftrag mit den richtigen Parametern übertragen, wird die Konfiguration ihn ausführen.public SystemObject[] getElements(MutableSet set, long startTime, long endTime, boolean validDuringEntirePeriod) throws RequestException
ConfigurationRequester
Liefert alle Elemente einer Dynamischen Menge. Durch Angabe der Start- und Endzeitpunkte kann eine Periode angegeben werden, in der die Elemente gültig gewesen sein müssen. Sind die beiden Zeitpunkte identisch, dann werden die Elemente zurückgegeben, die zum angegebenen Zeitpunkt gültig waren bzw. sind. Mit dem letzten Parameter kann angegeben werden, ob die Elemente während des gesamten Zeitraumes gültig gewesen sein müssen oder ob sie innerhalb des Zeitraumes wenigstens einmal gültig gewesen sein mussten.
getElements
in interface ConfigurationRequester
set
- die Dynamische MengestartTime
- Startzeitpunkt des zu betrachtenden ZeitraumesendTime
- Endzeitpunkt des zu betrachtenden ZeitraumesvalidDuringEntirePeriod
- ob die Elemente während des gesamten Zeitraumes gültig gewesen sein müssenRequestException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.public void changeElements(ObjectSet set, SystemObject[] addElements, SystemObject[] removeElements) throws RequestException, ConfigurationException, ConfigurationChangeException
ConfigurationRequester
Mittels dieser Methode lassen sich Mengen verändern. Es können Elemente hinzugefügt und/oder entfernt werden.
changeElements
in interface ConfigurationRequester
set
- Menge, in der Elemente hinzugefügt und/oder gelöscht werden könnenaddElements
- Elemente, die der Menge hinzugefügt werden sollen. Sollen keine Elemente hinzugefügt werden, muss null
übergeben werden.removeElements
- Elemente, die aus der Menge entfernt werden sollen. Sollen keine Elemente entfernt werden, muss null
übergeben werden.RequestException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.ConfigurationChangeException
- Wenn eines der übergebenen Objekte nicht in die Menge aufgenommen werden konnte und noch nicht in der Menge enthalten war.ConfigurationException
public void subscribe(MutableSet set, long time) throws RequestException
ConfigurationRequester
Meldet die Dynamische Menge bei der Konfiguration an, um sie immer auf dem neuesten Stand zu halten.
subscribe
in interface ConfigurationRequester
set
- die Dynamische Mengetime
- Zeitpunkt, ab wann die Dynamische Menge auf Änderungen angemeldet werden soll.RequestException
- Wenn Fehler beim Versand des Telegramms oder bei der Verarbeitung der entsprechenden Antwort aufgetreten sind.public void unsubscribe(MutableSet set) throws RequestException
ConfigurationRequester
Meldet die Dynamische Menge bei der Konfiguration auf Änderungen wieder ab.
unsubscribe
in interface ConfigurationRequester
set
- die Dynamische MengeRequestException
- Wenn Fehler beim Versand des Telegramms oder bei der Verarbeitung der entsprechenden Antwort aufgetreten sind.public java.util.Collection<SystemObject> subscribeMutableCollectionChanges(MutableCollection mutableCollection, short simVariant) throws RequestException
ConfigurationRequester
Sendet ein Anmeldungstelgramm für Aktualisierungsnachrichten bzgl. Änderungen der Elemente von dynamischen Mengen bzw. dynamischen Typen und nimmt ein Anworttelegramm mit dem aktuellen Stand der dynamischen Zusammenstellung entgegen.
subscribeMutableCollectionChanges
in interface ConfigurationRequester
mutableCollection
- dynamische Menge oder dynamischer Typ, dessen Änderungen von Interesse sind.simVariant
- Simulationsvariante unter der die dynamische Menge oder der dynamische Typ betrachtet werden soll.RequestException
- Wenn Fehler beim Versand des Telegramms oder bei der Verarbeitung der entsprechenden Antwort aufgetreten sind.public void unsubscribeMutableCollectionChanges(MutableCollection mutableCollection, short simVariant) throws RequestException
ConfigurationRequester
Sendet ein Abmeldungstelgramm zu einer vorher getätigten Anmeldung für Aktualisierungsnachrichten bzgl. Änderungen der Elemente von dynamischen Mengen bzw. dynamischen Typen.
unsubscribeMutableCollectionChanges
in interface ConfigurationRequester
mutableCollection
- dynamische Menge oder dynamischer Typ der zugehörigen Anmeldung.simVariant
- Simulationsvariante der zugehörigen Anmeldung.RequestException
- Wenn Fehler beim Versand des Telegramms oder bei der Verarbeitung der entsprechenden Antwort aufgetreten sind.public int subscribeConfigurationCommunicationChanges(SystemObject object) throws RequestException
subscribeConfigurationCommunicationChanges
in interface ConfigurationRequester
RequestException
public void unsubscribeConfigurationCommunicationChanges(SystemObject object) throws RequestException
unsubscribeConfigurationCommunicationChanges
in interface ConfigurationRequester
RequestException
public byte[][] getConfigurationData(SystemObject[] systemObject, AttributeGroupUsage attributeGroupUsage) throws RequestException
getConfigurationData
in interface ConfigurationRequester
systemObject
- Array mit Systemobjekten für die Datensätze abgefragt werden sollen.attributeGroupUsage
- Attributgruppenverwendung, die Attributgruppe und Aspekt des Datensatzes festlegt.RequestException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.SerializingFactory
public void setConfigurationData(AttributeGroupUsage attributeGroupUsage, SystemObject systemObject, byte[] data) throws ConfigurationChangeException, RequestException
ConfigurationRequester
Legt an einem Objekt einen konfigurierenden Datensatz fest.
setConfigurationData
in interface ConfigurationRequester
attributeGroupUsage
- AttributgruppenverwendungsystemObject
- Objekt, für das der konfigurierende Datensatz gedacht istdata
- Datensatz, der mit einem Serialisierer(Version2) in ein byte-Array zerlegt wurde. Soll ein Datensatz gelöscht werden, wird ein byte-Array der Größe 0 übergeben.ConfigurationChangeException
- Die Konfiguration konnte den Datensatz nicht dem übergebenen Systemobjekt hinzufügen/entfernen. Ein Grund wäre zum Beispiel, dass der Konfigurationsverantwortliche nicht die Rechte besitzt Datensätze an dem Objekt zu ändern.RequestException
- Fehler bei der Übertragung. Entweder konnte der Auftrag nicht verschickt werden oder die Antwort der Konfiguration konnte nicht entschlüsselt werden.public java.util.Map<java.lang.String,ConfigurationArea> getAllConfigurationAreas() throws RequestException
ConfigurationRequester
Alle Konfigurationsbereichseinträge in der Verwaltungsdatei werden zurückgegeben. Hierbei ist es unerheblich, ob der Bereich bereits aktiviert wurde oder noch zu aktivieren ist.
getAllConfigurationAreas
in interface ConfigurationRequester
RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.public ConfigurationArea createConfigurationArea(java.lang.String name, java.lang.String pid, java.lang.String authorityPid) throws RequestException, ConfigurationChangeException
ConfigurationRequester
Die Implementierung dieser Methode legt einen neuen Konfigurationsbereich in der lokalen Konfiguration an. Hierfür wird eine entsprechende Konfigurationsdatei angelegt, die initial das Objekt des Konfigurationsbereichs enthält.
Zusätzlich müssen die konfigurierenden Datensätze für den Konfigurationsverantwortlichen und für die Versionsnummern (aktivierbare und übernehmbare Version) angelegt werden.
Ein Eintrag in der Verwaltungsdatei wird ebenfalls eingetragen. Er enthält die Pid des Konfigurationsbereichs und die Pfadangabe, wo sich die Konfigurationsdatei nach Erstellung befindet.
createConfigurationArea
in interface ConfigurationRequester
name
- Name des neuen Konfigurationsbereichspid
- eindeutige Pid des neuen KonfigurationsbereichsauthorityPid
- die Pid des Konfigurationsverantwortlichen des neuen KonfigurationsbereichsRequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationChangeException
- Falls kein neuer Konfigurationsbereich angelegt werden konnte.public ConsistencyCheckResultInterface checkConsistency(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException
ConfigurationRequester
Die Implementierung dieser Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen (siehe TPuK1-138). Diese Methode kann unabhängig von der Aktivierung ConfigurationRequester.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
oder Freigabe ConfigurationRequester.releaseConfigurationAreasForTransfer(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
stattfinden.
checkConsistency
in interface ConfigurationRequester
configurationAreas
- Definiert alle Konfigurationsbereiche, die einer Konsistenzprüfung unterzogen werden sollen. Der Bereich wird über seine Pid identifiziert, zusätzlich wird die Version angegeben in der der Konfigurationsbereich geprüft werden soll. Alle Bereiche der Konfiguration, die nicht angegeben werden, werden in die Prüfung einbezogen und zwar mit ihrer aktuellen Version und müssen somit nicht expliziet angegeben werden.RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.public ConsistencyCheckResultInterface activateConfigurationAreas(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche zu aktivieren (siehe TPuK1-142). Vor der Aktivierung wird automatisch eine Konsistenzprüfung durchgeführt. Die Bereiche dürfen nur aktiviert werden, wenn weder lokale noch Interferenzfehler aufgetreten sind.
Verlief die Konsistenzprüfung positiv(weder lokale noch Interferenzfehler), wird beim nächsten Neustart der Konfiguration jeder angegebene Konfigurationsbereich mit der angegebenen Version gestartet.
Verlief die Konsistenzprüfung negativ, wird keiner der angegebenen Konfigurationsbereiche aktiviert.
Die Implementierung muss dabei berücksichtigen, dass nur Konfigurationsbereiche aktiviert werden dürfen, für die die Konfigurations auch verantwortlich (Konfiguration ist Konfigurationsverantwortlicher des Bereichs) ist oder aber Konfigurationsbereiche die zur Aktivierung durch andere Konfigurationsverantwortliche freigegeben sind.
Die Version, in der ein Konfigurationsbereich aktiviert werden soll, muss größer sein als die derzeit aktuelle Version in der der Konfigurationsbereich läuft.
activateConfigurationAreas
in interface ConfigurationRequester
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version aktiviert werden sollenRequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht aktiviert werden konnte. public ConsistencyCheckResultInterface releaseConfigurationAreasForTransfer(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche in den Status “Freigabe zur Übernahme” zu überführen (siehe TPuK1-143). Bevor die angegebenen Bereiche freigegeben werden, wird automatisch eine Konsistenzprüfung durchgeführt.
Verlief die Konsistenzprüfung positiv(keine lokalen Fehler), werden die angegebenen Konfigurationsbereiche mit der angegebenen Version freigegeben.
Verlief die Konsistenzprüfung negativ, wird keiner der angegebenen Konfigurationsbereiche freigegeben.
Die Implementierung muss prüfen ob die Version, in der der Bereich zur Übernahme freigegeben wird, größer als die “aktuelle” Version, die zur Übernahme freigegeben wurde, ist.
releaseConfigurationAreasForTransfer
in interface ConfigurationRequester
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version freigegeben werden sollenRequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht zur Übernahme freigegeben werden konnte. public void releaseConfigurationAreasForActivation(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
Die Implementierung dieser Methode beauftragt die Konfiguration die angegebenen Konfigurationsbereiche in den Status “Freigabe zur Aktivierung” zu überführen. Dadurch können andere Konfigurationen die Konfigurationsbereiche übernehmen und diese lokal aktivieren.
Es findet keine Konsistenzprüfung statt, da ein Konfigurationsbereich nur dann für andere zur Aktivierung freigegeben werden darf, wenn er bereits lokal aktiviert ConfigurationRequester.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
wurde.
Es werden entweder alle angegebenen Konfigurationsbereiche in der jeweils geforderten Version aktiviert oder keiner.
releaseConfigurationAreasForActivation
in interface ConfigurationRequester
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version für andere Konfigurationen freigegeben werden sollenRequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht zur Aktivierung freigegeben werden konnte. ConfigurationRequester.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>)
.public ConsistencyCheckResultInterface releaseConfigurationAreasForActivationWithoutCAActivation(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
Beauftragt die Konfiguration die angegebenen Bereiche in den vorgegebenen Version für andere Konfiguraiton zur Aktivierung freizugeben obwohl die Bereiche durch den Konfigurationsverantwortlichen der Bereiche noch nicht lokal aktiviert wurden.
Dieses vorgehen ist nur erlaubt, wenn bei der Konsistenzprüfung kein lokaler Fehler auftritt.
releaseConfigurationAreasForActivationWithoutCAActivation
in interface ConfigurationRequester
configurationAreas
- Bereiche und die jeweiligen Versionen, die für andere freigegeben werden sollen.RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationChangeException
- Die Konfiguration konnte den Auftrag nicht ausführen (mangelnde Rechte, usw.)public void importConfigurationAreas(java.io.File importPath, java.util.Collection<java.lang.String> configurationAreaPids) throws RequestException, ConfigurationChangeException
ConfigurationRequester
Die Implementierung dieser Methode importiert die Versorgungsdateien der angegebenen Pids vom angegebenen Verzeichnis in die bestehende Konfiguration. Dadurch können neue Konfigurationsbereiche angelegt oder bestehende Bereiche verändert werden.
Versorgungsdateien können auch wieder exportiert
werden.
importConfigurationAreas
in interface ConfigurationRequester
importPath
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids der zu importierenden KonfigurationsbereicheRequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationChangeException
- Falls während des Imports Fehler auftreten. Nach Korrektur des Fehlers kann der Import wiederholt werden.public void exportConfigurationAreas(java.io.File exportPath, java.util.Collection<java.lang.String> configurationAreaPids) throws RequestException, ConfigurationTaskException
ConfigurationRequester
Die Implementierung dieser Methode exportiert aus der bestehenden Konfiguration die Versorgungsdateien zu den angegebenen Pids in das angegebene Verzeichnis. Änderungen können an den Versorgungsdateien vorgenommen und diese wieder importiert
werden.
exportConfigurationAreas
in interface ConfigurationRequester
exportPath
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids der zu exportierenden KonfigurationsbereicheRequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.ConfigurationTaskException
- Die angegebenen Bereiche konnte nicht exportiert werden. Dies kann mehrere Gründe haben (zu einer Pid wurde kein Konfigurationsbereich gefunden, eine Versorgungsdatei konnte nicht geschrieben werden, usw.).public BackupResult backupConfigurationFiles(java.lang.String targetDirectory, ConfigurationAuthority configurationAuthority, BackupProgressCallback callback) throws ConfigurationTaskException, RequestException
ConfigurationRequester
Veranlasst die Konfiguration, die Konfigurationsdateien zu sichern. Diese Funktion wartet auf das Beenden des Vorgangs, erlaubt der Konfiguration aber, andere Aufgaben asynchron durchzuführen.
backupConfigurationFiles
in interface ConfigurationRequester
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.configurationAuthority
- Verantwortlicher, dessen Konfigurationsdateien gesichert werden sollencallback
- Objekt, an das Statusmeldungen gesendet werdenConfigurationTaskException
- 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 short getActiveVersion(ConfigurationArea configurationArea) throws RequestException
ConfigurationRequester
Fordert für den angegebenen Bereich die Version an, in der der Bereich aktiv ist.
getActiveVersion
in interface ConfigurationRequester
configurationArea
- Bereich, dessen aktive Version angefordert werden sollRequestException
- Fehler bei der Datenübertragungpublic short getModifiableVersion(ConfigurationArea configurationArea) throws RequestException
ConfigurationRequester
Neue Version eines Bereichs, die weder zur Übernahme freigegeben noch lokal aktiviert ist. Dies ist die in Bearbeitung befindliche Version, auf die sich versionierte Konfigurationsänderungen beziehen.
getModifiableVersion
in interface ConfigurationRequester
configurationArea
- Bereich für den die Version angefordert werden sollRequestException
- Fehler bei der Datenübertragungpublic java.util.Collection<SystemObject> getObjects(java.lang.String pid, long startTime, long endTime) throws RequestException
ConfigurationRequester
Verschickt an eine entfernte Konfiguration einen Anfrage, in der alle Objekte, die zu einer Pid gehören, zurückgegeben werden, die im angegebenen Zeitbereich gültig waren.
getObjects
in interface ConfigurationRequester
pid
- Pid der Objekte, die gültig sein sollenstartTime
- StartzeitpunktendTime
- EndzeitpunktRequestException
- Technischer Fehler bei der Übetragung der Anfragepublic java.util.Collection<SystemObject> getObjects(java.util.Collection<ConfigurationArea> configurationAreas, java.util.Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification) throws RequestException
ConfigurationRequester
Stellt eine Anfrage an eine entfernte Konfiguration und gibt die Objekte zurück, die in einem der angegebenen Konfigurationsbereiche sind und deren Objekttyp in der angegebenen Objekttyp-Menge ist.
getObjects
in interface ConfigurationRequester
configurationAreas
- Bereiche, die geprüft werden sollensystemObjectTypes
- Objekttypen, die zu berücksichtigen sindobjectTimeSpecification
- Definiert den zu betrachtenen ZeitbereichRequestException
- Technisches Problem bei der Anfragepublic java.util.Collection<SystemObject> getDirectObjects(ConfigurationArea area, java.util.Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification timeSpecification) throws RequestException
ConfigurationRequester
Stellt eine Anfrage an eine entferne Konfiguration und fordert die Objekte an, die direkt von den übergebenen Typen abstammen. Die Anfrage bezieht sich dabei nicht auf alle Bereiche, sondern nur auf einen bestimmten. Es werden auch nur die übergebenen Typen betrachtet, nicht eventuelle Supertypen, von denen die Typen abgeleitet erben.
getDirectObjects
in interface ConfigurationRequester
area
- Bereich, in dem Objekte von den übergebenen Typen gesucht werden sollensystemObjectTypes
- Typen, von dem die Objekte sein müssen, ableitungen werden nicht berücksichtigttimeSpecification
- Zeit, in der die Objekte gültig sein müssenRequestException
- Technisches Problem bei der Anfragepublic ConfigurationObject createConfigurationObject(ConfigurationArea configurationArea, ConfigurationObjectType type, java.lang.String pid, java.lang.String name, java.util.Collection<? extends ObjectSet> sets) throws ConfigurationChangeException, RequestException
ConfigurationRequester
Verschickt an eine entfernte Konfiguration einen Auftrag ein Konfigurationsobjekt anzulegen. Die Parameter sind unter ConfigurationArea.createConfigurationObject(de.bsvrz.dav.daf.main.config.ConfigurationObjectType, java.lang.String, java.lang.String, java.util.Collection<? extends de.bsvrz.dav.daf.main.config.ObjectSet>)
beschrieben.
createConfigurationObject
in interface ConfigurationRequester
configurationArea
- Bereich, in dem das Objekt angelegt werden solltype
- Typ des neuen Objekts.pid
- Pid des neuen Objekts.name
- Name des neuen Objekts.sets
- Mengen des neuen Objekts.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht anlegenRequestException
- Technisches Problem bei der Übertragung Anfragepublic DynamicObject createDynamicObject(ConfigurationArea configurationArea, DynamicObjectType type, java.lang.String pid, java.lang.String name) throws ConfigurationChangeException, RequestException
ConfigurationRequester
Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen. Die Parameter sind unter ConfigurationArea.createDynamicObject(de.bsvrz.dav.daf.main.config.DynamicObjectType, String, String)
beschrieben.
createDynamicObject
in interface ConfigurationRequester
configurationArea
- Bereich, in dem das Objekt angelegt werden solltype
- Typ des neuen Objekts.pid
- Pid des neuen Objekts.name
- Name des neuen Objekts.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht anlegenRequestException
- Technisches Problem bei der Übertragung Anfragepublic DynamicObject createDynamicObject(ConfigurationArea configurationArea, DynamicObjectType type, java.lang.String pid, java.lang.String name, java.util.List<DataAndATGUsageInformation> data) throws ConfigurationChangeException, RequestException
ConfigurationRequester
ConfigurationArea.createDynamicObject(de.bsvrz.dav.daf.main.config.DynamicObjectType,String,String,java.util.Collection)
beschrieben.createDynamicObject
in interface ConfigurationRequester
configurationArea
- Konfigurationsbereich in dem das neue Objekt erzeugt werden soll.type
- Typ des neuen Objekts.pid
- Pid des neuen Objekts.name
- Name des neuen Objekts.data
- Datensätze, die am neuen Objekt gespeichert werden sollen.ConfigurationChangeException
- Die Konfiguration kann das Objekt nicht anlegenRequestException
- Technisches Problem bei der Übertragung Anfragepublic SystemObject duplicate(SystemObject systemObject, java.util.Map<java.lang.String,java.lang.String> substitutePids) throws ConfigurationChangeException, RequestException
ConfigurationRequester
Verschickt an eine entfernte Konfiguration einen Auftrag die Kopie eines Objekts zu erstellen.
duplicate
in interface ConfigurationRequester
systemObject
- Objekt, von dem eine Kopie erstellt werden soll.substitutePids
- Enthält Pids, die durch andere Pids ersetzt werden (Key = zu ersetzende Pid; Value = Pid, die den Key ersetzt)ConfigurationChangeException
- Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden konnte.RequestException
- Technisches Problem bei der Übertragung Anfragepublic java.util.List<SystemObject> getNewObjects(ConfigurationArea configurationArea) throws RequestException
ConfigurationRequester
Beauftragt die Konfiguration alle neuen Objekte eine Konfigurationsbereichs zurückzugeben.
Ein neues Objekte ist weder ungültig noch gültig.
getNewObjects
in interface ConfigurationRequester
configurationArea
- Bereich, aus dem alle neuen Objekte angefordert werden sollenRequestException
- Technisches Problem bei der Übertragung Anfragepublic java.util.Collection<SystemObject> getSetElements(ObjectSet set, ObjectTimeSpecification objectTimeSpecification) throws RequestException
ConfigurationRequester
Verschickt eine Anfrage an die Konfigration alle Elemente einer Menge zurückzugeben, die zu einem Zeitpunkt/Zeitbereich aktiv waren.
getSetElements
in interface ConfigurationRequester
set
- Menge, dessen Elemente angefordert werden sollenobjectTimeSpecification
- Legt fest ob ein Zeitpunkt, eine Zeitdauer/Bereich angefragt werden soll.objectTimeSpecification
, gültig waren.RequestException
- Technisches Problem bei der Übertragung Anfragepublic java.util.Collection<SystemObject> getSetElementsInNextVersion(ObjectSet set) throws RequestException
ConfigurationRequester
Verschickt einen Auftrag an die Konfiguration alle Elemente zurückzugeben, die in der nächsten Version gültig werden.
getSetElementsInNextVersion
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.RequestException
- Technisches Problem bei der Übertragung Anfragepublic java.util.Collection<SystemObject> getSetElementsInVersion(ObjectSet set, short version) throws RequestException
ConfigurationRequester
Verschickt einen Auftrag an die Konfiguration alle Elemente einer Menge, die in der angegebenen Version gültig gewesen sind, zurückzugeben.
getSetElementsInVersion
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.version
- Version, in der die Elemente gültig gewesen sein müssen.RequestException
- Technisches Problem bei der Übertragung Anfragepublic java.util.Collection<SystemObject> getSetElementsInAllVersions(ObjectSet set, short fromVersion, short toVersion) throws RequestException
ConfigurationRequester
Verschickt einen Auftrag an die Konfiguration alle Elemente einer Menge zurückzugeben, die im angegebenen Versionsbereich durchgängig gültig gewesen sind.
getSetElementsInAllVersions
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.fromVersion
- ab VersiontoVersion
- bis zur VersionRequestException
- Technisches Problem bei der Übertragung Anfragepublic java.util.Collection<SystemObject> getSetElementsInAnyVersions(ObjectSet set, short fromVersion, short toVersion) throws RequestException
ConfigurationRequester
Verschickt einen Auftrag an die Konfiguration alle Elemente einer Menge zurückzugeben, die im angegebnen Versionsbereich gültig waren. Dabei können die Elemente auch im angegebnen Bereich ungültig geworden sein.
getSetElementsInAnyVersions
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.fromVersion
- ab VersiontoVersion
- bis VersionRequestException
- Technisches Problem bei der Übertragung Anfragepublic void editConfigurationSet(ConfigurationObject configurationObject, ObjectSet set, boolean addSet) throws RequestException, ConfigurationChangeException
editConfigurationSet
in interface ConfigurationRequester
configurationObject
- Konfigurationsobjekt, an dem eine Menge gelöscht oder eine neue Menge hinzugefügt werden soll.set
- Menge, die an dem Objekt gelöscht oder hinzugefügt werden soll.addSet
- true = Die übergebene Menge soll am Objekt hinzugefügt werden; false = Die übergebene Menge soll am Objekt entfernt werden.RequestException
- Technisches Problem bei der Übertragung AnfrageConfigurationChangeException
- Die Konfiguration führt den Auftrag nicht aus, weil sie zum Beispiel nicht der Konfigurationsverantwortliche für das zu ändernde Objekt ist.public void setMutableCollectionChangeListener(MutableCollectionChangeListener notifyingMutableCollectionChangeListener)
ConfigurationRequester
Setzt den Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten bzgl. Änderungen der Elemente von dynamischen Mengen bzw. dynamischen Typen.
setMutableCollectionChangeListener
in interface ConfigurationRequester
notifyingMutableCollectionChangeListener
- Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten.public int getSystemModelVersion()
protected java.util.List<SystemObject> getReplyObjects(Data reply) throws RequestException
RequestException
public UserAdministration getUserAdministration()
getUserAdministration
in interface ConfigurationRequester