de.bsvrz.puk.config.xmlFile.parser
Class ConfigAreaParser

java.lang.Object
  extended by de.bsvrz.puk.config.xmlFile.parser.ConfigAreaParser

public class ConfigAreaParser
extends Object

Diese Klasse erzeugt aus einer XML-Versorgungsdatei Objekte, die in die Konfiguration per Import eingebracht werden können. Die XML-Datei wird mit der K2S.dtd bearbeitet.

Author:
Kappich Systemberatung

Field Summary
private static Debug _debug
           
(package private)  SaxPullAdapter _saxPullAdapter
           
(package private)  PullableEventStream _xmlStream
           
 
Constructor Summary
ConfigAreaParser()
           
 
Method Summary
private  StartElementEvent ignoreElementStructure()
          Ignoriert ein Element der XML-Versorgungsdatei.
private  void ignoreElementStructureAndWarn()
          Ignoriert ein Element der XML-Versorgungsdatei und gibt eine Warnung aus.
 ConfigurationAreaProperties parse(File areaFile)
           
private  ConfigurationObjectProperties parseAspectDefinition()
          Liest aus einer XML-Versorgungsdatei eine "aspektDefinition" aus.
private  ConfigurationObjectProperties parseAttributDefinition()
          Liest aus einer XML-Versorgungsdatei eine "attributDefinition" aus.
private  PlainAttributeProperties parseAttribute()
          Erzeugt ein attribut Objekt, siehe K2S.DTD.
private  ConfigurationObjectProperties parseAttributegroupDefinition()
          Liest aus einer XML-Versorgungsdatei eine "attributgruppenDefinition" aus.
private  ListAttributeProperties parseAttributeList()
          Erzeugt ein attributListe Objekt, siehe K2S.DTD.
private  ConfigurationObjectProperties parseAttributeListDefinition()
          Liest aus einer XML-Versorgungsdatei eine "attributlistenDefinition" aus.
private  ConfigurationAreaProperties parseConfigurationArea()
          Beginnt die XML-Versorgungsdatei zu parsen und erstellt die benötigten Objekte
private  ConfigurationAreaChangeInformation[] parseConfigurationChanges()
          Liest die "konfigurationsAenderung" aus einer XML-Versorgungsdatei ein (mit Start und Endtag).
private  ConfigurationObjectProperties parseConfigurationObject()
          Liest aus einer XML-Versorgungsdatei eine "konfigurationsObjekt" aus.
private  ConfigurationDataField parseDataField()
          Liest ein "datenfeld"-Objekt aus einer XML-Datei und erzeugt daraus ein Java-Objekt.
private  ConfigurationDataList parseDataList()
          Liest ein "datenliste" Objekt aus der XML-Datei und gibt es als Java-Objekt zurück.
private  List<DatasetElement> parseDatasetElements()
           
private  ConfigurationData parseDate()
          Liest ein "datum" aus der XML-Datei
private  SystemObjectInfo parseInfo()
          Liest ein Element "info" ein, siehe K2S.DTD.
private  String parseInfoText()
          Liest die Kurzinformation oder die Beschreibung ein.
private  ConfigurationObjectProperties parseSetDefinition()
          Liest aus einer XML-Versorgungsdatei eine "mengenDefinition" aus.
private  ConfigurationObjectProperties parseTypeDefinition()
          Liest aus einer XML-Versorgungsdatei eine "typDefinition" aus.
 
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

_saxPullAdapter

final SaxPullAdapter _saxPullAdapter

_xmlStream

PullableEventStream _xmlStream
Constructor Detail

ConfigAreaParser

public ConfigAreaParser()
                 throws ParserConfigurationException,
                        SAXException
Throws:
ParserConfigurationException
SAXException
Method Detail

parse

public ConfigurationAreaProperties parse(File areaFile)
                                  throws SAXException
Parameters:
areaFile - Versorungsdatei
Returns:
Objekte, die aus der Versorungsdatei erzeugt wurden und mit Hilfe des Imports in die Konfiguration importiert werden können
Throws:
SAXException - Fehler beim parsen der Versorgungsdatei
IllegalArgumentException - Der Dateiname (ohne die Endung ".xml"), der die Pid des zu importierenden Bereichs darstellt, stimmt nicht mit dem Bereich überein, der durch die Datei importiert werden soll.

parseConfigurationArea

private ConfigurationAreaProperties parseConfigurationArea()
                                                    throws SAXException,
                                                           InterruptedException
Beginnt die XML-Versorgungsdatei zu parsen und erstellt die benötigten Objekte

Returns:
Objekte, die aus der XML-Datei erzeugt wurden und in die Konfiguration importiert werden können
Throws:
SAXException - Fehler beim parsen
InterruptedException - Thread wurde mit Interrupt unterbrochen

parseTypeDefinition

private ConfigurationObjectProperties parseTypeDefinition()
                                                   throws InterruptedException,
                                                          SAXException
Liest aus einer XML-Versorgungsdatei eine "typDefinition" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseAttributegroupDefinition

private ConfigurationObjectProperties parseAttributegroupDefinition()
                                                             throws InterruptedException,
                                                                    SAXException
Liest aus einer XML-Versorgungsdatei eine "attributgruppenDefinition" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseAspectDefinition

private ConfigurationObjectProperties parseAspectDefinition()
                                                     throws InterruptedException,
                                                            SAXException
Liest aus einer XML-Versorgungsdatei eine "aspektDefinition" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseAttributDefinition

private ConfigurationObjectProperties parseAttributDefinition()
                                                       throws InterruptedException,
                                                              SAXException
Liest aus einer XML-Versorgungsdatei eine "attributDefinition" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseAttributeListDefinition

private ConfigurationObjectProperties parseAttributeListDefinition()
                                                            throws InterruptedException,
                                                                   SAXException
Liest aus einer XML-Versorgungsdatei eine "attributlistenDefinition" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseSetDefinition

private ConfigurationObjectProperties parseSetDefinition()
                                                  throws InterruptedException,
                                                         SAXException
Liest aus einer XML-Versorgungsdatei eine "mengenDefinition" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseConfigurationObject

private ConfigurationObjectProperties parseConfigurationObject()
                                                        throws InterruptedException,
                                                               SAXException
Liest aus einer XML-Versorgungsdatei eine "konfigurationsObjekt" aus. Es wird das Anfangs und Endtag entfernt und alle Informationen aus der Datei eingelesen um ein Java-Objekt zu erzeugen.

Returns:
Objekt, das mit Import in die Konfiguration importiert werden kann
Throws:
InterruptedException
SAXException - Fehler beim parsen der Datei

parseDatasetElements

private List<DatasetElement> parseDatasetElements()
                                           throws InterruptedException,
                                                  SAXException
Throws:
InterruptedException
SAXException

parseInfo

private SystemObjectInfo parseInfo()
                            throws SAXException,
                                   InterruptedException
Liest ein Element "info" ein, siehe K2S.DTD. Falls in der Beschreibung Tags zur Textformatierung vorhanden sind, werden diese als String interpretiert und wie normaler Text eingelesen.

Returns:
Objekt, das ein Element "info" darstellt
Throws:
SAXException - Fehler beim parsen
InterruptedException

parseConfigurationChanges

private ConfigurationAreaChangeInformation[] parseConfigurationChanges()
                                                                throws SAXException,
                                                                       InterruptedException
Liest die "konfigurationsAenderung" aus einer XML-Versorgungsdatei ein (mit Start und Endtag).

Returns:
Objekt, das mittels Import in die Konfiguration übernommen werden kann
Throws:
SAXException - Fehler beim parsen
InterruptedException

parseInfoText

private String parseInfoText()
                      throws SAXException,
                             InterruptedException
Liest die Kurzinformation oder die Beschreibung ein. Alles zwischen dem Starttag <kurzinfo> bzw. <beschreibung> und dem Endtag </kurzinfo> bzw. </beschreibung> wird als Text behandelt und steht im erzeugten String.

Returns:
String, der auch HTML/XML-Tags enthalten kann
Throws:
SAXException
InterruptedException

ignoreElementStructure

private StartElementEvent ignoreElementStructure()
                                          throws SAXException,
                                                 InterruptedException
Ignoriert ein Element der XML-Versorgungsdatei.

Returns:
Throws:
SAXException - Fehler beim parsen
InterruptedException

ignoreElementStructureAndWarn

private void ignoreElementStructureAndWarn()
                                    throws SAXException,
                                           InterruptedException
Ignoriert ein Element der XML-Versorgungsdatei und gibt eine Warnung aus.

Throws:
SAXException - Fehler beim parsen
InterruptedException

parseDate

private ConfigurationData parseDate()
                             throws SAXException,
                                    InterruptedException
Liest ein "datum" aus der XML-Datei

Returns:
"datum" als Java-Objekt
Throws:
SAXException
InterruptedException

parseDataList

private ConfigurationDataList parseDataList()
                                     throws SAXException,
                                            InterruptedException
Liest ein "datenliste" Objekt aus der XML-Datei und gibt es als Java-Objekt zurück.

Returns:
s.o.
Throws:
SAXException
InterruptedException

parseDataField

private ConfigurationDataField parseDataField()
                                       throws SAXException,
                                              InterruptedException
Liest ein "datenfeld"-Objekt aus einer XML-Datei und erzeugt daraus ein Java-Objekt.

Returns:
s.o.
Throws:
SAXException
InterruptedException

parseAttribute

private PlainAttributeProperties parseAttribute()
                                         throws SAXException,
                                                InterruptedException
Erzeugt ein attribut Objekt, siehe K2S.DTD. Das Start/End-Tag werden entfernt und alle Attribute und Elemente ausgewertet.

Returns:
Objekt, das einem attribut (siehe K2S.DTD) entspricht
Throws:
SAXException
InterruptedException

parseAttributeList

private ListAttributeProperties parseAttributeList()
                                            throws SAXException,
                                                   InterruptedException
Erzeugt ein attributListe Objekt, siehe K2S.DTD. Das Start/End-Tag werden entfernt und alle Attribute und Elemente ausgewertet.

Returns:
Objekt, das einem attributListe (siehe K2S.DTD) entspricht
Throws:
SAXException
InterruptedException