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 KlasseStreamedArchiveRequester
benutzt.
-
-
Constructor Summary
Constructors Constructor Description RequestInfo(java.util.List<ArchiveDataSpecification> specs, ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)
-
Method Summary
All Methods Instance Methods Concrete Methods 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.
-
-
-
Constructor Detail
-
RequestInfo
public RequestInfo(java.util.List<ArchiveDataSpecification> specs, ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)
-
-
Method Detail
-
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 dasisRequestSuccessful
den Werttrue
zurückliefert.- Specified by:
getArchiveInfoQueryResult
in interfaceArchiveInfoQueryResult
- Returns:
-
isRequestSuccessful
public boolean isRequestSuccessful() throws java.lang.InterruptedException
Diese Methode ist blockierend, bis die Antwort des Archivs vorliegt.- Specified by:
isRequestSuccessful
in interfaceArchiveQueryResult
- 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 interfaceArchiveQueryResult
- 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 interfaceArchiveQueryResult
- 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)
-
-