de.bsvrz.sys.usv.wrapper
Class USVWrapper

java.lang.Object
  extended by de.bsvrz.sys.usv.wrapper.USVWrapper
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.sys.funclib.application.StandardApplication, USVTrigger

public class USVWrapper
extends Object
implements de.bsvrz.sys.funclib.application.StandardApplication, de.bsvrz.dav.daf.main.ClientReceiverInterface, USVTrigger

Das Modul USV-Wrapper realisiert folgende Funktionalitäten: - Verbinden und Austausch der Daten mit dem Datenverteiler. Die Klasse implementiert das Interface StandardApplication und wird mit dem StandardApplikationRunner instanziert. Dadurch wird die Verbindung zum DaV nach dem Start automatisch aufgebaut. - Zyklisches Einlesen und Auswerten der Zustände der USV. Die Zustände der USV müssen zyklisch eingelesen und auf Änderung hin überprüft werden. Das Einlesen der Daten erfolgt über eine abstrakte Schnittstelle die die Daten vom Modul USV übernimmt. Bei Änderungen innerhalb der Zustände müssen folgende Aktivitäten durchgeführt werden: - Erzeugen einer Attributgruppe atg.usvZustand mit den Zustände der USV und Versenden dieser Attributgruppe an den Datenverteiler - Erzeugen von Betriebsmeldungen und Versenden an den Datenverteiler über den MessageSender - Prüfen ob sich die USV in einem kritischen Zustand befindet (z. B. Batterie schwach). Wenn ja, dann muss ein Beenden der Applikationen und ein gezieltes Herunterfahren des Rechners eingeleitet werden (das Beenden bzw. das Herunterfahren sind Aufgaben der SWE Start/Stop). - Senden empfangener Befehle an die USV Über die abstrakte Schnittstelle zum Modul USV werden mögliche Befehle für die USV an die USV abgesetzt.

Version:
$Id$
Author:
M.Obert Geprüft 30.9.2008 Hilpp, Christian Hösel, BitCtrl Systems GmbH

Field Summary
private static String ASP_VORGABE
           
private static String ATG_USV_BEFEHL
           
 SenderThread leseUSV
          Objekt SenderThread
private  de.bsvrz.sys.funclib.debug.Debug log
          Der Dav-Logger.
private  String m_befehlNotstrom
           
private  String m_befehlUsv
           
private static de.bsvrz.dav.daf.main.ClientDavInterface m_connection
          Verbindung zum Datenverteiler
private  String m_oldBefehlNotstrom
           
private  String m_oldBefehlUsv
           
private static String m_pidUsv
          Pid der verwendeten USV-Anlage
private  String m_test
           
private  int m_zyklusZeit
           
private  String schwellwertParameter
          Schwellwerte zum Auswerten bzw.
private static String snmpServer
          Protokoll und Adresse des SNMP-Servers.
private  USVAllgemein usvB
          Klasse der von DefaultUSV abgeleiteten Klasse
private  String usvKlasse
          Name der von DefaultUSV abgeleiteten Klasse
private  long usvTimeout
          Timeout in Millisekunden, der bei der Kommunikation mit der USV verwandt wird.
 
Constructor Summary
USVWrapper()
           
 
Method Summary
static de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
          Methode zum Lesen der aktuellen Datenverteilerverbindung
static String getPidUsv()
           
static String getSnmpServer()
          Erfragt Protokoll und Adresse des SNMP-Servers.
 long getUsvTimeout()
          Liefert den Timeout in Millisekunden, der bei der Kommunikation mit der USV verwandt wird.
 void initialize(de.bsvrz.dav.daf.main.ClientDavInterface connection)
           
static void main(String[] arguments)
          Main Methode der Applikation.
 void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)
           
private  void protokolliereBefehlUsv(String objekt, String zustandNeu, String zustandAlt)
          Methode zum Absetzen einer Betriebsmeldung an den Datenverteiler
 void sendMessage(de.bsvrz.sys.funclib.operatingMessage.MessageType type, String messageTypeAddOn, de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade, String message)
          Methode erzeugt eine Betriebsmeldung und sendet diese an den Datenverteiler.
 void setTrigger()
          Methode zum Auslösen eines Triggers, der das sofortige Bearbeiten der aktuellen USV Daten auslöst.
 void update(de.bsvrz.dav.daf.main.ResultData[] arg0)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ASP_VORGABE

