de.bsvrz.kex.isis.isis.impl
Class Baustelle

java.lang.Object
  extended by de.bsvrz.kex.isis.isis.impl.Baustelle
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientSenderInterface, BaustelleInterface, de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateListener, EventListener

public class Baustelle
extends Object
implements BaustelleInterface, de.bsvrz.dav.daf.main.ClientSenderInterface, de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateListener

BIS-Baustelle.

Version:
$Id: Baustelle.java 21573 2010-02-17 13:35:08Z gieseler $
Author:
BitCtrl Systems GmbH, Gieseler

Field Summary
 
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
Baustelle(de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.Baustelle baustelle)
          Erzeugt eine neue Baustelle auf der Basis einer Baustelle des Netzmodells.
Baustelle(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject objekt)
          Erzeugt ein neues Baustellenobjekt (typ.baustelle) auf Seiten der VRZ.
Baustelle(String info, long vonZeitpunkt, long dauer, OrtsReferenzStrassenSegmentUndOffsetInterface ortsReferenz, long laenge, BisInterface.BaustellenZustand baustellenZustand, int engpassKapazitaet, BaustellenVerantwortlicherInterface baustellenVerantwortlicher, de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject objekt)
          Erzeugt ein neues Baustellenobjekt (typ.baustelle) auf Seiten der VRZ.
 
Method Summary
 void aendereBaustellenGueltigkeitsZeitraum(long vonZeitpunkt, long dauer)
          Setzt (ändert) den Gültigkeitszeitraum eines Baustellenobjekts auf Seiten der VRZ.
 void aendereBaustellenOrt(OrtsReferenzStrassenSegmentUndOffsetInterface ortsReferenzNeu)
          Setzt (ändert) das StraßenSegment und die Richtung eines Baustellenobjekts auf Seiten der VRZ.
 void aendereBaustellenStartOffsetUndLaenge(long startOffset, long laenge)
          Setzt (ändert) den Startoffset und die Länge eines Baustellenobjekts auf Seiten der VRZ.
 void aendereBaustellenVerantwortlichen(BaustellenVerantwortlicherInterface baustellenVerantwortlicher)
          Setzt (ändert) die Angaben zum Baustellenverantwortlichen eines Baustellenobjekts (BaustellenVerantwortlicherInterface) .
 void aendereBaustellenZustand(BisInterface.BaustellenZustand baustellenZustand)
          Setzt (ändert) den Zustand eines Baustellenobjekts auf Seiten der VRZ.
 void aendereEngpassKapazitaet(int engpassKapazitaet)
          Setzt (ändert) den Engpasskapazität eines Baustellenobjekts auf Seiten der VRZ.
 void aendereInfo(String infoText)
          Setzt/ändert den Informationstext zur Baustelle.
 void aktualisiereEreignisse()
          Aktualisiert die Ereignisse der Baustelle.
static String bildeBaustelleInfo()
          Erzeugt die Info für eine Baustelle.
static String bildeBaustelleName(String baustellepid)
          Erzeugt den Namen f&uuuml;r eine anzulegende Baustelle.
