de.inovat.kex.bast.exporter
Class BAStExportSteuerung

java.lang.Object
  extended by de.inovat.kex.bast.exporter.BAStExportSteuerung
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.sys.funclib.application.StandardApplication, java.lang.Runnable

public class BAStExportSteuerung
extends java.lang.Object
implements de.bsvrz.sys.funclib.application.StandardApplication, de.bsvrz.dav.daf.main.ClientReceiverInterface, java.lang.Runnable

Die Klasse dient als Zwischenklasse zur Steuerung des Exportes durch den Datenverteiler.

Version:
$Revision: 660 $ / $Date: 2012-02-28 11:55:14 +0100 (Di, 28 Feb 2012) $ / ($Author: LG $)
Author:
inovat, innovative systeme - verkehr - tunnel - technik, Dagmar Rostek (DR)

Field Summary
private  boolean _abbruchExport
          Boolesches Attribut das angibt, ob der Export unterbrochen wurde, so dass keine weitere Statusmeldung mehr gesendet werden darf.
private  BastExporter _BastExporter
          Instanz BastExporter.
private  KonstantenBast.BAST_FORMAT _bastFormat
          Exportformat.
private  SendeBAStStatusDaten _bastStatusDaten
          Statusinformationen die an den Datenverteiler gesendet werden.
private  java.util.Calendar _CalEnd
          Endedatum der zu exportierenden Langzeitzählstellen.
private  java.util.Calendar _CalStart
          Startdatum der zu exportierenden Langzeitzählstellen.
private  de.bsvrz.dav.daf.main.DataDescription _datenbeschreibungExportSteuerung
          Datenbeschreibungsobjekt Export Steuerung.
private  de.bsvrz.dav.daf.main.ClientDavInterface _dav
          Datenverteilerverbindung
private static java.util.List<de.bsvrz.dav.daf.main.ResultData> _listeAuftraege
           
private  java.util.List<java.lang.String> _LzzPidList
          Liste der Pidnummern der zu exportierenden Langzeitzählstellen.
private  int _monatB
          Integer Variable die dem Monat bis entspricht.
private  int _monatV
          Integer Variable die dem Monat von entspricht.
private  de.bsvrz.dav.daf.main.config.SystemObject _systemObjectBAStExportImportSteuerung
          Systemobjekt für den BASt-Band Export.
private  int _tagBis
          Bis Tag.
private  int _tagVon
          Vom Tag.
private  boolean _threadAktiv
          Boolesches Attribut das angibt ob der Threat bzgl.
private  java.lang.Thread _threadBastBandExport
          Thread fü rden BastBand Export.
private  java.lang.String _typBAStBand
          Typ des Systemobjekte für den BASt-Band Import/Export.
private static java.lang.String ABBRUCH
           
private static java.lang.String ASP_ANFRAGE
          Aspekt Anfrage.
private static java.lang.String ATG_EXPORT_STEUERUNG
          Attributgruppe zur Steuerung des BASt-Band Exports:
private static de.bsvrz.sys.funclib.debug.Debug debug
          Debugdebug fuer Debug-Ausgaben.
 
Constructor Summary
BAStExportSteuerung()
           
 
Method Summary
private  void anmeldenDaVEmpfaengerBAStExport()
          Anmeldung beim Datenverteiler als Empfänger für die Attribute bzgl.
private  void arbeiteAuftraegeAb()
          Arbeite Aufträge ab.
static java.util.Calendar erstelleKalenderMitMonatAnfang(java.util.Calendar calenderMuster)
          Erstelle die Kalender-Instanz aus dem Muster-Kalender mit dem Monatsanfang.
static java.util.Calendar erstelleKalenderMitMonatEnde(java.util.Calendar calenderMuster)
          Erstelle die Kalender-Instanz aus dem Muster-Kalender mit dem Kalenderende.
static java.util.Calendar erstelleKalenderMitZeitAnfang(java.util.Calendar calenderMuster)
          Erstelle die Kalender-Instanz aus dem Muster-Kalender mit der Zeit 00:00:00:00.
static java.util.Calendar erstelleKalenderMitZeitEnde(java.util.Calendar calenderMuster)
          Erstelle die Kalender-Instanz aus dem Muster-Kalender mit der Zeit 23:59:59:999.
private  void exportFTPAxlEF1()
           
private  void exportFTPV2004()
          Die Methode startet den Exportvorgang für das BASt-Band 2004 sowie den Export der Axlastdaten.
private  void exportFTPVV2007()
          Die Methode starte den export für das BASt-Band Format 2007 auf den FTP Server, die URI wird als Komponente File übergeben.
 void initialize(de.bsvrz.dav.daf.main.ClientDavInterface dav)
           
private  boolean isAchslastMessstelle(LangZeitZaehlStelle lzz)
          Die Methode prueft ob es sich bei der zu bearbeitenden Langzeitzaehlstelle um eine Achslastmesstelle handelt.
private  void konvertiereDaVDatenInInternesFormat(de.bsvrz.dav.daf.main.ResultData result)
          Die Methode konvertiert die Resultdaten in ein internes Format, so dass damit die Methoden für den Export aufgerufen werden können.
static void main(java.lang.String[] args)
          Main.
 void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)
           
 void run()
          Die Methode sorgt dafür, dass der erzeugte Thread den BastBand Export durchführt.
private  void sendeMeldungFehler(java.lang.String prozent, java.lang.String meldung)
          Die Methode sendet die übergebene Fehler_Meldung an den DaV.
private  void sendeMeldungInfo(java.lang.String prozent, java.lang.String meldung)
          Die Methode sendet die übergebene Info_Meldung an den DaV.
private  boolean starteBAStExporter()
          Die Methode startet den BASt-Band Export je nach BASt-Band Format.
private  void starteThread()
          Die Methode erzeugt einen Thread, der den BastBandExport startet.
private  void stopThread(java.lang.String meldung)
          Stoppt den Thread zur Überprüfung des Archivstatus.
private  void subscribe(de.bsvrz.dav.daf.main.config.SystemObject systemObjectBAStExportImportSteuerung, de.bsvrz.dav.daf.main.DataDescription datenbeschreibungExportSteuerung, de.bsvrz.dav.daf.main.ReceiveOptions anmeldeoptionen, de.bsvrz.dav.daf.main.ReceiverRole empfaengerrolle)
          Anmeldung zum Empfäang der Daten bzgl.
 void update(de.bsvrz.dav.daf.main.ResultData[] resultDatas)
          Update-Methode wird vom Datenverteiler aufgerufen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ABBRUCH

private static final java.lang.String ABBRUCH
See Also:
Constant Field Values

ASP_ANFRAGE

private static final java.lang.String ASP_ANFRAGE
Aspekt Anfrage.

See Also:
Constant Field Values

ATG_EXPORT_STEUERUNG

private static final java.lang.String ATG_EXPORT_STEUERUNG
Attributgruppe zur Steuerung des BASt-Band Exports:

See Also:
Constant Field Values

debug

private static de.bsvrz.sys.funclib.debug.Debug debug
Debugdebug fuer Debug-Ausgaben.


_listeAuftraege

private static final java.util.List<de.bsvrz.dav.daf.main.ResultData> _listeAuftraege

_abbruchExport

private boolean _abbruchExport
Boolesches Attribut das angibt, ob der Export unterbrochen wurde, so dass keine weitere Statusmeldung mehr gesendet werden darf.


_CalEnd

private java.util.Calendar _CalEnd
Endedatum der zu exportierenden Langzeitzählstellen.


_CalStart

private java.util.Calendar _CalStart
Startdatum der zu exportierenden Langzeitzählstellen.


_threadAktiv

private boolean _threadAktiv
Boolesches Attribut das angibt ob der Threat bzgl. BASt-Export gerade aktiv ist.


_BastExporter

private BastExporter _BastExporter
Instanz BastExporter.


_bastFormat

private KonstantenBast.BAST_FORMAT _bastFormat
Exportformat.


_bastStatusDaten

private SendeBAStStatusDaten _bastStatusDaten
Statusinformationen die an den Datenverteiler gesendet werden.


_datenbeschreibungExportSteuerung

private de.bsvrz.dav.daf.main.DataDescription _datenbeschreibungExportSteuerung
Datenbeschreibungsobjekt Export Steuerung.


_dav

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


_LzzPidList

private java.util.List<java.lang.String> _LzzPidList
Liste der Pidnummern der zu exportierenden Langzeitzählstellen.


_monatB

private int _monatB
Integer Variable die dem Monat bis entspricht.


_monatV

private int _monatV
Integer Variable die dem Monat von entspricht.


_systemObjectBAStExportImportSteuerung

private de.bsvrz.dav.daf.main.config.SystemObject _systemObjectBAStExportImportSteuerung
Systemobjekt für den BASt-Band Export.


_tagBis

private int _tagBis
Bis Tag.


_tagVon

private int _tagVon
Vom Tag.


_threadBastBandExport

private java.lang.Thread _threadBastBandExport
Thread fü rden BastBand Export.


_typBAStBand

private java.lang.String _typBAStBand
Typ des Systemobjekte für den BASt-Band Import/Export.

Constructor Detail

BAStExportSteuerung

public BAStExportSteuerung()
Method Detail

anmeldenDaVEmpfaengerBAStExport

private void anmeldenDaVEmpfaengerBAStExport()
Anmeldung beim Datenverteiler als Empfänger für die Attribute bzgl. BASt-Band Export.


arbeiteAuftraegeAb

private void arbeiteAuftraegeAb()
Arbeite Aufträge ab.


erstelleKalenderMitMonatAnfang

public static java.util.Calendar erstelleKalenderMitMonatAnfang(java.util.Calendar calenderMuster)
Erstelle die Kalender-Instanz aus dem Muster-Kalender mit dem Monatsanfang.

Parameters:
calenderMuster - Muster-Kalender.
Returns:
Kalender-Instanz aus dem Muster-Kalender mit dem Monatsanfang.

erstelleKalenderMitMonatEnde

public static java.util.Calendar erstelleKalenderMitMonatEnde(java.util.Calendar calenderMuster)
Erstelle die Kalender-Instanz aus dem Muster-Kalender mit dem Kalenderende.

Parameters:
calenderMuster - Muster-Kalender.
Returns:
Kalender-Instanz aus dem Muster-Kalender mit dem Kalenderende.

erstelleKalenderMitZeitAnfang

public static java.util.Calendar erstelleKalenderMitZeitAnfang(java.util.Calendar calenderMuster)
Erstelle die Kalender-Instanz aus dem Muster-Kalender mit der Zeit 00:00:00:00.

Parameters:
calenderMuster - Muster-Kalender.
Returns:
Kalender-Instanz aus dem Muster-Kalender mit der Zeit 00:00:00:00.

erstelleKalenderMitZeitEnde

public static java.util.Calendar erstelleKalenderMitZeitEnde(java.util.Calendar calenderMuster)
Erstelle die Kalender-Instanz aus dem Muster-Kalender mit der Zeit 23:59:59:999.

Parameters:
calenderMuster - Muster-Kalender.
Returns:
Kalender-Instanz aus dem Muster-Kalender mit der Zeit 23:59:59:999.

exportFTPAxlEF1

private void exportFTPAxlEF1()
                      throws de.bsvrz.dav.daf.main.SendSubscriptionNotConfirmed
Throws:
de.bsvrz.dav.daf.main.SendSubscriptionNotConfirmed

exportFTPV2004

private void exportFTPV2004()
                     throws java.lang.Exception
Die Methode startet den Exportvorgang für das BASt-Band 2004 sowie den Export der Axlastdaten.

Throws:
java.lang.Exception - .

exportFTPVV2007

private void exportFTPVV2007()
                      throws java.lang.Exception
Die Methode starte den export für das BASt-Band Format 2007 auf den FTP Server, die URI wird als Komponente File übergeben.

Throws:
java.lang.Exception - .

initialize

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

isAchslastMessstelle

private boolean isAchslastMessstelle(LangZeitZaehlStelle lzz)
Die Methode prueft ob es sich bei der zu bearbeitenden Langzeitzaehlstelle um eine Achslastmesstelle handelt.

Parameters:
lzz - Langzeitzaehlstelle, für die geprueft wird, ob es sich um eine Achslastmesstelle handelt.
Returns:
true wenn es sich um eine Achslastmesstelle handelt, false sonst.

konvertiereDaVDatenInInternesFormat

private void konvertiereDaVDatenInInternesFormat(de.bsvrz.dav.daf.main.ResultData result)
                                          throws DataModellMismatchException
Die Methode konvertiert die Resultdaten in ein internes Format, so dass damit die Methoden für den Export aufgerufen werden können.

Parameters:
result - ResultData vom Datenverteiler mit den Informationen bzgl. des zu startenden Exportes.
Throws:
DataModellMismatchException - .

main

public static void main(java.lang.String[] args)
Main.

Parameters:
args - Aufrufparameter.

parseArguments

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

run

public void run()
Die Methode sorgt dafür, dass der erzeugte Thread den BastBand Export durchführt.

Specified by:
run in interface java.lang.Runnable

sendeMeldungFehler

private void sendeMeldungFehler(java.lang.String prozent,
                                java.lang.String meldung)
Die Methode sendet die übergebene Fehler_Meldung an den DaV.

Parameters:
prozent - Prozent.
meldung - Fehlermeldung die publiziert wird.

sendeMeldungInfo

private void sendeMeldungInfo(java.lang.String prozent,
                              java.lang.String meldung)
Die Methode sendet die übergebene Info_Meldung an den DaV.

Parameters:
prozent - Prozent.
meldung - Infomeldung die publiziert wird.

starteBAStExporter

private boolean starteBAStExporter()
Die Methode startet den BASt-Band Export je nach BASt-Band Format.

Returns:
boolesche Variable die angibt, ob der Exportvorgang erfolgreich durchgeführt worden ist.

starteThread

private void starteThread()
Die Methode erzeugt einen Thread, der den BastBandExport startet. Durch die Verwendung eines Threads ist es möglich den Export zu jedem Zeitpunkt zu unterbrechen.


stopThread

private void stopThread(java.lang.String meldung)
Stoppt den Thread zur Überprüfung des Archivstatus.

Parameters:
meldung - Statusmeldung die an den Clienten via DaV geschickt wird.

subscribe

private void subscribe(de.bsvrz.dav.daf.main.config.SystemObject systemObjectBAStExportImportSteuerung,
                       de.bsvrz.dav.daf.main.DataDescription datenbeschreibungExportSteuerung,
                       de.bsvrz.dav.daf.main.ReceiveOptions anmeldeoptionen,
                       de.bsvrz.dav.daf.main.ReceiverRole empfaengerrolle)
Anmeldung zum Empfäang der Daten bzgl. BASt-Band Exportsteuerung.

Parameters:
systemObjectBAStExportImportSteuerung - SystemObject.
datenbeschreibungExportSteuerung - Datenbeschreibung die angemeldet wird.
anmeldeoptionen - Anmeldeoptionen.
empfaengerrolle - Empfängerrolle.

update

public void update(de.bsvrz.dav.daf.main.ResultData[] resultDatas)
Update-Methode wird vom Datenverteiler aufgerufen. Die übergebenen Datensätze werden verarbeitet.

Specified by:
update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface
Parameters:
resultDatas - Resultdata, entspricht den Attributen eines BASt-Band exportes, d.h. Referenz auf Langzeitzählstellen username passwort url zum FTP-Server auf dem die Exportierten Daten abgelegt werden.