de.bsvrz.dav.daf.main.impl.archive.request
Class SubscriptionArchiveOnlineDataManager.ArchiveDataRequester

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.archive.request.SubscriptionArchiveOnlineDataManager.ArchiveDataRequester
All Implemented Interfaces:
Runnable
Enclosing class:
SubscriptionArchiveOnlineDataManager

private static final class SubscriptionArchiveOnlineDataManager.ArchiveDataRequester
extends Object
implements Runnable

Klasse, die Archivdaten anfordert und diese vor einen Onlinedatensatz einmischt


Field Summary
private  ArchiveRequestManager _archive
          Archivsystem, an das die Anfrage gestellt werden soll
private  boolean _archiveDataSend
          Wurden schon einmal Archivdaten verschickt.
private  boolean _cancel
          true = der Thread stellt seine Arbeit ein und meldet sich beim Archiv ab.
private  DataDescription _dataDescription
          Wird für die Archivanfrage gebraucht
private  ResultData _firstOnlineDataSet
          Erster Onlinedatensatz, dieser Datensatz dient als Endzeitpunkt für die Archivanfrage
private  long _history
          Zeitbereich oder Index, der aus dem aus Archivsystem angefordert werden soll.
private  HistoryTypeParameter _historyType
          Bezieht sich der Wert in der Variablen _history auf einen Zeitbereich oder einen Datenindex.
private  ArchiveData _lastReceivedDataSet
          Speichert den letzten Datensatz einer Archivanfrage.
private  ReceiveOptions _receiveOptions
          Wird benötigt um zu entscheiden ob die Archidaten delta oder normal sein sollen
private  SubscriptionArchiveOnlineDataManager.Receiver _receiver
          Enthält alle Daten und Methoden, die der Thread braucht um Archivdaten anzufodern und diese vor die aktuellen Daten zu mischen
private  SystemObject _systemObject
          Wird für die Archivanfrage gebraucht
 
Constructor Summary
SubscriptionArchiveOnlineDataManager.ArchiveDataRequester(SubscriptionArchiveOnlineDataManager.Receiver receiver, ArchiveRequestManager archive, SystemObject systemObject, DataDescription dataDescription, ReceiveOptions receiveOptions, HistoryTypeParameter historyType, long history)
           
 
Method Summary
 void cancelThread()
          Wird aufgerufen, wenn der Thread gestoppt werden soll, weil die Archivdaten nicht mehr gebraucht werden
 void run()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_receiver

private final SubscriptionArchiveOnlineDataManager.Receiver _receiver
Enthält alle Daten und Methoden, die der Thread braucht um Archivdaten anzufodern und diese vor die aktuellen Daten zu mischen


_firstOnlineDataSet

private ResultData _firstOnlineDataSet
Erster Onlinedatensatz, dieser Datensatz dient als Endzeitpunkt für die Archivanfrage


_lastReceivedDataSet

private ArchiveData _lastReceivedDataSet
Speichert den letzten Datensatz einer Archivanfrage. Dieser wird benötigt, wenn bei einer Archivanfrage nicht alle benötigten Werte übertragen wurden. Es fehlen zum Beispiel die letzten drei Datensätze, weil diese gerade archiviert werden und das Archivsystem sie deshalb nicht mitgeschickt hat. Um an alle Daten zu kommen, würde erneut angefragt werden, ein paar Archivdatensätze dieser Anfrage könnte aber verworfen werden, weil sie bereits in der ersten Anfrage vorhanden waren. Damit diese Datensätze erkannt werden können, wird der letzte Datensatz gespeichert.


_historyType

private final HistoryTypeParameter _historyType
Bezieht sich der Wert in der Variablen _history auf einen Zeitbereich oder einen Datenindex.


_history

private long _history
Zeitbereich oder Index, der aus dem aus Archivsystem angefordert werden soll. Diese Variable wird im laufe der Archivanfrage angepaßt. Wenn 10 Archivdaten benötigt werden, aber es werden nur 5 empfangen, müssen in der nächsten Archivanfrage nur noch 5 Archivdaten angefordert werden. Das selbe passiert mit einer Anfrage, die sich auf Zeit bezieht, wenn 4 Stunden benötigt werden, es werden aber nur 3 geliefert, wird die nächste Archivanfrage auf 1 Stunde relativ gestellt.


_receiveOptions

private final ReceiveOptions _receiveOptions
Wird benötigt um zu entscheiden ob die Archidaten delta oder normal sein sollen


_systemObject

private final SystemObject _systemObject
Wird für die Archivanfrage gebraucht


_dataDescription

private final DataDescription _dataDescription
Wird für die Archivanfrage gebraucht


_archive

private final ArchiveRequestManager _archive
Archivsystem, an das die Anfrage gestellt werden soll


_archiveDataSend

private boolean _archiveDataSend
Wurden schon einmal Archivdaten verschickt. Wird nur EOA vom Archiv empfangen und es wurden schon einmal Archivdaten verschickt, dann wird auf Daten gewartet. Wird hingegen EOA empfangen und es wurden noch nie Archivdaten verschickt, hat das Archiv keine Daten für diese Datenidentifikation.


_cancel

private boolean _cancel
true = der Thread stellt seine Arbeit ein und meldet sich beim Archiv ab.

Constructor Detail

SubscriptionArchiveOnlineDataManager.ArchiveDataRequester

public SubscriptionArchiveOnlineDataManager.ArchiveDataRequester(SubscriptionArchiveOnlineDataManager.Receiver receiver,
                                                                 ArchiveRequestManager archive,
                                                                 SystemObject systemObject,
                                                                 DataDescription dataDescription,
                                                                 ReceiveOptions receiveOptions,
                                                                 HistoryTypeParameter historyType,
                                                                 long history)
Method Detail

run

public void run()
Specified by:
run in interface Runnable

cancelThread

public void cancelThread()
Wird aufgerufen, wenn der Thread gestoppt werden soll, weil die Archivdaten nicht mehr gebraucht werden