de.bsvrz.sys.startstopp.prozessvew
Class DaVKommunikation

java.lang.Object
  extended by de.bsvrz.sys.startstopp.prozessvew.DaVKommunikation
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface, java.io.Serializable

public class DaVKommunikation
extends java.lang.Object
implements de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface, java.io.Serializable

Klasse zur Abhandlung der Kommunikation mit dem DaV. Die Klasse wird als Singelton ausgelegt.

Author:
Dambach Werke GmbH
See Also:
Serialized Form

Field Summary
 boolean m_angemeldet
          Kennung ob StartStopp an einem DaV angemeldet ist
 de.bsvrz.dav.daf.main.ClientDavInterface m_connection
          Verbindung zum DaV
 de.bsvrz.dav.daf.main.ClientDavInterface m_connectionFuerImmer
          Verbindung zum DaV (Grundlage für alle folgenden Verbindungen)
 
Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
 
Method Summary
 void abmeldeLeseDaV(long objId, java.lang.String atgPid, java.lang.String aspPid)
          Methode die das Objekt objId beim Datenverteiler abmeldet zum Lesen der Attibutgruppe atgPid unter dem Aspekt aspPid.
 void abmeldeSendeDaV(long objId, java.lang.String atgPid, java.lang.String aspPid)
          Methode die das Objekt objId beim Datenverteiler abmeldet zum Senden der Attibutgruppe atgPid unter dem Aspekt aspPid.
 void allesAbmelden()
          Alle zuvor angemeldeten Empfänger, Senken, Sender und Quellen abmelden.
 void anmeldeDaV()
          Methode meldet sich am DaV an zum: - Senden "atg.prozessInfo" "asp.zustand" - Lesen "atg.startStoppAnfrage", "asp.anfrage" - Lesen "atg.prozessInfo", "asp.zustand" (für jeden Rechner der in der Klasse "GlobaleDaten" definiert ist
 de.bsvrz.dav.daf.main.DataDescription anmeldeSendeDaV(long objId, java.lang.String atgPid, java.lang.String aspPid, de.bsvrz.dav.daf.main.SenderRole role)
          Methode die das Objekt mit der ID objId beim Datenverteiler anmeldet zum Senden der Attibutgruppe atgPid unter dem Aspekt aspPid.
 de.bsvrz.dav.daf.main.DataDescription anmeldeSendeDaV(java.lang.String objPid, java.lang.String atgPid, java.lang.String aspPid, de.bsvrz.dav.daf.main.SenderRole role)
          Methode die das Objekt mit der PID objPid beim Datenverteiler anmeldet zum Senden der Attibutgruppe atgPid unter dem Aspekt aspPid.
 boolean baueVerbindungDaVAuf()
          Methode baut Verbindung zum DaV auf
 java.lang.String bestimmePidRechnerByHost(java.lang.String host)
          Bestimmt die Pid eines Rechners aufgrund des übergebenen Rechnernamens.
 java.lang.String bestimmePidRechnerByIp(java.lang.String ip)
          Bestimmt die Pid eines Rechners aufgrund der übergebenen TCP/IP-Adresse
 void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject arg0, de.bsvrz.dav.daf.main.DataDescription arg1, byte arg2)
           
 java.util.Vector<de.bsvrz.sys.startstopp.prozessvew.DaVKommunikation.AngemeldeterEmpfaenger> getAngemeldeteEmpfaenger()
           
 java.util.Vector<de.bsvrz.sys.startstopp.prozessvew.DaVKommunikation.AngemeldeterSender> getAngemeldeteSender()
           
 de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
          Holt die aktuelle Datenverteilerverbindung.
 de.bsvrz.dav.daf.main.ClientDavInterface getConnectionFuerImmer()
          Holt die zu Grunde liegende Datenverteilerverbindung.
