Commit 68a2101e authored by Thomas Bräuner's avatar Thomas Bräuner

Projekt für Gradle-Konventionen übernommen

parent 2e514c81
dua-fehlertls-build:
image:
openjdk:8-jdk-alpine
script:
- ./gradlew build -x test
eclipse.preferences.version=1
encoding/<project>=UTF-8
Versionsverlauf
===============
## [Noch nicht veröffentlicht]
## Version 1.1.0, 20.09.2016
- Inselbus korrekt modelliert: Der Inselbus ist der Port des Anschlusspunkts,
nicht der Anschlusspunkt selbst. Außerdem können mehrere Anschlusspunkte den
gleichen Port haben.
- Verwendung Parameter: Der Parametersatz TlsFehlerAnalyse wird jetzt ausgewertet,
um zu prüfen, ob Betriebsmeldungen abgesetzt werden dürfen.
## Version 1.0.0
- Erste Auslieferung
Diese SWE dient zur Ermittlung der Fehlerursache bei DE (Datenendgerät gemäß
TLS), die Daten nicht zyklisch sondern nur spontan senden (WZG, VLT). Es ergänzt
somit die SWE "Fehleranalyse fehlende Messdaten TLS" um die dort nicht
betrachteten DE-Typen.
Da es bei spontan sendenden DE keine Überwachung eines erwarteten Messwerts
geben kann, überwacht diese SWE nur den Fehlerstatus dieser DE-Typen. Aber auch
hier wird die gesamte Kommunikationskette zwischen Detektor,– EAK,– SM,– KRI,– UZ
und VRZ betrachtet und somit versucht, die Quelle der Fehlerursache zu
lokalisieren. Das Ergebnis der Analyse wird ebenfalls über Betriebsmeldungen
und Fehlerstatusausgaben pro DE verfügbar gemacht.
Hinweise zur Bearbeitung / Beteiligung
======================================
Für Änderungen an dem Projekt ist zuerst ein Eintrag (Issue) mit dem Tag "Feature-Wunsch" oder "Bug"
anzulegen, damit die übernommen Änderungen auch einem Problem und einer potentiell erfolgten Diskussion
zugeordnet werden können. Solange das Fehler- und Änderungsmanagement noch über die bisherigen NERZ-Bugtracker
abgewickelt wird, ist zudem eine Referenz auf den dortigen Eintrag vorzunehmen.
Vor der Bearbeitung sollte man den entsprechenden Eintrag persönlich übernehmen
und einen Bugfix- oder Feature-Branch anlegen.
Feature-Branches werden benannt als "feature/{name}", Bugfix-Branches als "hotfix/{name}".
Der Name sollte beschreiben, was innerhalb des Branches geändert wird und **nicht den Name des Bearbeiters**.
Feature-Wünsche werden auf Basis des "develop"-Branches umgesetzt und führen letztendlich zu einem Release einer
neuen Version auf dem zweiten Level, d.h. 0.1.0 wird mindestens 0.2.0 oder in der Hauptversion, d. h. aus z. B. 1.x.y wird 2.0.0, wenn **keine** Abwärtskompatibilität besteht.
Bugfixes sollten auf dem "master"-Branch beruhen und führen zu einer neuen Version auf dem dritten Level, d.h. aus 0.1.0 wird 0.1.1.
Die Änderungen werden dann natürlich auch in den "develop"-Branch gemerged. Damit können Bugfixes kurzfristig erfolgen
ohne den Zwang gleich alle Änderungen, die sich schon im Develop-Zweig befinden mit zu veröffentlichen.
Werden im Rahmen eines Auftrags mehrere Feature-Wünsche oder Bugfixes bearbeitet, kann auch einheitlich vom "develop"-Branch gemerged werden (konkrete Abstimmung im Zweifelsfall mit der NERZ-FTB).
Branches sollten nur für einen **einzelnen Eintrag** angelegt werden.
Die Branches können nach dem Merge in den Ursprungs-Branch entfernt werden (Das Löschen erfolgt automatisch,
wenn der entsprechende Haken beim Anlegen des Merge-Request gesetzt wird).
Ein Merge-Request sollte folgende Punkte berücksichtigen:
- die Änderungen, die mit dem Request verbunden sind sollten in kurzer prägnanter Form in das CHANGELOG-File eingetragen werden. Der Eintrag erfolgt dabei im Abschnitt "Noch nicht veröffentlicht". Die Versionsnummer wird dort erst beim Release ergänzt (also letztlich bei der Übernahme durch die NERZ-FTB).
- wenn es notwendig ist, neue Features oder Änderungen zu beschreiben muss das README-File angepasst werden
- Änderungen am Code sollten keinen auskommentierten alten Code enthalten, für den Zugriff auf die Historie ist ja GIT vorgesehen
- die bearbeiteten Einträge sollten im Kommentar für den jeweiligen Commit oder für den Merge-Request mit "Fixes #{Eintragsnummer}" um die Zuordnung zu erhalten und das automatische Schließen zu ermöglichen
**Abgelehnte Merge-Request brauchen nicht gelöscht werden!**
Angemerkte und diskutierte Probleme, die eine Übernahme verhindern, sollten stattdessen bearbeitet werden bis der Merge-Request übernommen werden kann. **Ein neuer Request ist nicht erforderlich!**
\ No newline at end of file
This diff is collapsed.
/*
* This build file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java Library project to get you started.
* For more details take a look at the Java Libraries chapter in the Gradle
* user guide available at https://docs.gradle.org/3.5/userguide/java_library_plugin.html
*/
//--------------------------------------------------------------------
// NERZ-SWE-Plugin
//--------------------------------------------------------------------
plugins {
id "de.bsvrz.gradle.nerzswe" version "0.7.0"
}
// Apply the java-library plugin to add support for Java Library
apply plugin: 'java-library'
//--------------------------------------------------------------------
// SWE-Eigenschaften
//--------------------------------------------------------------------
description 'Fehleranalyse fehlende Messdaten spontane TLS-DE'
group 'de.bsvrz.dua'
version '1.1.0'
// In this section you declare where to find the dependencies of your project
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
// Properties des NERZ-SWE-Plugins:
nerzswe {
mainClassName = 'de.bsvrz.dua.fehlertlsspontan.FehlerTlsSpontan'
sweStatus = 'BETA'
// sweDatum = '2016-09-20'
sweDatum = ''
}
//--------------------------------------------------------------------
// Abhängigkeiten
//--------------------------------------------------------------------
String kernsoftware_version = '3.9.7'
dependencies {
// This dependency is exported to consumers, that is to say found on their compile classpath.
api 'org.apache.commons:commons-math3:3.6.1'
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:21.0'
//------
// Source:
compile group: 'de.bsvrz.dav', name: 'de.bsvrz.dav.daf', version: kernsoftware_version
compile group: 'de.bsvrz.dav', name: 'de.bsvrz.dav.dav', version: kernsoftware_version
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.application', version: kernsoftware_version
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.commandLineArgs', version: kernsoftware_version
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.debug', version: kernsoftware_version
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.operatingMessage', version: kernsoftware_version
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.bitctrl', version: '1.5.0'
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.bitctrl.dua', version: '1.9.2'
compile group: 'com.bitctrl', name: 'com.bitctrl', version: '2.0.2'
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
//------
// Test:
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'de.bsvrz.dua', name: 'de.bsvrz.dua.tests', version: '2.0.0'
testCompile group: 'com.nimbusds', name: 'srp6a', version: '2.0.0'
}
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="severity" value="warning"/>
<!-- Headers -->
<module name="Header">
<property name="headerFile" value="${checkstyle.header.file}"/>
<property name="fileExtensions" value="java"/>
</module>
<!-- Size Violations -->
<module name="FileLength"/>
<!-- Miscellaneous -->
<module name="UniqueProperties"/>
<module name="TreeWalker">
<!-- Annotations -->
<module name="MissingDeprecated"/>
<module name="MissingOverride"/>
<module name="PackageAnnotation"/>
<!-- Class Design -->
<module name="InterfaceIsType"/>
<module name="OneTopLevelClass"/>
<!-- Coding -->
<module name="CovariantEquals"/>
<module name="DefaultComesLast"/>
<module name="EqualsHashCode"/>
<module name="StringLiteralEquality"/>
<module name="SuperClone"/>
<module name="SuperFinalize"/>
<!-- Imports -->
<module name="IllegalImport"/>
<!-- Metrics -->
<module name="BooleanExpressionComplexity"/>
<module name="ClassDataAbstractionCoupling"/>
<module name="ClassFanOutComplexity"/>
<module name="CyclomaticComplexity"/>
<module name="JavaNCSS"/>
<module name="NPathComplexity"/>
<!-- Miscellaneous -->
<module name="OuterTypeFilename"/>
<module name="UpperEll"/>
<!-- Modifiers -->
<module name="ModifierOrder"/>
<module name="RedundantModifier"/>
<!-- Naming Conventions -->
<module name="AbbreviationAsWordInName"/>
<module name="ClassTypeParameterName"/>
<module name="ConstantName"/>
<module name="InterfaceTypeParameterName"/>
<module name="LocalFinalVariableName"/>
<module name="LocalVariableName">
<property name="allowOneCharVarInForLoop" value="true"/>
</module>
<module name="MemberName"/>
<module name="MethodName"/>
<module name="MethodTypeParameterName"/>
<module name="PackageName"/>
<module name="ParameterName"/>
<module name="StaticVariableName"/>
<module name="TypeName"/>
<!-- Size Violations -->
<module name="AnonInnerLength"/>
<module name="ExecutableStatementCount"/>
<module name="LineLength">
<property name="max" value="120"/>
</module>
<module name="MethodCount"/>
<module name="MethodLength"/>
<module name="OuterTypeNumber"/>
<module name="ParameterNumber"/>
</module>
</module>
/*
* Segment Datenübernahme und Aufbereitung (DUA), SWE Fehleranalyse TLS spontan
* Copyright (C) 2016 Regierungspräsidium Tübingen, Landesstelle für Straßentechnik, Thomas Bräuner
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Contact Information:<br>
* Regierungspräsidium Tübingen<br>
* Landesstelle für Straßentechnik<br>
* Heilbronner Straße 300 - 302<br>
* 70469 Stuttgart<br>
* Phone: +49 0711 8910-200<br>
* mailto: abteilung9@rpt.bwl.de
*/
......@@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
warn () {
echo "$*"
}
die ( ) {
die () {
echo
echo "$*"
echo
......@@ -155,7 +155,7 @@ if $cygwin ; then
fi
# Escape application args
save ( ) {
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
......
/*
* This Java source file was generated by the Gradle 'init' task.
*/
public class Library {
public boolean someLibraryMethod() {
return true;
}
}
/*
* Segment Datenübernahme und Aufbereitung (DUA), Fehleranalyse TLS spontan
* Copyright (C) 2016 by Regierungspräsidium Tübingen, Landesstelle für Straßentechnik, Thomas Bräuner
* Basiert auf DeFaApplikation aus de.bsvrz.dua.fehlertls.fehlertls, BitCtrl Systems GmbH
*
* SWE de.bsvrz.dua.fehlertlsspontan (Fehleranalyse TLS spontan)
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
* You should have received a copy of the GNU General Public License along with this program;
* if not, see <http://www.gnu.org/licenses/>.
*
* Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public
* License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren,
* entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
* Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird,
* aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der
* VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
* Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben.
* Falls nicht, siehe <http://www.gnu.org/licenses/>.
* Eine deutsche Übersetzung findet sich unter http://www.gnu.de/documents/gpl.de.html.
*
* Contact Information/Kontakt:
* Regierungspräsidium Tübingen
* Landesstelle für Straßentechnik
* Heilbronner Straße 300 - 302
* 70469 Stuttgart
* Phone: +49 0711 8910-200
* mailto: abteilung9@rpt.bwl.de
*/
package de.bsvrz.dua.fehlertlsspontan;
import java.util.HashSet;
import java.util.Set;
import de.bsvrz.dav.daf.main.ClientDavInterface;
import de.bsvrz.dav.daf.main.config.SystemObject;
import de.bsvrz.dua.fehlertlsspontan.parameter.ParameterTlsFehlerAnalyse;
import de.bsvrz.dua.fehlertlsspontan.tls.TlsHierarchie;
import de.bsvrz.sys.funclib.application.StandardApplication;
import de.bsvrz.sys.funclib.application.StandardApplicationRunner;
import de.bsvrz.sys.funclib.commandLineArgs.ArgumentList;
import de.bsvrz.sys.funclib.debug.Debug;
import de.bsvrz.sys.funclib.operatingMessage.MessageSender;
/**
* Diese SWE dient zur Ermittlung der Fehlerursache bei DE (Datenendgerät gemäß
* TLS), die Daten nicht zyklisch sondern nur spontan senden (WZG, VLT). Es ergänzt
* somit die SWE "Fehleranalyse fehlende Messdaten TLS" um die dort nicht
* betrachteten DE-Typen.
* Da es bei spontan sendenden DE keine Überwachung eines erwarteten Messwerts
* geben kann, überwacht diese SWE nur den Fehlerstatus dieser DE-Typen. Aber auch
* hier wird die gesamte Kommunikationskette zwischen Detektor,– EAK,– SM,– KRI,– UZ
* und VRZ betrachtet und somit versucht, die Quelle der Fehlerursache zu
* lokalisieren. Das Ergebnis der Analyse wird ebenfalls über Betriebsmeldungen
* und Fehlerstatusausgaben pro DE verfügbar gemacht.
*
* @author Regierungspräsidium Tübingen, Landesstelle für Straßentechnik, Thomas Bräuner
* @author BitCtrl Systems GmbH, Thierfelder
*
* @version 1.0.0
*/
public class FehlerTlsSpontan implements StandardApplication {
/**
* das Systemobjekt vom Typ <code>typ.tlsFehlerAnalyse</code>, mit dem diese
* Applikation assoziiert ist (aus der sie ihre Parameter bezieht).
*/
private static SystemObject tlsFehlerAnalyseObjekte = null;
/**
* die PIDs der Geraete, die in der Kommandozeile uebergeben wurden.
*/
private String[] geraetePids = null;
/**
* Geräte, die in der Kommandozeile uebergeben wurden.
*/
private Set<SystemObject> geraete = new HashSet<SystemObject>();
/**
* die Pid des Objektes vom Typ <code>typ.tlsFehlerAnalyse</code> mit dem
* diese Applikation assoziiert ist (aus der sie ihre Parameter bezieht).
*/
private String parameterModulPid = null;
/**
* Erfragt das Systemobjekt vom Typ <code>typ.tlsFehlerAnalyse</code>, mit
* dem diese Applikation assoziiert ist (aus der sie ihre Parameter
* bezieht).
*
* @return das Systemobjekt vom Typ <code>typ.tlsFehlerAnalyse</code>, mit
* dem diese Applikation assoziiert ist (aus der sie ihre Parameter
* bezieht)
*/
public static final SystemObject getTlsFehlerAnalyseObjekt() {
return tlsFehlerAnalyseObjekte;
}
@Override
public void parseArguments(ArgumentList argumente) throws Exception {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
Debug.getLogger().error("Applikation wird wegen unerwartetem Fehler beendet", e);
e.printStackTrace();
Runtime.getRuntime().exit(-1);
}
});
if (argumente.hasArgument("-param")) {
this.parameterModulPid = argumente.fetchArgument("-param")
.asNonEmptyString();
} else {
Debug.getLogger()
.warning(
"Kein Objekt vom Typ \"typ.tlsFehlerAnalyse\" zur Parametrierung dieser Instanz uebergeben (-param=...)");
}
this.geraetePids = argumente.fetchArgument("-geraet").asNonEmptyString().split(",");
argumente.fetchUnusedArguments();
}
@Override
public void initialize(ClientDavInterface dav) throws Exception {
MessageSender.getInstance().setApplicationLabel("Fehleranalyse TLS spontan");
for (String pidVonGeraet : this.geraetePids) {
SystemObject geraeteObjekt = dav.getDataModel().getObject(pidVonGeraet);
if (geraeteObjekt != null) {
if (geraeteObjekt.isOfType("typ.gerät")) {
this.geraete.add(geraeteObjekt);
} else {
Debug.getLogger().warning("Das übergebene Objekt " + pidVonGeraet + " ist nicht vom Typ Gerät.");
}
} else {
Debug.getLogger().warning("Das übergebene Gerät " + pidVonGeraet + " existiert nicht.");
}
}
if (this.parameterModulPid == null) {
for (SystemObject obj : dav.getDataModel()
.getType("typ.tlsFehlerAnalyse").getElements()) { //$NON-NLS-1$
if (obj.isValid()) {
if (tlsFehlerAnalyseObjekte != null) {
Debug.getLogger()
.warning(
"Es existieren mehrere Objekte vom Typ \"typ.tlsFehlerAnalyse\""); //$NON-NLS-1$
break;
}
tlsFehlerAnalyseObjekte = obj;
if (obj.getConfigurationArea().equals(
dav.getDataModel().getConfigurationAuthority()
.getConfigurationArea())) {
break;
}
}
}
} else {
SystemObject dummy = dav.getDataModel().getObject(
this.parameterModulPid);
if (dummy != null && dummy.isValid()) {
tlsFehlerAnalyseObjekte = dummy;
}
}
if (tlsFehlerAnalyseObjekte == null) {
throw new RuntimeException(
"Es existiert kein Objekt vom Typ \"typ.tlsFehlerAnalyse\""); //$NON-NLS-1$
} else {
ParameterTlsFehlerAnalyse.getInstanz(dav, tlsFehlerAnalyseObjekte);
Debug.getLogger().config(
"Es werden die Parameter von " + tlsFehlerAnalyseObjekte //$NON-NLS-1$
+ " verwendet"); //$NON-NLS-1$
}
if (this.geraete.isEmpty()) {
Debug.getLogger().warning("Es wurden keine gültigen Geräte übergeben.");
} else {
TlsHierarchie.getInstance(dav, geraete);
}
}
/**
* Startet diese Applikation.
*
* @param argumente
* Argumente der Kommandozeile
*/
public static void main(String[] argumente) {
StandardApplicationRunner.run(new FehlerTlsSpontan(), argumente);
}
}
/*
* Segment Datenübernahme und Aufbereitung (DUA), Fehleranalyse TLS spontan
* Copyright (C) 2016 by Regierungspräsidium Tübingen, Landesstelle für Straßentechnik
* Copyright 2016 by Kappich Systemberatung Aachen
* Copyright (C) 2007 BitCtrl Systems GmbH
* Basiert auf der gleichnamigen Klasse aus de.bsvrz.dua.fehlertls.tls, BitCtrl Systems GmbH
*
* SWE de.bsvrz.dua.fehlertlsspontan (Fehleranalyse TLS spontan)
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
* You should have received a copy of the GNU General Public License along with this program;
* if not, see <http://www.gnu.org/licenses/>.
*
* Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public
* License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren,
* entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
* Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird,
* aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der
* VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
* Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben.
* Falls nicht, siehe <http://www.gnu.org/licenses/>.
* Eine deutsche Übersetzung findet sich unter http://www.gnu.de/documents/gpl.de.html.
*
* Contact Information/Kontakt:
* Regierungspräsidium Tübingen
* Landesstelle für Straßentechnik
* Heilbronner Straße 300 - 302
* 70469 Stuttgart
* Phone: +49 0711 8910-200
* mailto: abteilung9@rpt.bwl.de
*/
package de.bsvrz.dua.fehlertlsspontan.enums;
import de.bsvrz.sys.funclib.bitctrl.daf.AbstractDavZustand;
import java.util.HashMap;
import java.util.Map;
/**
* Korrespondiert mit dem DAV-Enumerationstyp <code>att.tlsDEFehlerStatus</code>.
*
* @author BitCtrl Systems GmbH, Thierfelder
*/
public final class TlsDeFehlerStatus extends AbstractDavZustand {
/**
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
/**
* Der Wertebereich dieses DAV-Enumerationstypen.
*/
private static Map<Integer, TlsDeFehlerStatus> werteBereich = new HashMap<Integer, TlsDeFehlerStatus>();
/**
* DE in Ordnung.
*/
public static final TlsDeFehlerStatus OK = new TlsDeFehlerStatus(
"ok", 0, "DE in Ordnung");
/**
* Störung vom E/A-Konzentrator erkannt.
*/
public static final TlsDeFehlerStatus STOER_EAK = new TlsDeFehlerStatus(
"StörEAK", 1, "Störung vom E/A-Konzentrator erkannt");
/**
* Störung vom SM erkannt.
*/
public static final TlsDeFehlerStatus STOER_SM = new TlsDeFehlerStatus(
"StörSM", 2, "Störung vom SM erkannt");
/**
* der Text der die Natur des DE-Fehlers illustriert.
*/
private String text = null;
/**
* Standardkonstruktor.
*
* @param kode
* der Kode
* @param name
* die Bezeichnung
* @param text
* der Text der die Natur des DE-Fehlers illustriert
*/
private TlsDeFehlerStatus(String name, int kode, String text) {
super(kode, name);
this.text = text;
werteBereich.put(kode, this);
}
/**
* Erfragt den Text der die Natur des DE-Fehlers illustriert.
*
* @return der Text der die Natur des DE-Fehlers illustriert
*/
public String getText() {
return this.text;
}
/**
* Erfragt den Wert dieses DAV-Enumerationstypen mit dem übergebenen Code.
*
* @param kode
* der Kode des Zustands
* @return der Enumerations-Wert
*/
public static TlsDeFehlerStatus getZustand(final int kode) {
return werteBereich.get(kode);
}
}
/*
* Segment Datenübernahme und Aufbereitung (DUA), Fehleranalyse TLS spontan
* Copyright (C) 2016 by Regierungspräsidium Tübingen, Landesstelle für Straßentechnik
* Copyright 2016 by Kappich Systemberatung Aachen
* Copyright (C) 2007 BitCtrl Systems GmbH
* Basiert auf der gleichnamigen Klasse aus de.bsvrz.dua.fehlertls.tls, BitCtrl Systems GmbH
*
* SWE de.bsvrz.dua.fehlertlsspontan (Fehleranalyse TLS spontan)
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
* You should have received a copy of the GNU General Public License along with this program;
* if not, see <http://www.gnu.org/licenses/>.
*
* Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public
* License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren,
* entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
* Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird,
* aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der
* VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
* Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben.
* Falls nicht, siehe <http://www.gnu.org/licenses/>.
* Eine deutsche Übersetzung findet sich unter http://www.gnu.de/documents/gpl.de.html.
*
* Contact Information/Kontakt:
* Regierungspräsidium Tübingen
* Landesstelle für Straßentechnik
* Heilbronner Straße 300 - 302
* 70469 Stuttgart
* Phone: +49 0711 8910-200
* mailto: abteilung9@rpt.bwl.de
*/
package de.bsvrz.dua.fehlertlsspontan.enums;
import de.bsvrz.sys.funclib.bitctrl.daf.AbstractDavZustand;
import java.util.HashMap;
import java.util.Map;
/**
* Korrespondiert mit dem DAV-Enumerationstyp <code>att.tlsFehlerAnalyse</code>.
*
* @author Regierungspräsidium Tübingen, Landesstelle für Straßentechnik, Thomas Bräuner
* @author BitCtrl Systems GmbH, Thierfelder
*/
public final class TlsFehlerAnalyse extends AbstractDavZustand {
/**
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
/**
* Der Wertebereich dieses DAV-Enumerationstypen.
*/
private static Map<Integer, TlsFehlerAnalyse> werteBereich = new HashMap<Integer, TlsFehlerAnalyse>();
/**
* Fehlerursache konnte nicht ermittelt werden.
*/
public static final TlsFehlerAnalyse UNBEKANNT = new TlsFehlerAnalyse(
"Unbekannte Ursache", 0);
/**
* Verbindung zum KRI xxx oder KRI selbst defekt. Verbindung zum KRI oder
* KRI instand setzen
*/
public static final TlsFehlerAnalyse KRI_ALLE_DE_DEFEKT = new TlsFehlerAnalyse(
"Alle DE am KRI defekt", 1);
/**
* Modem am Inselbus xxx oder Inselbus selbst defekt. Modem oder Inselbus
* instand setzen
*/
public static final TlsFehlerAnalyse INSELBUS_ALLE_DE_DEFEKT = new TlsFehlerAnalyse(
"Alle DE am Inselbus defekt", 2);
/**
* Inselbus xxx gestört: Für die DE der Steuermodule x1, x2,.. sind keine
* Daten verfügbar. Inselbus xxx instand setzen
*/
public static final TlsFehlerAnalyse INSELBUS_DEFEKT = new TlsFehlerAnalyse(
"Inselbus defekt", 3);
/**
* Modem am Steuermodul x oder Steuermodul defekt. Modem am Steuermodul x
* oder Steuermodul instand setzen
*/
public static final TlsFehlerAnalyse SM_ALLE_DE_DEFEKT = new TlsFehlerAnalyse(
"Alle DE am Steuermodul defekt", 4);