de.inovat.kex.bast.common
Class ArchiveRequestHelper

java.lang.Object
  extended by de.inovat.kex.bast.common.ArchiveRequestHelper

public abstract class ArchiveRequestHelper
extends java.lang.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.

Version:
$Id: ArchiveRequestHelper.java 1431 2009-03-30 12:59:35Z Strey $
Author:
LOGOS GmbH Rostock (www.logos-ib.de), Ralf Trier

Method Summary
static java.util.Set<de.bsvrz.dav.daf.main.archive.ArchiveData> getArchivData(de.bsvrz.dav.daf.main.ClientDavInterface dav, java.lang.String soPid, java.lang.String atgPid, java.lang.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, java.lang.String soPid, java.lang.String atgPid, java.lang.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, java.lang.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, java.lang.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, java.lang.String soPid, java.lang.String atgPid, java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getArchiveDataQueryResult

public static de.bsvrz.dav.daf.main.archive.ArchiveDataQueryResult getArchiveDataQueryResult(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                                                                             java.lang.String soPid,
                                                                                             java.lang.String atgPid,
                                                                                             java.lang.String aspPid,
                                                                                             long von,
                                                                                             long bis)
                                                                                      throws java.io.IOException
gibt das Ergebnis für die ArchivAnfrage nach den SystemObjekten mit der Pid im angegebenen Zeitraum ungefiltert zurück.

Parameters:
dav - ClientDavInterface
soPid - String
atgPid - String
aspPid - String
von - long
bis - long
Returns:
ArchiveDataQueryResult
Throws:
java.io.IOException

getStream

public static de.bsvrz.dav.daf.main.archive.ArchiveDataStream getStream(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                                                        java.lang.String soPid,
                                                                        java.lang.String atgPid,
                                                                        java.lang.String aspPid,
                                                                        long von,
                                                                        long bis)
                                                                 throws java.io.IOException,
                                                                        java.lang.InterruptedException,
                                                                        java.lang.IllegalStateException
gibt das Ergebnis für die ArchivAnfrage nach den SystemObjekten mit der Pid im angegebenen Zeitraum ungefiltert als Stream zurück.

Parameters:
dav - ClientDavInterface
soPid - String
atgPid - String
aspPid - String
von - long
bis - long
Returns:
ArchiveDataStream
Throws:
java.io.IOException
java.lang.InterruptedException
java.lang.IllegalStateException

getArchivData

public static java.util.Set<de.bsvrz.dav.daf.main.archive.ArchiveData> getArchivData(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                                                                     java.lang.String soPid,
                                                                                     java.lang.String atgPid,
                                                                                     java.lang.String aspPid,
                                                                                     long von,
                                                                                     long bis)
                                                                              throws java.io.IOException
gibt die sortierten ArchivDaten im angegebenen Bereich (einschließlich der Grenzen) sortiert und gefiltert zurück.

Parameters:
dav - ClientDavInterface
soPid - String
atgPid - String
aspPid - String
von - long
bis - long
Returns:
Set
Throws:
java.io.IOException - wenn Fehler beim Lesen aufgetreten sind.

getAttributeGroup

public static final de.bsvrz.dav.daf.main.config.AttributeGroup getAttributeGroup(de.bsvrz.dav.daf.main.config.SystemObject so,
                                                                                  java.lang.String atgPid)
bestimmt die AttributeGroup mit der Pid für das angegebene SystemObject.

Parameters:
so - SystemObject
atgPid - String
Returns:
AttributeGroup

getAspect

public static final de.bsvrz.dav.daf.main.config.Aspect getAspect(de.bsvrz.dav.daf.main.config.AttributeGroup atg,
                                                                  java.lang.String aspPid)
bestimmt den Aspect mit der Pid für die angegebene AttributeGroup.

Parameters:
atg - AttributeGroup
aspPid - String
Returns:
Aspect

getLastArchiveDataByArchiveTime

public 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.

Parameters:
dav - Datenverteilerverbindung
so - das anzufragenden Objekt
descr - Datenbeschreibung der gesuchten Daten
maxHistory - long der maximale Zeitbereich in ms, bis zu dem vom aktuellen zeitpunkt aus nach einem Datensatz gesucht werden soll
Returns:
der Archivdatensatz mit dem jüngsten Archivzeitstempel im Anfragezeitraum
Throws:
java.lang.IllegalStateException - Falls die Archivanfrage nicht erfolgreich war und keine Ergebnisdatenströme bestimmt werden können.

getLastArchiveDataByDataTime

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 java.lang.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.

Parameters:
connection - ClientDavInterface Datenverteilerverbindung
object - SystemObject das anzufragenden Objekt
descr - DataDescription Datenbeschreibung der gesuchten Daten
fromTime - long Beginn Suchbereich
toTime - long Ende Suchbereich
Returns:
ArchiveData der Archivdatensatz mit dem jüngsten Datenzeitstempel im Anfragezeitraum
Throws:
java.lang.IllegalStateException - Falls die Archivanfrage nicht erfolgreich war und keine Ergebnisdatenströme bestimmt werden können.