Package de.bsvrz.kex.tls.osi7.conversion
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 tlsToDavstatic int
ATG
Index für den Zugriff auf die Attributgruppe in den Objekten davToTls und tlsToDavstatic int
FG
Index für den Zugriff auf die Funktionsgruppe in den Objekten davToTls und tlsToDavstatic int
ID
Index für den Zugriff auf die ID in den Objekten davToTls und tlsToDavstatic int
OT
Index für den Zugriff auf den ObjektTyp in den Objekten davToTls und tlsToDavstatic int
TYP
Index für den Zugriff auf den Typ in den Objekten davToTls und tlsToDav -
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 Datenmodelljava.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 Methodeboolean
isPassivierungUmsetzungsMethoden()
ToDo: Beschreibung der Methodeboolean
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 MethodedataRequest
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 Methodevoid
update(de.bsvrz.dav.daf.main.ResultData[] results)
Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird.
-
Field Details
-
ASP
public static final int ASPIndex für den Zugriff auf den Aspekt in den Objekten davToTls und tlsToDav- See Also:
- Constant Field Values
-
ATG
public static final int ATGIndex für den Zugriff auf die Attributgruppe in den Objekten davToTls und tlsToDav- See Also:
- Constant Field Values
-
FG
public static final int FGIndex für den Zugriff auf die Funktionsgruppe in den Objekten davToTls und tlsToDav- See Also:
- Constant Field Values
-
ID
public static final int IDIndex für den Zugriff auf die ID in den Objekten davToTls und tlsToDav- See Also:
- Constant Field Values
-
OT
public static final int OTIndex für den Zugriff auf den ObjektTyp in den Objekten davToTls und tlsToDav- See Also:
- Constant Field Values
-
TYP
public static final int TYPIndex 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 _configDatenmodell der Konfiguration. -
_de
Objektreferenz auf das aufrufende De-Objekt. -
_eak
Objektreferenz auf das aufrufende dem De-Objekt übergeordnete Eak-Objekt. -
_eakConversionModul
Objektreferenz auf das Eak-Umwandlungs-Objekt, welches für die Auswertung De-übergreifender Informationen (Zeitstempel etc. ) zuständig ist.
-
-
Constructor Details
-
DeConversionModul
Erzeugt ein Objekt vom Typ DeConversionModul- Parameters:
daf
- DaVeak
- Eakde
- 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 interfacede.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 WerteSTART_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 interfaceDeConversionInterface
- 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 MethodesubscribeAllData(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 MethodesubscribeAllData(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 MethodedataRequest
verarbeitet werden.- Specified by:
isRequestSupported
in interfacede.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, sonstfalse
.
-
processDeBlock
Verarbeitet einen DeBlock.- Specified by:
processDeBlock
in interfaceDeConversionInterface
- Parameters:
deBlock
- Der in eine Attributgruppe umzusetzendeDeBlock
.
-
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 DeBlocksDeBlock.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 demDeBlock.getLongKey()
gespeichert.- Parameters:
deBlockKey
- Der beim Versand verwendete SchlüsselDeBlock.getKey()
des De-Blocks (Knotennummer-DeNummer-Fg Kombination).type
- Typ des zu sendenden Telegrammsid
- 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 MeldungsTypmessageTypeAddOn
- der MeldungsTypZusatzgrade
- die MeldungsKlassereferenceObject
- 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
- TlsToDavdavToTls
- 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 interfacede.bsvrz.dav.daf.main.ClientReceiverInterface
- Parameters:
results
- Feld mit den empfangenen Ergebnisdatensätzen.
-