de.inovat.kex.bast.exporter
Class DataChannelBAStV2_0

java.lang.Object
  extended by de.inovat.kex.bast.exporter.FileDataChannel
      extended by de.inovat.kex.bast.exporter.AbstractDataChannelBASt
          extended by de.inovat.kex.bast.exporter.DataChannelBAStV2_0
All Implemented Interfaces:
ResultDataChannel

public class DataChannelBAStV2_0
extends AbstractDataChannelBASt

Channel zur Ausgabe der Verkehrsmengendaten in das BASt-Bestandsbandformat Version 2004.

Es wird die Attributegrupe atg.verkehrsDatenLangZeitIntervall mit dem Aspekt asp.messWertErsetzung ausgegeben.

Die Unterstützung für die durch die BASt definierten Prüfzeichen ist der folgenen Tabelle zu entnehmen.

Prüfkenn-
zeichen
Beschreibung lt. BAST Bemerkung
-korrekte, regelmäßige Werte 
ukorrekte, aber unregelmäßige Werte (z.B. wg. Großverantstaltung)wird nicht unterstützt
afehlende Werte (Ausfall)wenn Status == "nicht ermittelbar"
dfehlerhafte Wertewenn Güte <> 1
sSchätzwert wegen fehlender Wertewird nicht unterstützt
kSchätzwert wegen fehlerhafter Wertewird nicht unterstützt
zZeitumstellung (auf MESZ bzw. auf MEZ) 

Die fehlende Stunde bei der Umstellung von der MEZ zur MESZ wird mit 0-Werten und Prükennzeichen z (Zeitumstellung) und der Statuskennung i ausgegeben.
Bei der Umstellung MESZ zur MEZ wird der 2. Datensatz für 02 Uhr ausgegeben.

siehe auch: AbstractDataChannelBASt

Version:
$Id: DataChannelBAStV2_0.java 452 2008-11-10 07:09:39Z Schawaller $
Author:
LOGOS GmbH Rostock (www.logos-ib.de), R. Trier

Nested Class Summary
private static interface DataChannelBAStV2_0.ValueExtractor
           
private  class DataChannelBAStV2_0.ValueExtractor1
          erzeugt einen String mit den Werten für die Klassifizierungsgruppe Kfz (1 Gruppe).
private  class DataChannelBAStV2_0.ValueExtractor2
          erzeugt einen String mit den Werten für die Klassifizierungsgruppe PkwAehnliche und LkwAehnliche (2 Gruppe).
private  class DataChannelBAStV2_0.ValueExtractor5plus1
          extrahiert die Werte aus den ResultData und baut einen String mit den Werten für die Klassifizierungsgruppe 5plus1.
private  class DataChannelBAStV2_0.ValueExtractor8plus1
          extrahiert die Werte aus den ResultData und baut einen String mit den Werten für die Klassifizierungsgruppe 8plus1.
 
Field Summary
private  java.lang.String _ThirdLine
           
private  DataChannelBAStV2_0.ValueExtractor _ValueExtractor
           
private static java.text.SimpleDateFormat DATE_FORMAT
           
private static de.bsvrz.sys.funclib.debug.Debug debug
          DebugLogger fuer Debug-Ausgaben.
private static java.lang.String HEADER_ROW03_1
           
private static java.lang.String HEADER_ROW03_2
           
private static java.lang.String HEADER_ROW03_5plus1
           
private static java.lang.String HEADER_ROW03_8plus1
           
private static java.text.DecimalFormat HOUR_FORMAT
           
 
Fields inherited from class de.inovat.kex.bast.exporter.AbstractDataChannelBASt
_CountOfFS, _LastHour, _ZaehlStelle, MONATE, TWO_DIGIT_FORMAT
 
Constructor Summary
DataChannelBAStV2_0(SendeBAStStatusDaten bastStatusDaten)
          erzeugt einen DataChannel, der mit einer reset-Methode und eventuell AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle) initialisiert werden muss.
 
Method Summary
private  java.lang.String calculateFirstRow()
           
private  java.lang.String calculateSecondRow()
           
protected  java.lang.String constructFilename(LangZeitZaehlStelle zaehlStelle, int year, int month)
          gibt den Dateinamen zurück, der sich aus den Daten der Zählstelle, dem Jahr, dem Monat ergibt.
protected  java.lang.String constructFilename(LangZeitZaehlStelle zaehlStelle, int year, int month, int day)
          gibt den Dateinamen zurück, der sich aus den Daten der Zählstelle, dem Jahr, dem Monat und dem Tag ergibt.
protected  java.lang.String counstructFilenameV2004(LangZeitZaehlStelle zaehlStelle, int year, int month)
          Die Methode bestimmt den Filenamen für die Ausgabe der Datei auf den FTP-Server.
private static java.lang.String format(java.lang.String s)
           
 void processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime, java.util.Calendar calendar)
          erzeugt die BASt-Format-Daten und spooled diese.
 void setZaehlstelle(LangZeitZaehlStelle zaehlstelle)
          setzt die Zählstelle.
protected  void writeHeader(java.io.PrintWriter writer)
          ermöglicht das Schreiben von Daten am Anfang der Datei.
protected  void writeHeaderFTP(java.io.BufferedOutputStream bos)
           
 
Methods inherited from class de.inovat.kex.bast.exporter.AbstractDataChannelBASt
hasData, reset, reset
 
Methods inherited from class de.inovat.kex.bast.exporter.FileDataChannel
close, deleteLastLine, flush, reset, spool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HEADER_ROW03_1

private static java.lang.String HEADER_ROW03_1

HEADER_ROW03_2

private static java.lang.String HEADER_ROW03_2

HEADER_ROW03_5plus1

private static java.lang.String HEADER_ROW03_5plus1

HEADER_ROW03_8plus1

private static java.lang.String HEADER_ROW03_8plus1

debug

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


HOUR_FORMAT

private static java.text.DecimalFormat HOUR_FORMAT

DATE_FORMAT

private static java.text.SimpleDateFormat DATE_FORMAT

_ThirdLine

private java.lang.String _ThirdLine

_ValueExtractor

private DataChannelBAStV2_0.ValueExtractor _ValueExtractor
Constructor Detail

DataChannelBAStV2_0

public DataChannelBAStV2_0(SendeBAStStatusDaten bastStatusDaten)
erzeugt einen DataChannel, der mit einer reset-Methode und eventuell AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle) initialisiert werden muss.

Parameters:
bastStatusDaten - Statusinformationen.
Method Detail

constructFilename

protected java.lang.String constructFilename(LangZeitZaehlStelle zaehlStelle,
                                             int year,
                                             int month,
                                             int day)
Description copied from class: AbstractDataChannelBASt
gibt den Dateinamen zurück, der sich aus den Daten der Zählstelle, dem Jahr, dem Monat und dem Tag ergibt.

Specified by:
constructFilename in class AbstractDataChannelBASt
Parameters:
zaehlStelle - Zählstelle.
year - Jahr.
month - Monat.
day - Tag.
Returns:
Filename als String.

calculateFirstRow

private final java.lang.String calculateFirstRow()

calculateSecondRow

private final java.lang.String calculateSecondRow()

constructFilename

protected java.lang.String constructFilename(LangZeitZaehlStelle zaehlStelle,
                                             int year,
                                             int month)
Description copied from class: AbstractDataChannelBASt
gibt den Dateinamen zurück, der sich aus den Daten der Zählstelle, dem Jahr, dem Monat ergibt.

Specified by:
constructFilename in class AbstractDataChannelBASt
Parameters:
zaehlStelle - Zählstelle.
year - Jahr.
month - Monat.
Returns:
vollständig klassifizierter Dateiname

counstructFilenameV2004

protected java.lang.String counstructFilenameV2004(LangZeitZaehlStelle zaehlStelle,
                                                   int year,
                                                   int month)
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.
    Returns:
    filename für den BASt-Band export 2004.

    format

    private static final java.lang.String format(java.lang.String s)

    processRecord

    public void processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime,
                              java.util.Calendar calendar)
                       throws ChannelException
    erzeugt die BASt-Format-Daten und spooled diese.

    vor dem ersten Aufruf muss, der Channel vollstä initialisiert sein.

    Parameters:
    rsArrayAtTime - ResultData[]
    calendar - Intervallbeginn der Datens&auuml;
    Throws:
    ChannelException

    setZaehlstelle

    public void setZaehlstelle(LangZeitZaehlStelle zaehlstelle)
                        throws ChannelException
    Description copied from class: AbstractDataChannelBASt

    setzt die Zählstelle.

    Specified by:
    setZaehlstelle in class AbstractDataChannelBASt
    Parameters:
    zaehlstelle - LangZeitZaehlStelle
    Throws:
    ChannelException - .

    writeHeader

    protected void writeHeader(java.io.PrintWriter writer)
    Description copied from class: FileDataChannel
    ermöglicht das Schreiben von Daten am Anfang der Datei.

    Specified by:
    writeHeader in class FileDataChannel
    Parameters:
    writer - PrintWriter

    writeHeaderFTP

    protected void writeHeaderFTP(java.io.BufferedOutputStream bos)
                           throws java.io.IOException
    Specified by:
    writeHeaderFTP in class FileDataChannel
    Throws:
    java.io.IOException