de.bsvrz.sys.startstopp.skriptvew
Class GlobaleDaten

java.lang.Object
  extended by de.bsvrz.sys.startstopp.skriptvew.GlobaleDaten

public class GlobaleDaten
extends java.lang.Object

Klasse die die globalen Daten der StartStopp Datei beinhaltet. Klasse wird als Singelton ausgeführt.

Author:
Dambach Werke GmbH

Nested Class Summary
static class GlobaleDaten.Inner
          Innere Klasse zum Sicherstellen, dass wirklich nur eine Instanz der Klasse gebildet wird
 
Field Summary
private  boolean _debug
           
private static de.bsvrz.sys.funclib.debug.Debug logger
          Debug
private  java.util.List<IGlobaleDatenListener> m_angemeldeteListener
          Liste mit den Klassen dich sich als Listener auf die Klasse angemeldet haben.
private  java.util.HashMap<java.lang.String,java.lang.String> m_dateiAlias
          Zuordnung der Alias Bezeichnung der Protokolldateien zu den richtigen Daten.
private  java.util.HashMap<java.lang.String,ProtokollDatei> m_dateien
          Verwaltung der Protokolldateien.
private  java.lang.String m_davAdresse
          Adresse des DaV mit dem sich die StartStopp Applikation verbinden soll
private  java.lang.String m_davBenutzer
          Benutzername mit dem sich die StartStopp Applikation mit dem DaV verbinden soll
private  java.lang.String m_davPasswort
          Passwort mit dem sich die StartStopp Applikation mit dem DaV verbinden soll
private  int m_davPort
          Port des DaV mit dem sich die StartStopp Applikation verbinden soll
private  java.util.TreeMap<java.lang.String,StartStoppEigenschaften> m_eigenschaften
          Eigenschaften der StartStopp Blöcke.
private  java.util.List<Kernsystem> m_kernSystem
          Liste mit den Prozessen, die zum Kernsystem gehören
private  java.util.List<MakroGlobal> m_makroGlobal
          Liste der Makros
private  java.util.HashMap<java.lang.String,RechnerGlobal> m_rechner
          Verwaltung der globalen Rechner.
private  java.util.HashMap<java.lang.String,java.lang.String> m_rechnerAlias
          Zuordnung der Alias Bezeichnung der globalen Rechner zu den richtigen Daten.
private  java.lang.String m_usvPid
          PID der USV deren Statusmeldungen die StartStopp Applikation auswerten soll
 
Constructor Summary
private GlobaleDaten()
          Konstruktor der Klasse
 
Method Summary
 void addKernSystem(Kernsystem kernSystem)
          Methode fügt einen Prozess zu der Liste der Kernsysteme zu
 void addListener(IGlobaleDatenListener listener)
          Methode zum Hinzufügen eines Listeners
 void addMakroGlobal(java.lang.String id, java.lang.String name, java.lang.String wert)
          Hinzufügen eines Makros zur Liste der globalen Makros
 void addProtokollDatei(java.lang.String startStoppBlockId, java.lang.String alias, java.lang.String nameDatei, long groesse)
          Methode zum Definieren einer Protokolldatei.
 void addRechner(java.lang.String startStoppBlockId, java.lang.String alias, java.lang.String tcp)
          Methode zum Definieren eines Rechners.
private  void benachrichtigeListener()
          Methode mit der die Klasse alle bei ihr angemeldeten Listener über die Änderung der globalen Daten informiert.
 java.util.List<ProtokollDatei> getAlleProtokollDateien(java.lang.String startStoppId)
          Methode liefert alle ProtokollDateien die in einem StartStopp Block definiert waren
 java.util.List<RechnerGlobal> getAlleRechner()
          Methode liefert alle Rechner die der StartStopp Applikation bekannt sind
 java.util.List<RechnerGlobal> getAlleRechner(java.lang.String startStoppId)
          Methode liefert alle Rechner die in einem StartStopp Block definiert waren
 java.lang.String getDavAdresse()
           
 java.lang.String getDavBenutzer()
           
 java.lang.String getDavPasswort()
           
 int getDavPort()
           
 java.util.TreeMap<java.lang.String,StartStoppEigenschaften> getEigenschaften()
           
