de.bsvrz.sys.testsys.testsys
Class PluginVerwalter

java.lang.Object
  extended by de.bsvrz.sys.testsys.testsys.PluginVerwalter
All Implemented Interfaces:
IMeldungFehler

public class PluginVerwalter
extends java.lang.Object
implements IMeldungFehler

Verwaltet die Überprüfer-Plugins. Der Verwalter startet und verwaltet die Plugins. Er schickt deren Betriebsmeldungen an den DaV.

Author:
Chriesten

Nested Class Summary
private  class PluginVerwalter.PluginInst
           
 
Field Summary
private  de.bsvrz.sys.funclib.debug.Debug _debug
          Ausgabe Logger
(package private)  de.bsvrz.dav.daf.main.ClientDavInterface m_connection
          Verbindung zum DaV
private  java.util.List<PluginVerwalter.PluginInst> m_pluginInstList
          Instanzen aller Plugins
 
Constructor Summary
PluginVerwalter()
           
PluginVerwalter(java.lang.String[] pluginNamen, de.bsvrz.dav.daf.main.ClientDavInterface davConnection)
           
 
Method Summary
 void ausPluginInstList()
          Gibt die aktuelle Liste der erzeugten Plugins aus
 void beendePlugin(java.lang.String plugin)
          Beendet alle Plugin Instanz mit dem übergebenen Namen, falls das Plugin die Schnittstelle IBeendePlugin implementiert.
 void beendePlugins()
          Beendet alle vom Verwalter gestarteten Plugin, die die Schnittstelle IBeendePlugin implementieren.
 int erzeugePlugins(java.lang.String[] pluginNamen, de.bsvrz.dav.daf.main.ClientDavInterface davConnection)
          Erzeugt Plugin Instanzen.
 void fehlerGefunden(java.lang.String meldung, java.lang.Integer ebene, java.lang.String plugin)
          Schnittstellenfunktion, siehe IMeldungFehler.fehlerGefunden(String, Integer, String)..
 void fehlerGefunden(java.lang.String fehlermeldung, java.lang.String hinweis)
          Schnittstellenfunktion, siehe IMeldungFehler.fehlerGefunden(String, String).
 java.lang.Object genObject(java.lang.String Klasse, java.lang.String[] args, java.lang.String argstring)
          Erzeugt aus dem uebergebenen Klassennamen ein Objekt.
static void main(java.lang.String[] args)
          Testroutine fuer das lokale Modul.
 void sendMessage(java.lang.String message, int grad, java.lang.String veranlasser)
          Erzeugt eine Betriebsmeldung und sendet sie an den Datenverteiler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

private de.bsvrz.sys.funclib.debug.Debug _debug
Ausgabe Logger


m_connection

de.bsvrz.dav.daf.main.ClientDavInterface m_connection
Verbindung zum DaV


m_pluginInstList

private java.util.List<PluginVerwalter.PluginInst> m_pluginInstList
Instanzen aller Plugins

Constructor Detail

PluginVerwalter

public PluginVerwalter(java.lang.String[] pluginNamen,
                       de.bsvrz.dav.daf.main.ClientDavInterface davConnection)

PluginVerwalter

public PluginVerwalter()
Method Detail

ausPluginInstList

public void ausPluginInstList()
Gibt die aktuelle Liste der erzeugten Plugins aus


fehlerGefunden

public void fehlerGefunden(java.lang.String fehlermeldung,
                           java.lang.String hinweis)
Schnittstellenfunktion, siehe IMeldungFehler.fehlerGefunden(String, String).

Specified by:
fehlerGefunden in interface IMeldungFehler
Parameters:
fehlermeldung - Fehlermeldung, wird als Betriebsmeldung geschrieben.
hinweis - Ergänzung zu fehlermeldung. Wird an Betriebsmeldung angehängt.

fehlerGefunden

public void fehlerGefunden(java.lang.String meldung,
                           java.lang.Integer ebene,
                           java.lang.String plugin)
Schnittstellenfunktion, siehe IMeldungFehler.fehlerGefunden(String, Integer, String)..

Specified by:
fehlerGefunden in interface IMeldungFehler
Parameters:
meldung - Betriebsmeldung
ebene - 1,2,3 Info, Warnung, Fehler
plugin - Klassenname des Plugins

sendMessage

public void sendMessage(java.lang.String message,
                        int grad,
                        java.lang.String veranlasser)
Erzeugt eine Betriebsmeldung und sendet sie an den Datenverteiler. Eingestellt werden können MeldungsTyp, MeldungsTypZusatz und die Meldungsklasse.

Parameters:
message - Nachricht
grad - Fehlergrad: 1:Info, 2:Warnung, 3:Fehler
veranlasser - Plugin-Bezeichnung

genObject

public java.lang.Object genObject(java.lang.String Klasse,
                                  java.lang.String[] args,
                                  java.lang.String argstring)
Erzeugt aus dem uebergebenen Klassennamen ein Objekt. Falls args != null, wird args im Konstruktor uebergeben Falls argstring != null, wird argstring im Konstruktor uebergeben

Parameters:
Klasse - Klassennamen.
args - Argumente des Klassenkonstruktors
argstring - String alternatives Argument des Klassenkonstruktors
Returns:
generiertes Objekt, null im Fehlerfall

erzeugePlugins

public int erzeugePlugins(java.lang.String[] pluginNamen,
                          de.bsvrz.dav.daf.main.ClientDavInterface davConnection)
Erzeugt Plugin Instanzen. Die Inastanznamen werden aus den übergebenen pluginNamen Zeichenketten generiert. Neben dem Plugin Konstruktors wird die Funktion GibZugriff() gerufen vgl. IGibZugriff.steuereUeberwachung(IMeldungFehler, ClientDavInterface). Jede Zeile im pluginNamen Feld enthält den Namen eines Plugins, optional gefolgt von einem ";" und dem Plugin Argumentstring. Ein Argumentstring besteht aus Argumenten der Form
key=value. Mehrere Argumente werden durch --- getrennt.
Bsp.: de.bsvrz.sys.testsys.modul1:key1=value1---key2=vales2---key3=value3

Parameters:
pluginNamen - siehe obige Beschreibung
davConnection - Aktuelle Verbindung zm DaV
Returns:
Anzahl der erfolgreich erzeugten Plugins

beendePlugin

public void beendePlugin(java.lang.String plugin)
Beendet alle Plugin Instanz mit dem übergebenen Namen, falls das Plugin die Schnittstelle IBeendePlugin implementiert.


beendePlugins

public void beendePlugins()
Beendet alle vom Verwalter gestarteten Plugin, die die Schnittstelle IBeendePlugin implementieren.


main

public static void main(java.lang.String[] args)
Testroutine fuer das lokale Modul. Wird fuer verschiedene Tests im Laufe des Entwicklungs- und Wartungsprozesses verwendet

Parameters:
args - Testargumente