de.bsvrz.puk.config.main.importexport
Class ConfigurationExport

java.lang.Object
  extended by de.bsvrz.puk.config.main.importexport.ConfigurationExport

public class ConfigurationExport
extends Object

Diese Klasse exportiert Konfigurationsbereiche aus dem Datenmodell. Die Bereiche werden in sogenannten Versorgungsdateien abgespeichert.

Welche Konfigurationsbereiche exportiert werden sollen und wo sie gespeichert werden, wird im Konstruktor dieser Klasse angegeben.

Author:
Kappich Systemberatung

Field Summary
private static Debug _debug
          DebugLogger für Debug-Ausgaben
(package private)  AttributeGroup _dynamicSetPropertiesAtg
          Attributgruppe atg.dynamischeMenge oder null falls diese nicht verfügbar ist.
private  ObjectLookup _objectLookup
          Betrachtet die Konfigurationsbereiche in unterschiedlichen Versionen.
 
Constructor Summary
ConfigurationExport(ConfigurationControl control, File exportPath, Collection<String> pids)
          Konstruktor führt den Export der angegebenen Konfigurationsbereiche durch.
 
Method Summary
private  AspectProperties createAspectProperties(Aspect asp)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines Aspekts enthält.
private  AttributeGroupProperties createAttributeGroupProperties(AttributeGroup atg)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften einer Attributgruppe enthält.
private  AttributeListProperties createAttributeListProperties(AttributeListDefinition atl)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften einer AttributListenDefinition enthält.
private  AttributeTypeProperties createAttributeTypeProperties(AttributeType attributeType)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines AttributTyps enthält.
private  ConfigurationAreaChangeInformation[] createChangeInformation(ConfigurationArea configurationArea)
          Wandelt die KonfigurationsÄnderungen, die am Konfigurationsbereich gespeichert werden, so um, dass sie in die Versorgungsdatei geschrieben werden kann.
private  ConfigurationDefaultParameter[] createConfigurationDefaultParameters(SystemObject systemObject)
          Liest einen Default-Parameter-Datensatz aus und gibt den Inhalt zurück.
private  ConfigurationObjectProperties createConfigurationObjectProperties(SystemObject systemObject)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines konfigurierenden oder dynamischen Objekts enthält.
private  ObjectSetTypeProperties createObjectSetTypeProperties(ObjectSetType objectSetType)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines Mengen-Typs enthält.
private  SystemObjectTypeProperties createSystemObjectTypeProperties(SystemObjectType systemObjectType)
          Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines Typ-Objekts enthält.
private  DatasetElement extractData(Data data, boolean calledFromDataArray)
          Dies ist eine Hilfsklasse für ein konfigurierendes Objekt, damit die Datensätze vollständig ermittelt werden können.
private  String getDefault(SystemObject systemObject)
          Gibt den Default-Wert eines System-Objekts zurück.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

private static final Debug _debug
DebugLogger für Debug-Ausgaben


_objectLookup

private final ObjectLookup _objectLookup
Betrachtet die Konfigurationsbereiche in unterschiedlichen Versionen.


_dynamicSetPropertiesAtg

final AttributeGroup _dynamicSetPropertiesAtg
Attributgruppe atg.dynamischeMenge oder null falls diese nicht verfügbar ist.

Constructor Detail

ConfigurationExport

public ConfigurationExport(ConfigurationControl control,
                           File exportPath,
                           Collection<String> pids)
                    throws IOException,
                           IllegalArgumentException
Konstruktor führt den Export der angegebenen Konfigurationsbereiche durch.

Parameters:
control - liefert die nötigen Zugriffsmethoden auf die Konfiguration
exportPath - das Verzeichnis, in das die Versorgungsdateien exportiert werden
pids - die Pids der zu exportierenden Konfigurationsbereiche
Throws:
IOException - Falls die Versorgungsdatei nicht geschrieben werden kann.
IllegalArgumentException - Falls zu einer angegebenen Pid kein Konfigurationsbereich existiert.
Method Detail