static String bildeBaustellePid()
          Erzeugt eine PID f&uuuml;r eine anzulegende Baustelle.
 void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
          
 void datensatzAktualisiert(de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateEvent event)
          
 BaustellenVerantwortlicherInterface getBaustellenVerantwortlichen()
          Liefert Angaben zum Baustellenverantwortlichen eines Baustellenobjekts (BaustellenVerantwortlicherInterface).
 BisInterface.BaustellenZustand getBaustellenZustand()
          Liefert den Zustand der Baustelle (BisInterface.BaustellenZustand).
 long getDauer()
          Liefert die Dauer der Baustelle (in ms).
 de.bsvrz.sys.funclib.bitctrl.modell.verkehr.zustaende.BaustellenStatus getDavBaustellenStatus(BisInterface.BaustellenZustand bisZustand)
          Konvertiert den Baustellzustand des BIS-Interface in den zugehörigen Zustand am DAV.
 de.bsvrz.dav.daf.main.config.SystemObject getDavObjekt()
          Gibt das zur Baustelle gehörende DaV-Objekt zurück.
 int getEngpassKapazitaet()
          Liefert die Restkapazität während der Gültigkeitsdauer der Baustelle in Fz/h.
 long getId()
          Liefert die Id der Baustelle.
 String getInfo()
          Liefert den Informationstext zur Baustelle.
 long getLaenge()
          Liefert die Länge der Baustelle stromabwärts in Metern.
 de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.Baustelle getModellBaustelle()
          Gibt die zugehörige Baustelle des Verkehrsmodells zurück.
 String getName()
          Liefert den Namen der Baustelle.
 OrtsReferenzStrassenSegmentUndOffsetInterface getOrtsReferenzStrassenSegmentUndOffset()
          Liefert das Ortsreferenzobjekt (StraßenSegments mit Offset), auf das die Baustelle beginnt.
 String getPid()
          Liefert die Pid der Baustelle (weltweit eindeutige PermanenteID).
 long getStartZeitpunkt()
          Liefert den Zeitpunkt des Baustellenbeginns (in ms seit dem 1.1.1970 UTC).
 boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
          
 boolean istMengeAngemeldet()
          Test, ob die Baustelle bei der Baustellenmenge angemeldet ist.
 void loeschen()
          Löscht die Baustelle.
 void publiziereDAV()
          Publiziert alle Baustellendaten zum DaV.
 void setMengeAngemeldet(boolean angemeldet)
          Setzt das Flag, ob die Baustelle bei der Baustellenmenge angemeldet ist.
 BaustellenPrognoseInterface startePrognose(String veranlasser, String ursache)
          Startet für die angegebene Baustelle die Baustellenprognose und liefert das Ergebnis der Prognose.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Baustelle

public Baustelle(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                 de.bsvrz.dav.daf.main.config.SystemObject objekt)
          throws BisInterfaceException
Erzeugt ein neues Baustellenobjekt (typ.baustelle) auf Seiten der VRZ.

Parameters:
dav - Datenverteilerverbindung
objekt - Systemobjekt der Baustelle
Throws:
BisInterfaceException - bei Ausnahmen

Baustelle

public Baustelle(de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.Baustelle baustelle)
          throws BisInterfaceException
Erzeugt eine neue Baustelle auf der Basis einer Baustelle des Netzmodells.

Parameters:
baustelle - Baustelle des Netzmodells.
Throws:
BisInterfaceException - bei Ausnahmen

Baustelle

public Baustelle(String info,
                 long vonZeitpunkt,
                 long dauer,
                 OrtsReferenzStrassenSegmentUndOffsetInterface ortsReferenz,
                 long laenge,
                 BisInterface.BaustellenZustand baustellenZustand,
                 int engpassKapazitaet,
                 BaustellenVerantwortlicherInterface baustellenVerantwortlicher,
                 de.bsvrz.dav.daf.main.ClientDavInterface dav,
                 de.bsvrz.dav.daf.main.config.SystemObject objekt)
          throws BisInterfaceException
Erzeugt ein neues Baustellenobjekt (typ.baustelle) auf Seiten der VRZ.

Parameters:
info - Informationstext zur Baustelle oder null, falls der Infotext automatisch vergeben werden soll.
vonZeitpunkt - Zeitpunkt des Baustellenbeginns (in ms seit dem 1.1.1970 UTC).
dauer - Dauer der Baustelle (in ms).
ortsReferenz - Ortsreferenzobjekt (StraßenSegments mit Offset), auf der die Baustelle beginnt.
laenge - Länge des Baustelle stromabwärts in Metern.
baustellenZustand - Zustand der Baustelle.
engpassKapazitaet - Restkapazität während der Gültigkeitsdauer der Baustelle in Fz/h.
baustellenVerantwortlicher - Angaben zum Baustellenverantwortlichen eines Baustellenobjekts.
dav - Datenverteilerverbindung
objekt - DAV-Systemobjekt der Baustelle
Throws:
BisInterfaceException - bei Fehlern in Zusammenhang mit der Erzeugung der Baustelle
Method Detail

bildeBaustelleInfo

public static String bildeBaustelleInfo()
Erzeugt die Info für eine Baustelle.

Returns:
Info

bildeBaustelleName

public static String bildeBaustelleName(String baustellepid)
Erzeugt den Namen f&uuuml;r eine anzulegende Baustelle. Der Name wird auf der Basis der PID folgt gebildet:
NAME = PID

