de.bsvrz.ste.rdstmc.verkehrsanalyse
Class Verkehrsanalyse

java.lang.Object
  extended by de.bsvrz.ste.rdstmc.verkehrsanalyse.Verkehrsanalyse
All Implemented Interfaces:
RDSParameterListener, SituationEigenschaftenListener

public class Verkehrsanalyse
extends java.lang.Object
implements RDSParameterListener, SituationEigenschaftenListener

Instanziiert und verwaltet alle Störfallindikatoren

Version:
$Revision: 1.3 $ / $Date: 2009/01/27 13:54:22 $ / ($Author: Sans $)
Author:
Dambach Werke GmbH, Stefan Sans

Field Summary
private  de.bsvrz.dav.daf.main.ClientDavInterface _connection
          Die DAV-Verbindung
private static de.bsvrz.sys.funclib.debug.Debug _debug
          Debug-Logger für Logging-Ausgaben
private  Konfiguration _konfiguration
          Die Verwaltung der Konfigurationsobjekte des Netztes
private  RDSParameterDaten _parameter
           
private  java.util.Map<StrassenSegment,java.util.List<SegmentSituationDaten>> _segmentStauDaten
           
private  VerwaltungStaus _stauVerwaltung
           
private  java.util.Map<java.lang.String,StoerfallSituation> _stoerfallSituationen
          Mapping der PID eines äußeren Straßensegments auf seine zugehörige StoerfallSituation
 java.lang.Object mutexStoerfall
          Mutex für den Stoerfall-Thread und damit zu synchronisierende Threads
 java.lang.Object mutexStoerfallSituation
          Mutex für die Stoerfall-Situationen-Queue und damit zu synchronisierende Threads
 
Constructor Summary
Verkehrsanalyse(de.bsvrz.dav.daf.main.ClientDavInterface connection, Konfiguration konfiguration, RDSParameterVerwaltung parameterVerwaltung, java.util.Collection<Route> routen, boolean alleSegmente)
           
 
Method Summary
private  boolean addStauDaten(StrassenSegment segment, SegmentSituationDaten daten)
           
private  void bestimmeStoerfaelle(java.util.Collection<Route> routen)
           
private  void bestimmeStoerfallSituationen(java.util.Collection<Route> routen, boolean alleSegmente)
           
 boolean existiertStau(long startOffset, long endOffset, java.util.Collection<StrassenSegment> segmente)
           
 boolean existiertStau(StrassenSegment startSegment, long startOffset, StrassenSegment endSegment, long endOffset)
           
 de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
           
 Konfiguration getKonfiguration()
           
 de.bsvrz.dav.daf.main.config.ConfigurationObject getNetz()
           
 RDSParameterDaten getParameter()
           
(package private)  java.util.Collection<SegmentSituationDaten> getStauDaten(StrassenSegment segment)
           
 StoerfallSituation getStoerfallSituation(java.lang.String segmentPid)
           
 java.util.Collection<StoerfallSituation> getStoerfallSituationen()
           
 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
private  boolean removeStauDaten(StrassenSegment segment, SegmentSituationDaten 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


mutexStoerfall

public final java.lang.Object mutexStoerfall
Mutex für den Stoerfall-Thread und damit zu synchronisierende Threads


mutexStoerfallSituation

public final java.lang.Object mutexStoerfallSituation
Mutex für die Stoerfall-Situationen-Queue und damit zu synchronisierende Threads


_connection

private de.bsvrz.dav.daf.main.ClientDavInterface _connection
Die DAV-Verbindung


_konfiguration

private Konfiguration _konfiguration
Die Verwaltung der Konfigurationsobjekte des Netztes


_stoerfallSituationen

private java.util.Map<java.lang.String,StoerfallSituation> _stoerfallSituationen
Mapping der PID eines äußeren Straßensegments auf seine zugehörige StoerfallSituation


_parameter

private RDSParameterDaten _parameter

_stauVerwaltung

private VerwaltungStaus _stauVerwaltung

_segmentStauDaten

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

Verkehrsanalyse

public Verkehrsanalyse(de.bsvrz.dav.daf.main.ClientDavInterface connection,
                       Konfiguration konfiguration,
                       RDSParameterVerwaltung parameterVerwaltung,
                       java.util.Collection<Route> routen,
                       boolean alleSegmente)
Method Detail

getConnection

public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Returns:
die DAV-Verbindung

getNetz

public de.bsvrz.dav.daf.main.config.ConfigurationObject getNetz()
Returns:
das Konfigurationsobjekt vom Typ typ.netz

getKonfiguration

public Konfiguration getKonfiguration()

getStoerfallSituation

public StoerfallSituation getStoerfallSituation(java.lang.String segmentPid)

getParameter

public RDSParameterDaten getParameter()

bestimmeStoerfallSituationen

private void bestimmeStoerfallSituationen(java.util.Collection<Route> routen,
                                          boolean alleSegmente)

bestimmeStoerfaelle

private void bestimmeStoerfaelle(java.util.Collection<Route> routen)

getStoerfallSituationen

public java.util.Collection<StoerfallSituation> getStoerfallSituationen()

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

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

getStauDaten

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

addStauDaten

private boolean addStauDaten(StrassenSegment segment,
                             SegmentSituationDaten daten)

removeStauDaten

private boolean removeStauDaten(StrassenSegment segment,
                                SegmentSituationDaten daten)

existiertStau

public boolean existiertStau(StrassenSegment startSegment,
                             long startOffset,
                             StrassenSegment endSegment,
                             long endOffset)

existiertStau

public boolean existiertStau(long startOffset,
                             long endOffset,
                             java.util.Collection<StrassenSegment> segmente)