createChangeInformation

private ConfigurationAreaChangeInformation[] createChangeInformation(ConfigurationArea configurationArea)
Wandelt die KonfigurationsÄnderungen, die am Konfigurationsbereich gespeichert werden, so um, dass sie in die Versorgungsdatei geschrieben werden kann.

Parameters:
configurationArea - ein Konfigurationsbereich
Returns:
die KonfigurationsÄnderungen für ein Eigenschafts-Objekt eines Konfigurationsbereichs

createAspectProperties

private AspectProperties createAspectProperties(Aspect asp)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines Aspekts enthält.

Parameters:
asp - ein Aspekt
Returns:
Objekt mit den Eigenschaften eines Aspekts

createAttributeListProperties

private AttributeListProperties createAttributeListProperties(AttributeListDefinition atl)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften einer AttributListenDefinition enthält.

Parameters:
atl - eine AttributListenDefinition
Returns:
Objekt mit den Eigenschaften einer AttributListenDefinition

getDefault

private String getDefault(SystemObject systemObject)
Gibt den Default-Wert eines System-Objekts zurück.

Parameters:
systemObject - das System-Objekt
Returns:
Der Default-Wert eines System-Objekts oder null, falls es keinen Default-Wert gibt.

createAttributeTypeProperties

private AttributeTypeProperties createAttributeTypeProperties(AttributeType attributeType)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines AttributTyps enthält.

Parameters:
attributeType - ein AttributTyp
Returns:
Objekt mit den Eigenschaften eines AttributTyps

createAttributeGroupProperties

private AttributeGroupProperties createAttributeGroupProperties(AttributeGroup atg)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften einer Attributgruppe enthält.

Parameters:
atg - eine Attributgruppe
Returns:
Objekt mit den Eigenschaften einer Attributgruppe

createObjectSetTypeProperties

private ObjectSetTypeProperties createObjectSetTypeProperties(ObjectSetType objectSetType)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines Mengen-Typs enthält.

Parameters:
objectSetType - ein Mengen-Typ
Returns:
Objekt mit den Eigenschaften eines Mengen-Typs

createSystemObjectTypeProperties

private SystemObjectTypeProperties createSystemObjectTypeProperties(SystemObjectType systemObjectType)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines Typ-Objekts enthält.

Parameters:
systemObjectType - ein Typ-Objekt
Returns:
Objekt mit den Eigenschaften eines Typ-Objekts

createConfigurationObjectProperties

private ConfigurationObjectProperties createConfigurationObjectProperties(SystemObject systemObject)
Diese Methode erzeugt ein korrespondierendes Objekt, welches die Eigenschaften eines konfigurierenden oder dynamischen Objekts enthält.

Parameters:
systemObject - ein konfigurierendes Objekt
Returns:
Objekt mit den Eigenschaften eines konfigurierenden Objekts

createConfigurationDefaultParameters

private ConfigurationDefaultParameter[] createConfigurationDefaultParameters(SystemObject systemObject)
Liest einen Default-Parameter-Datensatz aus und gibt den Inhalt zurück.

Parameters:
systemObject - besitzt den Default-Parameter-Datensatz
Returns:
Inhalt des Default-Parameter-Datensatzes

extractData

private DatasetElement extractData(Data data,
                                   boolean calledFromDataArray)
Dies ist eine Hilfsklasse für ein konfigurierendes Objekt, damit die Datensätze vollständig ermittelt werden können. Hierzu ist es notwendig bei einer Liste oder einem Array diese Methode rekursiv aufzurufen.

Parameters:
data - das zu betrachtende Data-Objekt
calledFromDataArray - Gibt an, ob diese Methode von einem Daten-Array aufgerufen wurde.
Returns:
die extrahierte Struktur des Datensatzes