de.bsvrz.sys.funclib.kbgen
Class ConfigAreaCreator

java.lang.Object
  extended by de.bsvrz.sys.funclib.kbgen.ConfigAreaCreator

public class ConfigAreaCreator
extends java.lang.Object

Erzeugt aus einer Liste von Objekten vom Typ ProxyConfigurationObject die Objektdefinitionen für einen Konfigurationsbereich im Datenkatalog. Dazu enthält ein ProxyConfigurationObject alle Informationen zu dem zu erzeugenden Konfigurationsobjekt. Dies sind neben Typ, Name und Pid insbesondere die Informationen zu den konfigurierenden Attributgruppen. Damit die Klasse ConfigAreaCreator die Informationen zu den konfigurierenden Attributgruppen genenerisch ermitteln kann, halt ein ProxyConfigurationObject zu jeder konfigurierenden Attributgruppe die Daten in Form einer Data Struktur, über die generisch iteriert werden kann. Das Problem besteht nun darin, dass Objektreferenzen in einer solchen Data Struktur bei der Erstellung des ProxyConfigurationObject nicht eingetragen werden können, da dass referenzierte Objekt i. d. R. noch gar nicht in der Konfiguration verfügbar ist. Der Versuch eine solche Referenz anzulegen führt deshalb zu einem NullPointerFehler. Aus diesem Grund wird zu einem Data Objekt zusätzlich eine Liste mit den Pid der zu referenzierenden Objekte mitgeführt, wobei die Reihenfolge der Einträge in der Liste der Reihenfolge der Objektreferenzen im Data Objekt entspricht. Bei der Auswertung der Informationen durch die Klasse ConfigAreaCreator ermittelt diese dann den Wert einer Referenz nicht aus dem Data Objekt, sondern aus dem entsprechenden Eintrag der Liste.

Version:
$Revision: 513 $ / $Date: 2011-04-13 14:23:45 +0200 (Mi, 13 Apr 2011) $ / ($Author: HCK $)
Author:
inovat, innovative systeme - verkehr - tunnel - technik, Dipl.-Ing. Hans Christian Kniß (HCK)

Field Summary
private  java.io.BufferedOutputStream _bos
           
private  java.util.List<ProxyConfigurationObject> _configAreaData
           
private  java.io.File _configAreaFile
           
private  java.lang.String _configAreaInfo
           
private  java.lang.String _configAreaName
           
private  java.lang.String _configAreaPid
           
private  java.lang.String _configResponsibilityName
           
private static de.bsvrz.sys.funclib.debug.Debug debug
          DebugLogger für Debug-Ausgaben.
 
Constructor Summary
ConfigAreaCreator(java.io.File configAreaFile, java.lang.String configAreaPid, java.lang.String configAreaName, java.lang.String configAreaInfo, java.lang.String configResponsibilityName, java.util.List<ProxyConfigurationObject> configAreaData)
          Erzeugt ein Objekt vom Typ ConfigAreaCreator
 
Method Summary
private  java.lang.StringBuffer indent(int level)
          Erzeugt abhängig vom aktuellen Einrückungslevel eintsprechende Tabulatoreinrückungen.
private  void printData(de.bsvrz.dav.daf.main.Data data, java.util.List<java.lang.String> referenceValues, java.lang.String pidObjectTypeDefaultParameter, int level, java.lang.StringBuffer sb)
          Einen Datensatz ausgeben.
private  void printSet(ProxySetDescription proxySetDescription, int level, java.lang.StringBuffer sb)
          Gibt eine Menge eines Konfigurationsobjekts aus.
 void run()
          Konvertiert die Daten in eine Konfigurationsdatei.
 java.lang.String toString()
          Gibt die String-Repräsentation dieses Objekts aus.
private  void writeConfigData(java.lang.StringBuffer sb)
          Schreibt einen Stringbuffer in Datei.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

debug

private static final de.bsvrz.sys.funclib.debug.Debug debug
DebugLogger für Debug-Ausgaben.


_bos

private java.io.BufferedOutputStream _bos

_configAreaData

private java.util.List<ProxyConfigurationObject> _configAreaData

_configAreaFile

private java.io.File _configAreaFile

_configAreaInfo

private java.lang.String _configAreaInfo

_configAreaName

private java.lang.String _configAreaName

_configAreaPid

private java.lang.String _configAreaPid

_configResponsibilityName

private java.lang.String _configResponsibilityName
Constructor Detail

ConfigAreaCreator

public ConfigAreaCreator(java.io.File configAreaFile,
                         java.lang.String configAreaPid,
                         java.lang.String configAreaName,
                         java.lang.String configAreaInfo,
                         java.lang.String configResponsibilityName,
                         java.util.List<ProxyConfigurationObject> configAreaData)
Erzeugt ein Objekt vom Typ ConfigAreaCreator

Parameters:
configAreaFile - File, in das der erzeugte Konfiguraitonsbereich geschrieben wird.
configAreaPid - PID für den Konfigurationsbereich.
configAreaName - Name des Konfigurationsbereichs.
configAreaInfo - Infotext für diesen Konfigurationsbereich.
configResponsibilityName - Konfigurationsverantwortlicher.
configAreaData - Die Konfigurationsdaten, die in den Konfigurationsbereich umgesetzt werden sollen.
Method Detail

indent

private java.lang.StringBuffer indent(int level)
Erzeugt abhängig vom aktuellen Einrückungslevel eintsprechende Tabulatoreinrückungen.

Parameters:
level - Aktuelle Einrücktiefe.
Returns:
Ein StringBuffer mit Tabstopps entspechend level.

printData

private void printData(de.bsvrz.dav.daf.main.Data data,
                       java.util.List<java.lang.String> referenceValues,
                       java.lang.String pidObjectTypeDefaultParameter,
                       int level,
                       java.lang.StringBuffer sb)
Einen Datensatz ausgeben. Grundsätzlich wird unterschieden zwischen "einfachen" Daten (Eigenschaft isPlain) und im Gegensatz dazu Feldern und Listen. Zur Ausgabe der letzteren beiden ruft sich diese Methode rekursiv wieder auf.

Parameters:
data - Daten der Konfigurierenden Attributgruppe.
referenceValues - Liste mit den Referenzen der Attributgruppe.
pidObjectTypeDefaultParameter - PID des Objekttyps, der beim Anlegen des Defaultparameters verwendet werden soll oder null, wenn kein Defaultparameter sondern eine normale ATG angelegt werden soll.
level - Aktuelle Einrücktiefe.
sb - Ausgabebuffer.

printSet

private void printSet(ProxySetDescription proxySetDescription,
                      int level,
                      java.lang.StringBuffer sb)
Gibt eine Menge eines Konfigurationsobjekts aus.

Parameters:
proxySetDescription - Menge, die ausgegeben werden soll.
level - Aktuelle Einrücktiefe.
sb - Ausgabebuffer.

run

public void run()
Konvertiert die Daten in eine Konfigurationsdatei.


toString

public java.lang.String toString()
Gibt die String-Repräsentation dieses Objekts aus.

Die Formatierung der Ausgabe kann sich ändern und wird nicht garantiert.

Overrides:
toString in class java.lang.Object
Returns:
Aktueller Zustand der Klassenvariablen dieses Objekts.

writeConfigData

private void writeConfigData(java.lang.StringBuffer sb)
Schreibt einen Stringbuffer in Datei.

Parameters:
sb - Zu schreibender StringBuffer.