public class ManagementFile extends java.lang.Object implements ConfigurationManagementFile
Diese Klasse speichert die Verwaltungsdaten der Konfiguration in einer XML-Datei ab. (siehe auch die Technischen Anforderungen des Segments Parametrierung und Konfiguration)
Modifier and Type | Class and Description |
---|---|
private class |
ManagementFile.ConfigAreaManagementInfo
Diese Implementierung ist für die Konfigurationsbereiche der Verwaltungsdaten zuständig.
|
private class |
ManagementFile.ManagementEntityResolver
Implementierung eines EntityResolvers, der Referenzen auf den Public-Identifier “-//K2S//DTD Verwaltung//DE” ersetzt durch die verwaltungsdaten.dtd Resource-Datei in diesem Package.
|
private class |
ManagementFile.VersionInformation
Repräsentiert einen Versionseintrag in den Verwaltungsdaten zu einem Konfigurationsbereich.
|
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,ConfigurationAreaManagementInfo> |
_areaManagementInfos
Speichert die Einträge zu den Verwaltungsdaten.
|
private java.text.DateFormat |
_dateFormat
Das Format des Zeitstempels für die Versionsaktivierung.
|
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private FileLock |
_managementFileLock |
private java.io.File |
_objectSetBaseDirectory |
private java.net.URI |
_uriBase
Speichert die Basis der Verzeichnisse für die Konfigurationsbereiche.
|
private org.w3c.dom.Document |
_xmlDocument
Repräsentiert die vollständige XML-Datei.
|
private java.io.File |
_xmlFile
Datei, wo die Verwaltungsdaten abgespeichert werden sollen.
|
Constructor and Description |
---|
ManagementFile(java.io.File xmlFile)
Der Konstruktor lädt die angegebene XML-Datei mit den Verwaltungsdaten der Konfiguration, validiert gegen die dazugehörende DTD bzw. erzeugt eine neue Datei.
|
Modifier and Type | Method and Description |
---|---|
ConfigurationAreaManagementInfo |
addConfigurationAreaManagementInfo(java.lang.String pid)
Fügt einen neuen Eintrag eines Konfigurationsbereichs ans Ende der Verwaltungsdatei ein.
|
void |
close()
Diese Methode wird aufgerufen, wenn das System heruntergefahren wird.
|
void |
createBackupFile(java.io.File targetDirectory)
Sichert die Verwaltungsdatei in das angegebene Zielverzeichnis
|
java.util.List<ConfigurationAreaManagementInfo> |
getAllConfigurationAreaManagementInfos()
Gibt alle Einträge über Konfigurationsbereiche der Konfiguration in der zu verwendenden Reihenfolge aus den Verwaltungsdaten zurück.
|
private java.util.Map<java.lang.String,ConfigurationAreaManagementInfo> |
getAllManagementInfos()
Interne Methode, die die Verwaltungseinträge zu den Konfigurationsbereichen einlädt und gesammelt in einer Liste zurückgibt.
|
static java.net.URI |
getCommonBaseDir(java.util.List<? extends java.net.URI> uris)
Ermittelt die gemeinsame Parent-URI, in der alle übergebenen URIs enthalten sind
|
ConfigurationAreaManagementInfo |
getConfigurationAreaManagementInfo(java.lang.String configurationAreaPid)
Gibt einen Eintrag aus den Verwaltungsdaten zu der angegebenen Pid eines Konfigurationsbereichs zurück.
|
java.lang.String |
getConfigurationAuthority()
Gibt die Pid des Konfigurationsverantwortlichen der Konfiguration zurück.
|
java.io.File |
getForeignObjectCacheFile()
Bestimmt die Datei, in der dynamische Objekte, die von fremden Konfigurationen abgefragt wurden, persistent gespeichert werden.
|
java.io.File |
getObjectSetDirectory()
Bestimmt das Verzeichnis in dem die Dateien mit den Elementzugehörigkeiten von dynamischen Mengen gespeichert werden sollen.
|
static java.net.URI |
relativize(java.net.URI dir,
java.net.URI uri)
Erstellt eine URI, die möglichst einen Pfad von uri relativ zu dir darstellt.
|
private static java.lang.String |
relativizePath(java.lang.String dirStr,
java.lang.String uriStr) |
void |
save()
Speichert die Verwaltungsdaten ab.
|
private void |
save(java.io.OutputStream outputStream)
Speichert die Verwaltungsdaten im angegebenen Datenstrom ab.
|
void |
setConfigurationAuthority(java.lang.String pid)
Speichert die Pid des Konfigurationsverantwortlichen der Konfiguration ab.
|
java.lang.String |
toString()
String-Repräsentation (Verzeichnis und Dateiname der Verwaltungsdatei) dieses Objekts.
|
private static final Debug _debug
DebugLogger für Debug-Ausgaben
private final org.w3c.dom.Document _xmlDocument
Repräsentiert die vollständige XML-Datei.
private final java.io.File _xmlFile
Datei, wo die Verwaltungsdaten abgespeichert werden sollen.
private final java.util.Map<java.lang.String,ConfigurationAreaManagementInfo> _areaManagementInfos
Speichert die Einträge zu den Verwaltungsdaten. Key ist die Pid des KB
private java.text.DateFormat _dateFormat
Das Format des Zeitstempels für die Versionsaktivierung.
private java.net.URI _uriBase
Speichert die Basis der Verzeichnisse für die Konfigurationsbereiche.
private final FileLock _managementFileLock
private java.io.File _objectSetBaseDirectory
public ManagementFile(java.io.File xmlFile)
Der Konstruktor lädt die angegebene XML-Datei mit den Verwaltungsdaten der Konfiguration, validiert gegen die dazugehörende DTD bzw. erzeugt eine neue Datei.
xmlFile
- die Verwaltungsdateipublic java.io.File getForeignObjectCacheFile()
ConfigurationManagementFile
Bestimmt die Datei, in der dynamische Objekte, die von fremden Konfigurationen abgefragt wurden, persistent gespeichert werden.
getForeignObjectCacheFile
in interface ConfigurationManagementFile
private java.util.Map<java.lang.String,ConfigurationAreaManagementInfo> getAllManagementInfos()
Interne Methode, die die Verwaltungseinträge zu den Konfigurationsbereichen einlädt und gesammelt in einer Liste zurückgibt.
public java.lang.String getConfigurationAuthority()
Gibt die Pid des Konfigurationsverantwortlichen der Konfiguration zurück.
getConfigurationAuthority
in interface ConfigurationManagementFile
public void setConfigurationAuthority(java.lang.String pid)
Speichert die Pid des Konfigurationsverantwortlichen der Konfiguration ab.
setConfigurationAuthority
in interface ConfigurationManagementFile
pid
- die Pid des Konfigurationsverantwortlichenpublic java.util.List<ConfigurationAreaManagementInfo> getAllConfigurationAreaManagementInfos()
Gibt alle Einträge über Konfigurationsbereiche der Konfiguration in der zu verwendenden Reihenfolge aus den Verwaltungsdaten zurück.
getAllConfigurationAreaManagementInfos
in interface ConfigurationManagementFile
public ConfigurationAreaManagementInfo getConfigurationAreaManagementInfo(java.lang.String configurationAreaPid)
Gibt einen Eintrag aus den Verwaltungsdaten zu der angegebenen Pid eines Konfigurationsbereichs zurück. Falls es keinen Eintrag gibt wird null
zurückgegeben.
getConfigurationAreaManagementInfo
in interface ConfigurationManagementFile
configurationAreaPid
- Pid eines Konfigurationsbereichsnull
, falls kein Eintrag vorhanden istpublic ConfigurationAreaManagementInfo addConfigurationAreaManagementInfo(java.lang.String pid)
Fügt einen neuen Eintrag eines Konfigurationsbereichs ans Ende der Verwaltungsdatei ein.
addConfigurationAreaManagementInfo
in interface ConfigurationManagementFile
pid
- Pid des Konfigurationsbereichs, welcher zu den Verwaltungsdaten hinzugefügt werden sollpublic void save() throws java.io.IOException
Speichert die Verwaltungsdaten ab.
save
in interface ConfigurationManagementFile
java.io.IOException
public void createBackupFile(java.io.File targetDirectory) throws java.io.IOException
Sichert die Verwaltungsdatei in das angegebene Zielverzeichnis
targetDirectory
- Zielverzeichnisjava.io.IOException
- IO-Fehlerpublic void close() throws java.io.IOException
ConfigurationManagementFile
Diese Methode wird aufgerufen, wenn das System heruntergefahren wird. Es müssen alle Daten persistent gespeichert werden und es muss ein Zustand hergestellt werden, dass das System später erneut gestartet werden kann (Temporäre Dateien löschen, usw.).
close
in interface ConfigurationManagementFile
java.io.IOException
public java.io.File getObjectSetDirectory()
ConfigurationManagementFile
Bestimmt das Verzeichnis in dem die Dateien mit den Elementzugehörigkeiten von dynamischen Mengen gespeichert werden sollen. Falls das Verzeichnis noch nich existiert, wird es erzeugt.
getObjectSetDirectory
in interface ConfigurationManagementFile
public java.lang.String toString()
String-Repräsentation (Verzeichnis und Dateiname der Verwaltungsdatei) dieses Objekts.
toString
in class java.lang.Object
private void save(java.io.OutputStream outputStream) throws java.io.IOException
Speichert die Verwaltungsdaten im angegebenen Datenstrom ab.
outputStream
- der Stream, in dem die Verwaltungsdaten abgespeichert werden sollenjava.io.IOException
- Falls ein Fehler beim Speichern der Verwaltungsdaten aufgetreten ist.public static java.net.URI relativize(java.net.URI dir, java.net.URI uri)
Erstellt eine URI, die möglichst einen Pfad von uri relativ zu dir darstellt. Verhält sich ähnlich zu URI.relativize(java.net.URI, java.net.URI)
. Workaround wegen Bug 6226081.
dir
- Pfad, zu dem uri relativ dargestellt werden solluri
- Ort der URIURI.relativize(java.net.URI, java.net.URI)
private static java.lang.String relativizePath(java.lang.String dirStr, java.lang.String uriStr)
public static java.net.URI getCommonBaseDir(java.util.List<? extends java.net.URI> uris)
Ermittelt die gemeinsame Parent-URI, in der alle übergebenen URIs enthalten sind
uris
- URIs dessen gemeinsamer Parent bestimmt werden soll