public class ConfigurationApp
extends java.lang.Object
Mit dieser Klasse wird die Konfiguration gestartet. Die Konfiguration kann in folgenden verschiedenen Arbeitsmodi parallel gestartet werden:
Die Konfiguration kann mit folgenden spezifischen Aufrufparametern gestartet werden:
Modifier and Type | Class and Description |
---|---|
private class |
ConfigurationApp.AutoCloser
Dieser Thread wird aufgerufen, wenn die Konfiguration runtergefahren werden soll.
|
private class |
ConfigurationApp.AutoSaver
Runnable Implementierung, die beim Beenden und zyklisch dafür sorgt, dass ungesicherte Konfigurationsänderungen gespeichert werden.
|
private static class |
ConfigurationApp.UncaughtExceptionHandler
Implementierung eines UncaughtExceptionHandlers, der bei nicht abgefangenen Exceptions und Errors entsprechende Ausgaben macht und im Falle eines Errors den Prozess terminiert.
|
Modifier and Type | Field and Description |
---|---|
private ConfigurationApp.AutoCloser |
_autoCloser
Thread, der beim Herunterfahren des Systems die Daten sichert.
|
static long |
_bufferTime
Zeitspanne, die gewartet wird bis die Konfiguration die gepufferten Daten persistent speichert.
|
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private ForeignObjectManager |
_foreignObjectManager |
static long |
_restructureTime
7 Tage in Millisekunden, die Zeit, die zwischen periodischen Restrukturierungen gewartet wird
|
Constructor and Description |
---|
ConfigurationApp(java.lang.String[] args)
Der Konstruktor wertet die Aufrufargumente aus.
|
Modifier and Type | Method and Description |
---|---|
private void |
checkConsistency(java.io.File managementFile,
boolean allowDoublePids,
boolean ignoreDependencyErrorsInConsistencyCheck)
Unterzieht alle Bereiche in der aktuellsten Version einer Konsistenzprüfung.
|
private void |
dealWithInvalidOnRestartObjects(ConfigDataModel dataModel)
Diese Methode setzt alle dynamischen Objekte, die als “ungültigBeimNeustart” markiert sind, auf ungültig.
|
private java.util.Collection<ConfigurationArea> |
getAuthorityConfigAreas(ConfigurationAuthority authority,
DataModel dataModel)
Diese Methode sucht zu einem Konfigurationsverantwortlichen alle aktiven Konfigurationsbereiche heraus, für die er verantwortlich ist.
|
static void |
main(java.lang.String[] args)
Main-Methode, welche die Aufrufparameter entgegennimmt und den Konstruktor aufruft.
|
private void |
startActivation(java.io.File managementFile,
boolean allowDoublePids,
boolean ignoreDependencyErrorsInConsistencyCheck)
Aktiviert alle Bereiche in der höchst möglichen Version.
|
void |
startAutoCloser(DataModel dataModel,
ConfigurationCommunicator configurationCommunicator)
Legt einen Thread an, der ausgeführt wird, wenn das System beendet wird.
|
void |
startAutoSaver(ConfigDataModel dataModel)
Startet den Timer, der zyklisch die Daten sichert
|
private ConfigDataModel |
startConfiguration(java.io.File managementFile,
java.io.File userManagementFile,
ClientDavParameters dafParameters,
java.io.File backupDirectory)
Startet die Konfiguration
|
private void |
startConfigurationEditorOffline(java.io.File managementFile) |
private void |
startConfigurationEditorOnline() |
private void |
startExport(java.io.File managementFile,
java.io.File exportPath,
java.util.List<java.lang.String> pids) |
private void |
startImport(java.io.File managementFile,
java.io.File importPath,
java.util.List<java.lang.String> pids) |
private void |
startReleaseAreasForActivation(java.io.File managementFile)
Gibt alle Bereiche zur Aktivierung für andere Konfigurationen in der höchst möglichen Version frei.
|
private void |
startReleaseAreasForTransfer(java.io.File managementFile,
boolean allowDoublePids,
boolean ignoreDependencyErrorsInConsistencyCheck)
Gibt alle Bereiche zur Übernahme für andere Konfigurationen in der höchst möglichen Version frei.
|
private void |
startReleaseForActivationWithoutCAActivation(java.io.File managementFile,
java.util.List<java.lang.String> pids,
boolean allowDoublePids,
boolean ignoreDependencyErrorsInConsistencyCheck)
Gibt die angegebenen Bereiche zur Aktivierung für andere Konfigurationen in der höchst möglichen Version frei.
|
private void |
startRestructure(java.io.File managementFile)
Startet die manuelle Restrukturierung von allen Konfigurationsbereichen des aktuellen KV
|
private java.util.List<java.lang.String> |
trimPids(java.lang.String[] pids)
Die eingelesenen Strings werden von Leerzeichen befreit, die vor oder nach den Pids stehen.
|
private void |
usage()
Gibt die Verwendungsmöglichkeiten der Konfiguration aus.
|
private static Debug _debug
DebugLogger für Debug-Ausgaben
private ConfigurationApp.AutoCloser _autoCloser
Thread, der beim Herunterfahren des Systems die Daten sichert.
public static final long _bufferTime
Zeitspanne, die gewartet wird bis die Konfiguration die gepufferten Daten persistent speichert.
public static final long _restructureTime
7 Tage in Millisekunden, die Zeit, die zwischen periodischen Restrukturierungen gewartet wird
private ForeignObjectManager _foreignObjectManager
public ConfigurationApp(java.lang.String[] args)
Der Konstruktor wertet die Aufrufargumente aus.
args
- die Aufrufargumentepublic static void main(java.lang.String[] args)
Main-Methode, welche die Aufrufparameter entgegennimmt und den Konstruktor aufruft.
args
- die Aufrufparameter dieser Klasseprivate void dealWithInvalidOnRestartObjects(ConfigDataModel dataModel) throws ConfigurationChangeException
Diese Methode setzt alle dynamischen Objekte, die als “ungültigBeimNeustart” markiert sind, auf ungültig.
dataModel
- DatenmodellConfigurationChangeException
private java.util.Collection<ConfigurationArea> getAuthorityConfigAreas(ConfigurationAuthority authority, DataModel dataModel)
Diese Methode sucht zu einem Konfigurationsverantwortlichen alle aktiven Konfigurationsbereiche heraus, für die er verantwortlich ist.
authority
- Verantwortlicher, zu dem die Bereiche gesucht werden sollendataModel
- Datenmodell, in dem die Bereiche vorhanden sindprivate java.util.List<java.lang.String> trimPids(java.lang.String[] pids)
Die eingelesenen Strings werden von Leerzeichen befreit, die vor oder nach den Pids stehen.
pids
- die zu überprüfenden Stringsprivate void startConfigurationEditorOnline()
private void startConfigurationEditorOffline(java.io.File managementFile)
private ConfigDataModel startConfiguration(java.io.File managementFile, java.io.File userManagementFile, ClientDavParameters dafParameters, java.io.File backupDirectory) throws java.lang.Exception, CommunicationError, ConnectionException, javax.xml.parsers.ParserConfigurationException, MissingParameterException, java.lang.InterruptedException, InconsistentLoginException
Startet die Konfiguration
java.lang.Exception
CommunicationError
ConnectionException
javax.xml.parsers.ParserConfigurationException
MissingParameterException
java.lang.InterruptedException
InconsistentLoginException
private void startImport(java.io.File managementFile, java.io.File importPath, java.util.List<java.lang.String> pids)
private void startExport(java.io.File managementFile, java.io.File exportPath, java.util.List<java.lang.String> pids)
private void checkConsistency(java.io.File managementFile, boolean allowDoublePids, boolean ignoreDependencyErrorsInConsistencyCheck)
Unterzieht alle Bereiche in der aktuellsten Version einer Konsistenzprüfung. Die Version muss nicht unbedingt die aktuelle Version sein, sondern die Version, die aktiviert werden könnte.
managementFile
- Verwaltungsdatei, wird zum erzeugen des DataModel gebrauchtallowDoublePids
- true
falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.ignoreDependencyErrorsInConsistencyCheck
- true
falls Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden sollen.private void startActivation(java.io.File managementFile, boolean allowDoublePids, boolean ignoreDependencyErrorsInConsistencyCheck)
Aktiviert alle Bereiche in der höchst möglichen Version.
managementFile
- Verwaltungsdatei, wird zum erzeugen des DataModel gebrauchtallowDoublePids
- true
falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.ignoreDependencyErrorsInConsistencyCheck
- true
falls Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden sollen.private void startReleaseAreasForActivation(java.io.File managementFile)
Gibt alle Bereiche zur Aktivierung für andere Konfigurationen in der höchst möglichen Version frei.
managementFile
- Verwaltungsdatei, wird zum Erzeugen des DataModel gebrauchtprivate void startReleaseAreasForTransfer(java.io.File managementFile, boolean allowDoublePids, boolean ignoreDependencyErrorsInConsistencyCheck)
Gibt alle Bereiche zur Übernahme für andere Konfigurationen in der höchst möglichen Version frei.
managementFile
- Verwaltungsdatei, wird zum erzeugen des DataModel gebrauchtallowDoublePids
- true
falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.ignoreDependencyErrorsInConsistencyCheck
- true
falls Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden sollen.private void startReleaseForActivationWithoutCAActivation(java.io.File managementFile, java.util.List<java.lang.String> pids, boolean allowDoublePids, boolean ignoreDependencyErrorsInConsistencyCheck)
Gibt die angegebenen Bereiche zur Aktivierung für andere Konfigurationen in der höchst möglichen Version frei. Die entsprechenden Bereiche müssen vorher nicht lokal aktiviert worden sein.
managementFile
- Verwaltungsdatei, wird zum erzeugen des DataModel gebrauchtpids
- Pids der Konfigurationsbereiche, die freigegeben werden sollen.allowDoublePids
- true
falls doppelte Pids in verschiedenen Konfigurationsbereichen von der Konsistenzprüfung zugelassen werden sollen.ignoreDependencyErrorsInConsistencyCheck
- true
falls Fehler bei der Prüfung der Abhängigkeiten in der Konsistenzprüfung ignoriert werden sollen.private void startRestructure(java.io.File managementFile)
Startet die manuelle Restrukturierung von allen Konfigurationsbereichen des aktuellen KV
managementFile
- Verwaltungsdatenprivate void usage()
Gibt die Verwendungsmöglichkeiten der Konfiguration aus.
public void startAutoSaver(ConfigDataModel dataModel)
Startet den Timer, der zyklisch die Daten sichert
public void startAutoCloser(DataModel dataModel, ConfigurationCommunicator configurationCommunicator)
Legt einen Thread an, der ausgeführt wird, wenn das System beendet wird. Dieser Thread wird alle Daten der Konfiguration sichern.