Class RequestInfo

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

public class RequestInfo extends 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 Details

  • Method Details

    • getArchiveInfoQueryResult

      public 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 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:
      InterruptedException - Der Thread, der den Auftrag bearbeitet, wurde abgebrochen
    • getErrorMessage

      public String getErrorMessage() throws 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:
      InterruptedException - Der Thread, der den Auftrag bearbeitet, wurde abgebrochen
    • aborted

      public void aborted(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)