de.bsvrz.sys.startstopp.skriptvew
Class StartStoppApp

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

public class StartStoppApp
extends java.lang.Object

Hauptklasse der StartStopp Applikation. Als Aufrufparameter sind erforderlich: -startStoppKonfiguration: Verzeichnis in dem sich eine Datei StartStopp.xml befindet oder in das eine Datei "hineinversioniert" werden soll
- verisonieren: (optional) Name (inklusive Pfad) einer XML-Datei die als neue StartStopp Datei in das im Parameter "-startStoppKonfiguration" angegebenen Verzeichnis versioniert werden soll.
-port: (optional) Portnummer für die Benutzeroberfläche via Telnet. Dieser Parameter ist optional. Wird kein Port übergeben, so wird keine Telnetverbindung gestartet
-inkarnationsName: (optional) Inkarantionsname der StartStoppApplikation, nur notwendig, wenn auf einem Rechner mehrere StartStopp Applikation laufen
-reset=true: (optional) Startet StartStopp auch dann, wenn der Merker, dass schon eine StartStopp Applikation mit diesem Inkarantionsnamen läuft noch gesetzt ist.
-ausgabe=true: (optional) Die Standardausgaben der gestarteten Applikationen werden zusätzlich an der Konsole von StartStopp ausgegeben.
-simVariante: (optional) Simulationsvariante unter der die Applikation dieser StartStopp Konfiguration gestartet werden sollen. Ohne Parameter: Simulationsvariante 0
-urlUmsetzen=false: URL-Umsetzung in Makros ausschalten (Grundeinstellung ist eingeschaltet)
-rechner: (optional) Pid des Rechners unter dem die StartStopp Informationen publiziert werden. Ohne Parameter: StartStopp Applikation publiziert ihre Informationen unter der Pid des Rechners, auf den die StartStopp Applikation gestartet wurde. Sonderfall: wird als Rechner ein Leerzeichen (" ") übergeben, werden keine Rechner spezifischen Attributgruppen versand.
-adresse: (optional) Adresse des Rechners die in den Ids der Inkarnationen verwendet wird. Ohne Parameter: StartStopp Applikation verwendet die TCP/IP Adresse des Rechners, auf den die StartStopp Applikation gestartet wurde.

Author:
Dambach Werke GmbH

Field Summary
static java.lang.StringBuilder _applicationLabel
          Die ApplikationsKennung wird hier gespeichert.
private static de.bsvrz.sys.funclib.debug.Debug logger
          Debug
private static boolean m_ausgabe
          Sollen die Standardausgaben der gestarteten Programme zusätzlich an der Konsole ausgegeben werden oder nicht
private static int m_ausgabeFormatierung
          Formatierung der Ausgabe in der Übersicht, default keine.
private static boolean m_ausgabeLetzteStartzeit
          Soll der letzte Startzeitpunkt in der Übersicht ausgegeben werden, default nein.
private static boolean m_ausgabeNachstarts
          Soll die Anzahl der Nachstarts in der Übersicht ausgegeben werden, default nein.
private static boolean m_beendeStartStopp
          Merker, dass StartStopp beendet wird
private static boolean m_fehlerAusgabe
          Sollen die Fehlerausgaben der gestarteten Programme zusätzlich an der Konsole ausgegeben werden oder nicht
private static java.lang.String m_ipAdresse
          IP Adresse eines Rechners die in den Ids der Inkarnationen verwendet wird.
private static NutzerSchnittstelle m_nutzerSchnittstelle
          Singleton Instanz für Klasse NutzerSchnittstelle
private static java.lang.String m_pidRechner
          Pid eines Rechners der für die Publizierung der StartStopp Informationen verwendet werden soll (statt der PID des lokalen Rechners)
private static java.lang.String m_port
          Port für Telnet Verbindung
private static ProzessVerwaltung m_prozessVerwaltung
          Singleton Instanz für Klasse ProzessVerwaltung
private static java.lang.String m_rechnerAdresse
          IP-Adresse des lokalen Rechners
private static java.lang.String m_rechnerName
          Name des lokalen Rechners
private static boolean m_reset
          Soll Kennzeichen das StartStopp schon läuft zurückgesetzt werden
private static java.lang.String m_simVariante
          Simulationsvariante unter der die StartStopp Applikation die Applikationen der startStopp.xml Datei starten soll.
private static java.lang.String m_startStoppInkarnationsName
          Inkarnationsname der StartStopp Applikation
private static java.lang.String m_startStoppKonfiguration
          Verzeichnis in der sich eine StartStopp Datei befindet
