public class AggregatorVerwaltung extends Object implements SBArchivAnfrageBearbeiter
Modifier and Type | Class and Description |
---|---|
protected class |
AggregatorVerwaltung.FSWrapper
Erwitert ein Fahrstreifen mit Information ueber den Anzahl der gekommenen
Datensaetzen im letzten Zeitintervall.
|
protected class |
AggregatorVerwaltung.LZZWrapper
Erweitert den LZZ SystemObjekt um die Menge der assoziierten FS.
|
Modifier and Type | Field and Description |
---|---|
private LinkedList<AbstraktAggregator> |
aggregatoren
List aller module, die Aggregierte Daten ausrechnen werden.
|
private StreamBasierteArchivAnfrage |
anfrage
Archiv Anfragen Generator.
|
private long |
anzahlDatenSaetze
Anzahl der angekommenen DatenSaetzen.
|
private static String |
ASP_AGREGINTTAG
Konstanten zur Bearbeitung der Datensaetzen.
|
private static String |
ATG_AUSWERTEQUERSCHNITT |
private static String |
AUSWERTEQUERRSCHNITTE |
private static Calendar |
calendar
Benutzt um die Zeitstempel aufrunden auf ganze Tage.
|
private de.bsvrz.dav.daf.main.ClientDavInterface |
dav
Verbindung zum DAV.
|
private static de.bsvrz.dav.daf.main.DataDescription |
ddLveLzd
Datenbeschreibung fuer die LZD von FS, die bearbeitet werden.
|
private static String |
FAHRSTREIFEN |
private static de.bsvrz.sys.funclib.debug.Debug |
LOGGER
Ermoeglicht die Felermeldungen zu speichern.
|
private long |
lzdErzeugungsIntervall
ErzeugungsIntervall fuer LZD.
|
private Set<AggregatorVerwaltung.LZZWrapper> |
lzzMenge
Menge der LZZ.
|
private HashMap<de.bsvrz.dav.daf.main.config.SystemObject,AggregatorVerwaltung.LZZWrapper> |
mapFSzumLZZ
Map vom FS zur zuhoerigen LZZ.
|
private static String |
MESSQUERSCHNITTE |
private static String |
TYP_LANGZEITZAEHLSTELLE |
private boolean |
zeitStempelGefunden
Wird zur ArchivAnfragen benutzt, wenn man dem aeltesten ZS sucht.
|
Constructor and Description |
---|
AggregatorVerwaltung()
Standard Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
void |
addAggregator(AbstraktAggregator aggreg)
Fuegt ein Aggregator in die Liste der verwalteten Agg. ein.
|
void |
bearbeiteArchivDaten(de.bsvrz.dav.daf.main.config.SystemObject objekt,
de.bsvrz.dav.daf.main.DataDescription datenBeschreibung,
de.bsvrz.dav.daf.main.DataState status,
de.bsvrz.dav.daf.main.Data daten,
long zeitStempel)
Diese Methode soll die daten die aus dem Archiv kommen bearbeiten.
|
void |
berechneLangZeitdaten(AggregatorVerwaltung.LZZWrapper lzz,
long zeitStempelVon,
long zeitStempelBis)
Berechnet die LangZeitDaten, triggert alle Agregatoren.
|
private long |
findeAeltestenZeitStempel(Collection<de.bsvrz.dav.daf.main.config.SystemObject> fsMenge)
Findet den aeltesten ZeitStempel fuer die Menge der FS in dem Archiv.
|
long |
getAnzahlDatenSaetzeLZZ(de.bsvrz.dav.daf.main.config.SystemObject fs)
Erfragt dem Anzahl der eingekomenen DS fuer die LZZ, die das Fahrstreifen
fs enthaelt.
|
(package private) static long |
getTagesBeginnVonZeitStempel(long zeitStempel)
Aufrundet den ZeitStempel so, dass man dem Beginn des Tages bekommt in
dem der Zeitstepel liegt.
|
void |
initialisiere(de.bsvrz.dav.daf.main.ClientDavInterface connection,
long zeitPunktJetzt)
Init, erzeutgt die Liste der LZZ liest die letzten DS aus dem Archiv aus
und nach dem synchronisiert die Aggregatoren, damit der letzte erzeugte
DatenSatz aus dem selben zeitIntervall ist.
|
void |
printAnzahlDatenSaetzeLZZ()
Schreibt die Anzahl aller DS fuer alle LZZ aus.
|
void |
setZeitStempelGefunden(boolean zeitStempelGefunden)
Setzt die Variable ein, wird als Wrapper aus Zugriffsgruenden in
unbenannten Kinder-Klassen benutzt.
|
void |
trigger()
Startet die Aggregation, wird am ende des Abrufes gerufen.
|
void |
update(de.bsvrz.dav.daf.main.ResultData resultData)
Wird beim jedem eingekommenen LZD Datensatz gerufen.
|
private static final de.bsvrz.sys.funclib.debug.Debug LOGGER
private static final String ASP_AGREGINTTAG
private static final String TYP_LANGZEITZAEHLSTELLE
private static final String AUSWERTEQUERRSCHNITTE
private static final String MESSQUERSCHNITTE
private static final String ATG_AUSWERTEQUERSCHNITT
private static final String FAHRSTREIFEN
private static Calendar calendar
private static de.bsvrz.dav.daf.main.DataDescription ddLveLzd
private de.bsvrz.dav.daf.main.ClientDavInterface dav
private StreamBasierteArchivAnfrage anfrage
private final LinkedList<AbstraktAggregator> aggregatoren
private HashMap<de.bsvrz.dav.daf.main.config.SystemObject,AggregatorVerwaltung.LZZWrapper> mapFSzumLZZ
private Set<AggregatorVerwaltung.LZZWrapper> lzzMenge
private boolean zeitStempelGefunden
private long lzdErzeugungsIntervall
private long anzahlDatenSaetze
public void addAggregator(AbstraktAggregator aggreg)
aggreg
- Eine konkrete Implementations des Aggregatorspublic void initialisiere(de.bsvrz.dav.daf.main.ClientDavInterface connection, long zeitPunktJetzt)
connection
- Verbindung zum DAVzeitPunktJetzt
- Aktueller Zeitpunktpublic void update(de.bsvrz.dav.daf.main.ResultData resultData)
resultData
- ein empfangener Datensatzpublic long getAnzahlDatenSaetzeLZZ(de.bsvrz.dav.daf.main.config.SystemObject fs)
fs
- Fahrstreifenpublic void printAnzahlDatenSaetzeLZZ()
public void trigger()
public void berechneLangZeitdaten(AggregatorVerwaltung.LZZWrapper lzz, long zeitStempelVon, long zeitStempelBis)
lzz
- LZZ fuer die die Daten erzeugt werden sollenzeitStempelVon
- Beginn ZeitStempel des ZeitIntervalls fuer dem die Daten
erzeugt werden sollenzeitStempelBis
- Ende ZeitStempel des ZeitIntervalls fuer dem die Daten erzeugt
werden sollenpublic void bearbeiteArchivDaten(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription datenBeschreibung, de.bsvrz.dav.daf.main.DataState status, de.bsvrz.dav.daf.main.Data daten, long zeitStempel)
SBArchivAnfrageBearbeiter
bearbeiteArchivDaten
in interface SBArchivAnfrageBearbeiter
objekt
- Das objekt, dass die Daten geliefert hatdatenBeschreibung
- Beschreibung der Datenstatus
- Typ der Datendaten
- Der DatensatzzeitStempel
- Zeitstempel des datensatzesprivate long findeAeltestenZeitStempel(Collection<de.bsvrz.dav.daf.main.config.SystemObject> fsMenge)
fsMenge
- Mnege der FSpublic void setZeitStempelGefunden(boolean zeitStempelGefunden)
zeitStempelGefunden
- true, wenn ein Zeitstepel im Archiv gefunden iststatic long getTagesBeginnVonZeitStempel(long zeitStempel)
zeitStempel
- Ein ZeitstempelCopyright © 2017 BitCtrl Systems GmbH. All rights reserved.