Parameters:
baustellepid - PID der Baustelle
Returns:
Name

bildeBaustellePid

public static String bildeBaustellePid()
Erzeugt eine PID f&uuuml;r eine anzulegende Baustelle. Die PID wird wie folgt gebildet:
baustelle.isis.aktuelle-zeit-millisekunden

Returns:
PID

aendereBaustellenGueltigkeitsZeitraum

public void aendereBaustellenGueltigkeitsZeitraum(long vonZeitpunkt,
                                                  long dauer)
                                           throws BisInterfaceException
Setzt (ändert) den Gültigkeitszeitraum eines Baustellenobjekts auf Seiten der VRZ.

Specified by:
aendereBaustellenGueltigkeitsZeitraum in interface BaustelleInterface
Parameters:
vonZeitpunkt - Zeitpunkt des Baustellenbeginns (in ms seit dem 1.1.1970 UTC).
dauer - Dauer der Baustelle (in ms).
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.aendereBaustellenGueltigkeitsZeitraum(long, long)

aendereBaustellenOrt

public void aendereBaustellenOrt(OrtsReferenzStrassenSegmentUndOffsetInterface ortsReferenzNeu)
                          throws BisInterfaceException
Setzt (ändert) das StraßenSegment und die Richtung eines Baustellenobjekts auf Seiten der VRZ.

Specified by:
aendereBaustellenOrt in interface BaustelleInterface
Parameters:
ortsReferenzNeu - Ortsreferenzobjekt (StraßenSegments mit Offset), auf der die Baustelle beginnt.
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.aendereBaustellenOrt(de.bsvrz.kex.isis.isis.OrtsReferenzStrassenSegmentUndOffsetInterface)

aendereBaustellenStartOffsetUndLaenge

public void aendereBaustellenStartOffsetUndLaenge(long startOffset,
                                                  long laenge)
                                           throws BisInterfaceException
Setzt (ändert) den Startoffset und die Länge eines Baustellenobjekts auf Seiten der VRZ.

Specified by:
aendereBaustellenStartOffsetUndLaenge in interface BaustelleInterface
Parameters:
startOffset - Positon des Baustellenanfangs auf der Straße.
laenge - Länge des Baustelle stromabwärts.
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.aendereBaustellenStartOffsetUndLaenge(long, long)

aendereBaustellenVerantwortlichen

public void aendereBaustellenVerantwortlichen(BaustellenVerantwortlicherInterface baustellenVerantwortlicher)
                                       throws BisInterfaceException
Setzt (ändert) die Angaben zum Baustellenverantwortlichen eines Baustellenobjekts (BaustellenVerantwortlicherInterface) .

Specified by:
aendereBaustellenVerantwortlichen in interface BaustelleInterface
Parameters:
baustellenVerantwortlicher - Der Baustellenverantwortliche.
Throws:
BisInterfaceException
See Also:
BaustelleInterface.aendereBaustellenVerantwortlichen(de.bsvrz.kex.isis.isis.BaustellenVerantwortlicherInterface)

aendereBaustellenZustand

public void aendereBaustellenZustand(BisInterface.BaustellenZustand baustellenZustand)
                              throws BisInterfaceException
Setzt (ändert) den Zustand eines Baustellenobjekts auf Seiten der VRZ.

Specified by:
aendereBaustellenZustand in interface BaustelleInterface
Parameters:
baustellenZustand - Neuer Zustand der Baustelle.
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.aendereBaustellenZustand(de.bsvrz.kex.isis.isis.BisInterface.BaustellenZustand)

aendereEngpassKapazitaet

public void aendereEngpassKapazitaet(int engpassKapazitaet)
                              throws BisInterfaceException
Setzt (ändert) den Engpasskapazität eines Baustellenobjekts auf Seiten der VRZ.

Specified by:
aendereEngpassKapazitaet in interface BaustelleInterface
Parameters:
engpassKapazitaet - Restkapazität während der Gültigkeitsdauer der Baustelle.
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.aendereEngpassKapazitaet(int)

aendereInfo

public void aendereInfo(String infoText)
                 throws BisInterfaceException
Setzt/ändert den Informationstext zur Baustelle.

Specified by:
aendereInfo in interface BaustelleInterface
Parameters:
infoText - Informationstext zur Baustelle.
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.aendereInfo(java.lang.String)