private static StartStoppPräferenz m_startStoppSperren
          Instanz der Klasse zum Verhindern eines mehrfachen Starts der StartStopp Applikation
private static StartStoppVerwaltung m_startStoppVerwaltung
          Singleton Instanz für Klasse StartStoppVerwaltung
private static boolean m_testBetrieb
          Methode zum Einstellen eines Testbetriebs.
private static boolean m_urlUmsetzen
          Sollen URLs in Makros in File-Pfade umgesetzt werden oder nicht, default ja.
private static java.lang.String m_versionieren
          Datei die versioniert werden soll
private static int m_wartezeitErsteAnmeldung
          Wartezeit in Sekunden vor der ersten Anmeldung am DAV wg.
private static int m_wartezeitZwischenAnmeldungen
          Wartezeit in Sekunden zwischen den Anmeldungsversuchen am DAV wg.
 
Constructor Summary
StartStoppApp()
           
 
Method Summary
static void beendeStartStopp(java.lang.String text)
          Methode zum Beenden von StartStopp im Normalfall.
static void beendeStartStoppWegenFehler(java.lang.String text)
          Methode zum Beenden von StartStopp im Fehlerfall.
 void bestimmeRechnerAdresse()
          Methode bestimmt die IP-Adresse des Rechners, Methode wird nur für die JUNIT Test benötigt
static java.lang.StringBuilder createApplicationLabel(java.lang.String[] args)
          Diese Methode wandelt die Aufrufargumente in einen String für die ApplikationsKennung um.
static int getAusgabeFormatierung()
           
static NutzerSchnittstelle getNutzerSchnittstelle()
           
static java.lang.String getPort()
           
static java.lang.String getRechnerAdresse()
           
static java.lang.String getRechnerName()
           
static java.lang.String getStartStoppInkarnationsName()
           
static java.lang.String getStartStoppKonfiguration()
           
static java.lang.String getVersionieren()
           
static int getWartezeitErsteAnmeldung()
           
static int getWartezeitZwischenAnmeldungen()
           
static boolean isAusgabeAufKonsole()
           
static boolean isAusgabeLetzteStartzeit()
           
static boolean isAusgabeNachstarts()
           
static boolean isFehlerAusgabeAufKonsole()
           
static boolean isStartStoppWirdBeendet()
          Methode prüft ob die StartStopp Applikation beendet wird
static boolean isTestBetrieb()
          Methode prüft ob sich die Applikation im Testbetrieb befindet.
static void main(java.lang.String[] args)
          Hauptprogramm der StartStopp Applikation
static void setStartStoppInkarnationsName(java.lang.String startStoppInkarnationsName)
          Methode setzt den Inkarnationsnamen der Applikation
static void setStartStoppKonfiguration(java.lang.String startStoppKonfiguration)
          Methode setzt die Variable startStoppKonfiguration
static void setTestBetrieb(boolean testBetrieb)
          Methode setzt den Testbetrieb bzw. schaltet ihn aus
private static void starteTelnet(java.lang.String telnetPort)
          Methode zum Starten der Telnetverbindung auf einem übergebenen Port.Wird als Port null oder eine fehlerhafter Wert übergeben, wird keine Telnetverbindung aufgebaut.
static java.lang.String urlUmsetzen(java.lang.String pfadAlsUrl)
          Setzt den übergebenen URL-Pfad in einen File-Pfad um, wenn ein URL-Pfad übergeben wurde.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

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


m_startStoppKonfiguration

private static java.lang.String m_startStoppKonfiguration
Verzeichnis in der sich eine StartStopp Datei befindet


m_versionieren

private static java.lang.String m_versionieren
Datei die versioniert werden soll


m_port

private static java.lang.String m_port
Port für Telnet Verbindung


m_prozessVerwaltung

private static ProzessVerwaltung m_prozessVerwaltung
Singleton Instanz für Klasse ProzessVerwaltung


m_startStoppVerwaltung

private static StartStoppVerwaltung m_startStoppVerwaltung
Singleton Instanz für Klasse StartStoppVerwaltung


m_nutzerSchnittstelle

private static NutzerSchnittstelle m_nutzerSchnittstelle
Singleton Instanz für Klasse NutzerSchnittstelle


m_startStoppSperren

private static StartStoppPräferenz m_startStoppSperren
Instanz der Klasse zum Verhindern eines mehrfachen Starts der StartStopp Applikation


m_rechnerAdresse

private static java.lang.String m_rechnerAdresse
IP-Adresse des lokalen Rechners


m_rechnerName

private static java.lang.String m_rechnerName
Name des lokalen Rechners


m_pidRechner

private static java.lang.String m_pidRechner
Pid eines Rechners der für die Publizierung der StartStopp Informationen verwendet werden soll (statt der PID des lokalen Rechners)


m_ipAdresse

private static java.lang.String m_ipAdresse
IP Adresse eines Rechners die in den Ids der Inkarnationen verwendet wird. (statt der IP-Adresse des lokalen Rechners)


m_startStoppInkarnationsName

private static java.lang.String m_startStoppInkarnationsName
Inkarnationsname der StartStopp Applikation


m_simVariante

private static java.lang.String m_simVariante
Simulationsvariante unter der die StartStopp Applikation die Applikationen der startStopp.xml Datei starten soll.


m_reset

private static boolean m_reset
Soll Kennzeichen das StartStopp schon läuft zurückgesetzt werden


m_ausgabe

private static boolean m_ausgabe
Sollen die Standardausgaben der gestarteten Programme zusätzlich an der Konsole ausgegeben werden oder nicht


m_fehlerAusgabe

private static boolean m_fehlerAusgabe
Sollen die Fehlerausgaben der gestarteten Programme zusätzlich an der Konsole ausgegeben werden oder nicht


_applicationLabel

public static java.lang.StringBuilder _applicationLabel
Die ApplikationsKennung wird hier gespeichert. Sie besteht aus den Aufrufargumenten, dem Klassennamen (wie beim Debug) und der Pid des lokalen Verantwortlichen.


m_beendeStartStopp

private static boolean m_beendeStartStopp
Merker, dass StartStopp beendet wird


m_urlUmsetzen

private static boolean m_urlUmsetzen
Sollen URLs in Makros in File-Pfade umgesetzt werden oder nicht, default ja.


m_ausgabeNachstarts

private static boolean m_ausgabeNachstarts
Soll die Anzahl der Nachstarts in der Übersicht ausgegeben werden, default nein.


m_ausgabeLetzteStartzeit

private static boolean m_ausgabeLetzteStartzeit
Soll der letzte Startzeitpunkt in der Übersicht ausgegeben werden, default nein.


m_ausgabeFormatierung

private static int m_ausgabeFormatierung
Formatierung der Ausgabe in der Übersicht, default keine.


m_wartezeitErsteAnmeldung

private static int m_wartezeitErsteAnmeldung
Wartezeit in Sekunden vor der ersten Anmeldung am DAV wg. Timeout (10 Sekunden) bei System mit Rechteverwaltung, default 10 Sekunden.


m_wartezeitZwischenAnmeldungen

private static int m_wartezeitZwischenAnmeldungen
Wartezeit in Sekunden zwischen den Anmeldungsversuchen am DAV wg. Timeout (10 Sekunden) bei System mit Rechteverwaltung, default 10 Sekunden.


m_testBetrieb

private static boolean m_testBetrieb
Methode zum Einstellen eines Testbetriebs. Dieser Testbetrieb kann z.B. für JUNIT Test gesetzt werden. In diesem Testbetrieb werden im Moment folgende Aktivitäten (nicht) durchgeführt:
- StartStopp Anfrage Variante 1: Die Prozesse werden auch bei Aktion 'starten' nicht gestartet.

Constructor Detail

StartStoppApp

public StartStoppApp()
Method Detail

main

public static void main(java.lang.String[] args)
Hauptprogramm der StartStopp Applikation

Parameters:
args - übergebene Aufrufparameter -startStoppKonfiguration: Verzeichnis in dem sich eine Datei StartStopp.xml befindet oder in das eine Datei "hineinversioniert" werden soll
- verisonieren: Name (inklusive Pfad) einer XML-Datei die als neue StartStopp Datei in das im Parameter "-startStoppKonfiguration" angegebenen Verzeichnis versioniert werden soll.
Dieser Parameter ist optional. -port: Portnummer für die Benutzeroberfläche via Telnet. Dieser Parameter ist optional. Wird kein Port übergeben, so wird keine Telnetverbindung gestartet

isAusgabeNachstarts

public static boolean isAusgabeNachstarts()
Returns:
liefert die Klassenvariable m_ausgabeNachstarts zurück

isAusgabeLetzteStartzeit

public static boolean isAusgabeLetzteStartzeit()
Returns:
liefert die Klassenvariable m_ausgabeLetzteStartzeit zurück

getAusgabeFormatierung

public static int getAusgabeFormatierung()
Returns:
liefert die Klassenvariable m_ausgabeFormatiert zurück

getWartezeitErsteAnmeldung

public static int getWartezeitErsteAnmeldung()
Returns:
liefert die Klassenvariable m_wartezeitErsteAnmeldung zurück