static GlobaleDaten getInstanz()
          Liefert die einzige Instanz der Klasse
 java.lang.String getIpAdresse(java.lang.String startStoppId, java.lang.String alias)
          Methode liefert zu einer übergebenen Aliasbezeichnung eines Rechners die dazugehörende TCP/IP Adresse die in dem globalen Teil der StartStopp.xml definiert wurde.
 java.util.List<Kernsystem> getKernSystem()
           
 Kernsystem getKernsystemInkarnation(java.lang.String inkarnation)
          Methode liefert die Kernsystemeinstellungen der Inkarnatione zurück, deren Name übergeben wird
 java.util.List<MakroGlobal> getMakroGlobal()
           
 ProtokollDatei getProtokollDateiByAlias(java.lang.String startStoppBlockId, java.lang.String alias)
          Methode liefert die Eigenschaften einer Protokolldatei durch Übergabe des Alias einer Datei.
 ProtokollDatei getProtokollDateiByName(java.lang.String dateiName)
          Methode liefert die Eigenschaften einer Protokolldatei durch Übergabe des Namens einer Datei.
 StartStoppEigenschaften getStartStoppEigenschaften(java.lang.String id)
          Methode zum Lesen der Eigenschaften eines StartStopp Blocks
 java.lang.String getUsvPid()
           
 void initialisiereGlobaleDaten(java.lang.String startStoppBlockId, org.jdom.Element root, long absender, long simulationsVariante)
          Methode zum Einlesen der globalen Daten aus einer XML-Struktur.
 boolean inkarnationGehoertZumKernsystem(java.lang.String name)
          Methode prüft, on eine Inkarantion zum Kernsystem gehört.
 boolean isKernsystem(java.lang.String inkarnation)
          Methode stellt fest, ob eine Inkarnation zum Kensystem gehört oder nicht
 void removeAllListener()
          Methode zum Löschen der Listener
 void removeListener(IGlobaleDatenListener listener)
          Methode zum Entfernen eines Listeners
 void setDavAdresse(java.lang.String davAdresse)
           
 void setDavBenutzer(java.lang.String davBenutzer)
           
 void setDavPasswort(java.lang.String davPasswort)
           
 void setDavPort(int davPort)
           
 void setEigenschaften(java.util.TreeMap<java.lang.String,StartStoppEigenschaften> eigenschaften)
           
 void setKernSystem(java.util.List<Kernsystem> kernSystem)
           
 void setMakroGlobal(java.util.List<MakroGlobal> makroGlobal)
           
 void setUsvPid(java.lang.String usvPid)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final de.bsvrz.sys.funclib.debug.Debug logger
Debug


_debug

private final boolean _debug
See Also:
Constant Field Values

m_kernSystem

private java.util.List<Kernsystem> m_kernSystem
Liste mit den Prozessen, die zum Kernsystem gehören


m_davAdresse

private java.lang.String m_davAdresse
Adresse des DaV mit dem sich die StartStopp Applikation verbinden soll


m_davPort

private int m_davPort
Port des DaV mit dem sich die StartStopp Applikation verbinden soll


m_davBenutzer

private java.lang.String m_davBenutzer
Benutzername mit dem sich die StartStopp Applikation mit dem DaV verbinden soll


m_davPasswort

private java.lang.String m_davPasswort
Passwort mit dem sich die StartStopp Applikation mit dem DaV verbinden soll


m_usvPid

private java.lang.String m_usvPid
PID der USV deren Statusmeldungen die StartStopp Applikation auswerten soll


m_makroGlobal

private java.util.List<MakroGlobal> m_makroGlobal
Liste der Makros


m_rechner

private java.util.HashMap<java.lang.String,RechnerGlobal> m_rechner
Verwaltung der globalen Rechner. Die Daten der Rechner werden in einer Hashmap abgelegt. Als Key dient dabei die TCP/IP Adresse des Rechners. Als Wert der Hashmap werden die Rechnereigenschaften eingetragen.


m_rechnerAlias

