public class ConfigurationControlAdapter extends java.lang.Object implements ConfigurationControl
Ein Objekt der Klasse kann mit Hilfe einer ClientDaVConnection erzeugt werden.
Kommt es bei der Bearbeitung der Aufträge zu einer Exception entscheidet diese Klasse ob die Exception zur aufrufenden Instanz weitergeleitet wird oder ob der Fehler so schwerwiegend ist, dass die Verbindung zum Datenverteiler abgebrochen werden muss.
Eine ConfigurationChangeException wird zum Anwender der Klasse weitergereicht.
Eine RequestException deutet auf einen schwerern Fehler innerhalb der Kommunikation hin, der nicht mehr behoben werden kann und führt zu einer
Abmeldung beim Datenverteiler.
| Constructor and Description |
|---|
ConfigurationControlAdapter(ClientDavConnection clientDaVConnection) |
| 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).
|
ConsistencyCheckResultInterface |
checkConsistency(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
Die Implementierung dieser Methode beauftragt die Konfiguration alle Konfigurationsbereiche einer Konsistenzprüfung zu unterziehen (siehe TPuK1-138).
|
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.
|
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.
|
java.util.Map<java.lang.String,ConfigurationArea> |
getAllConfigurationAreas()
Alle Konfigurationsbereichseinträge in der Verwaltungsdatei werden zurückgegeben.
|
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 |
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)
Die Implementierung dieser Methode beauftragt die Konfiguration die angegebenen Bereiche in den Zustand "Darf durch andere aktiviert werden, obwohl der KV
es selbst nicht aktiviert hat" zu bringen.
|
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).
|
public ConfigurationControlAdapter(ClientDavConnection clientDaVConnection)
public java.util.Map<java.lang.String,ConfigurationArea> getAllConfigurationAreas()
ConfigurationControlgetAllConfigurationAreas in interface ConfigurationControlpublic ConfigurationArea createConfigurationArea(java.lang.String name, java.lang.String pid, java.lang.String authorityPid) throws ConfigurationChangeException
ConfigurationControlZusä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 ConfigurationControlname - Name des neuen Konfigurationsbereichspid - eindeutige Pid des neuen KonfigurationsbereichsauthorityPid - die Pid des Konfigurationsverantwortlichen des neuen KonfigurationsbereichsConfigurationChangeException - Falls kein neuer Konfigurationsbereich angelegt werden konnte.public ConsistencyCheckResultInterface checkConsistency(java.util.Collection<ConfigAreaAndVersion> configurationAreas)
ConfigurationControlConfigurationControl.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>) oder Freigabe ConfigurationControl.releaseConfigurationAreasForTransfer(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>) aufgerufen
werden.checkConsistency in interface ConfigurationControlconfigurationAreas - 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 explizit angegeben werden.public ConsistencyCheckResultInterface activateConfigurationAreas(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
ConfigurationControlVerlief 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 Konfiguration 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 ConfigurationControlconfigurationAreas - Konfigurationsbereiche, die in der jeweiligen Version aktiviert werden sollenConfigurationChangeException - Falls mindestens ein Konfigurationsbereich nicht aktiviert werden konnte. public ConsistencyCheckResultInterface releaseConfigurationAreasForTransfer(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
ConfigurationControlVerlief 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 ConfigurationControlconfigurationAreas - Konfigurationsbereiche, die in der jeweiligen Version freigegeben werden sollenConfigurationChangeException - Falls mindestens ein Konfigurationsbereich nicht zur Übernahme freigegeben werden konnte. public void releaseConfigurationAreasForActivation(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
ConfigurationControl
Es findet keine Konsistenzprüfung statt, da ein Konfigurationsbereich nur dann für andere zur Aktivierung freigegeben werden darf, wenn er bereits lokal
aktiviert ConfigurationControl.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 ConfigurationControlconfigurationAreas - Konfigurationsbereiche, die in der jeweiligen Version für andere Konfigurationen freigegeben werden sollenConfigurationChangeException - Falls mindestens ein Konfigurationsbereich nicht zur Aktivierung freigegeben werden konnte. ConfigurationControl.activateConfigurationAreas(java.util.Collection<de.bsvrz.dav.daf.main.config.management.ConfigAreaAndVersion>).public void importConfigurationAreas(java.io.File importPath,
java.util.Collection<java.lang.String> configurationAreaPids)
throws ConfigurationChangeException
ConfigurationControl
Versorgungsdateien können auch wieder exportiert werden.
importConfigurationAreas in interface ConfigurationControlimportPath - Verzeichnis der VersorgungsdateienconfigurationAreaPids - Pids der zu importierenden KonfigurationsbereicheConfigurationChangeException - 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 ConfigurationTaskException
ConfigurationControlimportiert werden.exportConfigurationAreas in interface ConfigurationControlexportPath - Verzeichnis der VersorgungsdateienconfigurationAreaPids - Pids der zu exportierenden KonfigurationsbereicheConfigurationTaskException - 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 ConsistencyCheckResultInterface releaseConfigurationAreasForActivationWithoutCAActivation(java.util.Collection<ConfigAreaAndVersion> configurationAreas) throws ConfigurationChangeException
ConfigurationControlDadurch können andere Konfigurationen die Bereiche übernehmen und aktivieren.
Die Konsistenzprüfung darf bei dieser Art der Aktivierung Interferenzfehler zulassen, lokale Fehler sind nicht erlaubt. Alle Bereiche, die nicht im Parameter configurationAreas angegeben sind, werden in der "zur Aktivierung freigegeben"-Version geprüft. Das betrifft ebenfalls die Bereich, für die der KV verantwortlich ist.
Es werden entweder alle angegebenen Bereiche aktiviert oder keiner (falls es zu einem Fehler kommt).
Eine Beispielanwendung dafür wäre: Bereich A stellt ein Objekt zur Verfügung, kann es aber nicht aktivieren, weil der Typ in Bereich B definiert wird. Bereich B kann nicht aktivieren, weil das Objekt aus Bereich A referenziert wird.
Bereich A oder Bereich B können dann über diese Methode das Objekt oder den Typ trotzdem für den anderen Bereich zur Aktivierung freigeben.
releaseConfigurationAreasForActivationWithoutCAActivation in interface ConfigurationControlconfigurationAreas - Bereiche, die für andere zur Aktivierung freigegeben sind aber ihrerseits nicht durch den KV aktiviert wurden.ConfigurationChangeException - Fehler beim Versuch die Bereiche für andere freizugeben. Es wurde kein Bereich freigegeben.