Package de.bsvrz.pua.prot.processing
Class IMDSBuilder
- java.lang.Object
-
- de.bsvrz.pua.prot.processing.IMDSBuilder
-
public class IMDSBuilder extends java.lang.Object
InterMediateDataSetBuilder Erzeugt Ausgangsdatensätze und legt sie in einem Puffer ab.
-
-
Field Summary
Fields Modifier and Type Field Description protected de.bsvrz.sys.funclib.losb.ringbuffer.RingBuffer<ValueContainer>
_realElementValues
Puffer, der die Zuordnung: Reale Elemente -> Werte enthält.
-
Constructor Summary
Constructors Constructor Description IMDSBuilder(boolean merge, boolean noChangeMarkerPerCell, java.util.List<Elements> attributes, de.bsvrz.sys.funclib.losb.util.Tuple<ExpressionTree,java.lang.Boolean> constraint, java.util.Hashtable<RealElement,ValueProvider> realElements, java.util.Hashtable<TempAttributeDescription,TempAttribut> tempElements, ProcessingBuffer processingBuffer, Status status, int startPeriodIndex)
Initialisierung.
-
Method Summary
Modifier and Type Method Description void
collectData(boolean insertEmpty, long winnerTimeStamp)
Sammelt die Werte der realen Attribute.void
createIntermediateDataSet(boolean done)
Bereitet die Basisdaten auf und erstellt Ausgangsdatensätze.byte
getStatus()
Liefert den momentanen Status zurück.boolean
isDone()
Zeigt an dass keine weiteren Daten mehr vorliegen.void
nextInterval(long endOfInterval)
Markiert den zuletzt eingefügten Ausgangsdatensatz als den letzten des Intervalls.void
throwAway()
Verwirft den zuletzt eingefügten Datensatz
-
-
-
Field Detail
-
_realElementValues
protected de.bsvrz.sys.funclib.losb.ringbuffer.RingBuffer<ValueContainer> _realElementValues
Puffer, der die Zuordnung: Reale Elemente -> Werte enthält.
-
-
Constructor Detail
-
IMDSBuilder
public IMDSBuilder(boolean merge, boolean noChangeMarkerPerCell, java.util.List<Elements> attributes, de.bsvrz.sys.funclib.losb.util.Tuple<ExpressionTree,java.lang.Boolean> constraint, java.util.Hashtable<RealElement,ValueProvider> realElements, java.util.Hashtable<TempAttributeDescription,TempAttribut> tempElements, ProcessingBuffer processingBuffer, Status status, int startPeriodIndex)
Initialisierung.- Parameters:
merge
-true
falls Datensätze verschmolzen werden sollen.noChangeMarkerPerCell
- true wenn NoChange-Informationen für Zustandsprotokolle pro Zelle generiert werden sollen (statt pro Zeile)attributes
- Im Spalten-Bereich definierte Attribute.constraint
- Im Skript definierte Einschränlung.realElements
- Zuordnung der realen Attribute zu ihren Wertebeschaffern.tempElements
- Zuordnung der temporären Attribute zu ihren Wertebeschaffern.processingBuffer
- Datenaufbereiter.status
- Objekt zur Statusberechung.startPeriodIndex
- StartPeriodIndex
-
-
Method Detail
-
collectData
public void collectData(boolean insertEmpty, long winnerTimeStamp)
Sammelt die Werte der realen Attribute. Stellt dann einen Basisdatensatz mit den Werten der realen Attribute zusammen.- Parameters:
insertEmpty
-true
legt fest, dass ein leerer Datensatz eingefügt werden soll.winnerTimeStamp
- Minimaler, nicht-aufgefüllter Zeitstempel.
-
createIntermediateDataSet
public void createIntermediateDataSet(boolean done) throws java.lang.InterruptedException, de.bsvrz.sys.funclib.losb.exceptions.FailureException
Bereitet die Basisdaten auf und erstellt Ausgangsdatensätze. Wertet alle im Puffer liegenden Wert aus.- Parameters:
done
- Das Sammeln der Daten wurde abgeschlossen.- Throws:
java.lang.InterruptedException
- Datenaufbereitung wurde abgebrochende.bsvrz.sys.funclib.losb.exceptions.FailureException
- Fehler beim Aufbereiten der Daten.
-
isDone
public boolean isDone()
Zeigt an dass keine weiteren Daten mehr vorliegen.- Returns:
true
falls keine weiteren Daten mehr vorliegen.
-
nextInterval
public void nextInterval(long endOfInterval)
Markiert den zuletzt eingefügten Ausgangsdatensatz als den letzten des Intervalls.- Parameters:
endOfInterval
- Endzeitpunkt des Intervalls, das gerade beendet wurde.- See Also:
ValueContainer.setLastOfInterval(long)
-
getStatus
public byte getStatus()
Liefert den momentanen Status zurück.- Returns:
- Status zwischen 0 und 100.
-
throwAway
public void throwAway() throws java.lang.InterruptedException
Verwirft den zuletzt eingefügten Datensatz- Throws:
java.lang.InterruptedException
- Exception
-
-