private java.util.HashMap<java.lang.String,java.lang.String> m_rechnerAlias
Zuordnung der Alias Bezeichnung der globalen Rechner zu den richtigen Daten. Da es möglich ist, dass unterschiedliche StartStopp Blöcke mit den identischen Aliasbezeichnungen unterschiedliche Rechner referenzieren wollen, bzw. mit unterschiedlichen Aliasbezeichnungen die selben Rechner referenzieren wollen, wird die Zuordnung Alias - realer Rechner in einer Hashmap abgelegt. Als Key wird in dieser Hashmap die Kombination StartStoppBlock Id ergänzt mit der Aliasbezeichnung des Rechners verwendet. Als Wert in der Hashmap wird die TCP/IP Adresse verwendet. Die Eigenschaften des Rechners werden in der Klassenvariable m_rechner festgelegt.


m_dateien

private java.util.HashMap<java.lang.String,ProtokollDatei> m_dateien
Verwaltung der Protokolldateien. Die Daten der Protokolldateien werden in einer Hashmap abgelegt. Als Key dient dabei der richtige Dateiname. Als Wert der Hashmap werden die Dateieigenschaften eingetragen.


m_dateiAlias

private java.util.HashMap<java.lang.String,java.lang.String> m_dateiAlias
Zuordnung der Alias Bezeichnung der Protokolldateien zu den richtigen Daten. Da es möglich ist, dass unterschiedliche StartStopp Blöcke mit den identischen Aliasbezeichnungen unterschiedliche reale Dateien referenzieren wollen, bzw. mit unterschiedlichen Aliasbezeichnungen die selben realen Dateien referenzieren wollen, wird die Zuordnung Alias - reale Datei in einer Hashmap abgelegt. Als Key wird in dieser Hashmap die Kombination StartStoppBlock Id ergänzt mit der Aliasbezeichnung der Datei verwendet. Als Wert in der Hashmap wird der reale Dateiname verwendet. Die Eigenschaften der Datei (z.B. max Grösse). werden in der Klassenvariable m_dateien festgelegt.


m_eigenschaften

private java.util.TreeMap<java.lang.String,StartStoppEigenschaften> m_eigenschaften
Eigenschaften der StartStopp Blöcke. Als Key wird die ID der StartStopp Blöcke verwendet


m_angemeldeteListener

private java.util.List<IGlobaleDatenListener> m_angemeldeteListener
Liste mit den Klassen dich sich als Listener auf die Klasse angemeldet haben. Diese Klassen werden informiert wenn sich Änderungen in den globalen Daten ereignet haben. Insbesondere ist dies wichtig wenn sich die Liste der globalen Rechner geändert hat, da sich die Klasse DaV Kommunikation bei den neuen Rechnern zum Empfang der Prozessinformationen anmelden muss.

Constructor Detail

GlobaleDaten

private GlobaleDaten()
Konstruktor der Klasse

Method Detail

getInstanz

public static GlobaleDaten getInstanz()
Liefert die einzige Instanz der Klasse

Returns:
einzige Instanz der Klasse

getDavAdresse

public java.lang.String getDavAdresse()
Returns:
liefert die Klassenvariable m_davAdresse zurück

setDavAdresse

public void setDavAdresse(java.lang.String davAdresse)
Parameters:
davAdresse - setzt die Klassenvariable m_davAdresse

getDavBenutzer

public java.lang.String getDavBenutzer()
Returns:
liefert die Klassenvariable m_davBenutzer zurück

setDavBenutzer

public void setDavBenutzer(java.lang.String davBenutzer)
Parameters:
davBenutzer - setzt die Klassenvariable m_davBenutzer

getDavPasswort

public java.lang.String getDavPasswort()
Returns:
liefert die Klassenvariable m_davPasswort zurück

setDavPasswort

public void setDavPasswort(java.lang.String davPasswort)
Parameters:
davPasswort - setzt die Klassenvariable m_davPasswort

getDavPort

public int getDavPort()
Returns:
liefert die Klassenvariable m_davPort zurück

setDavPort

public void setDavPort(int davPort)
Parameters:
davPort - setzt die Klassenvariable m_davPort

getEigenschaften

