|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.inovat.kex.bast.importer.BAStImportSteuerung
public class BAStImportSteuerung
Die Klasse dient der Importsteuerung der BASt-Band Daten.
Field Summary | |
---|---|
private boolean |
_abbruchImport
Boolesches Attribut das angibt, ob der Import unterbrochen wurde. |
private boolean |
_abbruchSystem
Boolesches Attribut das angibt, ob der Importvorgang durch das System abgebrochen werden musste. |
private de.bsvrz.dav.daf.main.config.AttributeGroup |
_atgVerkehrsDatenLangZeitIntervall
Attributgruppe VerkehrsDatenLangZeitIntervall wird für den Import der BASt-Version 2004 benötigt. |
private de.bsvrz.dav.daf.main.config.AttributeGroup |
_atgVerkehrsDatLangZeitIntGeschwVerteilungFS
Attributgruppe tlsLveErgebnismeldungVersion24, wird für den Import BASt-Version 2007 benötigt. |
private KonstantenBast.BAST_FORMAT |
_bastFormat
Importformat. |
private SendeBAStStatusDaten |
_bastStatusDaten
Statusinformationen die an den Datenverteiler gesendet werden. |
private de.bsvrz.dav.daf.main.DataDescription |
_datenbeschreibungVerkehrsDatenLangZeitIntervall
Datenbeschreibung für das Versenden der Importdaten. |
private de.bsvrz.dav.daf.main.DataDescription |
_datenbeschreibungVerkehrsDatLangZeitIntGeschwVerteilungFS
Datenbeschreibung für V2007. |
private de.bsvrz.dav.daf.main.ClientDavInterface |
_dav
ClientDavInteface. |
private java.lang.String |
_ftpBenutzer
FTP-Benutzername. |
private org.apache.commons.net.ftp.FTPClient |
_ftpClient
FTPClient. |
private boolean |
_ftpPassivModus
Legt fest, ob die FTP-Verbindung im PassivModus eingebaut werden soll. |
private java.lang.String |
_ftpPasswd
FTP-Passwort. |
private java.lang.String |
_ftpServerName
Host des FTP-Servers. |
private java.util.ArrayList<java.lang.String> |
_importDateienList
ArrayList der Dateinamen die importiert werden sollen. |
private LangZeitZaehlStelle |
_lzz
Objekt vom Typ Langzeitzählstelle. |
private java.util.Map<java.lang.String,java.lang.Boolean> |
_mapSendeErlaubnis
HashMap mit den Sendestatus für das DataDescription des SystemObjekts. |
private int |
_prozentImport
Integer Attribut dass den Prozentsatz des aktuellen Importes repräsentiert. |
private java.lang.Thread |
_threadBastBandImport
Thread für die BastBandImport Steuerung. |
private boolean |
_threadImportAktiv
Boolesches Attribut, das angibt, ob der Thread gerade aktiv ist. |
private java.lang.String |
_typBAStBand
Typ des Systemobjekte für den BASt-Band Import/Export. |
private static int[] |
AR_bPAValues
Geschwindigkeitsgrenzen BPA. |
private static java.lang.String[] |
AR_DiffVerkehrsDatenLzz8Plus1V2004
Array mit allen Fahrzeugarten nach TLS 2002 die über den Import 8 Plus 1 nicht versorgt werden. |
private static int[] |
AR_lVoValues
Geschwindigkeitsgrenzen LVO. |
private static int[] |
AR_sGVValues
Geschwindigkeitsgrenzen SGV. |
private static java.lang.String[] |
AR_VerkehrsDatenLangZeitIntervall_WertGeschwKlassen
Array mit allen Fahrzeugarten nach TLS 2002 die nicht über den Import versorgt werden, aber mit Daten für das Versenden im Datenverteiler versorgt werden müssen. |
private static java.lang.String[] |
AR_VerkehrsDatenLangZeitIntervallGeschwVerteilungFS
ToDo HCK: geändert 25.11.11, anteilSGV muss raus, sonst wird Wert beim Import auf nicht ermittelbar gesetzt: private String[] AR_VerkehrsDatenLangZeitIntervallGeschwVerteilungFS = { "vBPA", "sBPA", "v15BPA", "v85BPA", "qSGV", "anteilSGV", "vLVo", "sLVo", "v15LVo", "v85LVo", "vSGV", "sSGV", "v15SGV", "v85SGV" }; Array mit der Teilmenge der Geschiwndigkeitsdaten. |
private static java.lang.String[] |
AR_VerkehrsDatenLangZeitIntervallGeschwVerteilungFSnichtImportierteAttribute
Array mit allen Attributen der Attributgruppe atg.verkehrsDatenLangZeitIntervallGeschwindigkeitVerteilungFS die weder exportiert, noch importiert werden. |
private static java.lang.String[] |
AR_vLVoSGvBPa
Klassen. |
private static java.lang.String |
ASP_ANFRAGE
Aspekt Anfrage. |
private static java.lang.String |
ASP_EXTERNE_ERFASSUNG
Aspekt ExterneErfassung für die Archivanfrage der V2004 Daten. |
private static java.lang.String |
ASP_MESSWERT_ERSETZUNG
Aspekt MessWertErsetzung. |
private static java.lang.String |
ASP_ZUSTAND
Aspekt des Systemobjektes Importverzeichnisüberwachung. |
private static java.lang.String |
ATG_IMPORT_STEUERUNG
Attributgruppe zur Steuerung des BASt-Band Imports: |
private static java.lang.String |
ATG_VERKEHRS_DAT_LANG_ZEIT_INT_GESCHW_VERTEILUNG
Attributgruppe Ergebnismeldung Version 24 (BASt 2007). |
private static java.lang.String |
ATG_VERKEHRS_DATEN_LANG_ZEITINTERVALL
Attributgruppe Verkehrsdatenlangzeitinervall (BASt 2004). |
private static java.lang.String |
ATG_VERZEICHNIS_UEBERWACHUNG
Attributgruppe des Systemobjektes Importverzeichnisüberwachung. |
private static de.bsvrz.sys.funclib.debug.Debug |
debug
Debugdebug fuer Debug-Ausgaben. |
private static java.lang.String |
ERFASSUNG
|
private static java.lang.String |
GUETE
|
private static java.lang.String |
IMPLAUSIBEL
|
private static java.lang.String |
INDEX
|
private static java.lang.String |
INTERPOLIERT
|
private static java.lang.String |
JA
|
private static java.lang.String |
MESSWERT_ERSETZUNG
|
private static java.lang.String |
NICHT_ERFASST
|
private static java.lang.String |
NICHT_ERMITTELBAR
|
private static java.lang.String |
PL_Formal
|
private static java.lang.String |
Q_BPAGeschwKlasse
|
private static java.lang.String |
Q_LVoGeschwKlasse
|
private static java.lang.String |
Q_SGVGeschwKlasse
|
private static java.lang.String |
STANDARD
|
private static java.lang.String |
STATUS
|
private static java.lang.String |
VERFAHREN
|
private static java.lang.String |
WERT
|
private static java.lang.String |
WERT_MAX
|
private static java.lang.String |
WERT_MAX_LOGISCH
|
private static java.lang.String |
WERT_MIN
|
private static java.lang.String |
WERT_MIN_LOGISCH
|
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 | |
---|---|
BAStImportSteuerung()
|
Method Summary | |
---|---|
private void |
abbrechen(java.lang.String meldung)
Die Methode stoppt den Thread. |
protected void |
anmeldenDavEmpfaengerBAStImport()
Anmeldung beim Datenverteiler als Empfänger für die Attribute bzgl. |
private java.util.HashMap<java.lang.Long,de.bsvrz.dav.daf.main.Data> |
bestimmeArchivStundendatensatzMap(java.util.ArrayList<Stundendatensatz> arListStundenDatenSatzfuerFS,
Fahrstreifen fs,
de.bsvrz.dav.daf.main.config.AttributeGroup atg)
Die Methode ermittelt zu einem Fahrstreifen und dem aktuellen Stundendatensatz des Fahrstreifens die aktuellsten Archivdaten, diese werden in einer Map gespeichert, in der der Schlüssel der Zeitpunkt, der Wert das Dataobjekt ist. |
private int |
bestimmeProgressbarFortschritt(int countStundendatensaetze,
int prozentSchritt)
Um in der Bedienung und Visualisierung den aktuellen Status über den Importfortschritt anzuzeigen wird ein Wert übermittelt, der je nach Prozentschritt - in Abhängigkeit der zu importierenden Daten - die Prozentzahl der Progressbar um eins erhöht. |
private int |
bestimmeProzentSchritt()
Die Methode ermittelt den aktuellen Prozentstand. |
private boolean |
connectToFTPServer()
Die Methode verbindet zum FTP-Server. |
void |
dataRequest(de.bsvrz.dav.daf.main.config.SystemObject so,
de.bsvrz.dav.daf.main.DataDescription datenBeschreibung,
byte status)
|
private void |
erneuerConnectFTPServer()
Die Methode erneuert die Verbindung zum FTP-Server. |
private void |
erzeugeDatensatzV2004(BastBestandsbandformat bastFormat2004,
Fahrstreifen fs,
int prozentSchritt)
Die Methode erzeugt einen Datensatz und übergibt diesen zum Senden an den Dav. |
private void |
erzeugeDatensatzV2007(BastBestandsbandformat bastBestandsFormat,
Fahrstreifen fs,
int prozentSchritt)
Die Methode erzeugt einen BASt-Band Bestandsformat Daten V2007 Datensatz und leitet das Senden dieses Datensatzes ein, wenn erfolgreich ein Datensatz erzeugt wurde. |
private de.bsvrz.dav.daf.main.Data |
erzeugeVerkehrsDatenLangZeitIntervallDatensatzMitVorbelegungImportdaten(Stundendatensatz stundenSatz)
Die Methode erzeugt zu einem Stundendatensatz ein mit "Nicht ermittelbar" vorbelegten Werten, wobei alle aus der Datei importierten Werte entsprechend belegt werden. |
private de.bsvrz.dav.daf.main.Data |
erzeugeVerkehrsDatenLangZeitIntervallGeschwindigkeitVerteilungDatensatzMitVorbelegungImportdaten(Stundendatensatz stundenSatz)
Die Methode erzeugt einen Stundendatensatz der mit den Importdaten vorbelegt ist. |
private java.lang.String |
generiereSendeErlaubnisSchluessel(de.bsvrz.dav.daf.main.config.SystemObject so,
de.bsvrz.dav.daf.main.DataDescription dd)
Generiere den SendeErlaubnis-Schlüssel. |
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)
|
private void |
konvertiereDavDatenImport(de.bsvrz.dav.daf.main.Data data)
Methode die das Data Objekt in Dav-Daten transformiert. |
private void |
konvertiereDavDatenVerzeichnisueberwachungs(de.bsvrz.dav.daf.main.Data data)
Methode die das Data-Objekt transformiert. |
private BastBestandsbandformat |
leseDateiEin(java.lang.String dateiName)
Die Methode liest die Date mit dem übergebenen Dateinamen vom FTP-Server ein. |
private boolean |
loginToFTPServer()
Diese Methode stellt eine Verbindung mit dem FTP-Server und den übergebenen Benutzer und Passwort her. |
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. |
private void |
sendeDavDaten(java.util.ArrayList<de.bsvrz.dav.daf.main.ResultData> listeResultData)
Das Senden der DaV-Daten. |
private void |
sendeImportiertenDatenFuerAlleFS(BastBestandsbandformat bastBestandsFormat)
Die Methode sendet die importierten Verkehrsdaten. |
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 |
sperreDatei(java.lang.String dateiName)
Die Methode sperrt die Datei, die im folgenden Schritt eingelesn wird. |
private boolean |
sperreDateiAufheben(java.lang.String dateiName)
Die Methode hebt die Sperre der Datei wieder auf und benennt die Datei um mit Suffix ".bearbeitet" wobei vorher der Suffix ".lock" eliminiert wird. |
private void |
starteThread()
Die Methode erzeugt einen Thread, der den BastBandImport startet. |
private void |
stopThread(java.lang.String meldung)
Stoppt den Thread. |
void |
update(de.bsvrz.dav.daf.main.ResultData[] resultDatas)
Update-Methode wird vom Datenverteiler aufgerufen. |
private boolean |
verbindeMitFTPServerImport()
Diese Methode stellt eine Verbindung mit dem FTP-Server zum Import der Dateien her. |
private boolean |
wechselInsKorrekteImportVerzeichnis()
Die Methode wechselt für den Import in das korrekte Verzeichnis. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final int[] AR_bPAValues
private static final java.lang.String[] AR_DiffVerkehrsDatenLzz8Plus1V2004
private static final int[] AR_lVoValues
private static final int[] AR_sGVValues
private static final java.lang.String[] AR_VerkehrsDatenLangZeitIntervall_WertGeschwKlassen
private static final java.lang.String[] AR_VerkehrsDatenLangZeitIntervallGeschwVerteilungFS
private static final java.lang.String[] AR_VerkehrsDatenLangZeitIntervallGeschwVerteilungFSnichtImportierteAttribute
private static final java.lang.String[] AR_vLVoSGvBPa
private static final java.lang.String ASP_ANFRAGE
private static final java.lang.String ASP_EXTERNE_ERFASSUNG
private static final java.lang.String ASP_MESSWERT_ERSETZUNG
private static final java.lang.String ASP_ZUSTAND
private static final java.lang.String ATG_IMPORT_STEUERUNG
private static final java.lang.String ATG_VERKEHRS_DAT_LANG_ZEIT_INT_GESCHW_VERTEILUNG
private static final java.lang.String ATG_VERKEHRS_DATEN_LANG_ZEITINTERVALL
private static final java.lang.String ATG_VERZEICHNIS_UEBERWACHUNG
private static final java.lang.String ERFASSUNG
private static final java.lang.String GUETE
private static final java.lang.String IMPLAUSIBEL
private static final java.lang.String INDEX
private static final java.lang.String INTERPOLIERT
private static final java.lang.String JA
private static final java.lang.String MESSWERT_ERSETZUNG
private static final java.lang.String NICHT_ERFASST
private static final java.lang.String NICHT_ERMITTELBAR
private static final java.lang.String PL_Formal
private static final java.lang.String Q_BPAGeschwKlasse
private static final java.lang.String Q_LVoGeschwKlasse
private static final java.lang.String Q_SGVGeschwKlasse
private static final java.lang.String STANDARD
private static final java.lang.String STATUS
private static de.bsvrz.sys.funclib.debug.Debug debug
private static final java.lang.String VERFAHREN
private static final java.lang.String WERT
private static final java.lang.String WERT_MAX
private static final java.lang.String WERT_MAX_LOGISCH
private static final java.lang.String WERT_MIN
private static final java.lang.String WERT_MIN_LOGISCH
private int _prozentImport
private boolean _threadImportAktiv
private java.util.Map<java.lang.String,java.lang.Boolean> _mapSendeErlaubnis
private boolean _abbruchSystem
private boolean _abbruchImport
private de.bsvrz.dav.daf.main.config.AttributeGroup _atgVerkehrsDatenLangZeitIntervall
private de.bsvrz.dav.daf.main.config.AttributeGroup _atgVerkehrsDatLangZeitIntGeschwVerteilungFS
private KonstantenBast.BAST_FORMAT _bastFormat
private SendeBAStStatusDaten _bastStatusDaten
private de.bsvrz.dav.daf.main.DataDescription _datenbeschreibungVerkehrsDatenLangZeitIntervall
private de.bsvrz.dav.daf.main.DataDescription _datenbeschreibungVerkehrsDatLangZeitIntGeschwVerteilungFS
private de.bsvrz.dav.daf.main.ClientDavInterface _dav
private java.lang.String _ftpBenutzer
private org.apache.commons.net.ftp.FTPClient _ftpClient
private boolean _ftpPassivModus
private java.lang.String _ftpPasswd
private java.lang.String _ftpServerName
private java.util.ArrayList<java.lang.String> _importDateienList
private LangZeitZaehlStelle _lzz
private java.lang.Thread _threadBastBandImport
private java.lang.String _typBAStBand
Constructor Detail |
---|
public BAStImportSteuerung()
Method Detail |
---|
private void abbrechen(java.lang.String meldung)
meldung
- Meldung die dem Clienten mitgeteilt wird.protected void anmeldenDavEmpfaengerBAStImport()
private java.util.HashMap<java.lang.Long,de.bsvrz.dav.daf.main.Data> bestimmeArchivStundendatensatzMap(java.util.ArrayList<Stundendatensatz> arListStundenDatenSatzfuerFS, Fahrstreifen fs, de.bsvrz.dav.daf.main.config.AttributeGroup atg) throws java.io.IOException, java.lang.InterruptedException
arListStundenDatenSatzfuerFS
- Liste aller Stundendatensätze zu dem Fahrstreifenobjekt.fs
- Fahrstreifenobjekt.atg
- Attributgruppe für die der Archivdatensatz bestimmt wird.
java.io.IOException
- .
java.lang.InterruptedException
- .private int bestimmeProgressbarFortschritt(int countStundendatensaetze, int prozentSchritt)
countStundendatensaetze
- Anzahl der aktuell bearbeiteten Stundendatensätze.prozentSchritt
- Prozentschritt.
private int bestimmeProzentSchritt()
private boolean connectToFTPServer()
public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription datenBeschreibung, byte status)
dataRequest
in interface de.bsvrz.dav.daf.main.ClientSenderInterface
private void erneuerConnectFTPServer()
private void erzeugeDatensatzV2004(BastBestandsbandformat bastFormat2004, Fahrstreifen fs, int prozentSchritt) throws java.lang.Exception
bastFormat2004
- BastBand Format.fs
- Fahrstreifen.prozentSchritt
- Prozentschritt.
java.lang.Exception
- .private void erzeugeDatensatzV2007(BastBestandsbandformat bastBestandsFormat, Fahrstreifen fs, int prozentSchritt) throws java.lang.Exception
bastBestandsFormat
- BASt-Band Format V2007fs
- Fahrstreifen.prozentSchritt
- Prozentschritt.
java.lang.Exception
- .private de.bsvrz.dav.daf.main.Data erzeugeVerkehrsDatenLangZeitIntervallDatensatzMitVorbelegungImportdaten(Stundendatensatz stundenSatz)
stundenSatz
- Stundendatensatz, für den der Datensatz erzeugt wird.
private de.bsvrz.dav.daf.main.Data erzeugeVerkehrsDatenLangZeitIntervallGeschwindigkeitVerteilungDatensatzMitVorbelegungImportdaten(Stundendatensatz stundenSatz)
stundenSatz
- Stundendatensatz für den ein Resultdata erzeugt wird.
private java.lang.String generiereSendeErlaubnisSchluessel(de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription dd)
so
- SystemObject.dd
- DataDescription.
public void initialize(de.bsvrz.dav.daf.main.ClientDavInterface dav) throws java.lang.Exception
initialize
in interface de.bsvrz.sys.funclib.application.StandardApplication
java.lang.Exception
public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject systemObject, de.bsvrz.dav.daf.main.DataDescription dataDescription)
isRequestSupported
in interface de.bsvrz.dav.daf.main.ClientSenderInterface
private void konvertiereDavDatenImport(de.bsvrz.dav.daf.main.Data data)
data
- Dataobjekt.private void konvertiereDavDatenVerzeichnisueberwachungs(de.bsvrz.dav.daf.main.Data data)
data
- Dataobjekt.private BastBestandsbandformat leseDateiEin(java.lang.String dateiName)
dateiName
- der Datei die importiert werden soll.
private boolean loginToFTPServer()
public static void main(java.lang.String[] args)
public void parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList) throws java.lang.Exception
parseArguments
in interface de.bsvrz.sys.funclib.application.StandardApplication
java.lang.Exception
public void run()
run
in interface java.lang.Runnable
private void sendeDavDaten(java.util.ArrayList<de.bsvrz.dav.daf.main.ResultData> listeResultData)
listeResultData
- Liste der ResultData die versendet werden.private void sendeImportiertenDatenFuerAlleFS(BastBestandsbandformat bastBestandsFormat)
bastBestandsFormat
- BastBestandsBandformat.private void sendeMeldungFehler(java.lang.String prozent, java.lang.String meldung)
prozent
- Prozent.meldung
- Fehlermeldung die publiziert wird.private void sendeMeldungInfo(java.lang.String prozent, java.lang.String meldung)
prozent
- Prozent.meldung
- Infomeldung die publiziert wird.private boolean sperreDatei(java.lang.String dateiName)
dateiName
- Dateiname der Datei die gesperrt wird. Bei der Sperrung handelt es sich um ein Hinzufügen des
Suffix ".lock".
private boolean sperreDateiAufheben(java.lang.String dateiName)
dateiName
- Dateiname der Datei deren Sperre aufgehoben wird.
private void starteThread()
private void stopThread(java.lang.String meldung)
meldung
- Statusmeldung die an den Clienten via DaV geschickt wird.public void update(de.bsvrz.dav.daf.main.ResultData[] resultDatas)
update
in interface de.bsvrz.dav.daf.main.ClientReceiverInterface
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.private boolean verbindeMitFTPServerImport()
private boolean wechselInsKorrekteImportVerzeichnis()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |