de.inovat.kex.bast.importer
Class ErzeugeTestDatensatzBASt

java.lang.Object
  extended by de.inovat.kex.bast.importer.ErzeugeTestDatensatzBASt

public class ErzeugeTestDatensatzBASt
extends java.lang.Object

Die Klasse dient als Hilfsklasse zum Erzeugen von Testdatensätzen. Mittels dieser Klasse können Testdaten für das BastBestandsbandformat (8Plus1, 5Plus1, 2, 1) sowie VV2007 (8Plus1, 5Plus1, 2, 1) erzeugt werden. Die Daten werden in die entsprechenden Verzeichnisse das FTP-Servers abgelegt.

Version:
$Revision: 685 $ / $Date: 2012-07-31 10:43:22 +0200 (Di, 31 Jul 2012) $ / ($Author: LG $)
Author:
inovat, innovative systeme - verkehr - tunnel - technik, Dagmar Rostek (DR)

Field Summary
private  int _anzahlLZZ
           
private  KonstantenBast.BAST_FORMAT _bastFormat
           
private  java.lang.String _endDate
           
private  java.lang.StringBuilder _fileName
          Filename.
private  org.apache.commons.net.ftp.FTPClient _ftpClient
          FTPClient für die FTP Connetion.
private  java.lang.StringBuffer _header1
          Header 1 entsprechend des zu erzeugenden Datensatzes.
private  java.lang.StringBuffer _header2
          Header 2 entsprechend des zu erzeugenden Datensatzes.
private  java.lang.StringBuffer _header3
          Header 3 entspreched des zu erzeugenden Datensatzes.
private  java.lang.String _host
           
private  int _iFZKlassifizierung
          Integer Attribut, dass die Konvertierungsroutine angibt, folgende Werte sind zugelassen: 1, 2, 5, 8.
private  int _jahr
           
private  java.util.ArrayList<java.lang.Object> _lineBuffer
           
private  int _monat
           
private  java.lang.String _passwd
           
private  java.lang.String _startDate
           
private  java.lang.String _user
           
private static java.lang.String[] ANZAHL_FAHRZEUGARTEN
          Header Anzahl der Fahrzeugarten.
private static java.lang.String[] ANZAHL_FAHRZEUGGRUPPEN
          Header Anzahl der Fahrzeuggruppen, 01 für Datensätze vom Typ 1, sonst immer 02.
private static java.lang.String HEADER_1
          Header eines Datensatzes vom Typ 1 besteht aus der Gesamtmenge der Kraftfahrzeuge Kfz
private static java.lang.String HEADER_2
          Header eines Datensatzes vom Typ 2.
private static java.lang.String HEADER_5PLUS1
          Header eines Datensatzes vom Typ 5 Plus 1.
private static java.lang.String HEADER_8PLUS1
          Headerdaten 8 Plus 1 Fahrzeugarten.
private static java.lang.String HEADER_FG
          Headerdaten Fahrzeuggruppen 5Plus1 und 8Plus1.
private static java.lang.String LEERZEICHEN
          Leerzeichen.
 
Constructor Summary
ErzeugeTestDatensatzBASt(java.lang.String host, java.lang.String user, java.lang.String passwd, KonstantenBast.BAST_FORMAT bastFormat, int iKonvertierung, java.lang.String dStartDate, java.lang.String dEndDate, int anzahlLZZ)
          Konstruktor.
 
Method Summary
private  void aktualisiereVerbindung()
           
private  void bestimmeHeader1(LangZeitZaehlStelle lzz)
          Die Methode bestimmt den ersten Headerdatensatz für die übergebene Langzeitzählstelle.
private  void bestimmeHeader2(LangZeitZaehlStelle lzz)
          Die Methode bestimmt den zweiten Headerdatensatz für die übergebene Langzeitzählstelle.
private  void bestimmeHeader3()
          Die Methode besimmt ausgehend von dem übergebenem Wert den entsprechenden Headerdatensatz.
 boolean changeExportDirektoryFTPServer()
          Die Methode wechselt in das Exportverzeichnis für den gestarteten Export.
private  void erzeugeDatenSatz1(LangZeitZaehlStelle lzz)
          Die Methode erzeugt den dummydatensatz.
private  void erzeugeDatenSatz2(LangZeitZaehlStelle lzz)
          Die Methode erzeugt den dummydatensatz.
private  void erzeugeDatenSatz5Plus1(LangZeitZaehlStelle lzz)
           
private  void erzeugeDatenSatz8Plus1(LangZeitZaehlStelle lzz)
          Die Methode erzeugt einen dummydatensatz.
