Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SWE_de.bsvrz.sys.funclib.bitctrl.dua
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
ERZ
SWE_de.bsvrz.sys.funclib.bitctrl.dua
Commits
2738455c
Commit
2738455c
authored
Feb 28, 2017
by
Uwe Peuker
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release/1.9.0'
parents
65fa19a2
8b763cd3
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1049 additions
and
1145 deletions
+1049
-1145
.project
.project
+29
-23
README.md
README.md
+8
-0
pom.xml
pom.xml
+1
-1
src/main/config/findbugs-exclude.xml
src/main/config/findbugs-exclude.xml
+3
-0
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/GanzZahl.java
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/GanzZahl.java
+0
-2
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/DuaVerkehrsNetz.java
...de/bsvrz/sys/funclib/bitctrl/dua/lve/DuaVerkehrsNetz.java
+116
-25
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/FahrStreifen.java
...va/de/bsvrz/sys/funclib/bitctrl/dua/lve/FahrStreifen.java
+24
-73
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessQuerschnitt.java
...de/bsvrz/sys/funclib/bitctrl/dua/lve/MessQuerschnitt.java
+31
-72
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessQuerschnittAllgemein.java
...sys/funclib/bitctrl/dua/lve/MessQuerschnittAllgemein.java
+22
-24
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessQuerschnittVirtuell.java
.../sys/funclib/bitctrl/dua/lve/MessQuerschnittVirtuell.java
+38
-87
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessStelle.java
...java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessStelle.java
+25
-73
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessStellenGruppe.java
.../bsvrz/sys/funclib/bitctrl/dua/lve/MessStellenGruppe.java
+27
-72
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/daten/AtgMessQuerschnittVirtuell.java
...lib/bitctrl/dua/lve/daten/AtgMessQuerschnittVirtuell.java
+18
-3
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/daten/AtgMessQuerschnittVirtuellVLage.java
...itctrl/dua/lve/daten/AtgMessQuerschnittVirtuellVLage.java
+215
-197
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/test/CSVImporter.java
...va/de/bsvrz/sys/funclib/bitctrl/dua/test/CSVImporter.java
+159
-160
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/testausfall/AbstraktAusfallUeberwachung.java
.../bitctrl/dua/testausfall/AbstraktAusfallUeberwachung.java
+333
-333
No files found.
.project
View file @
2738455c
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
de.bsvrz.sys.funclib.bitctrl.dua
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.jdt.core.javabuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.m2e.core.maven2Builder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
org.eclipse.m2e.core.maven2Nature
</nature>
<nature>
org.eclipse.jdt.core.javanature
</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
de.bsvrz.sys.funclib.bitctrl.dua
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.jdt.core.javabuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.m2e.core.maven2Builder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
net.sf.eclipsecs.core.CheckstyleBuilder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
org.eclipse.m2e.core.maven2Nature
</nature>
<nature>
org.eclipse.jdt.core.javanature
</nature>
<nature>
net.sf.eclipsecs.core.CheckstyleNature
</nature>
</natures>
</projectDescription>
README.md
View file @
2738455c
...
...
@@ -17,6 +17,14 @@ genutzt werden oder potentiell genutzt werden können.
Versionsgeschichte
==================
1.
9.0
=====
Statische Intialisierung des DuAVerkehrNetz entfernt
-
Statische Methoden als deprecated markiert
-
Kompatibiltätsmechanismus implementiert
1.
8.0
=====
...
...
pom.xml
View file @
2738455c
...
...
@@ -5,7 +5,7 @@
<groupId>
de.bsvrz.sys
</groupId>
<artifactId>
de.bsvrz.sys.funclib.bitctrl.dua
</artifactId>
<version>
1.
8
.0
</version>
<version>
1.
9
.0
</version>
<name>
Datenverteilerfunktionsbibliothek BitCtrl
</name>
...
...
src/main/config/findbugs-exclude.xml
View file @
2738455c
...
...
@@ -3,4 +3,7 @@
<Match>
<Bug
pattern=
"STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE"
/>
</Match>
<Match>
<Bug
pattern=
" ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"
/>
</Match>
</FindBugsFilter>
\ No newline at end of file
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/GanzZahl.java
View file @
2738455c
...
...
@@ -26,8 +26,6 @@
package
de.bsvrz.sys.funclib.bitctrl.dua
;
import
java.nio.channels.UnsupportedAddressTypeException
;
import
com.bitctrl.Constants
;
import
de.bsvrz.sys.funclib.bitctrl.daf.AbstractDavZustand
;
...
...
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/DuaVerkehrsNetz.java
View file @
2738455c
...
...
@@ -27,10 +27,15 @@
package
de.bsvrz.sys.funclib.bitctrl.dua.lve
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
de.bsvrz.dav.daf.main.ClientDavInterface
;
import
de.bsvrz.dav.daf.main.config.ConfigurationArea
;
import
de.bsvrz.dav.daf.main.config.SystemObject
;
import
de.bsvrz.sys.funclib.bitctrl.dua.DUAInitialisierungsException
;
import
de.bsvrz.sys.funclib.debug.Debug
;
...
...
@@ -41,16 +46,47 @@ import de.bsvrz.sys.funclib.debug.Debug;
*/
public
class
DuaVerkehrsNetz
{
@Deprecated
private
static
DuaVerkehrsNetz
defaultInstance
;
/**
* Flag: Wurde das statische DUA-Verkehrsnetz bereits initialisiert?
* die Datenverteilerverbindung mit dem das Netz initialisiert wurde. Es
* wird nur eine Datenverteilerverbindung unterstützt.
*/
private
static
boolean
initialisiert
;
private
ClientDavInterface
usedDav
;
private
final
Map
<
SystemObject
,
FahrStreifen
>
fahrStreifen
=
new
LinkedHashMap
<>();
private
final
Map
<
SystemObject
,
MessQuerschnitt
>
messQuerSchnitte
=
new
LinkedHashMap
<>();
private
final
Map
<
SystemObject
,
MessQuerschnittVirtuell
>
messQuerSchnitteVirtuell
=
new
LinkedHashMap
<>();
private
final
Map
<
SystemObject
,
MessStelle
>
messStellen
=
new
LinkedHashMap
<>();
private
final
Map
<
SystemObject
,
MessStellenGruppe
>
messStellenGruppen
=
new
LinkedHashMap
<>();
/**
* Standardkonstruktor.
* erzeugt ein {@link DuaVerkehrsNetz} auf Basis der übergebenen
* Datenverteilerverbindung.
*
* Das verwendete Modell kann durch die Übergabe einer Menge von
* Konfigurationsbereichen eingeschränkt werden. Ist das übergebene Feld
* leer oder wird <code>null</code> übergeben, erfolgt keine Beschränkung.
*
* @param dav
* die verwendete Datenverteilerverbindung
* @param kbs
* die optionale Liste der KB auf die das Netz beschränkt werden
* soll
*
* @throws DUAInitialisierungsException die Initialisierung des Netzes ist fehlgeschlagen.
*/
protected
DuaVerkehrsNetz
()
{
public
DuaVerkehrsNetz
(
ClientDavInterface
dav
,
final
ConfigurationArea
[]
kbs
)
throws
DUAInitialisierungsException
{
defaultInstance
=
this
;
usedDav
=
dav
;
fahrStreifen
.
putAll
(
FahrStreifen
.
einlesen
(
this
,
dav
,
kbs
));
messQuerSchnitte
.
putAll
(
MessQuerschnitt
.
einlesen
(
this
,
dav
,
kbs
));
messQuerSchnitteVirtuell
.
putAll
(
MessQuerschnittVirtuell
.
einlesen
(
this
,
dav
,
kbs
));
messStellen
.
putAll
(
MessStelle
.
einlesen
(
this
,
dav
,
kbs
));
ermittleErsatzUndNachbarFS
();
messStellenGruppen
.
putAll
(
MessStellenGruppe
.
einlesen
(
this
,
dav
,
kbs
));
}
/**
...
...
@@ -63,18 +99,18 @@ public class DuaVerkehrsNetz {
* @throws DUAInitialisierungsException
* wenn es Probleme geben sollte, die die Initialisierung des
* Netzes (im Sinne der DUA) nicht möglich machen
*
* @deprecated eine Applikation sollte eine Instanz des
* {@link DuaVerkehrsNetz} halten. Damit wäre die Relation von
* Datenverteilerverbindung (DatenModell) und implizit
* zwischengespeicherten Modellobjekten eindeutig.
*/
@Deprecated
public
static
synchronized
void
initialisiere
(
final
ClientDavInterface
dav
)
throws
DUAInitialisierungsException
{
if
(
DuaVerkehrsNetz
.
initialisiert
)
{
if
(
(
defaultInstance
!=
null
)
&&
(
dav
==
defaultInstance
.
usedDav
)
)
{
Debug
.
getLogger
().
warning
(
"Das DUA-Verkehrsnetz wurde bereits initialisiert"
);
}
else
{
DuaVerkehrsNetz
.
initialisiert
=
true
;
FahrStreifen
.
initialisiere
(
dav
);
MessQuerschnitt
.
initialisiere
(
dav
);
MessQuerschnittVirtuell
.
initialisiere
(
dav
);
MessStelle
.
initialisiere
(
dav
);
DuaVerkehrsNetz
.
ermittleErsatzUndNachbarFS
();
MessStellenGruppe
.
initialisiere
(
dav
);
defaultInstance
=
new
DuaVerkehrsNetz
(
dav
,
null
);
}
}
...
...
@@ -90,30 +126,35 @@ public class DuaVerkehrsNetz {
* @throws DUAInitialisierungsException
* wenn es Probleme geben sollte, die die Initialisierung des
* Netzes (im Sinne der DUA) nicht möglich machen
*
* @deprecated eine Applikation sollte eine Instanz des
* {@link DuaVerkehrsNetz} halten. Damit wäre die Relation von
* Datenverteilerverbindung (DatenModell) und implizit
* zwischengespeicherten Modellobjekten eindeutig.
*/
@Deprecated
public
static
synchronized
void
initialisiere
(
final
ClientDavInterface
dav
,
final
ConfigurationArea
[]
kbs
)
throws
DUAInitialisierungsException
{
if
(
DuaVerkehrsNetz
.
initialisiert
)
{
if
(
(
defaultInstance
!=
null
)
&&
(
dav
==
defaultInstance
.
usedDav
)
)
{
Debug
.
getLogger
().
warning
(
"Das DUA-Verkehrsnetz wurde bereits initialisiert"
);
}
else
{
DuaVerkehrsNetz
.
initialisiert
=
true
;
FahrStreifen
.
initialisiere
(
dav
,
kbs
);
MessQuerschnitt
.
initialisiere
(
dav
,
kbs
);
MessQuerschnittVirtuell
.
initialisiere
(
dav
,
kbs
);
MessStelle
.
initialisiere
(
dav
,
kbs
);
DuaVerkehrsNetz
.
ermittleErsatzUndNachbarFS
();
MessStellenGruppe
.
initialisiere
(
dav
,
kbs
);
defaultInstance
=
new
DuaVerkehrsNetz
(
dav
,
kbs
);
}
}
@Deprecated
static
DuaVerkehrsNetz
getDefaultInstance
()
{
return
defaultInstance
;
}
/**
* Ermittelt für alle Fahrstreifen die Nachbar- bzw. Ersatzfahrstreifen, so
* diese nicht explizit versorgt sind und trägt sie an den entsprechenden
* Fahrtreifen ein
*/
private
static
void
ermittleErsatzUndNachbarFS
()
{
private
void
ermittleErsatzUndNachbarFS
()
{
for
(
final
MessQuerschnitt
mq
:
MessQuerschnitt
.
getInstanzen
())
{
for
(
final
MessQuerschnitt
mq
:
getAlleMessQuerSchnitte
())
{
for
(
final
FahrStreifen
fs
:
mq
.
getFahrStreifen
())
{
if
(
fs
.
getNachbarFahrStreifen
()
==
null
)
{
...
...
@@ -125,7 +166,7 @@ public class DuaVerkehrsNetz {
if
(
fs
.
getNachbarFahrStreifen
()
==
null
)
{
Debug
.
getLogger
()
.
warning
(
"Für Fahrstreifen "
+
fs
+
" kann "
+
"kein Nachbarfahrstreifen ermittelt werden"
);
.
warning
(
"Für Fahrstreifen "
+
fs
+
" kann "
+
"kein Nachbarfahrstreifen ermittelt werden"
);
}
if
(
fs
.
getErsatzFahrStreifen
()
==
null
)
{
...
...
@@ -154,10 +195,60 @@ public class DuaVerkehrsNetz {
if
(
fs
.
getErsatzFahrStreifen
()
==
null
)
{
Debug
.
getLogger
()
.
warning
(
"Für Fahrstreifen "
+
fs
+
" kann "
+
"kein Ersatzfahrstreifen ermittelt werden"
);
.
warning
(
"Für Fahrstreifen "
+
fs
+
" kann "
+
"kein Ersatzfahrstreifen ermittelt werden"
);
}
}
}
}
public
Collection
<
FahrStreifen
>
getAlleFahrStreifen
()
{
return
Collections
.
unmodifiableCollection
(
fahrStreifen
.
values
());
}
public
FahrStreifen
getFahrStreifen
(
SystemObject
systemObject
)
{
return
fahrStreifen
.
get
(
systemObject
);
}
public
Collection
<
MessQuerschnitt
>
getAlleMessQuerSchnitte
()
{
return
Collections
.
unmodifiableCollection
(
messQuerSchnitte
.
values
());
}
public
MessQuerschnitt
getMessQuerSchnitt
(
SystemObject
systemObject
)
{
return
messQuerSchnitte
.
get
(
systemObject
);
}
public
Collection
<
MessQuerschnittVirtuell
>
getAlleMessQuerSchnitteVirtuell
()
{
return
Collections
.
unmodifiableCollection
(
messQuerSchnitteVirtuell
.
values
());
}
public
MessQuerschnittVirtuell
getMessQuerSchnittVirtuell
(
SystemObject
systemObject
)
{
return
messQuerSchnitteVirtuell
.
get
(
systemObject
);
}
public
MessQuerschnittAllgemein
getMessQuerSchnittAllgemein
(
SystemObject
mqaObjekt
)
{
MessQuerschnittAllgemein
result
=
getMessQuerSchnitt
(
mqaObjekt
);
if
(
result
!=
null
)
{
return
result
;
}
return
getMessQuerSchnittVirtuell
(
mqaObjekt
);
}
public
Collection
<
MessStelle
>
getAlleMessStellen
()
{
return
Collections
.
unmodifiableCollection
(
messStellen
.
values
());
}
public
MessStelle
getMessStelle
(
SystemObject
systemObject
)
{
return
messStellen
.
get
(
systemObject
);
}
public
Collection
<
MessStellenGruppe
>
getAlleMessStellenGruppen
()
{
return
Collections
.
unmodifiableCollection
(
messStellenGruppen
.
values
());
}
public
MessStellenGruppe
getMessStellenGruppe
(
SystemObject
systemObject
)
{
return
messStellenGruppen
.
get
(
systemObject
);
}
}
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/FahrStreifen.java
View file @
2738455c
...
...
@@ -27,7 +27,7 @@
package
de.bsvrz.sys.funclib.bitctrl.dua.lve
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.
Linked
HashMap
;
import
java.util.Map
;
import
de.bsvrz.dav.daf.main.ClientDavInterface
;
...
...
@@ -51,17 +51,6 @@ import de.bsvrz.sys.funclib.debug.Debug;
*/
public
class
FahrStreifen
extends
AbstractSystemObjekt
{
/**
* Mapt alle Fahrstreifen-Systemobjekte auf Objekte der Klasse
* <code>FahrStreifen</code>.
*/
private
static
Map
<
SystemObject
,
FahrStreifen
>
sysObjFsObjMap
=
new
HashMap
<>();
/**
* Datenverteiler-Verbindung.
*/
private
static
ClientDavInterface
sDav
;
/**
* die Lage dieses Fahrtreifens.
*/
...
...
@@ -92,7 +81,7 @@ public class FahrStreifen extends AbstractSystemObjekt {
throw
new
NullPointerException
(
"Übergebenes Fahrstreifenobjekt ist <<null>>"
);
}
final
AttributeGroup
atgEigenschaften
=
FahrStreifen
.
sDav
.
getDataModel
()
final
AttributeGroup
atgEigenschaften
=
fsObjekt
.
getDataModel
()
.
getAttributeGroup
(
DUAKonstanten
.
ATG_FAHRSTREIFEN
);
final
Data
eigenschaften
=
fsObjekt
.
getConfigurationData
(
atgEigenschaften
);
...
...
@@ -107,75 +96,38 @@ public class FahrStreifen extends AbstractSystemObjekt {
}
}
/**
* Initialisiert diese Klasse, indem für alle Systemobjekte vom Typ
* <code>typ.fahrStreifen</code> statische Instanzen dieser Klasse angelegt
* werden.
*
* @param dav1
* Datenverteiler-Verbindung
* @throws DUAInitialisierungsException
* wenn eines der Objekte nicht initialisiert werden konnte
*/
protected
static
final
void
initialisiere
(
final
ClientDavInterface
dav1
)
throws
DUAInitialisierungsException
{
if
(
dav1
==
null
)
{
throw
new
NullPointerException
(
"Datenverteiler-Verbindung ist <<null>>"
);
}
if
(
FahrStreifen
.
sDav
!=
null
)
{
throw
new
RuntimeException
(
"Objekt darf nur einmal initialisiert werden"
);
}
FahrStreifen
.
sDav
=
dav1
;
for
(
final
SystemObject
fsObjekt
:
FahrStreifen
.
sDav
.
getDataModel
().
getType
(
DUAKonstanten
.
TYP_FAHRSTREIFEN
)
.
getElements
())
{
if
(
fsObjekt
.
isValid
())
{
FahrStreifen
.
sysObjFsObjMap
.
put
(
fsObjekt
,
new
FahrStreifen
(
fsObjekt
));
}
}
}
static
final
Map
<
SystemObject
,
FahrStreifen
>
einlesen
(
DuaVerkehrsNetz
netz
,
final
ClientDavInterface
dav1
,
final
ConfigurationArea
[]
kbs
)
throws
DUAInitialisierungsException
{
/**
* Initialisiert diese Klasse, indem für alle Systemobjekte vom Typ
* <code>typ.fahrStreifen</code> statische Instanzen dieser Klasse angelegt
* werden.
*
* @param dav1
* Datenverteiler-Verbindung
* @param kbs
* Menge der zu betrachtenden Konfigurationsbereiche
* @throws DUAInitialisierungsException
* wenn eines der Objekte nicht initialisiert werden konnte
*/
protected
static
final
void
initialisiere
(
final
ClientDavInterface
dav1
,
final
ConfigurationArea
[]
kbs
)
throws
DUAInitialisierungsException
{
if
(
dav1
==
null
)
{
throw
new
NullPointerException
(
"Datenverteiler-Verbindung ist <<null>>"
);
}
if
(
FahrStreifen
.
sDav
!=
null
)
{
throw
new
RuntimeException
(
"Objekt darf nur einmal initialisiert werden"
);
}
FahrStreifen
.
sDav
=
dav1
;
for
(
final
SystemObject
fsObjekt
:
FahrStreifen
.
sDav
.
getDataModel
().
getType
(
DUAKonstanten
.
TYP_FAHRSTREIFEN
)
.
getElements
())
{
Map
<
SystemObject
,
FahrStreifen
>
result
=
new
LinkedHashMap
<>();
for
(
final
SystemObject
fsObjekt
:
dav1
.
getDataModel
().
getType
(
DUAKonstanten
.
TYP_FAHRSTREIFEN
).
getElements
())
{
if
(
fsObjekt
.
isValid
()
&&
DUAUtensilien
.
isObjektInKBsEnthalten
(
fsObjekt
,
kbs
))
{
FahrStreifen
.
sysObjFsObjMap
.
put
(
fsObjekt
,
new
FahrStreifen
(
fsObjekt
));
result
.
put
(
fsObjekt
,
new
FahrStreifen
(
fsObjekt
));
}
}
return
result
;
}
/**
* Erfragt alle statischen Instanzen dieser Klasse.
*
* @return alle statischen Instanzen dieser Klasse
*
* @deprecated der Zugriff auf ein Fahrstreifen-Objekt sollte über
* {@link DuaVerkehrsNetz#getAlleFahrStreifen()} erfolgen.
*/
@Deprecated
public
static
Collection
<
FahrStreifen
>
getInstanzen
()
{
if
(
FahrStreifen
.
sDav
==
null
)
{
DuaVerkehrsNetz
verkehrsNetz
=
DuaVerkehrsNetz
.
getDefaultInstance
();
if
(
verkehrsNetz
==
null
)
{
throw
new
RuntimeException
(
"FahrStreifen-Klasse wurde noch nicht initialisiert"
);
}
return
FahrStreifen
.
sysObjFsObjMap
.
values
();
return
verkehrsNetz
.
getAlleFahrStreifen
();
}
/**
...
...
@@ -187,18 +139,17 @@ public class FahrStreifen extends AbstractSystemObjekt {
* @return eine mit dem übergebenen Systemobjekt assoziierte statische
* Instanz dieser Klasse oder <code>null</code>, wenn diese Instanz
* nicht ermittelt werden konnte
*
* @deprecated der Zugriff auf ein Fahrstreifen-Objekt sollte über das
* {@link DuaVerkehrsNetz#getFahrStreifen(SystemObject)} erfolgen.
*/
@Deprecated
public
static
final
FahrStreifen
getInstanz
(
final
SystemObject
fsObjekt
)
{
if
(
FahrStreifen
.
sDav
==
null
)
{
throw
new
RuntimeException
(
"Fahrstreifen-Klasse wurde noch nicht initialisiert"
);
}
FahrStreifen
ergebnis
=
null
;
if
(
fsObjekt
!=
null
)
{
ergebnis
=
FahrStreifen
.
sysObjFsObjMap
.
get
(
fsObjekt
);
DuaVerkehrsNetz
verkehrsNetz
=
DuaVerkehrsNetz
.
getDefaultInstance
();
if
(
verkehrsNetz
==
null
)
{
throw
new
RuntimeException
(
"FahrStreifen-Klasse wurde noch nicht initialisiert"
);
}
return
ergebnis
;
return
verkehrsNetz
.
getFahrStreifen
(
fsObjekt
);
}
/**
...
...
src/main/java/de/bsvrz/sys/funclib/bitctrl/dua/lve/MessQuerschnitt.java
View file @
2738455c
...
...
@@ -28,7 +28,7 @@ package de.bsvrz.sys.funclib.bitctrl.dua.lve;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.
Linked
HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -51,29 +51,21 @@ import de.bsvrz.sys.funclib.debug.Debug;
*/
public
class
MessQuerschnitt
extends
MessQuerschnittAllgemein
{
/**
* Mapt alle Messquerschnitt-Systemobjekte auf Objekte dieser Klasse.
*/
private
static
Map
<
SystemObject
,
MessQuerschnitt
>
sysObjMqObjMap
=
new
HashMap
<>();
/**
* Datenverteiler-Verbindung.
*/
private
static
ClientDavInterface
sDav
;
/**
* Menge der an diesem Messquerschnitt definierten Fahstreifen.
*/
private
final
List
<
FahrStreifen
>
fahrStreifen
=
new
ArrayList
<>();
/**
* Standardkontruktor.
*
* Konstruktor.
*
* @param netz
* das verwendete Verkehrsnetz
* @param mqObjekt
* ein Systemobjekt vom Typ <code>typ.messQuerschnitt</code>
*/
pr
otected
MessQuerschnitt
(
final
SystemObject
mqObjekt
)
{
super
(
MessQuerschnitt
.
sDav
,
mqObjekt
);
pr
ivate
MessQuerschnitt
(
DuaVerkehrsNetz
netz
,
final
SystemObject
mqObjekt
)
{
super
(
mqObjekt
);
if
(
mqObjekt
==
null
)
{
throw
new
NullPointerException
(
"Übergebenes Messquerschnitt-Systemobjekt ist <<null>>"
);
...
...
@@ -83,7 +75,7 @@ public class MessQuerschnitt extends MessQuerschnittAllgemein {
final
ObjectSet
fsMenge
=
konfigObjekt
.
getNonMutableSet
(
"FahrStreifen"
);
for
(
final
SystemObject
fsObj
:
fsMenge
.
getElements
())
{
if
(
fsObj
.
isValid
())
{
final
FahrStreifen
fs
=
FahrStreifen
.
getInstanz
(
fsObj
);
final
FahrStreifen
fs
=
netz
.
getFahrStreifen
(
fsObj
);
if
(
fs
!=
null
)
{
fahrStreifen
.
add
(
fs
);
}
else
{
...
...
@@ -94,70 +86,38 @@ public class MessQuerschnitt extends MessQuerschnittAllgemein {
}
}
/**
* Initialisiert diese Klasse, indem für alle Systemobjekte vom Typ
* <code>typ.messQuerschnitt</code> statische Instanzen dieser Klasse
* angelegt werden.
*
* @param dav1
* Datenverteiler-Verbindung
*/
protected
static
void
initialisiere
(
final
ClientDavInterface
dav1
)
{
if
(
dav1
==
null
)
{
throw
new
NullPointerException
(
"Datenverteiler-Verbindung ist <<null>>"
);
}
if
(
MessQuerschnitt
.
sDav
!=
null
)
{
throw
new
RuntimeException
(
"Objekt darf nur einmal initialisiert werden"
);
}
MessQuerschnitt
.
sDav
=
dav1
;
for
(
final
SystemObject
mqObjekt
:
MessQuerschnitt
.
sDav
.
getDataModel
().
getType
(
DUAKonstanten
.
TYP_MQ
)
.
getElements
())
{
if
(
mqObjekt
.
isValid
())
{
MessQuerschnitt
.
sysObjMqObjMap
.
put
(
mqObjekt
,
new
MessQuerschnitt
(
mqObjekt
));
}
}
}
/**
* Initialisiert diese Klasse, indem für alle Systemobjekte vom Typ
* <code>typ.messQuerschnitt</code> statische Instanzen dieser Klasse
* angelegt werden.
*
* @param dav1
* Datenverteiler-Verbindung
* @param kbs
* Menge der zu betrachtenden Konfigurationsbereiche
*/
protected
static
void
initialisiere
(
final
ClientDavInterface
dav1
,
final
ConfigurationArea
[]
kbs
)
{
static
Map
<
SystemObject
,
MessQuerschnitt
>
einlesen
(
DuaVerkehrsNetz
netz
,
final
ClientDavInterface
dav1
,
final
ConfigurationArea
[]
kbs
)
{
if
(
dav1
==
null
)
{
throw
new
NullPointerException
(
"Datenverteiler-Verbindung ist <<null>>"
);
}
if
(
MessQuerschnitt
.
sDav
!=
null
)
{
throw
new
RuntimeException
(
"Objekt darf nur einmal initialisiert werden"
);
}
MessQuerschnitt
.
sDav
=
dav1
;
Map
<
SystemObject
,
MessQuerschnitt
>
result
=
new
LinkedHashMap
<>();
for
(
final
SystemObject
mqObjekt
:
MessQuerschnitt
.
sDav
.
getDataModel
().
getType
(
DUAKonstanten
.
TYP_MQ
)
.
getElements
())
{
for
(
final
SystemObject
mqObjekt
:
dav1
.
getDataModel
().
getType
(
DUAKonstanten
.
TYP_MQ
).
getElements
())
{
if
(
mqObjekt
.
isValid
()
&&
DUAUtensilien
.
isObjektInKBsEnthalten
(
mqObjekt
,
kbs
))
{
MessQuerschnitt
.
sysObjMqObjMap
.
put
(
mqObjekt
,
new
MessQuerschnitt
(
mqObjekt
));
result
.
put
(
mqObjekt
,
new
MessQuerschnitt
(
netz
,
mqObjekt
));
}
}
return
result
;
}
/**
* Erfragt alle statischen Instanzen dieser Klasse.
*
* @return alle statischen Instanzen dieser Klasse
*
* @deprecated die verwendeten Messquerschnitte sollten aus
* {@link DuaVerkehrsNetz} ermittelt werden.
*/
@Deprecated
public
static
Collection
<
MessQuerschnitt
>
getInstanzen
()
{
if
(
MessQuerschnitt
.
sDav
==
null
)
{
throw
new
RuntimeException
(
"Messquerschnitt-Klasse wurde noch nicht initialisiert"
);
DuaVerkehrsNetz
verkehrsNetz
=
DuaVerkehrsNetz
.
getDefaultInstance
();
if
(
verkehrsNetz
==
null
)
{
throw
new
RuntimeException
(
"MessQuerschnitt-Klasse wurde noch nicht initialisiert"
);
}
return
MessQuerschnitt
.
sysObjMqObjMap
.
values
();
ret