Commit e8720452 authored by Sebastian Copei's avatar Sebastian Copei

fix(logging): Hinzufügen des Stacktraces im Fehlerfall

parent 6c85b4c2
......@@ -3,6 +3,7 @@ Versionsverlauf
## [Noch nicht veröffentlicht]
- Anpassungen bei JavaDoc und Ergänzung von Stacktraceausgaben im Rahmen der Zertifizierung
## [Version 2.0.4]
......
......@@ -34,6 +34,7 @@ import de.bsvrz.dua.daufd.vew.FBZ_Klasse;
/**
* TBD Dokumentation
* Einfache POJO Klasse zur Verwaltung von Daten einer Messstelle
*
* @author Kappich Systemberatung
*/
......
......@@ -44,6 +44,7 @@ import java.util.LinkedList;
/**
* TBD Dokumentation
* Container für Daten von Messstellen
*
* @author Kappich Systemberatung
*/
......
......@@ -134,6 +134,9 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
return tabellenWFDNIzumNS;
}
/**
* Initialisiert Tabelle der Nässestufen
*/
private static void initTable() {
for(FBZ_Klasse klasse : FBZ_Klasse.values()) {
Map<WFD_Stufe, Map<NI_Stufe, NS_Stufe>> table = new EnumMap<>(WFD_Stufe.class);
......@@ -222,6 +225,10 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
"ZeitNass1Trocken", "ZeitNass2Nass1", "ZeitNass3Nass2", "ZeitNass4Nass3"
};
/**
* Aktualisiert Messstellendaten und publiziert bzw. akualisiert gegebenenfalls Nässestufe.
* @param resultate Messresultate
*/
public void aktualisiereDaten(ResultData[] resultate) {
for(ResultData resData : resultate) {
......@@ -246,7 +253,7 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
}
/**
* Aktualisiert die NaesseStefe einer MessStelle nach den Regel aus [Afo]
* Aktualisiert die NaesseStufe einer MessStelle nach den Regel aus [Afo]
* @param msDaten MessStelle
* @param vorletzeZeitStempel Vorletze ZeitStempel
* @param zeitStempel ZeitStempel
......@@ -297,6 +304,12 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
aktualisiereNsStufe(msDaten, neueStufe, zeitStempel);
}
/**
* Überprüft Daten der Messstelle und aktualisiert gegebenenfalls ihre Nässestufe
* @param msDaten Messstellendaten
* @param neueStufe Neue Nässestufe
* @param zeitStempel ZeitStempel
*/
private void aktualisiereNsStufe(final NaesseMessStelleDaten msDaten, NS_Stufe neueStufe, final long zeitStempel) {
if(msDaten.minimumStufe != null && neueStufe.ordinal() >= msDaten.minimumStufe.ordinal()
|| msDaten.abtrockungsZeitStempel < zeitStempel){
......@@ -373,8 +386,10 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
verwaltung.getVerbindung().sendData(resultat);
} catch (DataNotSubscribedException e) {
Debug.getLogger().error("Fehler bei Sendung der Daten fuer " + msDaten.messObject.getPid() + " ATG " + ATG_UFDMS_NS + " :\n" + e.getMessage());
e.printStackTrace();
} catch (SendSubscriptionNotConfirmed e){
Debug.getLogger().error("Fehler bei Sendung der Daten fuer " + msDaten.messObject.getPid() + " ATG " + ATG_UFDMS_NS + " :\n" + e.getMessage());
e.printStackTrace();
}
}
......@@ -382,6 +397,9 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
return null;
}
/**
* Initialisiert eine Nässestufe
*/
public void initialisiere(IVerwaltung verwaltung)
throws DUAInitialisierungsException {
this.verwaltung = verwaltung;
......@@ -434,6 +452,9 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
return new NaesseMessStelleDaten(so);
}
/**
* Liest die Tabelle der Nässestufen-Konfiguration aus der parametrierten Datei ein
*/
protected void readTable(final IVerwaltung verwaltung, final String argument, final Map<WFD_Stufe, Map<NI_Stufe, NS_Stufe>> table) {
String naesseStufenKonfigDatei = verwaltung.getArgument(argument);
if(naesseStufenKonfigDatei != null) {
......@@ -465,6 +486,9 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
}
}
/**
* Generiert formatierten String der Tabelle von Nässestufen
*/
private String printTable(final Map<WFD_Stufe, Map<NI_Stufe, NS_Stufe>> table) {
StringBuilder stringBuilder = new StringBuilder();
for(NI_Stufe ni_stufe : NI_Stufe.values()) {
......@@ -480,6 +504,9 @@ public class NaesseStufe extends MessStellenDatenContainer implements IBearbeitu
return stringBuilder.toString();
}
/**
* Normalisiert gegebenen String zu einer Nässsestufenbezeichnung
*/
private NS_Stufe stringZuNsStufe(final String string) throws IOException {
switch(string.toLowerCase()){
case "trocken" : return NS_Stufe.NS_TROCKEN;
......
......@@ -528,12 +528,14 @@ public class Taupunkt implements IBearbeitungsKnoten, ClientSenderInterface {
+ DD_UFDMS_TT_FB.getAttributeGroup().getPid()
+ " fuer Objekt " + lDaten.messStelle.getPid()
+ " unerfolgreich:\n" + e.getMessage());
e.printStackTrace();
} catch (SendSubscriptionNotConfirmed e) {
LOGGER.error(
"Sendung von Datensatz "
+ DD_UFDMS_TT_FB.getAttributeGroup().getPid()
+ " fuer Objekt " + lDaten.messStelle.getPid()
+ " unerfolgreich:\n" + e.getMessage());
e.printStackTrace();
}
}
......@@ -568,12 +570,14 @@ public class Taupunkt implements IBearbeitungsKnoten, ClientSenderInterface {
+ DD_UFDMS_TT_L.getAttributeGroup().getPid()
+ " fuer Objekt " + lDaten.messStelle.getPid()
+ " unerfolgreich:\n" + e.getMessage());
e.printStackTrace();
} catch (SendSubscriptionNotConfirmed e) {
LOGGER.error(
"Sendung von Datensatz "
+ DD_UFDMS_TT_L.getAttributeGroup().getPid()
+ " fuer Objekt " + lDaten.messStelle.getPid()
+ " unerfolgreich:\n" + e.getMessage());
e.printStackTrace();
}
}
......
......@@ -61,6 +61,9 @@ public abstract class AbstraktNiFbzStufe extends AbstraktStufe {
return new MultiHysterese(regenHysterese, schneeHysterese, platzregenHysterese, glaetteHysterese);
}
/**
* Fasst eine Gruppe von Hysteresen (Regen, Schnee, Platzregen, Glätte) zusammen
*/
private class MultiHysterese extends Hysterese {
private final Hysterese _regen;
private final Hysterese _schnee;
......
......@@ -259,6 +259,13 @@ public abstract class AbstraktStufe extends MessStellenDatenContainer implements
}
}
/**
* Initialisiert die Hysterese aus Stufendaten
*
* @param daten Daten
* @param suffix Suffix
* @return Hysterese Hysterese
*/
protected Hysterese leseStufen(final Data daten, final String suffix) {
try {
Array stufen = daten.getArray(getKlassifizierungsAttribut() + suffix);
......@@ -387,9 +394,11 @@ public abstract class AbstraktStufe extends MessStellenDatenContainer implements
} catch (DataNotSubscribedException e) {
Debug.getLogger()
.error("Fehler bei Sendung von daten fuer " + objekt.getPid() + " ATG " + getStufeAttributGruppe() + " :\n" + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
e.printStackTrace();
} catch (SendSubscriptionNotConfirmed e) {
Debug.getLogger()
.error("Fehler bei Sendung von daten fuer " + objekt.getPid() + " ATG " + getStufeAttributGruppe() + " :\n" + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
e.printStackTrace();
}
if (naechsterBearbeitungsKnoten != null)
naechsterBearbeitungsKnoten.aktualisiereDaten(resultate);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment