Class 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.

    • 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.
      • 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