de.bsvrz.vew.sim.sim.datengenerator
Class DatenGeneratorSimulation

java.lang.Object
  extended by de.bsvrz.vew.sim.sim.datengenerator.DatenGeneratorSimulation
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientSenderInterface
Direct Known Subclasses:
DatenGeneratorOfflineSimulation, DatenGeneratorOnlineSimulation

public abstract class DatenGeneratorSimulation
extends java.lang.Object
implements de.bsvrz.dav.daf.main.ClientSenderInterface

Datengenerator für Simulationen. Funktionalität zum analysieren der Eingangsdaten und zum Senden der Ausgangsdaten

Version:
$Revision: 1.3 $ / $Date: 2008/10/31 13:30:31 $ / ($Author: Sans $)
Author:
Dambach-Werke GmbH, Stefan Sans

Field Summary
private  int _anzahlSendeThreads
          Anzahl der momentan aktiven Sende-Threads
private static de.bsvrz.sys.funclib.debug.Debug _debug
          Debug-Logger für Logging-Ausgaben
private  Simulation _simulation
          Die Simulation, für die diese Instanz Daten generiert
 
Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
 
Constructor Summary
DatenGeneratorSimulation(Simulation simulation)
           
 
Method Summary
private  void analysiereDatenBlock(de.bsvrz.dav.daf.main.Data daten, java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> bereiche, java.util.Map<java.lang.String,DatenSpezifikation> eingangsDaten, int datenIndex, int parameterIndex)
          Ein Block von Eingangsdaten wird analysiert
protected  java.util.Collection<DatenSpezifikation> analysiereEingangsDaten()
          Analysiert die Eingangsdaten und gibt das Ergebnis aufbereitet zurück
 void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
           
private  java.util.Collection<de.bsvrz.dav.daf.main.config.Aspect> getAspekte(de.bsvrz.dav.daf.main.Data.Array aspekte)
          Bestimmt die zu betrachtenden Aspekte aus den Eingangsdaten
private  java.util.Collection<de.bsvrz.dav.daf.main.config.AttributeGroup> getAttributGruppen(de.bsvrz.dav.daf.main.Data.Array attributGruppen)
          Bestimmt die zu betrachtenden Attributgruppen aus den Eingangsdaten
private  java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getBereiche(de.bsvrz.dav.daf.main.Data.Array bereiche, int index)
          Bestimmt die zu betrachtenden Konfigurationsbereiche aus den Eingangsdaten
protected  de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
          Bestimmt die Datenverteilerverbindung
private  java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjekte(de.bsvrz.dav.daf.main.Data.Array objekte, java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> bereiche, int datenIndex, int parameterIndex)
          Bestimmt die zu betrachtetenden Objekte aus den Eingangsdaten
protected  Simulation getSimulation()
          Bestimmt die Simulation, für die diese Instanz Daten generiert
protected  SimulationsStrecke getSimulationsStrecke()
          Bestimmt die Simulationstrecke der Simulation, für die diese Instanz Daten generiert
protected abstract  void init()
          Initilaisiere den Datengenrator
abstract  boolean isGestartet()
          Bestimmt den Lauf-Status des Datengenerators
 boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
           
protected  void sendeDaten(java.util.Collection<de.bsvrz.dav.daf.main.ResultData> daten)
          Sendet Daten asynchron an den Datenverteiler
protected  void sendeDaten(de.bsvrz.dav.daf.main.ResultData[] daten)
          Sendet Daten asynchron an den Datenverteiler
abstract  void start()
          Starte den Datengenerator
abstract  void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

private static final de.bsvrz.sys.funclib.debug.Debug _debug
Debug-Logger für Logging-Ausgaben


_anzahlSendeThreads

private int _anzahlSendeThreads
Anzahl der momentan aktiven Sende-Threads


_simulation

private Simulation _simulation
Die Simulation, für die diese Instanz Daten generiert

Constructor Detail

DatenGeneratorSimulation

public DatenGeneratorSimulation(Simulation simulation)
Method Detail

isGestartet

public abstract boolean isGestartet()
Bestimmt den Lauf-Status des Datengenerators

Returns:
Ist der Datengenerator gestartet?

init

protected abstract void init()
Initilaisiere den Datengenrator


start