static DaVKommunikation getInstanz()
          Methode liefert die einzige Instanz der Klasse
 java.lang.String getPidRechner()
          Methode liefert die Variable pidRechner zurück
 boolean isInkarnationAmDaVAngemeldet(java.lang.String inkarnation)
          Methode liefert Informationen darüber, ob eine Applikation mit dem Inkarnationsnamen "inkarnation" am DaV angemeldet ist oder nicht.
 boolean isPidRechnerGueltig(java.lang.String pidRechner)
          Methode prüft ob eine übergeben Pid eine gültige Pid eines Objekts vom Typ Rechner ist
 boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject arg0, de.bsvrz.dav.daf.main.DataDescription arg1)
           
 boolean istVerbunden()
          Rückgabe ob die Verbindung zum DaV steht
 void sendeBetriebsmeldung(java.lang.String text)
          Methode zum Absetzen einer Betriebsmeldung an den Datenverteiler
 void sendeProzessInfo()
          Methode zum Senden der Attributgruppe "atg.prozessInfo" an den DaV
 void sendeStartStoppAntwort(long absenderId, java.lang.String absenderZeichen, java.lang.String id, SkriptVewEnums.E_ZUSTAND zustand, SkriptVewEnums.E_FEHLER_STARTSTOPPBLOCK fehler)
          Methode sendet die Attributgruppe "atg.startStoppAntwort" an den Prozess mit der Id absenderId.
 void sendeStartStoppInfo()
          Methode zum Senden der Attributgruppe "atg.startStoppInfo" an den DaV Besteht zum Zeitpunkt des Sendens die Verbindung zum DaV noch nicht (z.B. nach einem Systemstart) so startet die Methode einen Listener, der auf die Verbindung wartet und dann erst die Attributgruppe versendet.
 void sendMessage(de.bsvrz.sys.funclib.operatingMessage.MessageType type, java.lang.String messageTypeAddOn, de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade, java.lang.String message)
          Methode erzeugt eine Betriebsmeldung und sendet diese an den Datenverteiler.
 void trenneDaV()
          Method trennt die Verbindung zum DaV
 void update(de.bsvrz.dav.daf.main.ResultData[] arg0)
          Umpdate Methode zum Empfang der Daten des DaV
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_angemeldet

public boolean m_angemeldet
Kennung ob StartStopp an einem DaV angemeldet ist


m_connection

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


m_connectionFuerImmer

public de.bsvrz.dav.daf.main.ClientDavInterface m_connectionFuerImmer
Verbindung zum DaV (Grundlage für alle folgenden Verbindungen)

Method Detail

getInstanz

public static DaVKommunikation getInstanz()
Methode liefert die einzige Instanz der Klasse

Returns:
einzige Instanz der Klasse

baueVerbindungDaVAuf

public boolean baueVerbindungDaVAuf()
Methode baut Verbindung zum DaV auf

Returns:
true: Verbindung zum DaV steht, false: Verbindung zum DaV steht nicht

trenneDaV

public void trenneDaV()
Method trennt die Verbindung zum DaV


anmeldeDaV

public void anmeldeDaV()
Methode meldet sich am DaV an zum: - Senden "atg.prozessInfo" "asp.zustand" - Lesen "atg.startStoppAnfrage", "asp.anfrage" - Lesen "atg.prozessInfo", "asp.zustand" (für jeden Rechner der in der Klasse "GlobaleDaten" definiert ist


bestimmePidRechnerByHost

public java.lang.String bestimmePidRechnerByHost(java.lang.String host)
Bestimmt die Pid eines Rechners aufgrund des übergebenen Rechnernamens.

Parameters:
host - Rechnername
Returns:
Pid oder null im Fehlerfall

bestimmePidRechnerByIp

public java.lang.String bestimmePidRechnerByIp(java.lang.String ip)
Bestimmt die Pid eines Rechners aufgrund der übergebenen TCP/IP-Adresse

Parameters:
ip - TCP/IP Adresse
Returns:
Pid oder null im Fehlerfall

isPidRechnerGueltig

public boolean isPidRechnerGueltig(java.lang.String pidRechner)
Methode prüft ob eine übergeben Pid eine gültige Pid eines Objekts vom Typ Rechner ist

Parameters:
pidRechner - zu prüfende Pid
Returns:
Pid gültig

anmeldeSendeDaV

public de.bsvrz.dav.daf.main.DataDescription anmeldeSendeDaV(java.lang.String objPid,
                                                             java.lang.String atgPid,
                                                             java.lang.String aspPid,
                                                             de.bsvrz.dav.daf.main.SenderRole role)
Methode die das Objekt mit der PID objPid beim Datenverteiler anmeldet zum Senden der Attibutgruppe atgPid unter dem Aspekt aspPid.

Parameters:
objPid - Pid des Objekts
atgPid - Pid der Attributgruppe
aspPid - Pid des Aspekts

anmeldeSendeDaV

public de.bsvrz.dav.daf.main.DataDescription anmeldeSendeDaV(long objId,
                                                             java.lang.String atgPid,
                                                             java.lang.String aspPid,
                                                             de.bsvrz.dav.daf.main.SenderRole role)
Methode die das Objekt mit der ID objId beim Datenverteiler anmeldet zum Senden der Attibutgruppe atgPid unter dem Aspekt aspPid.

Parameters:
objId - Id des Objekts
atgPid - Pid der Attributgruppe
aspPid - Pid des Aspekts

abmeldeSendeDaV

public void abmeldeSendeDaV(long objId,
                            java.lang.String atgPid,
                            java.lang.String aspPid)
Methode die das Objekt objId beim Datenverteiler abmeldet zum Senden der Attibutgruppe atgPid unter dem Aspekt aspPid.

Parameters:
objId - Id des Objekts
atgPid - Attributgruppe die abgemeldet werden soll
aspPid - Apekt der abgemeldet werden soll

abmeldeLeseDaV

public void abmeldeLeseDaV(long objId,
                           java.lang.String atgPid,
                           java.lang.String aspPid)
Methode die das Objekt objId beim Datenverteiler abmeldet zum Lesen der Attibutgruppe atgPid unter dem Aspekt aspPid.

Parameters:
objId - Id des Objekts
atgPid - Attributgruppe die abgemeldet werden soll
aspPid - Apekt der abgemeldet werden soll

istVerbunden

public boolean istVerbunden()
Rückgabe ob die Verbindung zum DaV steht

Returns:
true: Verbnindung steht, false: Verbindung steht nicht

update

public void update(de.bsvrz.dav.daf.main.ResultData[] arg0)
Umpdate Methode zum Empfang der Daten des DaV

Specified by:
update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface

sendeBetriebsmeldung

public void sendeBetriebsmeldung(java.lang.String text)
Methode zum Absetzen einer Betriebsmeldung an den Datenverteiler

Parameters:
text - Text der als Betriebsmeldung gesendet werden soll

sendMessage

public void sendMessage(de.bsvrz.sys.funclib.operatingMessage.MessageType type,
                        java.lang.String messageTypeAddOn,
                        de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade,
                        java.lang.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

sendeStartStoppAntwort

public void sendeStartStoppAntwort(long absenderId,
                                   java.lang.String absenderZeichen,
                                   java.lang.String id,
                                   SkriptVewEnums.E_ZUSTAND zustand,
                                   SkriptVewEnums.E_FEHLER_STARTSTOPPBLOCK fehler)
Methode sendet die Attributgruppe "atg.startStoppAntwort" an den Prozess mit der Id absenderId.

Parameters:
absenderId - Id des Absenderprozesses
absenderZeichen - Zeichen des Absendeprozesses
id - des Prozesses, bzw. des StartStopp-Blocks dessen Status übertragen wird
zustand - Zustand des Prozesses bzw. des StartStopp Blocks (de.bsvrz.sys.startstopp.skriptvew.SkriptVewEnums.Zustand)
fehler - Fehlerkennung (de.bsvrz.sys.startstopp.skriptvew.SkriptVewEnums.E_FEHLER_STARTSTOPPBLOCK)

sendeProzessInfo

public void sendeProzessInfo()
Methode zum Senden der Attributgruppe "atg.prozessInfo" an den DaV


sendeStartStoppInfo

public void sendeStartStoppInfo()
Methode zum Senden der Attributgruppe "atg.startStoppInfo" an den DaV Besteht zum Zeitpunkt des Sendens die Verbindung zum DaV noch nicht (z.B. nach einem Systemstart) so startet die Methode einen Listener, der auf die Verbindung wartet und dann erst die Attributgruppe versendet.


dataRequest

public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject arg0,
                        de.bsvrz.dav.daf.main.DataDescription arg1,
                        byte arg2)
Specified by:
dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface

isRequestSupported

public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject arg0,
                                  de.bsvrz.dav.daf.main.DataDescription arg1)
Specified by:
isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface

isInkarnationAmDaVAngemeldet

public boolean isInkarnationAmDaVAngemeldet(java.lang.String inkarnation)
Methode liefert Informationen darüber, ob eine Applikation mit dem Inkarnationsnamen "inkarnation" am DaV angemeldet ist oder nicht.

Parameters:
inkarnation - Inkarnationsname der zu prüfenden Applikation
Returns:
true: Applikation am DaV angemeldet, sonst false

getConnection

public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Holt die aktuelle Datenverteilerverbindung.

Returns:
aktuelle Datenverteilerverbindung oder null, wenn keine besteht.

getConnectionFuerImmer

public de.bsvrz.dav.daf.main.ClientDavInterface getConnectionFuerImmer()
Holt die zu Grunde liegende Datenverteilerverbindung.

Returns:
zu Grunde liegende Datenverteilerverbindung.

getAngemeldeteSender

public java.util.Vector<de.bsvrz.sys.startstopp.prozessvew.DaVKommunikation.AngemeldeterSender> getAngemeldeteSender()

getAngemeldeteEmpfaenger

public java.util.Vector<de.bsvrz.sys.startstopp.prozessvew.DaVKommunikation.AngemeldeterEmpfaenger> getAngemeldeteEmpfaenger()

allesAbmelden

public void allesAbmelden()
Alle zuvor angemeldeten Empfänger, Senken, Sender und Quellen abmelden.


getPidRechner

public java.lang.String getPidRechner()
Methode liefert die Variable pidRechner zurück

Returns:
Pid des lokalen Rechners