private static final String ASP_VORGABE
See Also:
Constant Field Values

ATG_USV_BEFEHL

private static final String ATG_USV_BEFEHL
See Also:
Constant Field Values

log

private final de.bsvrz.sys.funclib.debug.Debug log
Der Dav-Logger.


m_connection

private static de.bsvrz.dav.daf.main.ClientDavInterface m_connection
Verbindung zum Datenverteiler


leseUSV

public SenderThread leseUSV
Objekt SenderThread


usvKlasse

private String usvKlasse
Name der von DefaultUSV abgeleiteten Klasse


usvB

private USVAllgemein usvB
Klasse der von DefaultUSV abgeleiteten Klasse


snmpServer

private static String snmpServer
Protokoll und Adresse des SNMP-Servers.


m_pidUsv

private static String m_pidUsv
Pid der verwendeten USV-Anlage


m_befehlNotstrom

private String m_befehlNotstrom

m_befehlUsv

private String m_befehlUsv

m_oldBefehlNotstrom

private String m_oldBefehlNotstrom

m_oldBefehlUsv

private String m_oldBefehlUsv

m_zyklusZeit

private int m_zyklusZeit

m_test

private String m_test

schwellwertParameter

private String schwellwertParameter
Schwellwerte zum Auswerten bzw. Auslösen der Attributgruppe USV-kritischer Zustand


usvTimeout

private long usvTimeout
Timeout in Millisekunden, der bei der Kommunikation mit der USV verwandt wird.

Constructor Detail

USVWrapper

public USVWrapper()
Method Detail

initialize

public void initialize(de.bsvrz.dav.daf.main.ClientDavInterface connection)
                throws Exception
Specified by:
initialize in interface de.bsvrz.sys.funclib.application.StandardApplication
Throws:
Exception

parseArguments

public void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)
                    throws Exception
Specified by:
parseArguments in interface de.bsvrz.sys.funclib.application.StandardApplication
Throws:
Exception

setTrigger

public void setTrigger()
Description copied from interface: USVTrigger
Methode zum Auslösen eines Triggers, der das sofortige Bearbeiten der aktuellen USV Daten auslöst. Ohne diesen Trigger werden die USV-Daten "nur" zyklisch eingelesen und ausgewertet.

Specified by:
setTrigger in interface USVTrigger

main

public static void main(String[] arguments)
Main Methode der Applikation. Startet den StandardApplicationRunner.

Parameters:
arguments - Aufrufparameter

update

public void update(de.bsvrz.dav.daf.main.ResultData[] arg0)
Specified by:
update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface

getConnection

public static de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Methode zum Lesen der aktuellen Datenverteilerverbindung

Returns:
Datenverteilerverbindung

protokolliereBefehlUsv

private void protokolliereBefehlUsv(String objekt,
                                    String zustandNeu,
                                    String zustandAlt)
Methode zum Absetzen einer Betriebsmeldung an den Datenverteiler

Parameters:
objekt - Name des sich änderenden Objekts
zustandNeu - Neuer Zustand des Objekts
zustandAlt - Alter Zustand des Objekts

sendMessage

public void sendMessage(de.bsvrz.sys.funclib.operatingMessage.MessageType type,
                        String messageTypeAddOn,
                        de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade,
                        String message)
Methode erzeugt eine Betriebsmeldung und sendet diese an den Datenverteiler. Eingestellt werden können MeldungsTyp, MeldungsTypZusatz und die Meldungsklasse.

Parameters:
type - der MeldungsTyp
messageTypeAddOn - der MeldungsTypZusatz
grade - die MeldungsKlasse
message - Text der Meldung

getPidUsv

public static String getPidUsv()
Returns:
liefert die Variable pidUsv zurück

getSnmpServer

public static String getSnmpServer()
Erfragt Protokoll und Adresse des SNMP-Servers.

Returns:
Protokoll und Adresse des SNMP-Servers.

getUsvTimeout

public final long getUsvTimeout()
Liefert den Timeout in Millisekunden, der bei der Kommunikation mit der USV verwandt wird.

Returns:
Timout in Millisekunden.