aktualisiereEreignisse

public void aktualisiereEreignisse()
Aktualisiert die Ereignisse der Baustelle.

Die aktuellen Ereignisse werden auf der Basis der aktuellen Parameter in der Art angepasst, dass die dann resultierenden Ereigniseinträge zum aktuellen Parametersatz passen:

- Wird für einen Zustand, bei dem bisher ein Ereignis angelegt werden musste, dies jetzt nicht mehr gefordert, werden die entsprechenden Ereignisse gelöscht.

- Wird für einen Zustand, bei dem bisher kein Ereignis angelegt werden musste, dies jetzt gefordert, werden die entsprechenden Ereignisse angelegt.


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
See Also:
ClientSenderInterface.dataRequest(de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription, byte)

datensatzAktualisiert

public void datensatzAktualisiert(de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateEvent event)

Specified by:
datensatzAktualisiert in interface de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateListener
See Also:
DatensatzUpdateListener.datensatzAktualisiert(de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateEvent)

getBaustellenVerantwortlichen

public BaustellenVerantwortlicherInterface getBaustellenVerantwortlichen()
Liefert Angaben zum Baustellenverantwortlichen eines Baustellenobjekts (BaustellenVerantwortlicherInterface).

Specified by:
getBaustellenVerantwortlichen in interface BaustelleInterface
Returns:
Angaben zum Baustellenverantwortlichen eines Baustellenobjekts.
See Also:
BaustelleInterface.getBaustellenVerantwortlichen()

getBaustellenZustand

public BisInterface.BaustellenZustand getBaustellenZustand()
Liefert den Zustand der Baustelle (BisInterface.BaustellenZustand).

Specified by:
getBaustellenZustand in interface BaustelleInterface
Returns:
Zustand der Baustelle.
See Also:
BaustelleInterface.getBaustellenZustand()

getDauer

public long getDauer()
Liefert die Dauer der Baustelle (in ms).

Specified by:
getDauer in interface BaustelleInterface
Returns:
Dauer der Baustelle (in ms).
See Also:
BaustelleInterface.getDauer()

getDavBaustellenStatus

public de.bsvrz.sys.funclib.bitctrl.modell.verkehr.zustaende.BaustellenStatus getDavBaustellenStatus(BisInterface.BaustellenZustand bisZustand)
                                                                                              throws BisInterfaceException
Konvertiert den Baustellzustand des BIS-Interface in den zugehörigen Zustand am DAV.
Die Umsetzung ist wie folgt definiert:
Zustand im BIS-ISIS Zustand in der VRZ [DaK] vordefinierte Konstante im BIS-Interface
Grobplanung entworfen (0) BaustellenZustand.ENTWORFEN
Feinplanung geplant (1) BaustellenZustand.GEPLANT
Umsetzung gültig (2) BaustellenZustand.GUELTIG
Gelöscht storniert (3) BaustellenZustand.STORNIERT

Parameters:
bisZustand - der Zustand der Baustelle entsprechend BIS-Interface
Returns:
zugehöriger Zustand des DAV
Throws:
BisInterfaceException - wen der Zustand nicht abgebildet werden kann.

getDavObjekt

public de.bsvrz.dav.daf.main.config.SystemObject getDavObjekt()
Gibt das zur Baustelle gehörende DaV-Objekt zurück.

Returns:
Datenverteiler-Objekt der Baustelle

getEngpassKapazitaet

public int getEngpassKapazitaet()
Liefert die Restkapazität während der Gültigkeitsdauer der Baustelle in Fz/h.

Specified by:
getEngpassKapazitaet in interface BaustelleInterface
Returns:
Restkapazität während der Gültigkeitsdauer der Baustelle in Fz/h.
See Also:
BaustelleInterface.getEngpassKapazitaet()

getId

public long getId()
Liefert die Id der Baustelle.

Specified by:
getId in interface BaustelleInterface
Returns:
Id der Baustelle.
See Also:
BaustelleInterface.getId()

getInfo

public String getInfo()
Liefert den Informationstext zur Baustelle.

Specified by:
getInfo in interface BaustelleInterface
Returns:
Informationstext zur Baustelle.
See Also:
BaustelleInterface.getInfo()

getLaenge

public long getLaenge()
Liefert die Länge der Baustelle stromabwärts in Metern.
Es wird die Länge der Baustelle in der VRZ zurückgegeben, d.h. wenn die Länge beim Anlegen der Baustelle korrigiert werden musste (siehe BisInterface.erzeugeBaustelle(java.lang.String, java.lang.String, java.lang.String, long, long, de.bsvrz.kex.isis.isis.OrtsReferenzStrassenSegmentUndOffsetInterface, long, de.bsvrz.kex.isis.isis.BisInterface.BaustellenZustand, int, de.bsvrz.kex.isis.isis.BaustellenVerantwortlicherInterface)), wird hier die korrigierte Länge geliefert

Specified by:
getLaenge in interface BaustelleInterface
Returns:
Länge der Baustelle stromabwärts in Metern.
See Also:
BaustelleInterface.getLaenge()

getModellBaustelle

public de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.Baustelle getModellBaustelle()
Gibt die zugehörige Baustelle des Verkehrsmodells zurück.

Returns:
zugehörige Baustelle des Verkehrsmodells

getName

public String getName()
Liefert den Namen der Baustelle.

Specified by:
getName in interface BaustelleInterface
Returns:
Name der Baustelle.
See Also:
BaustelleInterface.getName()

getOrtsReferenzStrassenSegmentUndOffset

public OrtsReferenzStrassenSegmentUndOffsetInterface getOrtsReferenzStrassenSegmentUndOffset()
Liefert das Ortsreferenzobjekt (StraßenSegments mit Offset), auf das die Baustelle beginnt.

Specified by:
getOrtsReferenzStrassenSegmentUndOffset in interface BaustelleInterface
Returns:
Ortsreferenzobjekt (StraßenSegments mit Offset), auf der die Baustelle beginnt.
See Also:
BaustelleInterface.getOrtsReferenzStrassenSegmentUndOffset()

getPid

public String getPid()
Liefert die Pid der Baustelle (weltweit eindeutige PermanenteID).

Specified by:
getPid in interface BaustelleInterface
Returns:
Pid der Baustelle.
See Also:
BaustelleInterface.getPid()

getStartZeitpunkt

public long getStartZeitpunkt()
Liefert den Zeitpunkt des Baustellenbeginns (in ms seit dem 1.1.1970 UTC).

Specified by:
getStartZeitpunkt in interface BaustelleInterface
Returns:
Zeitpunkt des Baustellenbeginns (in ms seit dem 1.1.1970 UTC).
See Also:
BaustelleInterface.getStartZeitpunkt()

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
See Also:
ClientSenderInterface.isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription)

istMengeAngemeldet

public boolean istMengeAngemeldet()
Test, ob die Baustelle bei der Baustellenmenge angemeldet ist.

Returns:
true wenn angemeldet, sonst false

loeschen

public void loeschen()
              throws BisInterfaceException
Löscht die Baustelle.

Throws:
BisInterfaceException - bei Ausnahmen

publiziereDAV

public void publiziereDAV()
                   throws de.bsvrz.sys.funclib.bitctrl.modell.DatensendeException,
                          BisInterfaceException
Publiziert alle Baustellendaten zum DaV.

Throws:
de.bsvrz.sys.funclib.bitctrl.modell.DatensendeException - bei Ausnahmen
BisInterfaceException - wenn das Baustellenereignis nicht angelegt werden kann

setMengeAngemeldet

public void setMengeAngemeldet(boolean angemeldet)
Setzt das Flag, ob die Baustelle bei der Baustellenmenge angemeldet ist.

Parameters:
angemeldet - angemeldet ja/nein

startePrognose

public BaustellenPrognoseInterface startePrognose(String veranlasser,
                                                  String ursache)
                                           throws BisInterfaceException
Startet für die angegebene Baustelle die Baustellenprognose und liefert das Ergebnis der Prognose.

Specified by:
startePrognose in interface BaustelleInterface
Parameters:
veranlasser - Veranlasser, der die Simulation angestoßen hat.
ursache - Ursache (Bemerkung) zu diesem Prognosestart.
Returns:
BaustellenPrognoseObjekt (BaustellenPrognoseInterface) mit den Ergebnissen der Baustellenprognose.
Throws:
BisInterfaceException - bei Ausnahmen
See Also:
BaustelleInterface.startePrognose(java.lang.String, java.lang.String)