|
|||||||||
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).
Field Summary | |
---|---|
(package private) int |
__ArsType
|
(package private) java.util.ArrayList<ResultDataChannel> |
_DataChannelList
|
(package private) java.util.ArrayList<de.bsvrz.dav.daf.main.DataDescription> |
_DataDescriptionList
|
(package private) int |
_IncrementUnit
|
(package private) int |
_IncrementValue
|
private boolean |
_isAchslastExportEF1
|
(package private) boolean |
_IsNotInterrupted
|
(package private) java.util.ArrayList<de.bsvrz.sys.funclib.dataIdentificationSettings.DataIdentification> |
_ListDataIdentification
|
(package private) java.util.ArrayList<de.bsvrz.dav.daf.main.config.SystemObject> |
_ListSystemObject
|
(package private) int |
_PeriodLength
|
(package private) int |
_PeriodLengthUnit
|
(package private) java.util.Calendar |
_PeriodStart
|
(package private) java.util.Calendar |
_ProcessingCalendar
wird zwischendurch mal auf den gerade bearbeiteten Zeitpunkt gesetzt um einen Fortschritt zu ermitteln. |
(package private) int |
_ReadIntervallLength
|
private static int |
ArsType_LOGOS
|
private static int |
ArsType_MARZ
|
private static int |
ArsType_UNASSIGNED
|
private static java.lang.String |
CRLF
|
private static java.text.SimpleDateFormat |
DATE_FORMAT
|
private static de.bsvrz.sys.funclib.debug.Debug |
debug
DebugLogger fuer Debug-Ausgaben. |
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)
|
private de.bsvrz.dav.daf.main.Dataset |
getValidResultData(de.bsvrz.dav.daf.main.Dataset[] rsArray,
java.util.Calendar calendar)
|
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 |
Field Detail |
---|
private static int ArsType_LOGOS
private static int ArsType_MARZ
private static int ArsType_UNASSIGNED
private static de.bsvrz.sys.funclib.debug.Debug debug
private static java.text.SimpleDateFormat DATE_FORMAT
private static final java.lang.String CRLF
int _IncrementValue
private boolean _isAchslastExportEF1
java.util.ArrayList<de.bsvrz.dav.daf.main.config.SystemObject> _ListSystemObject
java.util.ArrayList<de.bsvrz.sys.funclib.dataIdentificationSettings.DataIdentification> _ListDataIdentification
java.util.ArrayList<de.bsvrz.dav.daf.main.DataDescription> _DataDescriptionList
int __ArsType
int _PeriodLength
java.util.Calendar _ProcessingCalendar
boolean _IsNotInterrupted
int _ReadIntervallLength
java.util.ArrayList<ResultDataChannel> _DataChannelList
int _IncrementUnit
int _PeriodLengthUnit
java.util.Calendar _PeriodStart
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)
private de.bsvrz.dav.daf.main.Dataset getValidResultData(de.bsvrz.dav.daf.main.Dataset[] rsArray, java.util.Calendar calendar)
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 |