de.inovat.kex.bast.exporter
Class DataChannelAxlBAStEF1

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.DataChannelAxlBAStEF1
All Implemented Interfaces:
ResultDataChannel

public class DataChannelAxlBAStEF1
extends AbstractDataChannelBASt

Das Format Einzelfahrzeugdaten - EF1 dient zur Übermittlung der Daten von Achslastmessstellen an die BASt, sofern die Daten nicht direkt von der Messstelle an die BASt weitergeleitet werden. Die eingehenden Daten von der Achslastmesstele werden in dem Typ typ.deAxl, der Attributgrupe atg.tlsEinzelErgebnisMeldungAchslastenUndKfzGesamtGewichteVersion3 und dem Aspekt asp.tlsAntwort an den Datenverteiler publiziert. Dementsprechend werden genau diese Datensätze aus dem Archiv ausgelesen und in die Exportdatei geschrieben. Folgende Schritte werden dabei vollzogen:

  • 1. Bestimmung der DE-Kanäle zu der übergebenen Langzeitzählstelle. Fehlermeldung, wenn es sich nicht um eine Achslasterfassende Langzeitzählstelle Handelt.
  • 2. Auslesen der Daten aus dem Archiv (zu Prüfen ob es zu Performanceeinbußen kommt, wenn die Tagesdatensätze ausgelesen werden und nicht der Monatsdatensatz...)
  • 3. Bestimmung des Filenamens (pro Tag, pro Zählstelle wird ein Dateiname erzeugt)
  • 4. Erzeugung der Datei mit bestimmten Dateinamen auf dem FTP-Server.
  • 5. Schreiben der Stundendatensätze in die Datei, wobei eine Konvertierung in Binärformat durchgeführt wird.
  • 6. Bestimmung der Länge des Austauschformates, schreiben dieser Länge an Position Byte 1.
  • Für jeden Tag und jede Messstelle wird eine Datei angelegt, in der die Achslastmessstelldaten im Binärformat enthalten sind.

    Version:
    $Revision: 0 $ / $Date: neu $ / ($Author: DR $)
    Author:
    inovat, innovative systeme - verkehr - tunnel - technik, Dagmar Rostek (DR)

    Field Summary
    static int GEGEN_RICHTUNG
              Konstante zum Erzeugen ein Channels für die GEGEN-Richtung
    static int IN_RICHTUNG
              Konstante zum Erzeugen ein Channels für die IN-Richtung
     
    Fields inherited from class de.inovat.kex.bast.exporter.AbstractDataChannelBASt
    _CountOfFS, _LastHour, _ZaehlStelle, MONATE, TWO_DIGIT_FORMAT
     
    Constructor Summary
    DataChannelAxlBAStEF1(int inRichtung, de.bsvrz.dav.daf.main.ClientDavInterface dav, SendeBAStStatusDaten bastStatusDaten)
               
     
    Method Summary
    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.
     void processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime, java.util.Calendar calendar)
              Die Methode wertet einen Datensatz der Achslastmessstelle aus.
     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

    GEGEN_RICHTUNG

    public static final int GEGEN_RICHTUNG
    Konstante zum Erzeugen ein Channels für die GEGEN-Richtung

    See Also:
    Constant Field Values

    IN_RICHTUNG

    public static final int IN_RICHTUNG
    Konstante zum Erzeugen ein Channels für die IN-Richtung

    See Also:
    Constant Field Values
    Constructor Detail

    DataChannelAxlBAStEF1

    public DataChannelAxlBAStEF1(int inRichtung,
                                 de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                 SendeBAStStatusDaten bastStatusDaten)
    Method Detail

    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

    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.

    processRecord

    public void processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime,
                              java.util.Calendar calendar)
                       throws ChannelException
    Die Methode wertet einen Datensatz der Achslastmessstelle aus.

    Parameters:
    rsArrayAtTime - ResultData[] Archivanfrageresultdata.
    calendar - Calendarobjekt zur Bestimmung der Zeit.
    Throws:
    ChannelException - Exception.

    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)
                        throws java.io.IOException
    Description copied from class: FileDataChannel
    ermöglicht das Schreiben von Daten am Anfang der Datei.

    Specified by:
    writeHeader in class FileDataChannel
    Parameters:
    writer - PrintWriter
    Throws:
    java.io.IOException - wenn beim Schreiben _Fehler auftreten.

    writeHeaderFTP

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