Class RequestInfo

java.lang.Object
de.bsvrz.dav.daf.main.impl.archive.request.RequestInfo
All Implemented Interfaces:
ArchiveInfoQueryResult, ArchiveQueryResult

public class RequestInfo
extends java.lang.Object
implements ArchiveInfoQueryResult
Diese Klasse stellt ein Objekt zur Verfügung, über das eine Archivinformationsanfrage gestartet werden kann. Diese Klasse wird von der Klasse StreamedArchiveRequester benutzt.
  • Constructor Summary

    Constructors
    Constructor Description
    RequestInfo​(java.util.List<ArchiveDataSpecification> specs, ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)  
  • Method Summary

    Modifier and Type Method Description
    void aborted​(java.lang.String errorMessage)
    Setzt eine Fehlermeldung und bewirkt, dass nicht weiter auf eine Antwort vom Archivsystem gewartet wird.
    void archiveResponse​(Data data)
    Diese Methode wird aufgerufen, wenn die Antwort des Archivsystems empfangen wurde.
    java.util.List<ArchiveInformationResult> getArchiveInfoQueryResult()
    Diese Methode gibt eine Liste zurück, die alle Zeit/Indexbereiche einer Archivinformationsanfrage beinhaltet.
    ArchiveQueryID getArchiveRequestID()  
    java.lang.String getErrorMessage()
    Diese Methode liefert einen String mit der Fehlermeldung, die dazu geführt hat das die Informationsanfrage nicht ausgeführt werden konnte.
    boolean isRequestSuccessful()
    Diese Methode ist blockierend, bis die Antwort des Archivs vorliegt.
    void sendRequestInfo()
    Diese Methode verschickt eine Archivinfoanfrage an das entsprechende Archivsystem und meldet sich wieder als Sender ab.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • getArchiveInfoQueryResult

      public java.util.List<ArchiveInformationResult> getArchiveInfoQueryResult()
      Diese Methode gibt eine Liste zurück, die alle Zeit/Indexbereiche einer Archivinformationsanfrage beinhaltet. Der Aufruf ist blockierend, bis ein Ergebnis vorliegt. War die Anfrage erfolgreich, wird die Liste zurückgegeben. War die Anfrage nicht erfolgreich wird eine RuntimeException ausgelöst ! Ein Aufruf dieser Methode sollte also nur erfolgen, nach dem sichergestellt wurde das isRequestSuccessful den Wert true zurückliefert.
      Specified by:
      getArchiveInfoQueryResult in interface ArchiveInfoQueryResult
      Returns:
    • isRequestSuccessful

      public boolean isRequestSuccessful() throws java.lang.InterruptedException
      Diese Methode ist blockierend, bis die Antwort des Archivs vorliegt.
      Specified by:
      isRequestSuccessful in interface ArchiveQueryResult
      Returns:
      true = Die Anfrage konnte fehlerfrei bearbeitet werden; false = Während der Bearbeitung der Anfrage kam es zu einem Fehler, dieser kann mit getErrorMessage angezeigt werden
      Throws:
      java.lang.InterruptedException - Der Thread, der den Auftrag bearbeitet, wurde abgebrochen
    • getErrorMessage

      public java.lang.String getErrorMessage() throws java.lang.InterruptedException
      Diese Methode liefert einen String mit der Fehlermeldung, die dazu geführt hat das die Informationsanfrage nicht ausgeführt werden konnte. Dieser Aufruf blockiert solange, bis ein Ergebnis des Archivsystems vorliegt.
      Specified by:
      getErrorMessage in interface ArchiveQueryResult
      Returns:
      String mit einer Fehlermeldung
      Throws:
      java.lang.InterruptedException - Der Thread, der den Auftrag bearbeitet, wurde abgebrochen
    • aborted

      public void aborted​(java.lang.String errorMessage)
      Description copied from interface: ArchiveQueryResult
      Setzt eine Fehlermeldung und bewirkt, dass nicht weiter auf eine Antwort vom Archivsystem gewartet wird.
      Specified by:
      aborted in interface ArchiveQueryResult
      Parameters:
      errorMessage - Fehlermeldung, mit der die Anfrage terminiert wird.
    • sendRequestInfo

      public void sendRequestInfo()
      Diese Methode verschickt eine Archivinfoanfrage an das entsprechende Archivsystem und meldet sich wieder als Sender ab.
    • archiveResponse

      public void archiveResponse​(Data data)
      Diese Methode wird aufgerufen, wenn die Antwort des Archivsystems empfangen wurde. Die Antwort wird analysiert und die betreffenden Objekte zur Verfügung gestellt, wartende Threads werden benachrichtigt.
    • getArchiveRequestID

      public ArchiveQueryID getArchiveRequestID()
      Returns:
      Eindeutige Identifikation der Archivanfrage (RequestInfo in diesem Fall)