public java.util.TreeMap<java.lang.String,StartStoppEigenschaften> getEigenschaften()
Returns:
liefert die Klassenvariable m_eigenschaften zurück

setEigenschaften

public void setEigenschaften(java.util.TreeMap<java.lang.String,StartStoppEigenschaften> eigenschaften)
Parameters:
eigenschaften - setzt die Klassenvariable m_eigenschaften

getKernSystem

public java.util.List<Kernsystem> getKernSystem()
Returns:
liefert die Klassenvariable m_kernSystem zurück

setKernSystem

public void setKernSystem(java.util.List<Kernsystem> kernSystem)
Parameters:
kernSystem - setzt die Klassenvariable m_kernSystem

setMakroGlobal

public void setMakroGlobal(java.util.List<MakroGlobal> makroGlobal)
Parameters:
makroGlobal - setzt die Klassenvariable m_makroGlobal

isKernsystem

public boolean isKernsystem(java.lang.String inkarnation)
Methode stellt fest, ob eine Inkarnation zum Kensystem gehört oder nicht

Parameters:
inkarnation - Name der Inkarnation
Returns:
true: Inkarnation gehört zum Kernsystem, false: Inkarnation gehört nicht zum Kernsystem

getKernsystemInkarnation

public Kernsystem getKernsystemInkarnation(java.lang.String inkarnation)
Methode liefert die Kernsystemeinstellungen der Inkarnatione zurück, deren Name übergeben wird

Parameters:
inkarnation - Name der Inkarnation
Returns:
wenn Inkarnation zum kernsystem gehört werden die Kernsystemeinstellungen zurückgegeben, sonst null

addKernSystem

public void addKernSystem(Kernsystem kernSystem)
Methode fügt einen Prozess zu der Liste der Kernsysteme zu

Parameters:
kernSystem - Name des Prozesses

getMakroGlobal

public java.util.List<MakroGlobal> getMakroGlobal()
Returns:
liefert die Klassenvariable m_makroGlobal zurück

addMakroGlobal

public void addMakroGlobal(java.lang.String id,
                           java.lang.String name,
                           java.lang.String wert)
Hinzufügen eines Makros zur Liste der globalen Makros

Parameters:
id - Id des StartStopp Blocks zu dem die Makros gehören
name - Name des Makros
wert - Wert des Makros

getProtokollDateiByAlias

public ProtokollDatei getProtokollDateiByAlias(java.lang.String startStoppBlockId,
                                               java.lang.String alias)
Methode liefert die Eigenschaften einer Protokolldatei durch Übergabe des Alias einer Datei. Da die Alias in den unterschiedliche StartStopp Blöcken unterschiedlich definiert sind, muss hier die ID des StartStopp Blocks angegeben werden.

Parameters:
startStoppBlockId - Id des StartStoppBlocks
alias - Alias Bezeichnung
Returns:
Eigenschaften der Protokolldatei wenn vorhanden, sonst null

getProtokollDateiByName

public ProtokollDatei getProtokollDateiByName(java.lang.String dateiName)
Methode liefert die Eigenschaften einer Protokolldatei durch Übergabe des Namens einer Datei.

Parameters:
dateiName - Name der Datei
Returns:
Eigenschaften der Protokolldatei wenn vorhanden, sonst null

addProtokollDatei

public void addProtokollDatei(java.lang.String startStoppBlockId,
                              java.lang.String alias,
                              java.lang.String nameDatei,
                              long groesse)
Methode zum Definieren einer Protokolldatei. Wird eine Datei (nicht der Alias !!!) mehrfach im globalen Teil definiert, so wird nur die 1. Definition verwendet. Weitere Definitionen werden ignoriert.

Parameters:
startStoppBlockId - Id des StartStoppBlocks zu dem diese Definition gehört
alias - Alias der Datei
nameDatei - richtiger Dateiname der Datei
groesse - max. Grösse der Datei in MB

addRechner

public void addRechner(java.lang.String startStoppBlockId,
                       java.lang.String alias,
                       java.lang.String tcp)
Methode zum Definieren eines Rechners. Wird ein Rechner (nicht der Alias !!!) mehrfach im globalen Teil definiert, so wird nur die 1. Definition verwendet. Weitere Definitionen werden ignoriert.

