Package de.inovat.kex.bast.exporter
Class DataChannelAxlBAStEF1
- java.lang.Object
-
- de.inovat.kex.bast.exporter.FileDataChannel
-
- de.inovat.kex.bast.exporter.AbstractDataChannelBASt
-
- 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.
-
-
Field Summary
Fields Modifier and Type Field Description static int
GEGEN_RICHTUNG
Konstante zum Erzeugen ein Channels für die GEGEN-Richtungstatic 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
Constructors Constructor Description DataChannelAxlBAStEF1(int inRichtung, de.bsvrz.dav.daf.main.ClientDavInterface dav, SendeBAStStatusDaten bastStatusDaten)
-
Method Summary
Modifier and Type Method Description 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
-
-
-
-
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 classAbstractDataChannelBASt
- 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 classAbstractDataChannelBASt
- 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 classAbstractDataChannelBASt
- 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 classFileDataChannel
- 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 classFileDataChannel
- Throws:
java.io.IOException
-
-