de.bsvrz.vew.sim.sim.verwaltung
Class VerwaltungSimulation

java.lang.Object
  extended by de.bsvrz.vew.sim.sim.verwaltung.VerwaltungSimulation
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, EmpfaengerMitAnmeldung

public class VerwaltungSimulation
extends java.lang.Object
implements EmpfaengerMitAnmeldung

Verwaltung von Simulationen. Mit einer Instanz dieser Klasse werden die dynamischen Simulations-Objekte (und die dazugehörigen Simulationsstrecken) eines Konfigurationsbereiches verwaltet.
Eine Instanz dieser Klasse empfängt und versendet Datensätze der logischen Schnittstelle zum Verwalten (erzeugen und löschen) von Simulationen

Version:
$Revision: 1.5 $ / $Date: 2009/11/17 15:37:48 $ / ($Author: Sans $)
Author:
Dambach-Werke GmbH, Stefan Sans

Nested Class Summary
protected static class VerwaltungSimulation.SimulationKonfigDaten
          Hilfsklasse, modelliert die relevanten konfigurierenden Daten einer Simulation
 
Constructor Summary
VerwaltungSimulation(de.bsvrz.dav.daf.main.ClientDavInterface connection, de.bsvrz.dav.daf.main.config.ConfigurationArea konfigBereich, de.bsvrz.dav.daf.main.config.ConfigurationObject konfigObjekt)
          Erzeugt eine neue Instanz von VerwaltungSimulation.
 
Method Summary
 void anmelden()
          Anmelden aller Datenidentifikationen für diese Instanz und das zugeordnete Systemobjekt
protected  void bereinigeSimulation(de.bsvrz.dav.daf.main.config.SystemObject simulation)
          Bereinig für die Verwaltung von dyn.
protected  de.bsvrz.dav.daf.main.config.SystemObject erzeugeSimulation(java.lang.String name, short simulationsVariante, de.bsvrz.dav.daf.main.Data.ReferenceValue simulationsStrecke, java.lang.String typ)
          Erzeugt ein neues dynmaisches Simulations-Objekt
 de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
          Bestimmt die Datenverteiletverbindung, über die die Empfängeranmeldung erfolgt
 de.bsvrz.dav.daf.main.config.DataModel getDatenModell()
          Bestimmt das Datenmodell für diese Simulationsverwaltung.
 de.bsvrz.dav.daf.main.config.ConfigurationArea getKonfigBereich()
          Bestimmt den Konfigurationsbereich für diese Simulationsverwaltung.
protected  VerwaltungSimulation.SimulationKonfigDaten getKonfigDaten(de.bsvrz.dav.daf.main.config.SystemObject simulation)
          Bestimmt die (relevaten) konfigurierenden Daten eines dyn.
 de.bsvrz.dav.daf.main.config.SystemObject getObjekt()
          Bestimmt das Systemobjekt, für das die Empfängeranmeldugen für diese Instanz erfolgen
 java.util.Map<java.lang.String,Simulation> getSimulationen()
          Zugriff auf die verwalteten Simulationen.
protected  void initialisiereSimulation(de.bsvrz.dav.daf.main.config.SystemObject simulation, Simulation.ZustandsBezeichner anfangsZustand, boolean sendeBeenden, boolean zustandPublizieren)
          Initialisiert diese Instanz zur Verwaltung eines dyn.
 void initialisiereVorhandeneSimulationen()
          Initialisiert die vorhandenen Simulationen (aus dem Konfigurationsbereich).
protected  void loescheSimulation(de.bsvrz.dav.daf.main.config.SystemObject simulation)
          Löscht ein dynamisches Simulations-Objekt
 void update(de.bsvrz.dav.daf.main.ResultData[] resultData)
           
 boolean warteAnmeldungVewAnfrGueltig(long timeout)
          Wartet maximal timeout ms auf eine Empfangsanmeldung.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VerwaltungSimulation

public VerwaltungSimulation(de.bsvrz.dav.daf.main.ClientDavInterface connection,
                            de.bsvrz.dav.daf.main.config.ConfigurationArea konfigBereich,
                            de.bsvrz.dav.daf.main.config.ConfigurationObject konfigObjekt)
Erzeugt eine neue Instanz von VerwaltungSimulation.

Parameters:
connection - die Datenverteiler-Verbindung
konfigBereich - der Konfigurationsbereich, aus dem die verwalteteten dynamischen Simulations-Objekte gelesen werden bzw. in den neue Simulations- Objekte geschrieben werden
konfigObjekt - das Konfigurationsobjekt zum Verwalten von Simulationen vom Typ typ.simulationsVerwaltung
Method Detail

getSimulationen

public java.util.Map<java.lang.String,Simulation> getSimulationen()
Zugriff auf die verwalteten Simulationen.

Returns:
nichtmodifizierbare Map, welche mit der PID als Schlüssel den Zugriff auf die verwalteten Simulationen erlaubt

