public abstract class ArchiveRequestHelper extends Object
stellt Funktionen zum Abfragen der Archivs bereit, die die Daten für alle Versionen, der durch die übergebenen Pids präsentierenen Objekte, bestimmt.
Einige Funktionen filtern die Daten nach dem Zeitstempel so, dass nur die Datensätze zurückgegeben werden, die innerhalb der angegebenen Zeitspanne liegen.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
ArchiveRequestHelper.ArsDataComparator
Comparator zum Sortieren von ArchiveData nach DataTime, DataIndex.
|
(package private) static class |
ArchiveRequestHelper.MergedArchiveDataStream
ArchiveDataStream, der mehrere Streams zu einem Stream
zusammenführt.
|
Modifier and Type | Field and Description |
---|---|
private static ArchiveRequestHelper.ArsDataComparator |
ARS_DATA_COMPARATOR |
private static de.bsvrz.dav.daf.main.archive.ArchiveDataKindCombination |
DATA_KIND_COMBINATION |
private static de.bsvrz.dav.daf.main.archive.ArchiveDataKindCombination |
DATA_KIND_COMBINATION_ONLINE_ONLY |
private static de.bsvrz.sys.funclib.debug.Debug |
LOGGER |
Modifier | Constructor and Description |
---|---|
private |
ArchiveRequestHelper() |
Modifier and Type | Method and Description |
---|---|
static Set<de.bsvrz.dav.daf.main.archive.ArchiveData> |
getArchivData(de.bsvrz.dav.daf.main.ClientDavInterface dav,
String soPid,
String atgPid,
String aspPid,
long von,
long bis)
gibt die sortierten ArchivDaten im angegebenen Bereich
(einschließlich der Grenzen) sortiert und gefiltert
zurück.
|
static de.bsvrz.dav.daf.main.archive.ArchiveDataQueryResult |
getArchiveDataQueryResult(de.bsvrz.dav.daf.main.ClientDavInterface dav,
String soPid,
String atgPid,
String aspPid,
long von,
long bis)
gibt das Ergebnis für die ArchivAnfrage nach den SystemObjekten mit
der Pid im angegebenen Zeitraum ungefiltert zurück.
|
static de.bsvrz.dav.daf.main.config.Aspect |
getAspect(de.bsvrz.dav.daf.main.config.AttributeGroup atg,
String aspPid)
bestimmt den Aspect mit der Pid für die angegebene AttributeGroup.
|
static de.bsvrz.dav.daf.main.config.AttributeGroup |
getAttributeGroup(de.bsvrz.dav.daf.main.config.SystemObject so,
String atgPid)
bestimmt die AttributeGroup mit der Pid für das angegebene
SystemObject.
|
static de.bsvrz.dav.daf.main.archive.ArchiveData |
getLastArchiveDataByArchiveTime(de.bsvrz.dav.daf.main.ClientDavInterface dav,
de.bsvrz.dav.daf.main.config.SystemObject so,
de.bsvrz.dav.daf.main.DataDescription descr,
long maxHistory)
Bestimmung des zuletzt archivierten Datensatzes aus den im Archiv
vorliegenden Daten für das gegebene Systemobjekt.
|
static de.bsvrz.dav.daf.main.archive.ArchiveData |
getLastArchiveDataByDataTime(de.bsvrz.dav.daf.main.ClientDavInterface connection,
de.bsvrz.dav.daf.main.config.SystemObject object,
de.bsvrz.dav.daf.main.DataDescription descr,
long fromTime,
long toTime)
Bestimmung des jüngsten Datensatzes aus den im Archiv vorliegenden Daten
für das gegebene Systemobjekt.
|
static de.bsvrz.dav.daf.main.archive.ArchiveDataStream |
getStream(de.bsvrz.dav.daf.main.ClientDavInterface dav,
String soPid,
String atgPid,
String aspPid,
long von,
long bis)
gibt das Ergebnis für die ArchivAnfrage nach den SystemObjekten mit
der Pid im angegebenen Zeitraum ungefiltert als Stream
zurück.
|
private static final de.bsvrz.sys.funclib.debug.Debug LOGGER
private static final ArchiveRequestHelper.ArsDataComparator ARS_DATA_COMPARATOR
private static final de.bsvrz.dav.daf.main.archive.ArchiveDataKindCombination DATA_KIND_COMBINATION
private static final de.bsvrz.dav.daf.main.archive.ArchiveDataKindCombination DATA_KIND_COMBINATION_ONLINE_ONLY
public static de.bsvrz.dav.daf.main.archive.ArchiveDataQueryResult getArchiveDataQueryResult(de.bsvrz.dav.daf.main.ClientDavInterface dav, String soPid, String atgPid, String aspPid, long von, long bis) throws IOException
dav
- ClientDavInterfacesoPid
- StringatgPid
- StringaspPid
- Stringvon
- longbis
- longIOException
- Fehler beim Lesen der Daten vom Archivpublic static de.bsvrz.dav.daf.main.archive.ArchiveDataStream getStream(de.bsvrz.dav.daf.main.ClientDavInterface dav, String soPid, String atgPid, String aspPid, long von, long bis) throws IOException, InterruptedException
dav
- ClientDavInterfacesoPid
- StringatgPid
- StringaspPid
- Stringvon
- longbis
- longIOException
- Fehler beim Lesen der Daten vom ArchivInterruptedException
- das Einlesen der Daten wurde unerwartet unterbrochenpublic static Set<de.bsvrz.dav.daf.main.archive.ArchiveData> getArchivData(de.bsvrz.dav.daf.main.ClientDavInterface dav, String soPid, String atgPid, String aspPid, long von, long bis) throws IOException
dav
- ClientDavInterfacesoPid
- StringatgPid
- StringaspPid
- Stringvon
- longbis
- longIOException
- wenn Fehler beim Lesen aufgetreten sind.public static final de.bsvrz.dav.daf.main.config.AttributeGroup getAttributeGroup(de.bsvrz.dav.daf.main.config.SystemObject so, String atgPid)
so
- SystemObjectatgPid
- Stringpublic static final de.bsvrz.dav.daf.main.config.Aspect getAspect(de.bsvrz.dav.daf.main.config.AttributeGroup atg, String aspPid)
atg
- AttributeGroupaspPid
- Stringpublic static de.bsvrz.dav.daf.main.archive.ArchiveData getLastArchiveDataByArchiveTime(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject so, de.bsvrz.dav.daf.main.DataDescription descr, long maxHistory)
Bestimmung des zuletzt archivierten Datensatzes aus den im Archiv vorliegenden Daten für das gegebene Systemobjekt.
Da das Archivsystem als Zustandsarchiv und nicht als Datenhaltung
ausgelegt ist, ist eine verlässliche Suche nur mit Brute-Force Methoden
möglich. Dazu werden alle Änderungen bis zu einer maximalen Zeitspanne ab
aktuellem Zeitpunkt abgefragt und der zu letzt archivierte Datensatz
gesucht.
Falls die Archivanfrage keine (gültigen) Ergebnisse enthält, wird der
Wert null
zurückgegeben.
Ausgewertet werden alle Online, nachgelieferten und nachgeforderten Werte
von allen im Anfragezeitraum gültigen Versionen des Objekts.
dav
- Datenverteilerverbindungso
- das anzufragenden Objektdescr
- Datenbeschreibung der gesuchten DatenmaxHistory
- long der maximale Zeitbereich in ms, bis zu dem vom aktuellen
zeitpunkt aus nach einem Datensatz gesucht werden sollIllegalStateException
- Falls die Archivanfrage nicht erfolgreich war und keine
Ergebnisdatenströme bestimmt werden können.public static de.bsvrz.dav.daf.main.archive.ArchiveData getLastArchiveDataByDataTime(de.bsvrz.dav.daf.main.ClientDavInterface connection, de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription descr, long fromTime, long toTime) throws IllegalStateException
Bestimmung des jüngsten Datensatzes aus den im Archiv vorliegenden Daten für das gegebene Systemobjekt.
Da das Archivsystem als Zustandsarchiv und nicht als Datenhaltung ausgelegt ist, ist eine verlässliche Suche nur mit Brute-Force Methoden möglich. Dazu werden alle Änderungen bis zu einer maximalen Zeitspanne ab aktuellem Zeitpunkt abgefragt und in den Antwortdaten der Datensatz mit dem jüngsten Datenzeitstempel gesucht. Daten die außerhalb des angefragten Bereichs liegen werden ignoriert.
Falls die Archivanfrage keine (gültigen) Ergebnisse enthält, wird der
Wert null
zurückgegeben.
Ausgewertet werden alle Online, nachgelieferten und nachgeforderten Werte von allen im Anfragezeitraum gültigen Versionen des Objekts.
connection
- ClientDavInterface
Datenverteilerverbindungobject
- SystemObject
das anzufragenden Objektdescr
- DataDescription
Datenbeschreibung der gesuchten DatenfromTime
- long Beginn SuchbereichtoTime
- long Ende SuchbereichArchiveData
der Archivdatensatz mit dem jüngsten
Datenzeitstempel im AnfragezeitraumIllegalStateException
- Falls die Archivanfrage nicht erfolgreich war und keine
Ergebnisdatenströme bestimmt werden können.Copyright © 2017 BitCtrl Systems GmbH. All rights reserved.