protected  void erzeugeFilenameV2004(LangZeitZaehlStelle zaehlStelle, int month, int year)
          Die Methode bestimmt den Filenamen für die Ausgabe der Datei auf den FTP-Server.
 void erzeugeTestDaten()
          Die Methode erzeugt anzahlDerZuErzeugendenTestdatensätze Testdatensätze für jede Konfiguration, der einer BASt-Importdatei der Verkehrsmengendaten Version 2004 entspricht.
 boolean fileExistiert(java.lang.String fileName)
          Die Methode prüft ob die übergebene Datei auf dem FTP-Server existiert.
private static int getKonvertierungsFormatAsInt(java.lang.String konvertierung)
           
private  boolean loginToFTPServer()
           
static void main(java.lang.String[] args)
          Main ....
static void printVerwendung()
           
private  void schliesseVerbindungFTPServer()
          Die Methode schließt die Verbindung zum FTP-Server.
private  void schreibeDateiAufFTPServer()
          Die Methode schreibt die ermittelten Datensätze auf den FTP-Server.
private  void schreibeDatenAufFTPServer(LangZeitZaehlStelle lzz)
          Die Methode schreibt die Daten auf den FTP-Server.
private  org.apache.commons.net.ftp.FTPClient verbindeMitFTPServer()
          Die Methode stellt eine Verbindung zum FTP-Server her.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANZAHL_FAHRZEUGARTEN

private static java.lang.String[] ANZAHL_FAHRZEUGARTEN
Header Anzahl der Fahrzeugarten.


ANZAHL_FAHRZEUGGRUPPEN

private static java.lang.String[] ANZAHL_FAHRZEUGGRUPPEN
Header Anzahl der Fahrzeuggruppen, 01 für Datensätze vom Typ 1, sonst immer 02.


HEADER_1

private static java.lang.String HEADER_1
Header eines Datensatzes vom Typ 1 besteht aus der Gesamtmenge der Kraftfahrzeuge Kfz


HEADER_2

private static java.lang.String HEADER_2
Header eines Datensatzes vom Typ 2.


HEADER_5PLUS1

private static java.lang.String HEADER_5PLUS1
Header eines Datensatzes vom Typ 5 Plus 1.


HEADER_8PLUS1

private static java.lang.String HEADER_8PLUS1
Headerdaten 8 Plus 1 Fahrzeugarten.


HEADER_FG

private static java.lang.String HEADER_FG
Headerdaten Fahrzeuggruppen 5Plus1 und 8Plus1.


LEERZEICHEN

private static java.lang.String LEERZEICHEN
Leerzeichen.


_host

private java.lang.String _host

_passwd

private java.lang.String _passwd

_user

private java.lang.String _user

_lineBuffer

private java.util.ArrayList<java.lang.Object> _lineBuffer

_ftpClient

private org.apache.commons.net.ftp.FTPClient _ftpClient
FTPClient für die FTP Connetion.


_anzahlLZZ

private int _anzahlLZZ

_endDate

private java.lang.String _endDate

_fileName

private java.lang.StringBuilder _fileName
Filename.


_header1

private java.lang.StringBuffer _header1
Header 1 entsprechend des zu erzeugenden Datensatzes.


_header2

private java.lang.StringBuffer _header2
Header 2 entsprechend des zu erzeugenden Datensatzes.


_header3

private java.lang.StringBuffer _header3
Header 3 entspreched des zu erzeugenden Datensatzes.


_bastFormat

private KonstantenBast.BAST_FORMAT _bastFormat

_iFZKlassifizierung

private int _iFZKlassifizierung
Integer Attribut, dass die Konvertierungsroutine angibt, folgende Werte sind zugelassen: 1, 2, 5, 8. Wenn kein Wert als Parameter übergeben wurde, werden Datensätze für alle Konvertierungen durchgeführt.


_jahr

private int _jahr

_monat

private int _monat

_startDate

private java.lang.String _startDate
Constructor Detail

ErzeugeTestDatensatzBASt

public ErzeugeTestDatensatzBASt(java.lang.String host,
                                java.lang.String user,
                                java.lang.String passwd,
                                KonstantenBast.BAST_FORMAT bastFormat,
                                int iKonvertierung,
                                java.lang.String dStartDate,
                                java.lang.String dEndDate,
                                int anzahlLZZ)
Konstruktor.

Parameters:
host - Host.
user - FTP-Server user.
passwd - FTP-Server passwort.
bastFormat - BASt-Band format (=2004, 2007)
iKonvertierung - Konvertierung (1, 2, 5Plus1, 8Plus1)
dStartDate - Startdatum.
dEndDate - Enddatum.
anzahlLZZ - Anzahl der Langzeitzählstellen für Testdatensätze.
Method Detail

aktualisiereVerbindung

private void aktualisiereVerbindung()

bestimmeHeader1

private void bestimmeHeader1(LangZeitZaehlStelle lzz)
Die Methode bestimmt den ersten Headerdatensatz für die übergebene Langzeitzählstelle.

Parameters:
lzz - Langzeitzählstelle für die der Testdatensatz erzeugt wird.

bestimmeHeader2

private void bestimmeHeader2(LangZeitZaehlStelle lzz)
Die Methode bestimmt den zweiten Headerdatensatz für die übergebene Langzeitzählstelle.

Parameters:
lzz - Langzeitzählstelle für die der Testdatensatz erzeugt wird.

bestimmeHeader3

private void bestimmeHeader3()
Die Methode besimmt ausgehend von dem übergebenem Wert den entsprechenden Headerdatensatz.
  • 1 -> Headerdatensatz 1.
  • 2 -> Headerdatensatz 2.
  • 5 -> Headerdatensatz 5Plus1.
  • 8 -> Headerdatensatz 8Plus1.
  • Andere Zahlenwerte führen zu einer Infomeldung und werden nicht ausgewertet.


    changeExportDirektoryFTPServer

    public boolean changeExportDirektoryFTPServer()
    Die Methode wechselt in das Exportverzeichnis für den gestarteten Export.

    Returns:
    true, wenn der Wechsel in das Exportverzeichnis auf dem FTP-Server ohne Exception geklappt hat, false sonst.

    erzeugeDatenSatz1

    private void erzeugeDatenSatz1(LangZeitZaehlStelle lzz)
    Die Methode erzeugt den dummydatensatz.

    Parameters:
    lzz - Langzeitzählstelle für die der Datensatz erzeugt wird.

    erzeugeDatenSatz2

    private void erzeugeDatenSatz2(LangZeitZaehlStelle lzz)
    Die Methode erzeugt den dummydatensatz.


    erzeugeDatenSatz5Plus1

    private void erzeugeDatenSatz5Plus1(LangZeitZaehlStelle lzz)

    erzeugeDatenSatz8Plus1

    private void erzeugeDatenSatz8Plus1(LangZeitZaehlStelle lzz)
    Die Methode erzeugt einen dummydatensatz.


    erzeugeFilenameV2004

    protected void erzeugeFilenameV2004(LangZeitZaehlStelle zaehlStelle,
                                        int month,
                                        int year)
    Die Methode bestimmt den Filenamen für die Ausgabe der Datei auf den FTP-Server. Aufbau des Dateinamens:
  • Bundesland:Kürzel (Position 1-2) --- Bsp: NW
  • Zählstellennummer (Position 3-6) --- Bsp: 4606
  • Version (optional) (Position 7-8) --- Bsp: _1
  • Suffix Jahr(yy) MonatsCode (Position 1-3) --- Bsp: 974
  • Parameters:
    zaehlStelle - Zählstelle für den der Dateiname konstruiert wird.
    year - Jahr.
    month - Monat für den der BASt-Export gestartet wird.

    erzeugeTestDaten

    public void erzeugeTestDaten()
                          throws ChannelException,
                                 DataModellMismatchException
    Die Methode erzeugt anzahlDerZuErzeugendenTestdatensätze Testdatensätze für jede Konfiguration, der einer BASt-Importdatei der Verkehrsmengendaten Version 2004 entspricht.

    Throws:
    ChannelException - Exception.
    DataModellMismatchException - Exception.

    fileExistiert

    public boolean fileExistiert(java.lang.String fileName)
    Die Methode prüft ob die übergebene Datei auf dem FTP-Server existiert.

    Parameters:
    fileName - Filename der bzgl. Existenz überprüft wird.
    Returns:
    true, wenn die Datei existiert, false sonst.

    getKonvertierungsFormatAsInt

    private static int getKonvertierungsFormatAsInt(java.lang.String konvertierung)

    loginToFTPServer

    private boolean loginToFTPServer()

    main

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

    Parameters:
    args - keine die ausgewertet werden.
    Throws:
    ChannelException

    printVerwendung

    public static void printVerwendung()

    schliesseVerbindungFTPServer

    private void schliesseVerbindungFTPServer()
    Die Methode schließt die Verbindung zum FTP-Server.


    schreibeDateiAufFTPServer

    private void schreibeDateiAufFTPServer()
                                    throws ChannelException
    Die Methode schreibt die ermittelten Datensätze auf den FTP-Server.

    Throws:
    ChannelException - Excpetion.

    schreibeDatenAufFTPServer

    private void schreibeDatenAufFTPServer(LangZeitZaehlStelle lzz)
                                    throws ChannelException
    Die Methode schreibt die Daten auf den FTP-Server.

    Parameters:
    lzz - Langzeitzählstelle.
    Throws:
    ChannelException - Exception.

    verbindeMitFTPServer

    private org.apache.commons.net.ftp.FTPClient verbindeMitFTPServer()
    Die Methode stellt eine Verbindung zum FTP-Server her.

    Returns:
    FTPClient.