getKonfigBereich

public de.bsvrz.dav.daf.main.config.ConfigurationArea getKonfigBereich()
Bestimmt den Konfigurationsbereich für diese Simulationsverwaltung.

Returns:
den Konfigurationsbereich für diese Simulationsverwaltung

getDatenModell

public de.bsvrz.dav.daf.main.config.DataModel getDatenModell()
Bestimmt das Datenmodell für diese Simulationsverwaltung.

Returns:
das Datenmodell für diese Simulationsverwaltung

initialisiereVorhandeneSimulationen

public void initialisiereVorhandeneSimulationen()
Initialisiert die vorhandenen Simulationen (aus dem Konfigurationsbereich). Die vorhandenen Simulationen werden in den Zustand "Stop" gebracht.


getObjekt

public de.bsvrz.dav.daf.main.config.SystemObject getObjekt()
Description copied from interface: EmpfaengerMitAnmeldung
Bestimmt das Systemobjekt, für das die Empfängeranmeldugen für diese Instanz erfolgen

Specified by:
getObjekt in interface EmpfaengerMitAnmeldung
Returns:
das singuläre Systemobjekt

getConnection

public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Description copied from interface: EmpfaengerMitAnmeldung
Bestimmt die Datenverteiletverbindung, über die die Empfängeranmeldung erfolgt

Specified by:
getConnection in interface EmpfaengerMitAnmeldung
Returns:
die Datenverteiletverbindung für die Empfängeranmeldung

anmelden

public void anmelden()
Description copied from interface: EmpfaengerMitAnmeldung
Anmelden aller Datenidentifikationen für diese Instanz und das zugeordnete Systemobjekt

Specified by:
anmelden in interface EmpfaengerMitAnmeldung

update

public void update(de.bsvrz.dav.daf.main.ResultData[] resultData)
Specified by:
update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface

warteAnmeldungVewAnfrGueltig

public boolean warteAnmeldungVewAnfrGueltig(long timeout)
Wartet maximal timeout ms auf eine Empfangsanmeldung.

Parameters:
timeout - die Zeit im ms, die max. gewartet werde soll
Returns:
true, wenn innerhalb des Timeouts eine gültige oder keine Empfangsanmledung erfolgte, false bei ungültiger Empfangsanmeldung innerhalb timeout

bereinigeSimulation

protected void bereinigeSimulation(de.bsvrz.dav.daf.main.config.SystemObject simulation)
Bereinig für die Verwaltung von dyn. Simulations-Objekten bereitgestellten Ressourcen

Parameters:
simulation - das dyn. Simulations-Objekt, für das bereinigt werden soll

initialisiereSimulation

protected void initialisiereSimulation(de.bsvrz.dav.daf.main.config.SystemObject simulation,
                                       Simulation.ZustandsBezeichner anfangsZustand,
                                       boolean sendeBeenden,
                                       boolean zustandPublizieren)
Initialisiert diese Instanz zur Verwaltung eines dyn. Simulations-Objekts

Parameters:
simulation - simulation das dyn. Simulations-Objekt, für das initialisiert werden soll
anfangsZustand - Bezeichner für den Anfangszustand, in den die fertig initialisierte Simulation gebracht wird
sendeBeenden - soll "sendeBeenden" an die SWE StartStopp gesendet werden?
zustandPublizieren - soll der finale Zustand publiziert werden?

erzeugeSimulation

protected de.bsvrz.dav.daf.main.config.SystemObject erzeugeSimulation(java.lang.String name,
                                                                      short simulationsVariante,
                                                                      de.bsvrz.dav.daf.main.Data.ReferenceValue simulationsStrecke,
                                                                      java.lang.String typ)
                                                               throws java.lang.Exception
Erzeugt ein neues dynmaisches Simulations-Objekt

Parameters:
name - Name
simulationsVariante - Simulationsvariante
simulationsStrecke - Referenz auf Simulationsstrecke
typ - PID des Typs der zu erzeugenden Simulation
Returns:
das erzeugte dynamische Simulations-Objekt
Throws:
java.lang.Exception

loescheSimulation

protected void loescheSimulation(de.bsvrz.dav.daf.main.config.SystemObject simulation)
                          throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
Löscht ein dynamisches Simulations-Objekt

Parameters:
simulation - das zu löschende dynamische Simulations-Objekt
Throws:
de.bsvrz.dav.daf.main.config.ConfigurationChangeException

getKonfigDaten

protected VerwaltungSimulation.SimulationKonfigDaten getKonfigDaten(de.bsvrz.dav.daf.main.config.SystemObject simulation)
Bestimmt die (relevaten) konfigurierenden Daten eines dyn. Simulations-Objekts

Parameters:
simulation - das dyn. Simulations-Objekt, dessen konfigurierende Daten bestimmt werden sollen
Returns:
Instanz von SimulationKonfigDaten mit den gewünschten Daten