Parameters:
startStoppBlockId - Id des StartStoppBlocks zu dem diese Definition gehört
alias - Alias des Rechners
tcp - TCP/IP Adresse des Rechners

getUsvPid

public java.lang.String getUsvPid()
Returns:
liefert die Klassenvariable m_usvPid zurück

setUsvPid

public void setUsvPid(java.lang.String usvPid)
Parameters:
usvPid - setzt die Klassenvariable m_usvPid

initialisiereGlobaleDaten

public void initialisiereGlobaleDaten(java.lang.String startStoppBlockId,
                                      org.jdom.Element root,
                                      long absender,
                                      long simulationsVariante)
Methode zum Einlesen der globalen Daten aus einer XML-Struktur. Nicht behandelt werden in dieser Methode die Makros. Diese wurden bereits in der Klasse SkriptVerwaltung bearbeitet. Bei XML-Strukturen die über den DaV empfangen wurden (atg.startStoppAnfrage) werden nur die Items "rechner" und "protokolldatei" ausgewertet, die anderen Items werden ignoriert.

Parameters:
startStoppBlockId - Id des StartStopp Blcoks aus dem die Daten sind
root - Wurzelelement der XML-Struktur
absender - Auslöser der Aktivität
simulationsVariante - Simulationsvariante des StartStopp Blocks

inkarnationGehoertZumKernsystem

public boolean inkarnationGehoertZumKernsystem(java.lang.String name)
Methode prüft, on eine Inkarantion zum Kernsystem gehört.

Parameters:
name - Name der Inkarnation
Returns:
true: Inkarnation gehört zum Kernsystem, false: Inkarnation gehört nicht zum Kernsystem

getStartStoppEigenschaften

public StartStoppEigenschaften getStartStoppEigenschaften(java.lang.String id)
Methode zum Lesen der Eigenschaften eines StartStopp Blocks

Parameters:
id - StartStopp Block Id des StartStopp Blocks der eingelsen werden soll
Returns:
Eigenschaften des StartStopp Blocks

getIpAdresse

public java.lang.String getIpAdresse(java.lang.String startStoppId,
                                     java.lang.String alias)
Methode liefert zu einer übergebenen Aliasbezeichnung eines Rechners die dazugehörende TCP/IP Adresse die in dem globalen Teil der StartStopp.xml definiert wurde. Wird ein Alias übergeben der nicht Teil der Definition der globalen Daten ist, wird null zuückgeliefert. Wird als Alias "" übergeben, so wird die lokalte IP Adresse zurückgegeben.

Parameters:
alias - Aliasbezeichnung des Rechners
Returns:
IP-Adresse als String oder null

getAlleProtokollDateien

public java.util.List<ProtokollDatei> getAlleProtokollDateien(java.lang.String startStoppId)
Methode liefert alle ProtokollDateien die in einem StartStopp Block definiert waren

Parameters:
startStoppId - Id des StartStoppBlocks
Returns:
ProtokollDateien die in einem StartStopp Block definiert waren

getAlleRechner

public java.util.List<RechnerGlobal> getAlleRechner(java.lang.String startStoppId)
Methode liefert alle Rechner die in einem StartStopp Block definiert waren

Parameters:
startStoppId - Id des StartStoppBlocks
Returns:
Rechner die in einem StartStopp Block definiert waren

getAlleRechner

public java.util.List<RechnerGlobal> getAlleRechner()
Methode liefert alle Rechner die der StartStopp Applikation bekannt sind

Returns:
alle bekannten Rechner

addListener

public void addListener(IGlobaleDatenListener listener)
Methode zum Hinzufügen eines Listeners

Parameters:
listener - Listener der hinzugefügt werden soll

removeListener

public void removeListener(IGlobaleDatenListener listener)
Methode zum Entfernen eines Listeners

Parameters:
listener - Listener der entfernt werden soll

benachrichtigeListener

private void benachrichtigeListener()
Methode mit der die Klasse alle bei ihr angemeldeten Listener über die Änderung der globalen Daten informiert.


removeAllListener

public void removeAllListener()
Methode zum Löschen der Listener