de.bsvrz.ste.rdstmc.meldungserstellung
Class Meldungserstellung

java.lang.Object
  extended by de.bsvrz.ste.rdstmc.meldungserstellung.Meldungserstellung
All Implemented Interfaces:
EreignisListener, RDSParameterListener, SituationEigenschaftenListener, java.lang.Runnable

public class Meldungserstellung
extends java.lang.Object
implements RDSParameterListener, EreignisListener, java.lang.Runnable, SituationEigenschaftenListener


Field Summary
private  VerwaltungBaustellen _baustellenVerwaltung
           
(package private)  de.bsvrz.dav.daf.main.ClientDavInterface _connection
           
private static de.bsvrz.sys.funclib.debug.Debug _debug
          Debug-Logger für Logging-Ausgaben
private  java.util.Map<java.lang.String,Ereignis> _ereignisse
           
private  Konfiguration _konfiguration
          Die Verwaltung der Konfigurationsobjekte des Netztes
(package private)  LocationMethode _locationMethode
           
private  java.util.Map<Route,java.util.Map<java.lang.String,Ereignis>> _nullEreignisse
           
private  RDSParameterDaten _parameter
           
(package private)  PublikationInitial _publikationInitial
           
(package private)  de.bsvrz.sys.funclib.concurrent.UnboundedQueue<Ereignis> _queue
           
private  java.util.Collection<Route> _routen
          Die Routen, die von dieser Instanz verwaltet werden
private  java.util.Map<StrassenSegment,java.util.Set<Route>> _routenZuSegment
           
private  java.util.Map<StrassenSegment,java.util.List<SegmentSituationDaten>> _segmentBaustellenDaten
           
private  Verkehrsanalyse _verkehrsanalyse
          Verkehrsanalyse-Instanz
private  VerwaltungMeldungen _verwaltungMeldungen
           
static long MAX_TIMEOUT
           
static long MIN_TIMEOUT
           
 java.lang.Object mutexEreignis
          Mutex für Ereignis-Queue
 
Constructor Summary
Meldungserstellung(de.bsvrz.dav.daf.main.ClientDavInterface connection, Konfiguration konfiguration, RDSParameterVerwaltung parameterVerwaltung, MeldungenGlobal meldungenGlobal, boolean alleSegmente)
           
 
Method Summary
private  void ausgabeDaten()
           
private  void bearbeiteEreignisse(java.util.Map<java.lang.String,Ereignis> ereignisse)
           
private static java.util.Collection<java.util.List<StrassenSegment>> berechneRouten(java.util.LinkedList<StrassenSegment> route)
           
private  void bestimmeNullEreignisse()
           
private  void bestimmeRouten()
           
private  java.util.Collection<java.util.List<StrassenSegment>> erzeugeRouten()
           
private  Situation existiertBaustelle(StrassenSegment startSegment, long startOffset, StrassenSegment endSegment, long endOffset)
           
(package private)  java.util.Collection<SegmentSituationDaten> getBaustellenDaten(StrassenSegment segment)
           
private  de.bsvrz.dav.daf.main.config.SystemObject getErklaerungsKomponente(StrassenSegment wurzelSegment, long wurzelOffset)
           
(package private)  LocationMethode getLocationMethode()
           
 RDSParameterDaten getParameter()
           
(package private)  PublikationInitial getPublikationInitial()
           
 java.util.Collection<Route> getRouten()
           
(package private)  java.util.Collection<Route> getRoutenZuSegment(StrassenSegment segment)
           
 Verkehrsanalyse getVerkehrsanalyse()
           
 void neueEreignisse(Route quelle, java.util.List<EreignisDaten> daten)
          Zu implementierende Methode zur Notifizierung von neuen RDS-Ereignissen
 void neueParameter(RDSParameterVerwaltung quelle, RDSParameterDaten daten)
          Zu implementierende Methode zur Notifizierung von RDS-Parameter-Änderungen
 void neueSituationEigenschaften(Situation quelle, SituationEigenschaften daten)
          Zu implementierende Methode zur Notifizierung von Situationseigenschaften-Änderungen
 void run()
           
private  java.util.Map<AeusseresStrassenSegment,java.util.List<EreignisDaten>> zuPrimaereTmcLocation(java.util.List<EreignisDaten> daten)
           
 
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


_locationMethode

LocationMethode _locationMethode

_publikationInitial

PublikationInitial _publikationInitial

mutexEreignis

public final java.lang.Object mutexEreignis
Mutex für Ereignis-Queue


_konfiguration

private Konfiguration _konfiguration
Die Verwaltung der Konfigurationsobjekte des Netztes


_routen

private java.util.Collection<Route> _routen
Die Routen, die von dieser Instanz verwaltet werden


