|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.inovat.kex.bast.common.ResultDataProvider
public class ResultDataProvider
Klasse zum Lesen von Daten für eine Reihe von Zeitpunkten innerhalb
eines Zeitraumes aus dem Archiv und die weitere Verarbeitung durch einen oder
mehrere ResultDataChannel
(s).
In der Methode processData()
wird für alle Zeitpunkte die
aktuell gütigen Daten der Kombinationen SystemObject/DataDescription
eines Zeitpunktes als ResultData[] an den oder die ResultDataChannel(s)
übergeben.
Die zu verarbeitenden Kombinationen aus SystemObject und DataDescription
werden durch die Methode
addDataKombination
festgelegt.
addDataCombination(SystemObject so, DataDescription dataDescription)
. Die Zeitpunkte wird bestimmt durch: 1. Zeitraum (Period) - Periodenanfang, Periodenlänge, Einheit der Periodenlänge 2. Schrittweite (Increment) - IncrementWert, IncrementEinheit
Der erste Zeitpunkt ist gleich dem Periodenanfang, der letzte ist kleiner als Periodenanfang + Periodenlänge.
Beispiel für die Berechnung der Zeitpunkte:
ResultDataProvider provider = new ResultDataProvider();
provider.setIncrement(1, Calendar.HOUR);
Calendar cal = Calendar.getInstance();
cal.set(2004, Calendar.JANUARY, 1, 0, 0, 0);
cal.set(Calendar.MILLISECOND, 0);
provider.setPeriod(cal, 5, Calendar.HOUR);
provider.checkSequence(System.out);
ergibt:
01.01.2004 00:00:00.000
01.01.2004 01:00:00.000
01.01.2004 02:00:00.000
01.01.2004 03:00:00.000
01.01.2004 04:00:00.000
Die Daten werden nicht unbedingt für den gesamten zu bearbeitenen Zeitraum aus der Datenbank geholt, sondern abschnittsweise. Die Länge des Zeitbereiches, für den die Daten mit einmal aus dem Archiv gelesen wird, ergibt sich aus (ReadIntervallLength * IncrementUnit).
Constructor Summary | |
---|---|
ResultDataProvider()
|
Method Summary | |
---|---|
void |
addChannel(ResultDataChannel dataChannel)
meldet einen Channel an. |
void |
addDataCombination(de.bsvrz.dav.daf.main.config.SystemObject so,
de.bsvrz.dav.daf.main.DataDescription dataDescription)
fügt eine Kombination aus SystemObject und DataDescription zur Liste der Kombinationen hinzu, dessen Daten verarbeitet werden soll. |
static int |
calculateTotalPeriodInMinutes(java.util.Calendar calPeriodStart,
java.util.Calendar calPeriodEnd)
berechnet den gesamten zu bearbeitenden Zeitraum in Minuten, um ein Mass für den Fortschritt zu haben. |
static int |
calculateTotalPeriodInMinutes(java.util.Calendar calPeriodStart,
int periodLengthUnit,
int periodLength)
berechnet den gesamten zu bearbeitenden Zeitraum in Minuten, um ein Mass für den Fortschritt zu haben. |
void |
checkSequence(java.io.PrintStream out)
ermöglicht das Prüfen der Zeitpunkt, die sich aus der Periode und Schrittweise ergeben. |
void |
clearChannels()
löscht alle Channel. |
void |
clearDataCombinations()
löscht alle DatenKombinationen. |
int |
getProgressedPeriodInMinutes()
gibt den bereits bearbeiteten Zeitraum in Minuten zurück, um ein Mass für den Fortschritt zu haben. |
static java.lang.String |
getTimeUnit(int unit)
|
void |
interrupt()
|
void |
processData()
für alle Zeitpunkte werden die Daten der Kombinationen aus SystemObject und DataDescription aus dem Archiv gelesen und an die die angemeldeten Channels übergeben. |
void |
processDataOld()
für alle Zeitpunkte werden die Daten der Kombinationen aus SystemObject und DataDescription aus dem Archiv gelesen und an die die angemeldeten Channels übergeben. |
void |
setAchslastExportEF1(boolean achslastExportEF1)
|
void |
setIncrement(int incrementValue,
int incrementUnit)
setzt die Schrittweite zur Berechnung der Zeitpunkte. |
void |
setPeriod(java.util.Calendar periodStart,
int periodLength,
int unit)
setzt den Zeitraum für den die Zeitpunkte erzeugt werden. |
void |
setReadIntervallLength(int readIntervallLength)
setzt die ReadIntervallLength. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ResultDataProvider()
Method Detail |
---|
public void addChannel(ResultDataChannel dataChannel) throws ChannelException
dataChannel
- ResultDataChannel
ChannelException
public void addDataCombination(de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription dataDescription)
so
- SystemObjectdataDescription
- DataDescriptionpublic static int calculateTotalPeriodInMinutes(java.util.Calendar calPeriodStart, java.util.Calendar calPeriodEnd)
calPeriodStart
- calPeriodEnd
-
public static int calculateTotalPeriodInMinutes(java.util.Calendar calPeriodStart, int periodLengthUnit, int periodLength)
calPeriodStart
- periodLengthUnit
- periodLength
-
public void checkSequence(java.io.PrintStream out)
out
- PrintStreampublic void clearChannels()
public void clearDataCombinations()
public int getProgressedPeriodInMinutes()
public static final java.lang.String getTimeUnit(int unit)
public void interrupt()
public void processData() throws ChannelException, DataProviderException
DataProviderException
ChannelException
public void processDataOld() throws ChannelException, DataProviderException
DataProviderException
ChannelException
public void setAchslastExportEF1(boolean achslastExportEF1)
public void setIncrement(int incrementValue, int incrementUnit)
incrementValue
- Wert der SchrittweiteincrementUnit
- Einhet der Schrittweitepublic void setPeriod(java.util.Calendar periodStart, int periodLength, int unit)
periodStart
- Anfang der ZeitraumesperiodLength
- Wert der Länge der Zeitraumes.unit
- Einheit der Zeitrauml&auuml;ngepublic void setReadIntervallLength(int readIntervallLength)
setzt die ReadIntervallLength. (ReadIntervallLength * IncrementUnit) ergibt die Zeitspanne, für die Daten vom Archiv geholt werden.
readIntervallLength
- intpublic java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |