Class DeConversionModul

java.lang.Object
de.bsvrz.kex.tls.osi7.conversion.DeConversionModul
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface, DeConversionInterface
Direct Known Subclasses:
FgAllDefault, FgAllDuerr, FgAllHeuschBoesefeldt

public abstract class DeConversionModul
extends java.lang.Object
implements DeConversionInterface, de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface
Abstrakte Umsetzungsklasse, die das DeConversionInterface und zusätzlich ein Reihe von notwendigen Methoden zentral implementiert. Von dieser abstrakten Klasse werden alle konkreten Umsetzungsklassen direkt oder indirekt abgeleitet.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    de.bsvrz.dav.daf.main.config.DataModel _config
    Datenmodell der Konfiguration.
    protected De _de
    Objektreferenz auf das aufrufende De-Objekt.
    protected Eak _eak
    Objektreferenz auf das aufrufende dem De-Objekt übergeordnete Eak-Objekt.
    protected EakConversionInterface _eakConversionModul
    Objektreferenz auf das Eak-Umwandlungs-Objekt, welches für die Auswertung De-übergreifender Informationen (Zeitstempel etc. ) zuständig ist.
    static int ASP
    Index für den Zugriff auf den Aspekt in den Objekten davToTls und tlsToDav
    static int ATG
    Index für den Zugriff auf die Attributgruppe in den Objekten davToTls und tlsToDav
    static int FG
    Index für den Zugriff auf die Funktionsgruppe in den Objekten davToTls und tlsToDav
    static int ID
    Index für den Zugriff auf die ID in den Objekten davToTls und tlsToDav
    static int OT
    Index für den Zugriff auf den ObjektTyp in den Objekten davToTls und tlsToDav
    static int TYP
    Index für den Zugriff auf den Typ in den Objekten davToTls und tlsToDav

    Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface

    START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
  • Constructor Summary

    Constructors 
    Constructor Description
    DeConversionModul()  
    DeConversionModul​(de.bsvrz.dav.daf.main.ClientDavInterface daf, Eak eak, De de)
    Erzeugt ein Objekt vom Typ DeConversionModul
  • Method Summary

    Modifier and Type Method Description
    void dataRequest​(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
    Sendesteuerung des Datenverteilers an die Applikation.
    de.bsvrz.dav.daf.main.ClientDavInterface getClientDavInterface()
    Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.
    de.bsvrz.dav.daf.main.config.DataModel getConfig()
    Liefert das aktuelle Datenmodell
    java.util.List<java.lang.Object[]> getDavToTlsList()
    Liste, in der das Verhalten beim Senden von TLS-Daten festgelegt wird.
    java.util.List<java.lang.Object[]> getTlsToDavList()
    Liste, in der das Verhalten beim Empfang von TLS-Daten festgelegt wird.
    boolean isBetriebsMeldungenErzeugen()
    ToDo: Beschreibung der Methode
    boolean isPassivierungUmsetzungsMethoden()
    ToDo: Beschreibung der Methode
    boolean isRequestSupported​(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
    Diese Methode muss von der Applikation implementiert werden, um zu signalisieren, ob Sendesteuerungen erwünscht sind und mit der Methode dataRequest verarbeitet werden.
    void processDeBlock​(DeBlock deBlock)
    Verarbeitet einen DeBlock.
    void sendData​(de.bsvrz.dav.daf.main.ResultData result)
    Sendet einen Ergebnisdatensatz zum Datenverteiler.
    void sendData​(de.bsvrz.dav.daf.main.ResultData[] results)
    Sendet mehrere Ergebnisdatensätze zum Datenverteiler.
    void sendInitialDeBlock​(java.lang.String deBlockKey, int type, int id)
    Methode zum Versenden des jeweils letzten Standes eines bereits versandten De-Blocks für jede Knotennummer-DeNummer-Fg-Typ-Id Kombination.
    void sendMessage​(java.lang.String id, de.bsvrz.sys.funclib.operatingMessage.MessageType type, java.lang.String messageTypeAddOn, de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade, de.bsvrz.dav.daf.main.config.SystemObject referenceObject, de.bsvrz.sys.funclib.operatingMessage.MessageState state, java.lang.String message)
    Methode zum Versand von Betriebsmeldungen aus einer Umsetzungsmethode heraus.
    protected void subscribeAllData​(java.lang.Object[][] tlsToDav, java.lang.Object[][] davToTls)
    ToDo: Beschreibung der Methode
    void update​(de.bsvrz.dav.daf.main.ResultData[] results)
    Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ASP

      public static final int ASP
      Index für den Zugriff auf den Aspekt in den Objekten davToTls und tlsToDav
      See Also:
      Constant Field Values
    • ATG

      public static final int ATG
      Index für den Zugriff auf die Attributgruppe in den Objekten davToTls und tlsToDav
      See Also:
      Constant Field Values
    • FG

      public static final int FG
      Index für den Zugriff auf die Funktionsgruppe in den Objekten davToTls und tlsToDav
      See Also:
      Constant Field Values
    • ID

      public static final int ID
      Index für den Zugriff auf die ID in den Objekten davToTls und tlsToDav
      See Also:
      Constant Field Values
    • OT

      public static final int OT
      Index für den Zugriff auf den ObjektTyp in den Objekten davToTls und tlsToDav
      See Also:
      Constant Field Values
    • TYP

      public static final int TYP
      Index für den Zugriff auf den Typ in den Objekten davToTls und tlsToDav
      See Also:
      Constant Field Values
    • _config

      public de.bsvrz.dav.daf.main.config.DataModel _config
      Datenmodell der Konfiguration.
    • _de

      protected De _de
      Objektreferenz auf das aufrufende De-Objekt.
    • _eak

      protected Eak _eak
      Objektreferenz auf das aufrufende dem De-Objekt übergeordnete Eak-Objekt.
    • _eakConversionModul

      protected EakConversionInterface _eakConversionModul
      Objektreferenz auf das Eak-Umwandlungs-Objekt, welches für die Auswertung De-übergreifender Informationen (Zeitstempel etc. ) zuständig ist.
  • Constructor Details

    • DeConversionModul

      public DeConversionModul​(de.bsvrz.dav.daf.main.ClientDavInterface daf, Eak eak, De de)
      Erzeugt ein Objekt vom Typ DeConversionModul
      Parameters:
      daf - DaV
      eak - Eak
      de - De
    • DeConversionModul

      public DeConversionModul()
  • Method Details

    • dataRequest

      public void dataRequest​(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
      Sendesteuerung des Datenverteilers an die Applikation. Diese Methode muss von der Applikation implementiert werden, um den Versand von Daten zu starten bzw. anzuhalten. Der Datenverteiler signalisiert damit einer Quelle oder einem Sender dass mindestens ein Abnehmer bzw. kein Abnehmer mehr für die zuvor angemeldeten Daten vorhanden ist. Die Quelle wird damit aufgefordert den Versand von Daten zu starten bzw. zu stoppen.
      Specified by:
      dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface
      Parameters:
      object - Das in der zugehörigen Sendeanmeldung angegebene Objekt, auf das sich die Sendesteuerung bezieht.
      dataDescription - Beschreibende Informationen zu den angemeldeten Daten auf die sich die Sendesteuerung bezieht.
      state - Status der Sendesteuerung. Kann einen der Werte START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION enthalten.
      See Also:
      ClientSenderInterface.START_SENDING, ClientSenderInterface.STOP_SENDING, ClientSenderInterface.STOP_SENDING_NO_RIGHTS, ClientSenderInterface.STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
    • getClientDavInterface

      public de.bsvrz.dav.daf.main.ClientDavInterface getClientDavInterface()
      Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.
      Specified by:
      getClientDavInterface in interface DeConversionInterface
      Returns:
      Gibt das aktuelle aktuelle Datenverteilerverbindung zurück.
    • getConfig

      public de.bsvrz.dav.daf.main.config.DataModel getConfig()
      Liefert das aktuelle Datenmodell
      Returns:
      aktuelles Datenmodell
    • getDavToTlsList

      public java.util.List<java.lang.Object[]> getDavToTlsList()
      Liste, in der das Verhalten beim Senden von TLS-Daten festgelegt wird. Die Liste wird zur Laufzeit durch Aufrufe der Methode subscribeAllData(java.lang.Object[][], java.lang.Object[][]) initialisiert, die wiederum von konkreten Instanzen dieser Klasse aufgerufen werden. Die Listeneinträge sind Object[] mit jeweils folgendem Aufbau:
       "Attributgruppe (Pid)", "Aspekt (Pid)", "Fg", "Typ", "Id", "ObjektTyp"
       z.B.
       "atg.tlsGloKanalSteuerung", "asp.tlsAntwort", "1", "29", "2", "typ.deLve"
       
      Returns:
      Die Listeneinträge mit obigem Aufbau
    • getTlsToDavList

      public java.util.List<java.lang.Object[]> getTlsToDavList()
      Liste, in der das Verhalten beim Empfang von TLS-Daten festgelegt wird. Die Liste wird zur Laufzeit durch Aufrufe der Methode subscribeAllData(java.lang.Object[][], java.lang.Object[][]) initialisiert, die wiederum von konkreten Instanzen dieser Klasse aufgerufen werden. Die Listeneinträge sind Object[] mit jeweils folgendem Aufbau:
       "Attributgruppe (Pid)", "Aspekt (Pid)", "Fg", "Typ", "Id", "ObjektTyp"
       z.B.
       "atg.tlsGloKanalSteuerung", "asp.tlsAntwort", "1", "29", "2", "typ.deLve"
       
      Returns:
      Die Listeneinträge mit obigem Aufbau
    • isBetriebsMeldungenErzeugen

      public boolean isBetriebsMeldungenErzeugen()
      ToDo: Beschreibung der Methode
      Returns:
      isBetriebsMeldungenErzeugen
    • isPassivierungUmsetzungsMethoden

      public boolean isPassivierungUmsetzungsMethoden()
      ToDo: Beschreibung der Methode
      Returns:
      isPassivierungUmsetzungsMethoden
    • isRequestSupported

      public boolean isRequestSupported​(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
      Diese Methode muss von der Applikation implementiert werden, um zu signalisieren, ob Sendesteuerungen erwünscht sind und mit der Methode dataRequest verarbeitet werden.
      Specified by:
      isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface
      Parameters:
      object - Das in der zugehörigen Sendeanmeldung angegebene System-Objekt.
      dataDescription - Die in der zugehörigen Sendeanmeldung angegebenen beschreibenden Informationen der angemeldeten Daten.
      Returns:
      true, falls Sendesteuerungen gewünscht sind, sonst false.
    • processDeBlock

      public void processDeBlock​(DeBlock deBlock)
      Verarbeitet einen DeBlock.
      Specified by:
      processDeBlock in interface DeConversionInterface
      Parameters:
      deBlock - Der in eine Attributgruppe umzusetzende DeBlock.
    • sendData

      public void sendData​(de.bsvrz.dav.daf.main.ResultData result)
      Sendet einen Ergebnisdatensatz zum Datenverteiler. Die Daten müssen vorher zum Senden angemeldet worden sein.
      Parameters:
      result - Der zu sendende Ergebnisdatensatz.
    • sendData

      public void sendData​(de.bsvrz.dav.daf.main.ResultData[] results)
      Sendet mehrere Ergebnisdatensätze zum Datenverteiler. Die Daten müssen vorher zum Senden angemeldet worden sein.
      Parameters:
      results - Die zu sendenden Ergebnisdatensätze.
    • sendInitialDeBlock

      public void sendInitialDeBlock​(java.lang.String deBlockKey, int type, int id)
      Methode zum Versenden des jeweils letzten Standes eines bereits versandten De-Blocks für jede Knotennummer-DeNummer-Fg-Typ-Id Kombination. Uber diese Methode kann dann z.B. die aktuelle Einstellung für die Kanalsteuerung nach einer De-Gutmeldung verschickt werden. Die Methode greift dabei über den beim speichern verwendeten Hashkey des DeBlocks DeBlock.getLongKey() auf den hier gespeicherten DeBlock zu. Alle versandten De-Blöcke werden dazu nach dem Versand (tatsächlich wenn sie in der Queue zum versenden stehen, ob sie wirklich versandt wurden ist nicht relevant) mit dem DeBlock.getLongKey() gespeichert.
      Parameters:
      deBlockKey - Der beim Versand verwendete Schlüssel DeBlock.getKey() des De-Blocks (Knotennummer-DeNummer-Fg Kombination).
      type - Typ des zu sendenden Telegramms
      id - ID des zu sendenden Telegramms
    • sendMessage

      public void sendMessage​(java.lang.String id, de.bsvrz.sys.funclib.operatingMessage.MessageType type, java.lang.String messageTypeAddOn, de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade, de.bsvrz.dav.daf.main.config.SystemObject referenceObject, de.bsvrz.sys.funclib.operatingMessage.MessageState state, java.lang.String message)
      Methode zum Versand von Betriebsmeldungen aus einer Umsetzungsmethode heraus. Die Betriebsmeldung wird dabei nur dann versandt, wenn der Parameter zum Versand der Betriebsmeldung für diese DE auf "Ja" eingestellt ist.
      Parameters:
      id - ID der Meldung. Dieses Attribut kann von der Applikation gesetzt werden, um einen Bezug zu einer vorherigen Meldung herzustellen.
      type - der MeldungsTyp
      messageTypeAddOn - der MeldungsTypZusatz
      grade - die MeldungsKlasse
      referenceObject - Referenz auf ein beliebiges Konfigurationsobjekt, auf das sich die Meldung bezieht.
      state - Gibt den Zustand einer Meldung an.
      message - Text der Meldung
    • subscribeAllData

      protected void subscribeAllData​(java.lang.Object[][] tlsToDav, java.lang.Object[][] davToTls)
      ToDo: Beschreibung der Methode
      Parameters:
      tlsToDav - TlsToDav
      davToTls - DavToTls
    • update

      public void update​(de.bsvrz.dav.daf.main.ResultData[] results)
      Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird. Analysiert die Ergebnisdatensätze und ruft die entsprechende Methode zur weiteren Verarbeitung (Zusammenstellung eines DE-Blocks) auf.
      Specified by:
      update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface
      Parameters:
      results - Feld mit den empfangenen Ergebnisdatensätzen.