getWartezeitZwischenAnmeldungen

public static int getWartezeitZwischenAnmeldungen()
Returns:
liefert die Klassenvariable m_wartezeitZwischenAnmeldungen zurck

getNutzerSchnittstelle

public static NutzerSchnittstelle getNutzerSchnittstelle()
Returns:
liefert die Klassenvariable m_nutzerSchnittstelle zurück

getPort

public static java.lang.String getPort()
Returns:
liefert die Klassenvariable m_port zurück

getStartStoppKonfiguration

public static java.lang.String getStartStoppKonfiguration()
Returns:
liefert die Klassenvariable m_startStoppKonfiguration zurück

getVersionieren

public static java.lang.String getVersionieren()
Returns:
liefert die Klassenvariable m_versionieren zurück

beendeStartStoppWegenFehler

public static void beendeStartStoppWegenFehler(java.lang.String text)
Methode zum Beenden von StartStopp im Fehlerfall. In dieser Methode werden alle laufenden Threads der Applikation mitbeendet. Zusätzlich wird ein Fehlertext auf der Standardfehlerausgabe und im Logbuch ausgegeben.

Parameters:
text - Fehlertext

beendeStartStopp

public static void beendeStartStopp(java.lang.String text)
Methode zum Beenden von StartStopp im Normalfall. In dieser Methode werden alle laufenden Threads der Applikation mitbeendet. Zusätzlich wird ein Fehlertext auf der Standardfehlerausgabe und im Logbuch ausgegeben.

Parameters:
text - Fehlertext

createApplicationLabel

public static java.lang.StringBuilder createApplicationLabel(java.lang.String[] args)
Diese Methode wandelt die Aufrufargumente in einen String für die ApplikationsKennung um.

Parameters:
args - Aufrufargumente

getRechnerAdresse

public static java.lang.String getRechnerAdresse()
Returns:
liefert die Klassenvariable m_rechnerAdresse zurück

getRechnerName

public static java.lang.String getRechnerName()
Returns:
liefert die Klassenvariable m_rechnerName zurück

isStartStoppWirdBeendet

public static boolean isStartStoppWirdBeendet()
Methode prüft ob die StartStopp Applikation beendet wird

Returns:
wird die StartStopp Applikation beendet

starteTelnet

private static void starteTelnet(java.lang.String telnetPort)
Methode zum Starten der Telnetverbindung auf einem übergebenen Port.Wird als Port null oder eine fehlerhafter Wert übergeben, wird keine Telnetverbindung aufgebaut.

Parameters:
telnetPort - Port auf dem die Telnetverbindung aufgebaut werden soll.

getStartStoppInkarnationsName

public static java.lang.String getStartStoppInkarnationsName()
Returns:
liefert die Klassenvariable m_startStoppInkarnationsName zurück

isAusgabeAufKonsole

public static boolean isAusgabeAufKonsole()
Returns:
liefert die Klassenvariable m_ausgabe zurück

isFehlerAusgabeAufKonsole

public static boolean isFehlerAusgabeAufKonsole()
Returns:
liefert die Klassenvariable m_fehlerAusgabe zurück

urlUmsetzen

public static java.lang.String urlUmsetzen(java.lang.String pfadAlsUrl)
Setzt den übergebenen URL-Pfad in einen File-Pfad um, wenn ein URL-Pfad übergeben wurde.

Parameters:
pfadAlsUrl - umzusetzender URL-Pfad.
Returns:
Original-Pfad oder umgesetzer URl-Pfad.

setStartStoppKonfiguration

public static void setStartStoppKonfiguration(java.lang.String startStoppKonfiguration)
Methode setzt die Variable startStoppKonfiguration

Parameters:
startStoppKonfiguration - Verzeichnis der StartStopp Konfiguration

setStartStoppInkarnationsName

public static void setStartStoppInkarnationsName(java.lang.String startStoppInkarnationsName)
Methode setzt den Inkarnationsnamen der Applikation

Parameters:
startStoppInkarnationsName - Applikationsname

bestimmeRechnerAdresse

public void bestimmeRechnerAdresse()
Methode bestimmt die IP-Adresse des Rechners, Methode wird nur für die JUNIT Test benötigt


isTestBetrieb

public static boolean isTestBetrieb()
Methode prüft ob sich die Applikation im Testbetrieb befindet.

Returns:
Testbetrieb

setTestBetrieb

public static void setTestBetrieb(boolean testBetrieb)
Methode setzt den Testbetrieb bzw. schaltet ihn aus

Parameters:
testBetrieb - Testbetrieb