|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
de.bsvrz.pua.prot.processing.ProcessingBuffer
de.bsvrz.pua.prot.processing.onlinebuffer.OnlineBuffer
public class OnlineBuffer
Holt benötigte Daten vom Datenverteiler. Meldet sich als einfacher Empfänger beim Datenverteiler für die benötigten
Datensätze an. Nach dem Erzeugen des Objektes sollte sofort init()
aufgerufen werden. Dadurch werden Objekte
erzeugt, die sich beim DAV als Empfänger für Online-Daten anmelden.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary |
---|
Fields inherited from class de.bsvrz.pua.prot.processing.ProcessingBuffer |
---|
buffer, bufferResult, dav, debug, done, imdsBuilder, INITIAL_RINGBUFFER_SIZE, periods, pi, realElements, tempElements |
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
OnlineBuffer(ClientDavInterface dav,
ProcessingInterface processor,
ProcessingInformation pi,
java.util.List<Tuple<java.lang.Long,java.lang.Long>> periods)
init() sollte unverzüglich nach Erzeugen des Objekts aufgerufen werden. |
Method Summary | |
---|---|
boolean |
applyAggregations(BaseDataSet[] baseData)
Online Daten werden nicht aggregiert. |
protected long |
getMillisToEndOfInterval()
Berechnet die Zeit bis zum Ende des nächsten Intervalls. |
long |
getStartTime()
Gibt dem Zeitpunkt zurück, an dem der Online ProcessingBuffer mit dem Sammeln der Daten begonnen hat. |
boolean |
hasData()
Zeigt an ob Daten abgeholt werden können. |
void |
init()
Erzeugt zu jedem Element ein Objekt zum Typ RealOnlineElement und startet den Thread. |
boolean |
isDone()
Zeigt ob der Buffer noch weitere Daten liefern wird. |
protected boolean |
isDoneCollecting()
Überprüft, ob das Ende der zu überprüfenden Zeitbereiche erreicht ist und alle Daten übertragen wurden. |
protected boolean |
isListAggregation()
Liefert immer false zurück. |
protected void |
processNewData(java.util.ArrayList<ValueProvider> winners,
ValueProvider[] elements)
XXX MH: Merge sollte schon im Konstruktor von imdsBuffer festgelegt werden. |
void |
storeAggregatedData(byte status)
Online gesammelte Daten werden nicht aggregiert. |
Methods inherited from class de.bsvrz.pua.prot.processing.ProcessingBuffer |
---|
abort, applyPostFilter, getInsertEmpty, getResult, getTimeStampOrigin, getWinners, isAbort, isAggregate, isDeltaProtocol, nextInterval, notifyProcessor, run, setAggregate, setDone, setTempAttributes, size, storeDataSet, take |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public OnlineBuffer(ClientDavInterface dav, ProcessingInterface processor, ProcessingInformation pi, java.util.List<Tuple<java.lang.Long,java.lang.Long>> periods) throws FailureException
init()
sollte unverzüglich nach Erzeugen des Objekts aufgerufen werden.
dav
- Verbindung zum Datenverteiler.processor
- Objekt, das bei Ankunft von Daten benachrichtigt wird.pi
- Informationen zur Datenaufbereitung.periods
- Zeitbereiche, in denen Daten gesammelt werden sollen. Die Zeitbereiche müssen bereits sortiert und
zusammengefasst sein!
FailureException
- Fehler bei der Kommunikation mit der Konfiguration.Method Detail |
---|
public void init() throws FailureException
RealOnlineElement
und startet den Thread. Diese melden sich
beim Datenverteiler als Empfänger für Online-Daten an. Falls es zu einem Fehler beim anmelden als Empfänger beim
Dav kommt, wird der Thread nicht gestartet, und ProcessingBuffer.abort()
aufgerufen.
init
in class ProcessingBuffer
FailureException
- Fehler.ProcessingBuffer.init()
public long getStartTime()
public boolean applyAggregations(BaseDataSet[] baseData)
true
zurück.
applyAggregations
in class ProcessingBuffer
baseData
- Werte des Ausgangsdatensatz. Einträge können von der Methode geändert werden.
true
ProcessingBuffer.applyAggregations(BaseDataSet[])
public boolean hasData()
ProcessingBuffer
hasData
in class ProcessingBuffer
true
falls Daten mittels ProcessingBuffer.take()
abgeholt werden können.ProcessingBuffer.hasData()
protected boolean isDoneCollecting()
isDoneCollecting
in class ProcessingBuffer
true
falls alle Daten abgefragt wurden.ProcessingBuffer.isDoneCollecting()
public boolean isDone()
ProcessingBuffer
isDone
in class ProcessingBuffer
true
falls noch weitere Daten zu erwarten sind.ProcessingBuffer.isDone()
protected boolean isListAggregation()
isListAggregation
in class ProcessingBuffer
true
falls Liste
eine der ausgewählten die Aggregationsanwendungen ist.ProcessingBuffer.isListAggregation()
public void storeAggregatedData(byte status)
storeAggregatedData
in class ProcessingBuffer
status
- Status, den der Aggregationsdatensatz erhalten soll.ProcessingBuffer.storeAggregatedData(byte)
protected long getMillisToEndOfInterval()
protected void processNewData(java.util.ArrayList<ValueProvider> winners, ValueProvider[] elements) throws FailureException, java.lang.InterruptedException
processNewData
in class ProcessingBuffer
winners
- Liste der Datensätze mit minimalem, nicht aufgefüllten Datenzeitstempel.elements
- Liste aller Ergebnislieferanten.
FailureException
- Fehler bei der Aufbereitung.
java.lang.InterruptedException
- Aufbereitung wurde unterbrochen.ProcessingBuffer.processNewData(ArrayList, ValueProvider[])
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |