|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.dav.daf.main.impl.config.request.RemoteRequestManager.RemoteRequester
private static class RemoteRequestManager.RemoteRequester
Klasse, die Anfragen an eine entfernte Konfiguration implementiert.
Field Summary | |
---|---|
private ClientDavInterface |
_connection
Verbidung zum Datenverteiler. |
private EncryptDecryptProcedure |
_encryptDecryptProcedure
|
private DataModel |
_localConfiguration
|
(package private) SenderReceiverCommunication |
_senderConfigAreaTask
Beauftragt die Konfiguration bestimmte Bereiche zu modifizieren/prüfen |
(package private) SenderReceiverCommunication |
_senderReadConfigObjects
Objekt, das Konfigurationsanfragen stellt und die Antwort der Konfigurations verarbeitet und zur Verfügung stellt. |
(package private) SenderReceiverCommunication |
_senderUserAdministration
Objekt, das es ermöglicht die Benutzer einer Konfigurations zu verwalten (Benutzer erstellen, Passwörter ändern, usw.). |
(package private) SenderReceiverCommunication |
_senderWriteConfigObjects
Objekt, das Konfigurationsanfragen erstellt und die Antwort der Konfiguration zur Verfügung stellt. |
private int |
_systemModelVersion
|
Constructor Summary | |
---|---|
RemoteRequestManager.RemoteRequester(ClientDavInterface connection,
DataModel localConfiguration,
ConfigurationAuthority configurationAuthority,
SystemObject localApplication)
|
Method Summary | |
---|---|
ConsistencyCheckResultInterface |
activateConfigurationAreas(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angebenen Konfigurationsbereiche zu aktivieren (siehe TPuK1-142). |
void |
changeElements(ObjectSet set,
SystemObject[] addElements,
SystemObject[] removeElements)
Mittels dieser Methode lassen sich Mengen verändern. |
void |
changeUserPassword(String orderer,
String ordererPassword,
String user,
String newPassword)
Beauftragt die Konfiguration das Passwort eines Benutzers zu ändern. |
void |
changeUserRights(String orderer,
String ordererPassword,
String user,
boolean adminRights)
Beauftragt die Konfiguration die Rechte eines Benutzers zu ändern. |
ConsistencyCheckResultInterface |
checkConsistency(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen (siehe TPuK1-138). |
private boolean |
checkSystemModellVersion(int requiredVersion,
String errorMessage)
|
void |
close()
Teilt einem Request mit, dass er sich beenden soll |
private void |
closeConnectionAndThrowException(Exception e)
Nimmt eine beliebige Exception entgegen und meldet dann die Verbindung zum Datenverteiler ab. |
ConfigurationArea |
createConfigurationArea(String name,
String pid,
String authorityPid)
Die Implementierung dieser Methode legt einen neuen Konfigurationsbereich in der lokalen Konfiguration an. |
ConfigurationObject |
createConfigurationObject(ConfigurationArea configurationArea,
ConfigurationObjectType type,
String pid,
String name,
List<ObjectSet> sets)
Verschickt an eine entfernte Konfiguration einen Auftrag ein Konfigurationsobjekt anzulegen. |
DynamicObject |
createDynamicObject(ConfigurationArea configurationArea,
DynamicObjectType type,
String pid,
String name)
Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen. |
DynamicObject |
createDynamicObject(ConfigurationArea configurationArea,
DynamicObjectType type,
String pid,
String name,
List<DataAndATGUsageInformation> data)
* Verschickt an eine entfernte Konfiguration einen Auftrag ein dynamisches Objekt anzulegen. |
void |
createNewUser(String orderer,
String ordererPassword,
String newUsername,
String newUserPid,
String newPassword,
boolean adminRights,
String pidConfigurationArea)
Beauftragt die Konfiguration ein neues Benutzerkonto anzulegen. |
void |
createSingleServingPassword(String orderer,
String ordererPassword,
String username,
String singleServingPassword)
Beauftragt die Konfiguration ein Einmal-Passwort zu erzeugen. |
private byte[] |
createTelegramByteArray(int messageType,
int serializerVersion,
byte[] messageCleartext,
String encryptionText)
Erzeugt ein kodiertes Byte-Array, das folgenden Aufbau besitzt: - benutzte Serialisiererversion(Wert ist nicht serialisiert) (ersten 4 Bytes) - Typ des Pakets (int) - Länge des Zufallstexts (int) - Zufallstext (byte[]) - übergebenes Byte-Array messageCleartext |
SystemObject |
duplicate(SystemObject systemObject,
Map<String,String> substitutePids)
Verschickt an eine entfernte Konfiguration einen Auftrag die Kopie eines Objekts zu erstellen. |
void |
editConfigurationSet(ConfigurationObject configurationObject,
ObjectSet set,
boolean addSet)
|
private void |
ensureSystemModellVersion(int requiredVersion,
String errorMessage)
|
void |
exportConfigurationAreas(File exportPath,
Collection<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. |
Map<String,ConfigurationArea> |
getAllConfigurationAreas()
Alle Konfigurationsbereichseinträge in der Verwaltungsdatei werden zurückgegeben. |
private Map<String,ConfigurationArea> |
getAllConfigurationAreasResult(Deserializer deserializer)
Ließt aus einem Deserialier die Antwort auf eine Konfigurationsbereichsanfrage aus. |
byte[][] |
getConfigurationData(SystemObject[] systemObject,
AttributeGroupUsage attributeGroupUsage)
Liefert für die angegebenen Systemobjekte jeweils einen konfigurierenden Datensatz der angegebenen Attributgruppenverwendung zurück. |
private ConsistencyCheckResultInterface |
getConsistencyCheckResult(Deserializer deserializer)
Ließt aus einem Deserialier die Antwort auf eine Konfigurationsbereichsanfrage aus. |
private ConsistencyCheckResultEntry |
getConsistencyCheckResultEntry(Deserializer deserializer,
ConsistencyCheckResultEntryType type)
Ließt ein serialisiertes ConsistencyCheckResultEntry aus einem Deserializer aus |
private ConfigurationArea |
getCreateConfigurationAreaResult(Deserializer deserializer)
Ließt aus einem Deserialisierer eine Id und erzeugt das dazugehörige Objekt |
Collection<SystemObject> |
getDirectObjects(ConfigurationArea area,
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. |
(package private) Deserializer |
getMessageDeserializer(Data reply,
String expectedMessageType)
Prüft ein Data ob es den richtigen Nachrichtentyp enthält. |
(package private) Deserializer |
getMessageDeserializer2(Data reply,
String expectedMessageType)
Prüft ein Data ob es den richtigen Nachrichtentyp enthält. |
short |
getModifiableVersion(ConfigurationArea configurationArea)
Neue Version eines Bereichs, die weder zur Übernahme freigegeben noch lokal aktiviert ist. |
List<SystemObject> |
getNewObjects(ConfigurationArea configurationArea)
Beauftragt die Konfiguration alle neuen Objekte eine Konfigurationsbereichs zurückzugeben. |
SystemObject |
getObject(long id)
Liefert das System-Objekt mit der angegebenen Objekt-ID zurück. |
SystemObject |
getObject(String pid)
Liefert das System-Objekt mit der angegebenen PID zurück. |
Collection<SystemObject> |
getObjects(Collection<ConfigurationArea> configurationAreas,
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. |
Collection<SystemObject> |
getObjects(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. |
private byte[] |
getRandomText()
Fordert von der Konfiguration ein Zufallstext an, dieser wird dann mit einem Auftrag versendet |
private SystemObject |
getReplyObject(Data reply)
|
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. |
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. |
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. |
Collection<SystemObject> |
getSetElementsInNextVersion(ObjectSet set)
Verschickt einen Auftrag an die Konfiguration alle Elemente zurückzugeben, die in der nächsten Version gültig werden. |
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 |
getSystemModelVersion()
|
void |
importConfigurationAreas(File importPath,
Collection<String> configurationAreaPids)
Die Implementierung dieser Methode importiert die Versorgungsdateien der angegebenen Pids vom angegebenen Verzeichnis in die bestehende Konfiguration. |
private List<SystemObject> |
readSystemObjectList(Deserializer deserializer)
|
void |
releaseConfigurationAreasForActivation(Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration die angegebenen Konfigurationsbereiche in den Status "Freigabe zur Aktivierung" zu überführen. |
ConsistencyCheckResultInterface |
releaseConfigurationAreasForActivationWithoutCAActivation(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(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). |
private Data |
sendConfigAreaTask(String messageType,
byte[] message)
Diese Methode verschickt ein Telegramm. |
private List<SystemObject> |
sendSetElementVersionRequest(ObjectSet systemObjectType,
KindOfVersion kindOfVersion,
short fromVersion,
short toVersion)
Verschickt ein Telegramm an die Konfiguration und ermittelt alle Elemente einer Menge unter Berücksichtigung der übergebenen Versionen. |
private void |
sendUserAdministrationTask(byte[] message)
Diese Methode verschickt ein Telegramm vom Typ "AuftragBenutzerverwaltung" und wartet anschließend auf die Antwort. |
private byte[] |
serializeConfigAndVersion(Collection<ConfigAreaAndVersion> configurationAreas)
Erstellt mit einem Serialisierer ein Byte-Array, das Konfigurationsbereiche und dazugehörige Versionen enthält. |
private byte[] |
serializeImportExportTask(File path,
Collection<String> configurationAreaPids)
Serialisiert einen String und eine Collection von Pids |
private void |
serializeKindOfVersion(Serializer serializer,
KindOfVersion kindOfVersion,
short fromVersion,
short toVersion)
Serialisert die übergebenen Parameter. |
private void |
serializeObjectTimeSpezifikation(Serializer serializer,
ObjectTimeSpecification timeSpecification)
Serialisiert eine ObjectTimeSpecification. |
private byte[] |
serializeStrings(String stringOne,
String stringTwo,
String stringThree)
Erzeugt mit einem Serializer ein byte-Array, das drei Strings enthält |
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 |
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)
|
Collection<SystemObject> |
subscribeMutableCollectionChanges(MutableCollection mutableCollection,
short simVariant)
Sendet ein Anmeldungstelgramm für Aktualisierungsnachrichten bzgl. |
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. |
private DynamicObject |
waitForResponseAndDeserializeDynamicObject(int requestIndex)
Diese Methode wird aufgerufen, wenn ein dynamiches Objekt angelegt werden soll und die Antwort erwartet wird. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final DataModel _localConfiguration
private EncryptDecryptProcedure _encryptDecryptProcedure
SenderReceiverCommunication _senderReadConfigObjects
SenderReceiverCommunication _senderWriteConfigObjects
SenderReceiverCommunication _senderUserAdministration
SenderReceiverCommunication _senderConfigAreaTask
private final ClientDavInterface _connection
private int _systemModelVersion
Constructor Detail |
---|
public RemoteRequestManager.RemoteRequester(ClientDavInterface connection, DataModel localConfiguration, ConfigurationAuthority configurationAuthority, SystemObject localApplication)
Method Detail |
---|
public void close()
private SystemObject getReplyObject(Data reply) throws RequestException
RequestException
Deserializer getMessageDeserializer(Data reply, String expectedMessageType) throws RequestException
reply
- Antwort der Konfiguration auf einen KonfigurationsanfrageexpectedMessageType
- Typ des Telegramms, den die Konfiguration verschickt, wenn der Auftrag ohne Probleme bearbeitet werden konnte
RequestException
- Technischer Fehler auf Seiten der Konfiguration oder auf Seiten des Clients bei der Übertragung des Auftrags. Dieser Fehler ist
nicht zu beheben.Deserializer getMessageDeserializer2(Data reply, String expectedMessageType) throws RequestException, ConfigurationTaskException, ConfigurationChangeException
reply
- Antwort der Konfiguration auf einen KonfigurationsanfrageexpectedMessageType
- Typ des Telegramms, den die Konfiguration verschickt, wenn der Auftrag ohne Probleme bearbeitet werden konnte
RequestException
- Technischer Fehler auf Seiten der Konfiguration oder auf Seiten des Clients bei der Übertragung des Auftrags. Dieser
Fehler ist nicht zu beheben.
ConfigurationChangeException
- Der Auftrag wurde von der Konfiguration empfangen, allerdings weigert sich die Konfiguration die Änderung auszuführen.
Dies kann unterschiedliche Gründe haben (mangelnde Rechte, Randbediengungen nicht erfüllt, usw.), aber in allen Fällen
können weitere Anfragen gestellt werden.
ConfigurationTaskException
- Der Auftrag wurde von der Konfiguration empfangen, allerdings konnte die Konfiguration den Auftrag nicht ausführen,
weil bestimmte aufgabenspezifische Randbediengungen nicht erfüllt wurde.public SystemObject getObject(String pid) throws RequestException
ConfigurationRequester
getObject
in interface ConfigurationRequester
pid
- Die permanente ID des System-Objekts
null
, wenn es kein Objekt mit der angegebenen PID gibt.
RequestException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.public SystemObject getObject(long id) throws RequestException
ConfigurationRequester
getObject
in interface ConfigurationRequester
id
- Die Objekt-ID des System-Objekts
null
, wenn es kein Objekt mit der angegebenen ID gibt.
RequestException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.public SystemObject[] getElements(MutableSet set, long startTime, long endTime, boolean validDuringEntirePeriod) throws RequestException
ConfigurationRequester
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üssen
RequestException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.public void changeElements(ObjectSet set, SystemObject[] addElements, SystemObject[] removeElements) throws RequestException, ConfigurationException, ConfigurationChangeException
ConfigurationRequester
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
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
unsubscribe
in interface ConfigurationRequester
set
- die Dynamische Menge
RequestException
- Wenn Fehler beim Versand des Telegramms oder bei der Verarbeitung der entsprechenden Antwort aufgetreten sind.public Collection<SystemObject> subscribeMutableCollectionChanges(MutableCollection mutableCollection, short simVariant) throws RequestException
ConfigurationRequester
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
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
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.private void sendUserAdministrationTask(byte[] message) throws RequestException, ConfigurationTaskException
message
- Nachricht, die verschickt werden soll
RequestException
- Fehler bei der Bearbeitung des Telegramms (Der Benutzer hatte nicht die nötigen Rechte diesen Auftrag zu erteilen, usw.)
ConfigurationTaskException
private void closeConnectionAndThrowException(Exception e)
e
- Grund, warum die Verbindung abgebrochen werden musspublic void createSingleServingPassword(String orderer, String ordererPassword, String username, String singleServingPassword) throws ConfigurationTaskException
ConfigurationRequester
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 werden
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 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 void createNewUser(String orderer, String ordererPassword, String newUsername, String newUserPid, String newPassword, boolean adminRights, String pidConfigurationArea) throws ConfigurationTaskException
ConfigurationRequester
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 soll
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. Wird der Auftrag mit den richtigen
Parametern übertragen, wird die Konfiguration ihn ausführen.public void changeUserRights(String orderer, String ordererPassword, String user, boolean adminRights) throws ConfigurationTaskException
ConfigurationRequester
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 Rechte
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 die Rechte eines anderen Benutzers zu ändern. Wird der Auftrag mit den
richtigen Parametern übertragen, wird die Konfiguration ihn ausführen.public void changeUserPassword(String orderer, String ordererPassword, String user, String newPassword) throws ConfigurationTaskException
ConfigurationRequester
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 wurde
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 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.private byte[] getRandomText() throws IOException, RequestException, NoSuchVersionException
IOException
RequestException
NoSuchVersionException
public Map<String,ConfigurationArea> getAllConfigurationAreas() throws RequestException
ConfigurationRequester
getAllConfigurationAreas
in interface ConfigurationRequester
RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.private Map<String,ConfigurationArea> getAllConfigurationAreasResult(Deserializer deserializer) throws IOException
deserializer
- Objekt, das die serialisierte Antwort enthält
IOException
public ConfigurationArea createConfigurationArea(String name, String pid, String authorityPid) throws RequestException, ConfigurationChangeException
ConfigurationRequester
createConfigurationArea
in interface ConfigurationRequester
name
- Name des neuen Konfigurationsbereichspid
- eindeutige Pid des neuen KonfigurationsbereichsauthorityPid
- die Pid des Konfigurationsverantwortlichen des neuen Konfigurationsbereichs
RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.
ConfigurationChangeException
- Falls kein neuer Konfigurationsbereich angelegt werden konnte.private ConfigurationArea getCreateConfigurationAreaResult(Deserializer deserializer) throws IOException
deserializer
- Enthält die Id
IOException
private byte[] serializeStrings(String stringOne, String stringTwo, String stringThree) throws IOException, NoSuchVersionException
stringOne
- Wird als erstes serialisiertstringTwo
- Wird als zweites serialisiertstringThree
- Wird als drittes serialisiert
IOException
NoSuchVersionException
public ConsistencyCheckResultInterface checkConsistency(Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException
ConfigurationRequester
ConfigurationRequester.activateConfigurationAreas(java.util.Collection)
oder Freigabe ConfigurationRequester.releaseConfigurationAreasForTransfer(java.util.Collection)
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(Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
activateConfigurationAreas
in interface ConfigurationRequester
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version aktiviert werden sollen
RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.
ConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht aktiviert werden konnte. public ConsistencyCheckResultInterface releaseConfigurationAreasForTransfer(Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
releaseConfigurationAreasForTransfer
in interface ConfigurationRequester
configurationAreas
- Konfigurationsbereiche, die in der jeweiligen Version freigegeben werden sollen
RequestException
- Es ist zu einem Kommunikationsfehler bei der Anfrage gekommen.
ConfigurationChangeException
- Falls mindestens ein Konfigurationsbereich nicht zur Übernahme freigegeben werden konnte. public void releaseConfigurationAreasForActivation(Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
ConfigurationRequester.activateConfigurationAreas(java.util.Collection)
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 sollen
RequestException
- 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)
.public ConsistencyCheckResultInterface releaseConfigurationAreasForActivationWithoutCAActivation(Collection<ConfigAreaAndVersion> configurationAreas) throws RequestException, ConfigurationChangeException
ConfigurationRequester
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(File importPath, Collection<String> configurationAreaPids) throws RequestException, ConfigurationChangeException
ConfigurationRequester
exportiert
werden.
importConfigurationAreas
in interface ConfigurationRequester
importPath
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids der zu importierenden Konfigurationsbereiche
RequestException
- 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(File exportPath, Collection<String> configurationAreaPids) throws RequestException, ConfigurationTaskException
ConfigurationRequester
importiert
werden.
exportConfigurationAreas
in interface ConfigurationRequester
exportPath
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids der zu exportierenden Konfigurationsbereiche
RequestException
- 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 short getActiveVersion(ConfigurationArea configurationArea) throws RequestException
ConfigurationRequester
getActiveVersion
in interface ConfigurationRequester
configurationArea
- Bereich, dessen aktive Version angefordert werden soll
RequestException
- Fehler bei der Datenübertragungpublic short getModifiableVersion(ConfigurationArea configurationArea) throws RequestException
ConfigurationRequester
getModifiableVersion
in interface ConfigurationRequester
configurationArea
- Bereich für den die Version angefordert werden soll
RequestException
- Fehler bei der Datenübertragungpublic Collection<SystemObject> getObjects(String pid, long startTime, long endTime) throws RequestException
ConfigurationRequester
getObjects
in interface ConfigurationRequester
pid
- Pid der Objekte, die gültig sein sollenstartTime
- StartzeitpunktendTime
- Endzeitpunkt
RequestException
- Technischer Fehler bei der Übetragung der Anfragepublic Collection<SystemObject> getObjects(Collection<ConfigurationArea> configurationAreas, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification objectTimeSpecification) throws RequestException
ConfigurationRequester
getObjects
in interface ConfigurationRequester
configurationAreas
- Bereiche, die geprüft werden sollensystemObjectTypes
- Objekttypen, die zu berücksichtigen sindobjectTimeSpecification
- Definiert den zu betrachtenen Zeitbereich
RequestException
- Technisches Problem bei der Anfragepublic Collection<SystemObject> getDirectObjects(ConfigurationArea area, Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification timeSpecification) throws RequestException
ConfigurationRequester
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üssen
RequestException
- Technisches Problem bei der Anfragepublic ConfigurationObject createConfigurationObject(ConfigurationArea configurationArea, ConfigurationObjectType type, String pid, String name, List<ObjectSet> sets) throws ConfigurationChangeException, RequestException
ConfigurationRequester
ConfigurationArea.createConfigurationObject(de.bsvrz.dav.daf.main.config.ConfigurationObjectType, java.lang.String, java.lang.String, java.util.List)
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 anlegen
RequestException
- Technisches Problem bei der Übertragung Anfragepublic DynamicObject createDynamicObject(ConfigurationArea configurationArea, DynamicObjectType type, String pid, String name) throws ConfigurationChangeException, RequestException
ConfigurationRequester
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 anlegen
RequestException
- Technisches Problem bei der Übertragung Anfrageprivate DynamicObject waitForResponseAndDeserializeDynamicObject(int requestIndex) throws RequestException, ConfigurationChangeException
requestIndex
- Index der Anfrage, die Antwort wird den selben Index haben.
RequestException
- Technisches Problem beim empfang/Deserialisierung der Antwort
ConfigurationChangeException
- Die Konfiguration kann den Auftrag nicht durchführen (fehlenden Rechte)public DynamicObject createDynamicObject(ConfigurationArea configurationArea, DynamicObjectType type, String pid, String name, 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 anlegen
RequestException
- Technisches Problem bei der Übertragung Anfragepublic SystemObject duplicate(SystemObject systemObject, Map<String,String> substitutePids) throws ConfigurationChangeException, RequestException
ConfigurationRequester
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 List<SystemObject> getNewObjects(ConfigurationArea configurationArea) throws RequestException
ConfigurationRequester
getNewObjects
in interface ConfigurationRequester
configurationArea
- Bereich, aus dem alle neuen Objekte angefordert werden sollen
RequestException
- Technisches Problem bei der Übertragung Anfragepublic Collection<SystemObject> getSetElements(ObjectSet set, ObjectTimeSpecification objectTimeSpecification) throws RequestException
ConfigurationRequester
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 Collection<SystemObject> getSetElementsInNextVersion(ObjectSet set) throws RequestException
ConfigurationRequester
getSetElementsInNextVersion
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.
RequestException
- Technisches Problem bei der Übertragung Anfragepublic Collection<SystemObject> getSetElementsInVersion(ObjectSet set, short version) throws RequestException
ConfigurationRequester
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 Collection<SystemObject> getSetElementsInAllVersions(ObjectSet set, short fromVersion, short toVersion) throws RequestException
ConfigurationRequester
getSetElementsInAllVersions
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.fromVersion
- ab VersiontoVersion
- bis zur Version
RequestException
- Technisches Problem bei der Übertragung Anfragepublic Collection<SystemObject> getSetElementsInAnyVersions(ObjectSet set, short fromVersion, short toVersion) throws RequestException
ConfigurationRequester
getSetElementsInAnyVersions
in interface ConfigurationRequester
set
- Menge, aus der die Elemente angefordert werden sollen.fromVersion
- ab VersiontoVersion
- bis Version
RequestException
- 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 Anfrage
ConfigurationChangeException
- 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
setMutableCollectionChangeListener
in interface ConfigurationRequester
notifyingMutableCollectionChangeListener
- Listener zur Verarbeitung und Verteilung von Aktualisierungsnachrichten.private List<SystemObject> readSystemObjectList(Deserializer deserializer) throws IOException
IOException
private List<SystemObject> sendSetElementVersionRequest(ObjectSet systemObjectType, KindOfVersion kindOfVersion, short fromVersion, short toVersion) throws RequestException
systemObjectType
- kindOfVersion
- fromVersion
- toVersion
-
kindOfVersion
).
RequestException
private void serializeKindOfVersion(Serializer serializer, KindOfVersion kindOfVersion, short fromVersion, short toVersion) throws IOException
serializer
- kindOfVersion
- fromVersion
- toVersion
-
IOException
private void serializeObjectTimeSpezifikation(Serializer serializer, ObjectTimeSpecification timeSpecification) throws IOException
serializer
- timeSpecification
-
IOException
private byte[] serializeImportExportTask(File path, Collection<String> configurationAreaPids) throws NoSuchVersionException, IOException
path
- Verzeichnis der VersorgungsdateienconfigurationAreaPids
- Pids
NoSuchVersionException
IOException
private byte[] serializeConfigAndVersion(Collection<ConfigAreaAndVersion> configurationAreas) throws NoSuchVersionException, IOException
configurationAreas
- s.o
NoSuchVersionException
IOException
private ConsistencyCheckResultInterface getConsistencyCheckResult(Deserializer deserializer) throws IOException
deserializer
- Objekt, das die serialisierte Antwort enthält
IOException
private ConsistencyCheckResultEntry getConsistencyCheckResultEntry(Deserializer deserializer, ConsistencyCheckResultEntryType type) throws IOException
deserializer
- s.o.type
- Art des Fehlers/Warnung (lokal, interferenz oder Warnung)
IOException
private Data sendConfigAreaTask(String messageType, byte[] message) throws RequestException
message
- Nachricht, die verschickt werden soll
RequestException
- Fehler bei der Bearbeitung des Telegramms (Der Benutzer hatte nicht die nötigen Rechte diesen Auftrag zu erteilen, usw.)private byte[] createTelegramByteArray(int messageType, int serializerVersion, byte[] messageCleartext, String encryptionText) throws RequestException
messageCleartext
messageType
- NachrichtentypserializerVersion
- Version, mit der die Daten serialisiert werden sollenmessageCleartext
- Bisher erzeugte Daten, die verschickt werden sollen
RequestException
- Alle Fehler die auftauchen werden als RequestException interpretiert. Dies wird gemacht, da eine weitere Übertragung keinen Sinn
macht.public int getSystemModelVersion()
private boolean checkSystemModellVersion(int requiredVersion, String errorMessage)
private void ensureSystemModellVersion(int requiredVersion, String errorMessage) throws RequestException
RequestException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |