Package de.inovat.kex.bast.importer
Class BAStImportSteuerung
- java.lang.Object
-
- de.inovat.kex.bast.importer.BAStImportSteuerung
-
- All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface,de.bsvrz.dav.daf.main.ClientSenderInterface,de.bsvrz.sys.funclib.application.StandardApplication,java.lang.Runnable
public class BAStImportSteuerung extends java.lang.Object implements de.bsvrz.sys.funclib.application.StandardApplication, de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface, java.lang.RunnableDie Klasse dient der Importsteuerung der BASt-Band Daten.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringDATEI_BEARBEITETprotected static java.lang.StringDATEI_LOCKprotected static java.lang.StringFILESEPARATOR_SERVERTODO Fileseparator auf dem Server.
-
Constructor Summary
Constructors Constructor Description BAStImportSteuerung()
-
Method Summary
Modifier and Type Method Description protected voidanmeldenDavEmpfaengerBAStImport()Anmeldung beim Datenverteiler als Empfänger für die Attribute bzgl.voiddataRequest(de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription datenBeschreibung, byte status)voiderzeugeDatensatzV2004(BastBestandsbandformat bastFormat2004, Fahrstreifen fs, int prozentSchritt)Die Methode erzeugt einen Datensatz und übergibt diesen zum Senden an den Dav.LangZeitZaehlStellegetLzz()Get-Methode für die TESTZWECKE.voidinitialize(de.bsvrz.dav.daf.main.ClientDavInterface dav)booleanisRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject systemObject, de.bsvrz.dav.daf.main.DataDescription dataDescription)BastBestandsbandformatkonvertiereDateiInBastFormat(java.lang.String dateiName, java.io.InputStream dateiStream)Die Methode liest die Date mit dem übergebenen Dateinamen vom FTP-Server ein.static voidmain(java.lang.String[] args)voidparseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)voidrun()In der run Methode des Threads BAStBandImport wird der Import der Datei durchgeführt.voidsetzeDatenFuerTestzwecke(KonstantenBast.BAST_FORMAT bastFormat, de.bsvrz.dav.daf.main.ClientDavInterface dav)Methode für die TESTZWECKE.voidupdate(de.bsvrz.dav.daf.main.ResultData[] resultDatas)Update-Methode wird vom Datenverteiler aufgerufen.
-
-
-
Field Detail
-
DATEI_BEARBEITET
protected static final java.lang.String DATEI_BEARBEITET
- See Also:
- Constant Field Values
-
DATEI_LOCK
protected static final java.lang.String DATEI_LOCK
- See Also:
- Constant Field Values
-
FILESEPARATOR_SERVER
protected static final java.lang.String FILESEPARATOR_SERVER
TODO Fileseparator auf dem Server.- See Also:
- Constant Field Values
-
-
Method Detail
-
anmeldenDavEmpfaengerBAStImport
protected void anmeldenDavEmpfaengerBAStImport()
Anmeldung beim Datenverteiler als Empfänger für die Attribute bzgl. BASt-Band Import und Verzeichnisüberwachung.
-
dataRequest
public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription datenBeschreibung, byte status)- Specified by:
dataRequestin interfacede.bsvrz.dav.daf.main.ClientSenderInterface
-
erzeugeDatensatzV2004
public void erzeugeDatensatzV2004(BastBestandsbandformat bastFormat2004, Fahrstreifen fs, int prozentSchritt) throws java.lang.Exception
Die Methode erzeugt einen Datensatz und übergibt diesen zum Senden an den Dav. Dabei wird die Attributgruppe atg.VerkehrsdatenLangZeitIntervall mit dem Aspekt asp.messWertErsetzung geschrieben. Um einen vollständigen Datensatz zu erzeugen, wird der zugehörige Archivdatensatz abgerufen asp.ExterneErfassung und als Default verwendet, d.h. nur die zusätzlich importierten Daten werden in dem Archivdatensatz entsprechend angepasst, dann aber via Aspekt asp.messWertErsetzung publiziert. Methode ist public für die TESTZWECKE.- Parameters:
bastFormat2004- BastBand Format.fs- Fahrstreifen.prozentSchritt- Prozentschritt.- Throws:
java.lang.Exception- .
-
getLzz
public LangZeitZaehlStelle getLzz()
Get-Methode für die TESTZWECKE.- Returns:
- LangZeitZaehlStelle.
-
initialize
public void initialize(de.bsvrz.dav.daf.main.ClientDavInterface dav) throws java.lang.Exception- Specified by:
initializein interfacede.bsvrz.sys.funclib.application.StandardApplication- Throws:
java.lang.Exception
-
isRequestSupported
public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject systemObject, de.bsvrz.dav.daf.main.DataDescription dataDescription)- Specified by:
isRequestSupportedin interfacede.bsvrz.dav.daf.main.ClientSenderInterface
-
konvertiereDateiInBastFormat
public BastBestandsbandformat konvertiereDateiInBastFormat(java.lang.String dateiName, java.io.InputStream dateiStream)
Die Methode liest die Date mit dem übergebenen Dateinamen vom FTP-Server ein. Methode ist public für die TESTZWECKE.- Parameters:
dateiName- der Datei die importiert werden soll.dateiStream- Inhalt der Datei.- Returns:
- instanz BastBestandsbandformat mit allen relevanten Attributen.
-
main
public static void main(java.lang.String[] args)
-
parseArguments
public void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList) throws java.lang.Exception- Specified by:
parseArgumentsin interfacede.bsvrz.sys.funclib.application.StandardApplication- Throws:
java.lang.Exception
-
run
public void run()
In der run Methode des Threads BAStBandImport wird der Import der Datei durchgeführt. Folgende Schritte sind dabei zu vollziehen, nachdem eine erfolgreiche Verbindung zum FTP-Server statt gefunden hat. Sollte dies nicht möglich sein, wird eine Statusmeldung versendet. Für alle Dateien die importiert werden sollen:- 0. Sperren der Datei via DATEI_LOCK Endung
- 1. Lese Datei vom FTP-Server ein
- 2. Konvertiere die Zeilen in das interne DaV-Format.
- 3. Schreibe Datensatz in DaV.
- 4. Bestätige Import der Datei via Statusmeldung.
- 5. Benenne Datei in bearbeitet um.
- Specified by:
runin interfacejava.lang.Runnable
-
setzeDatenFuerTestzwecke
public void setzeDatenFuerTestzwecke(KonstantenBast.BAST_FORMAT bastFormat, de.bsvrz.dav.daf.main.ClientDavInterface dav)
Methode für die TESTZWECKE.- Parameters:
bastFormat- BASt-Format.dav- DaV.
-
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:
updatein interfacede.bsvrz.dav.daf.main.ClientReceiverInterface- Parameters:
resultDatas- Resultdata, entspricht den Attributen eines BASt-Band importes, d.h. Referenz auf Langzeitzählstellen username passwort url zum FTP-Server auf dem die Importierten Daten abgelegt werden.
-
-