de.bsvrz.pat.datgen.generator.main
Class DataGenerator.DataCycler

java.lang.Object
  extended by de.bsvrz.pat.datgen.generator.main.DataGenerator.DataCycler
All Implemented Interfaces:
Runnable
Enclosing class:
DataGenerator

private static class DataGenerator.DataCycler
extends Object
implements Runnable

Datenerzeugungs-Thread


Field Summary
private  ClientDavInterface _connection
          Die Verbindung zum DaV
private  SubscriptionInfo _info
          Die Anmeldeinformationen
private  Map _objectsOfType
          Liste aller Objekte eines bestimmten Typs (wird für die zufällige Erzeugung von Datem vom Typ "Referenz" benötigt)
private  SystemObjectType _typeType
          Typ eines Typ-Objekts (für die Kommunikation mit der Konfiguration)
private static Debug debug
          Der Debug-Logger der Klasse
 
Constructor Summary
DataGenerator.DataCycler(ClientDavInterface connection, SubscriptionInfo info)
          Erzeugt ein Datenerzeugungs-Objekt
 
Method Summary
private  ResultData createResult(SystemObject object, Data data)
          Ergebnis erzeugen.
private  SystemObject getRandomSystemObjectOfType(SystemObjectType type)
          Zufälliges System-Objekt vom gewünschten Typ erzeugen
private  String getRandomText()
          Zufälligen Text (der hier aus den "Lottozahlen der nächsten Woche" besteht) erzeugen
private  long getRandomUnscaledValue(IntegerAttributeType iType)
          Zufälligen Integer-Wert erzeugen
private  ResultData getResult(ResultData[] resultArray, Data[] dataArray, int objectIndex, long intervalStart)
          Neue Daten generieren
 void run()
          Startet den Datenerzeugungs-Thread
private  void setRandomData(Data data)
          Data-Element mit zufällig erzeugten Daten belegen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

private static final Debug debug
Der Debug-Logger der Klasse


_connection

private ClientDavInterface _connection
Die Verbindung zum DaV


_info

private SubscriptionInfo _info
Die Anmeldeinformationen


_typeType

private SystemObjectType _typeType
Typ eines Typ-Objekts (für die Kommunikation mit der Konfiguration)


_objectsOfType

private final Map _objectsOfType
Liste aller Objekte eines bestimmten Typs (wird für die zufällige Erzeugung von Datem vom Typ "Referenz" benötigt)

Constructor Detail

DataGenerator.DataCycler

DataGenerator.DataCycler(ClientDavInterface connection,
                         SubscriptionInfo info)
                   throws Exception
Erzeugt ein Datenerzeugungs-Objekt

Parameters:
connection - ClientDavInterface, welches die Verbindung zum DaV hält
info - SubscriptionInfo mit den Anmeldeinformationen der zu erzeugenden Objekte
Throws:
Exception - bei Problemen
Method Detail

getRandomText

private String getRandomText()
Zufälligen Text (der hier aus den "Lottozahlen der nächsten Woche" besteht) erzeugen

Returns:
String mit zufällig erzeugtem Text

getRandomSystemObjectOfType

private SystemObject getRandomSystemObjectOfType(SystemObjectType type)
                                          throws Exception
Zufälliges System-Objekt vom gewünschten Typ erzeugen

Parameters:
type - Der gewünschte Typ
Returns:
Zufällig erzeugtes System-Objekt
Throws:
Exception - wenn Kommunikation mit der Konfiguration nicht klappt oder ein anderes Problem auftritt

getRandomUnscaledValue

private long getRandomUnscaledValue(IntegerAttributeType iType)
Zufälligen Integer-Wert erzeugen

Parameters:
iType - Spezifiziert den gewünschten Integer-Typ
Returns:
long mit erzeugtem Wert

setRandomData

private void setRandomData(Data data)
                    throws Exception
Data-Element mit zufällig erzeugten Daten belegen

Parameters:
data - Das zu füllende Datenfeld
Throws:
Exception - wenn beim Belegen des Datenfeldes ein Problem auftritt

createResult

private ResultData createResult(SystemObject object,
                                Data data)
                         throws Exception
Ergebnis erzeugen.

Parameters:
object - SystemObject, für welches ein Telegramm erzeugt wird
data - Datensatz, der diesem Ergebnis zugeordnet werden soll.
Returns:
ResultData mit dem erzeugten Telegramm
Throws:
Exception - wenn beim Erzeugen des Telegramms ein Problem auftritt

getResult

private ResultData getResult(ResultData[] resultArray,
                             Data[] dataArray,
                             int objectIndex,
                             long intervalStart)
                      throws Exception
Neue Daten generieren

Parameters:
resultArray - Array mit Ergebnissen für alle Objekte.
dataArray - Array mit Datensätzen für alle Objekte.
objectIndex - Index des Objekts für das neue Daten generiert werden sollen.
intervalStart - Der Zeitstempel des Telegramms
Returns:
Das modifizierte Ergebnis (resultArray[objectIndex]).
Throws:
Exception - wenn beim Erzeugen des Telegramms ein Problem auftritt

run

public void run()
Startet den Datenerzeugungs-Thread

Specified by:
run in interface Runnable