de.inovat.vew.autoexport
Class VewLZZS

java.lang.Object
  extended by de.inovat.vew.autoexport.VewLZZS
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientSenderInterface

public class VewLZZS
extends java.lang.Object
implements de.bsvrz.dav.daf.main.ClientSenderInterface

Verwaltungsklasse für alle LZZS, für die der BASt-Export für die Formate V20004, V2007 und AXL2009 durchgeführt werden soll.

Version:
$Revision: 780 $ / $Date: 2012-10-31 11:44:41 +0100 (Mi, 31 Okt 2012) $ / ($Author: HCK $)
Author:
inovat, innovative systeme - verkehr - tunnel - technik, Dipl.-Ing. Hans Christian Kniß (HCK)

Field Summary
private static de.bsvrz.dav.daf.main.ClientDavInterface _dav
          Datenverteilerverbindung
private  java.lang.String _ftpServer
           
private  boolean _isAenderungDatenstruktur
           
private  boolean _isBastBandUeberschreiben
           
private static de.bsvrz.dav.daf.main.config.DataModel _konfiguration
          Die Konfiguration des DaV.
(package private)  java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> _listeAxl
           
(package private)  java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> _listeLzzs
          Die Liste der Systemobjekte, für welche diese Verwaltungsklasse die Daten berechnet
private  de.bsvrz.dav.daf.main.config.SystemObject _verwaltungsObjektBastExportSteuerung
           
private static de.bsvrz.sys.funclib.debug.Debug debug
          DebugLogger für Debug-Ausgaben.
 
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
VewLZZS(de.bsvrz.dav.daf.main.ClientDavInterface dav, java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> listeLzzs, de.bsvrz.dav.daf.main.config.SystemObject verwaltungsObjektBastExportSteuerung, java.lang.String ftpServer, boolean isAenderungDatenstruktur, boolean isBastBandUeberschreiben)
           
 
Method Summary
 java.lang.String ausfuehren(Auftrag auftrag)
          Methode, die den eigentlichen Auftrag ausführt.
 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.
private  java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> ermittleListeAxl(java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> listeLzzs)
           
 java.lang.String getPid()
          Liefert die Pid des dieser Verwaltungseinheit zugeordnete LZZS Systemobjekt.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

private static final de.bsvrz.sys.funclib.debug.Debug debug
DebugLogger für Debug-Ausgaben.


_dav

private static de.bsvrz.dav.daf.main.ClientDavInterface _dav
Datenverteilerverbindung


_konfiguration

private static de.bsvrz.dav.daf.main.config.DataModel _konfiguration
Die Konfiguration des DaV.


_ftpServer

private java.lang.String _ftpServer

_isAenderungDatenstruktur

private boolean _isAenderungDatenstruktur

_isBastBandUeberschreiben

private boolean _isBastBandUeberschreiben

_listeAxl

java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> _listeAxl

_listeLzzs

java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> _listeLzzs
Die Liste der Systemobjekte, für welche diese Verwaltungsklasse die Daten berechnet


_verwaltungsObjektBastExportSteuerung

private de.bsvrz.dav.daf.main.config.SystemObject _verwaltungsObjektBastExportSteuerung
Constructor Detail

VewLZZS

public VewLZZS(de.bsvrz.dav.daf.main.ClientDavInterface dav,
               java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> listeLzzs,
               de.bsvrz.dav.daf.main.config.SystemObject verwaltungsObjektBastExportSteuerung,
               java.lang.String ftpServer,
               boolean isAenderungDatenstruktur,
               boolean isBastBandUeberschreiben)
Parameters:
dav - Die Datenverteilerverbindung
listeLzzs - Liste der LZZS-Systemobjekte, für die BASt-Band Daten berechnet werden sollen
verwaltungsObjektBastExportSteuerung - Verwaltungsobjekt, an dem die ATG zur Steuerung des BASt-Exports hängt.
ftpServer - Paramter für den FTP-Server
isAenderungDatenstruktur - Liegen eine Änderung der Datenstruktur (BASt) vor?
isBastBandUeberschreiben - Soll eventuell existierende BASt-Datei beim Export überschrieben werden?
Method Detail

ausfuehren

public java.lang.String ausfuehren(Auftrag auftrag)
Methode, die den eigentlichen Auftrag ausführt.

Parameters:
auftrag - Der auszuführende Auftrag.
Returns:
Meldung, die den Ablauf der Ausführung des Auftrags enthält. Wird für die Statusdarstellung verwendet.

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

ermittleListeAxl

private java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> ermittleListeAxl(java.util.List<de.bsvrz.dav.daf.main.config.SystemObject> listeLzzs)

getPid

public java.lang.String getPid()
Liefert die Pid des dieser Verwaltungseinheit zugeordnete LZZS Systemobjekt.

Returns:
Pid des dieser Verwaltungseinheit zugeordnete LZZS Systemobjekt.

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. In der Implementierung dieser Methode dürfen keine synchronen Aufrufe, die auf Telegramme vom Datenverteiler warten (wie z.B. Konfigurationsanfragen) durchgeführt werden, da ansonsten ein Deadlock entsteht.

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.
See Also:
dataRequest(de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription, byte)