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.Runnable
Die Klasse dient der Importsteuerung der BASt-Band Daten.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
DATEI_BEARBEITET
protected static java.lang.String
DATEI_LOCK
protected static java.lang.String
FILESEPARATOR_SERVER
TODO Fileseparator auf dem Server.
-
Constructor Summary
Constructors Constructor Description BAStImportSteuerung()
-
Method Summary
Modifier and Type Method Description protected void
anmeldenDavEmpfaengerBAStImport()
Anmeldung beim Datenverteiler als Empfänger für die Attribute bzgl.void
dataRequest(de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription datenBeschreibung, byte status)
void
erzeugeDatensatzV2004(BastBestandsbandformat bastFormat2004, Fahrstreifen fs, int prozentSchritt)
Die Methode erzeugt einen Datensatz und übergibt diesen zum Senden an den Dav.LangZeitZaehlStelle
getLzz()
Get-Methode für die TESTZWECKE.void
initialize(de.bsvrz.dav.daf.main.ClientDavInterface dav)
boolean
isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject systemObject, de.bsvrz.dav.daf.main.DataDescription dataDescription)
BastBestandsbandformat
konvertiereDateiInBastFormat(java.lang.String dateiName, java.io.InputStream dateiStream)
Die Methode liest die Date mit dem übergebenen Dateinamen vom FTP-Server ein.static void
main(java.lang.String[] args)
void
parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList)
void
run()
In der run Methode des Threads BAStBandImport wird der Import der Datei durchgeführt.void
setzeDatenFuerTestzwecke(KonstantenBast.BAST_FORMAT bastFormat, de.bsvrz.dav.daf.main.ClientDavInterface dav)
Methode für die TESTZWECKE.void
update(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:
dataRequest
in 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:
initialize
in 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:
isRequestSupported
in 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:
parseArguments
in 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:
run
in 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:
update
in 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.
-
-