public abstract void start()
Starte den Datengenerator


stop

public abstract void stop()

getSimulation

protected Simulation getSimulation()
Bestimmt die Simulation, für die diese Instanz Daten generiert

Returns:
die Simulation, für die diese Instanz Daten generiert

getSimulationsStrecke

protected SimulationsStrecke getSimulationsStrecke()
Bestimmt die Simulationstrecke der Simulation, für die diese Instanz Daten generiert

Returns:
die Simulationsstrecke der Simulation, für die diese Instanz Daten generiert

getConnection

protected de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Bestimmt die Datenverteilerverbindung

Returns:
die Datenverteilerverbindung

getBereiche

private java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getBereiche(de.bsvrz.dav.daf.main.Data.Array bereiche,
                                                                                    int index)
Bestimmt die zu betrachtenden Konfigurationsbereiche aus den Eingangsdaten

Parameters:
bereiche - Feld mit den Bereichs-Spezifikationen
index - Index des Parametersatzes
Returns:
die Bereiche als Sammlung von (Stellvertreter-)Systemobjekten

getObjekte

private java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> getObjekte(de.bsvrz.dav.daf.main.Data.Array objekte,
                                                                                   java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> bereiche,
                                                                                   int datenIndex,
                                                                                   int parameterIndex)
Bestimmt die zu betrachtetenden Objekte aus den Eingangsdaten

Parameters:
objekte - Feld mit Objekten-Spezifikationen aus den Eingangsdaten
bereiche - Sammmlung der Bereiche, aus denen die Objekte zulässig sind
datenIndex - Daten-Index innerhalb des Parametersatzes
parameterIndex - Index des Parametersatzes
Returns:
die Objekte als Sammlung von (Stellvertreter-)Systemobjekten

getAttributGruppen

private java.util.Collection<de.bsvrz.dav.daf.main.config.AttributeGroup> getAttributGruppen(de.bsvrz.dav.daf.main.Data.Array attributGruppen)
Bestimmt die zu betrachtenden Attributgruppen aus den Eingangsdaten

Parameters:
attributGruppen - Feld mit Attributgruppen-Spezifikationen
Returns:
Sammlung von Attributgruppen

getAspekte

private java.util.Collection<de.bsvrz.dav.daf.main.config.Aspect> getAspekte(de.bsvrz.dav.daf.main.Data.Array aspekte)
Bestimmt die zu betrachtenden Aspekte aus den Eingangsdaten

Parameters:
aspekte - Feld mit Aspekt-Spezifikationen
Returns:
Sammlung von Aspekten

analysiereDatenBlock

private void analysiereDatenBlock(de.bsvrz.dav.daf.main.Data daten,
                                  java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> bereiche,
                                  java.util.Map<java.lang.String,DatenSpezifikation> eingangsDaten,
                                  int datenIndex,
                                  int parameterIndex)
Ein Block von Eingangsdaten wird analysiert

Parameters:
daten - Datensatz des Eingangsdaten-Blocks
bereiche - Sammlung der zulässigen Bereiche
eingangsDaten - die analysierten Eingangsdaten werden hier hinzugefügt
datenIndex - Daten-Index innerhalb Parametersatz
parameterIndex - Indes des Parametrer-Satzes

analysiereEingangsDaten

protected java.util.Collection<DatenSpezifikation> analysiereEingangsDaten()
Analysiert die Eingangsdaten und gibt das Ergebnis aufbereitet zurück

Returns:
Sammlung von Datenspezifikationen als aufbereitetes Eingangsdaten

sendeDaten

protected void sendeDaten(java.util.Collection<de.bsvrz.dav.daf.main.ResultData> daten)
Sendet Daten asynchron an den Datenverteiler

Parameters:
daten - die zu sendenden Daten

sendeDaten

protected void sendeDaten(de.bsvrz.dav.daf.main.ResultData[] daten)
Sendet Daten asynchron an den Datenverteiler

Parameters:
daten - die zu sendenden Daten

dataRequest

public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object,
                        de.bsvrz.dav.daf.main.DataDescription dataDescription,
                        byte state)
Specified by:
dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface

isRequestSupported

public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object,
                                  de.bsvrz.dav.daf.main.DataDescription dataDescription)
Specified by:
isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface