de.bsvrz.kex.bwsin.konfig
Class Abweichungsliste

java.lang.Object
  extended by de.bsvrz.kex.bwsin.konfig.Abweichungsliste

public class Abweichungsliste
extends Object

Abweichungsliste mit der Zusammenfassung der Importoperation.

Version:
$Id: Abweichungsliste.java 20866 2009-12-22 15:39:06Z gieseler $
Author:
BitCtrl Systems GmbH, Gieseler

Nested Class Summary
private  class Abweichungsliste.ReferenzProblem
          Interne Repräsentation eines gefundenen Netz-Referenzproblemes.
private static class Abweichungsliste.ReferenzProblemArt
          Art des Referezierungsproblems.
 
Field Summary
private  SINAktuelleKonfiguration aktuelleKonfiguration
          Modul AktuelleKonfiguration.
static int ASP
          Index für den Zugriff auf den Aspekt.
static int ATG
          Index für den Zugriff auf die Attributgruppe.
static int ATT
          Index für den Zugriff auf den Attributnamen.
private  de.bsvrz.sys.funclib.debug.Debug debug
          DebugLogger für Debug-Ausgaben.
private  List<String> geaenderteObjekte
          Die Liste der geänderten Objekte.
private  List<String> geloeschteObjekte
          Die Liste der gelöschten Objekte.
private  File kbDatei
          Die durch den Import erzeugte Datei.
private  Map<String,KonfigurationsObjekt> neueKonfiguration
          Die durch den Import erzeugten Konfigurationsobjekte.
private  List<String> neueObjekte
          Die Liste der neu erzeugten Objekte.
private  List<Abweichungsliste.ReferenzProblem> referenzProbleme
          Die Referenzprobleme.
static int TYP
          Index für den Zugriff auf den Objekttyp.
 
Constructor Summary
Abweichungsliste(SINAktuelleKonfiguration aktuelleKonfiguration, Map<String,KonfigurationsObjekt> neueKonfiguration, File kbfile)
          Erzeugt eine Instanz.
 
Method Summary
 void erstellen()
          Führt das Erstellen der Abweichungsliste aus.
 void inDatei(String dateiname)
          Gibt die Abweichungsliste als Text in eine Datei aus.
 void print(PrintStream ps)
          Ausgabe der Abweichungsliste in textueller Form auf einen Stream.
private  void ueberpruefeGleichheit(List<String> objekte)
          Ü,berprüft eine Liste von Objekten auf Gleichheit mit den Objekten gleicher PID der aktuellen Konfiguration.
private  void ueberpruefeNetzreferenz(Object[] netzreferenz)
          Ü,berprüft eine Netzreferenz der aktuellen Konfiguration.
private  void ueberpruefeNetzreferenzen()
          Ü,berprüft die Netzreferenzen der aktuellen Konfiguration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYP

public static final int TYP
Index für den Zugriff auf den Objekttyp.

See Also:
Constant Field Values

ATG

public static final int ATG
Index für den Zugriff auf die Attributgruppe.

See Also:
Constant Field Values

ASP

public static final int ASP
Index für den Zugriff auf den Aspekt.

See Also:
Constant Field Values

ATT

public static final int ATT
Index für den Zugriff auf den Attributnamen.

See Also:
Constant Field Values

debug

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


neueObjekte

private List<String> neueObjekte
Die Liste der neu erzeugten Objekte.


geloeschteObjekte

private List<String> geloeschteObjekte
Die Liste der gelöschten Objekte.


geaenderteObjekte

private final List<String> geaenderteObjekte
Die Liste der geänderten Objekte.


aktuelleKonfiguration

private final SINAktuelleKonfiguration aktuelleKonfiguration
Modul AktuelleKonfiguration.


neueKonfiguration

private final Map<String,KonfigurationsObjekt> neueKonfiguration
Die durch den Import erzeugten Konfigurationsobjekte.


referenzProbleme

private final List<Abweichungsliste.ReferenzProblem> referenzProbleme
Die Referenzprobleme.


kbDatei

private final File kbDatei
Die durch den Import erzeugte Datei.

Constructor Detail

Abweichungsliste

public Abweichungsliste(SINAktuelleKonfiguration aktuelleKonfiguration,
                        Map<String,KonfigurationsObjekt> neueKonfiguration,
                        File kbfile)
Erzeugt eine Instanz.

Parameters:
aktuelleKonfiguration - Instanz zum Zugriff auf die aktuelle Konfiguration
neueKonfiguration - Die durch den Import erzeugten Konfigurationsobjekte
kbfile - Datei, in der der neue KB gespeichert wurde
Method Detail

erstellen

public void erstellen()
Führt das Erstellen der Abweichungsliste aus.


inDatei

public void inDatei(String dateiname)
             throws ImportException
Gibt die Abweichungsliste als Text in eine Datei aus.

Parameters:
dateiname - zu schreibende Datei
Throws:
ImportException - bei Ausnahmen

print

public void print(PrintStream ps)
Ausgabe der Abweichungsliste in textueller Form auf einen Stream.

Parameters:
ps - Ausgabestream

ueberpruefeGleichheit

private void ueberpruefeGleichheit(List<String> objekte)
Ü,berprüft eine Liste von Objekten auf Gleichheit mit den Objekten gleicher PID der aktuellen Konfiguration. Als gleich werden Objekte angesehen, deren Koordinaten sich nicht mehr als eine definierte Abweichung unterscheiden. Die max. Abweichung ist durch die Property SINProperties.PROP_KEY_MAX_ABWEICHUNG festgelegt. Wird eine Abweichung festgestellt, wird das entsprechende Objekt in der Liste der geäderten Objekte gespeichert.

Parameters:
objekte - die Liste der zu überprüfenden Objekte

ueberpruefeNetzreferenz

private void ueberpruefeNetzreferenz(Object[] netzreferenz)
                              throws ImportException
Ü,berprüft eine Netzreferenz der aktuellen Konfiguration. Alle festgestellten Referenzprobleme der aktuellen Konfiguration bezüglich des neu erzeugten Konfigurationsbereiches werden in einer Liste gespeichert. In Erweiterung der Afo werden zusätzlich die Offsets auf Gültigkeit geprüft.

Parameters:
netzreferenz - eine Netzreferenz
Throws:
ImportException - bei Ausnahmen

ueberpruefeNetzreferenzen

private void ueberpruefeNetzreferenzen()
Ü,berprüft die Netzreferenzen der aktuellen Konfiguration. Die zu prüfenden Referenzen sind über eine java-Datei konfiguriert, die mit dem Aufrufparameter netzReferenzen übergeben werden kann und in der Property SINProperties.PROP_KEY_REFERENZEN gespeichert ist. In dieser Datei sind die zu prüfenden Objekttypen, Attributgruppen und Attribute in Form einer Tabelle definiert.