_connection

de.bsvrz.dav.daf.main.ClientDavInterface _connection

_verwaltungMeldungen

private VerwaltungMeldungen _verwaltungMeldungen

_baustellenVerwaltung

private VerwaltungBaustellen _baustellenVerwaltung

_nullEreignisse

private java.util.Map<Route,java.util.Map<java.lang.String,Ereignis>> _nullEreignisse

_routenZuSegment

private java.util.Map<StrassenSegment,java.util.Set<Route>> _routenZuSegment

_verkehrsanalyse

private Verkehrsanalyse _verkehrsanalyse
Verkehrsanalyse-Instanz


_parameter

private RDSParameterDaten _parameter

_queue

de.bsvrz.sys.funclib.concurrent.UnboundedQueue<Ereignis> _queue

MIN_TIMEOUT

public static final long MIN_TIMEOUT
See Also:
Constant Field Values

MAX_TIMEOUT

public static final long MAX_TIMEOUT
See Also:
Constant Field Values

_ereignisse

private java.util.Map<java.lang.String,Ereignis> _ereignisse

_segmentBaustellenDaten

private java.util.Map<StrassenSegment,java.util.List<SegmentSituationDaten>> _segmentBaustellenDaten
Constructor Detail

Meldungserstellung

public Meldungserstellung(de.bsvrz.dav.daf.main.ClientDavInterface connection,
                          Konfiguration konfiguration,
                          RDSParameterVerwaltung parameterVerwaltung,
                          MeldungenGlobal meldungenGlobal,
                          boolean alleSegmente)
Method Detail

getLocationMethode

LocationMethode getLocationMethode()

getPublikationInitial

PublikationInitial getPublikationInitial()

getRouten

public java.util.Collection<Route> getRouten()
Returns:
die Routen, die von dieser Instanz verwaltet werden - Read only

bestimmeNullEreignisse

private void bestimmeNullEreignisse()

getRoutenZuSegment

java.util.Collection<Route> getRoutenZuSegment(StrassenSegment segment)

bestimmeRouten

private void bestimmeRouten()

berechneRouten

private static java.util.Collection<java.util.List<StrassenSegment>> berechneRouten(java.util.LinkedList<StrassenSegment> route)

erzeugeRouten

private java.util.Collection<java.util.List<StrassenSegment>> erzeugeRouten()

getVerkehrsanalyse

public Verkehrsanalyse getVerkehrsanalyse()

getParameter

public RDSParameterDaten getParameter()

neueParameter

public void neueParameter(RDSParameterVerwaltung quelle,
                          RDSParameterDaten daten)
Description copied from interface: RDSParameterListener
Zu implementierende Methode zur Notifizierung von RDS-Parameter-Änderungen

Specified by:
neueParameter in interface RDSParameterListener
Parameters:
quelle - die Instanz, die die Änderung ausgelöst hat
daten - die geänderten Daten

zuPrimaereTmcLocation

private java.util.Map<AeusseresStrassenSegment,java.util.List<EreignisDaten>> zuPrimaereTmcLocation(java.util.List<EreignisDaten> daten)

neueEreignisse

public void neueEreignisse(Route quelle,
                           java.util.List<EreignisDaten> daten)
Description copied from interface: EreignisListener
Zu implementierende Methode zur Notifizierung von neuen RDS-Ereignissen

Specified by:
neueEreignisse in interface EreignisListener
Parameters:
quelle - der Störfall, der geändert wurde

ausgabeDaten

private void ausgabeDaten()

bearbeiteEreignisse

private void bearbeiteEreignisse(java.util.Map<java.lang.String,Ereignis> ereignisse)

run

public void run()
Specified by:
run in interface java.lang.Runnable

getBaustellenDaten

java.util.Collection<SegmentSituationDaten> getBaustellenDaten(StrassenSegment segment)

neueSituationEigenschaften

public void neueSituationEigenschaften(Situation quelle,
                                       SituationEigenschaften daten)
Description copied from interface: SituationEigenschaftenListener
Zu implementierende Methode zur Notifizierung von Situationseigenschaften-Änderungen

Specified by:
neueSituationEigenschaften in interface SituationEigenschaftenListener
Parameters:
quelle - die Situation, deren Eigenschaften geändert wurden
daten - die neuen und/oder geänderten Eigenschaften oder null, wenn keine Daten (mehr) vorliegen

existiertBaustelle

private Situation existiertBaustelle(StrassenSegment startSegment,
                                     long startOffset,
                                     StrassenSegment endSegment,
                                     long endOffset)

getErklaerungsKomponente

private de.bsvrz.dav.daf.main.config.SystemObject getErklaerungsKomponente(StrassenSegment wurzelSegment,
                                                                           long wurzelOffset)