de.bsvrz.dav.daf.main.impl.archive.request
Class RequestData

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.archive.request.RequestData
All Implemented Interfaces:
ArchiveQueryResult

public class RequestData
extends Object
implements ArchiveQueryResult

Diese Klasse stellt ein Objekt zur Verfügung, mit dem das Archivsystem beauftragt werden kann Daten nachzufordern. Diese Klasse wird von der Klasse StreamedArchiveRequester benutzt.

Author:
Kappich+Kniß Systemberatung Aachen (K2S), Achim Wullenkord (AW)

Field Summary
private  ArchiveQueryID _archiveRequestID
          Dieses Objekt identifiziert die Archivanfrage eindeutig.
private static Debug _debug
          DebugLogger für Debug-Ausgaben
private  short _defaultSimulationVariant
          Falls keine Simulationsvariante gesetzt wird, dann wird dieser default-Wert benutzt.
private  String _errorString
          Fehler, der beim nachfordern von Daten aufgetreten sein kann
private  boolean _lock
          Sperrt solange Methodenaufrufe, bis eine Antwort des Archivs vorliegt
private  boolean _requestSuccessful
          Konnte der Auftrag zum nachfordern der Daten ausgeführt werden
private  StreamedArchiveRequester _streamedArchiveRequester
           
 
Constructor Summary
RequestData(ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)
           
 
Method Summary
 void archiveResponse(Data data)
          Diese Methode wird aufgerufen, wenn eine Antwort des Archivs auf den Auftrag zum Nachfordern vorliegt.
 ArchiveQueryID getArchiveRequestID()
           
 String getErrorMessage()
          Bestimmt eine Fehlernachricht, falls die entsprechende Archivanfrage nicht erfolgreich war.
 boolean isRequestSuccessful()
          Bestimmt, ob die Archivanfrage erfolgreich war.
 void request(Collection<ArchiveInformationResult> requiredData, Collection<SystemObject> requestedArchives)
           
 void request(long startTime, long endTime, Collection<SystemObject> requestedArchives)
           
private  void writeSystemObjectReferences(Collection<SystemObject> references, Serializer serializer)
          Speichert eine Collection, die SystemObjecs enthält, in einem Serializer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_archiveRequestID

private final ArchiveQueryID _archiveRequestID
Dieses Objekt identifiziert die Archivanfrage eindeutig.


_requestSuccessful

private boolean _requestSuccessful
Konnte der Auftrag zum nachfordern der Daten ausgeführt werden


_errorString

private String _errorString
Fehler, der beim nachfordern von Daten aufgetreten sein kann


_debug

private static final Debug _debug
DebugLogger für Debug-Ausgaben


_streamedArchiveRequester

private final StreamedArchiveRequester _streamedArchiveRequester

_lock

private boolean _lock
Sperrt solange Methodenaufrufe, bis eine Antwort des Archivs vorliegt


_defaultSimulationVariant

private final short _defaultSimulationVariant
Falls keine Simulationsvariante gesetzt wird, dann wird dieser default-Wert benutzt.

Constructor Detail

RequestData

public RequestData(ArchiveQueryID archiveRequestID,
                   StreamedArchiveRequester streamedArchiveRequester,
                   short defaultSimulationVariant)
Method Detail

isRequestSuccessful

public boolean isRequestSuccessful()
Description copied from interface: ArchiveQueryResult
Bestimmt, ob die Archivanfrage erfolgreich war. Die Methode wird von einer Applikation aufgerufen um festzustellen, ob die Anfrage erfolgreich war und weitere anfragespezifische Ergebnisse aus den verschiedenen abgeleiteten Interfaces abgerufen werden können oder ob die Anfrage nicht erfolgreich war und eine entsprechende Fehlermeldung über die Methode ArchiveQueryResult.getErrorMessage() abgerufen werden kann.

Specified by:
isRequestSuccessful in interface ArchiveQueryResult
Returns:
true, falls die Anfrage erfolgreich war, sonst false.

getErrorMessage

public String getErrorMessage()
                       throws InterruptedException
Description copied from interface: ArchiveQueryResult
Bestimmt eine Fehlernachricht, falls die entsprechende Archivanfrage nicht erfolgreich war.

Specified by:
getErrorMessage in interface ArchiveQueryResult
Returns:
Fehlernachricht, wenn die entsprechende Archivanfrage nicht erfolgreich, sonst leerer String.
Throws:
InterruptedException - Falls der aufrufende Thread unterbrochen wurde, während auf die entsprechende Antwortnachricht aus dem Archivsystem gewartet wurde.

archiveResponse

public void archiveResponse(Data data)
Diese Methode wird aufgerufen, wenn eine Antwort des Archivs auf den Auftrag zum Nachfordern vorliegt.

Parameters:
data - Antwort des Archivs

request

public void request(Collection<ArchiveInformationResult> requiredData,
                    Collection<SystemObject> requestedArchives)

request

public void request(long startTime,
                    long endTime,
                    Collection<SystemObject> requestedArchives)

getArchiveRequestID

public ArchiveQueryID getArchiveRequestID()

writeSystemObjectReferences

private void writeSystemObjectReferences(Collection<SystemObject> references,
                                         Serializer serializer)
                                  throws IOException
Speichert eine Collection, die SystemObjecs enthält, in einem Serializer. Der erste Wert stellt die Anzahl von Referenzen dar, die gespeichert werden sollen. Danach werden die Referenzen gespeichert.

Parameters:
references - Alle Referenenzen, die gespeichert werden sollen
serializer - Serializer, mit dem die Daten gespeichert werden
Throws:
IOException