Commit a6fb5ad7 authored by HCK's avatar HCK

02.09.2014 - V 1.1.0...

02.09.2014 - V 1.1.0 =============================================================================================================
----------------------------------------------------------------------------
Neuer Aufrufparameter -versionAxlEinzeldaten
----------------------------------------------------------------------------
Neuer Aufrufparameter -versionAxlEinzeldaten=[1|2|3]. Default ist 3 (Standardverhalten in Version 1.0.0)
Über den Parameter laesst sich einstellen, ob die AXL-Daten aus dem DE-Block der FG 2

- Typ 60 Einzelergebnismeldung Radlasten und KFZ-Gesamtgewicht (Version 1) -->  -versionAxlEinzeldaten=1
- Typ 61 Einzelergebnismeldung Radlasten und KFZ-Gesamtgewicht (Version 2) -->  -versionAxlEinzeldaten=2
- Typ 62 Einzelergebnismeldung Radlasten und KFZ-Gesamtgewicht (Version 3) -->  -versionAxlEinzeldaten=3

berechnet werden sollen.

git-svn-id: https://inovat-svn-server:8443/svn/NI-DAUZ-1/trunk@924 8a9b1199-d942-744a-a8b1-ac58f4d8385e
parent 3d04feb0
......@@ -30,7 +30,7 @@
<!-- Status: ZERT, FREI, BETA, PROT, EXPT -->
<property name="swe.status" value="FREI"/>
<!-- Version -->
<property name="swe.version" value="V1.0.0"/>
<property name="swe.version" value="V1.1.0"/>
<!-- Angabe der Lizenzen fr diese SWE, mgliche Werte: "BEIBEHALTEN", "INOVAT", "GPL", "LGPL" -->
......
Aenderungsverfolgung AggrAXL
============================
offene Punkte ==========================================================================================================
keine
offene Punkte (befinden sich aktuell in Umsetzung) ====================================================================
keine
02.09.2014 - V 1.1.0 =============================================================================================================
----------------------------------------------------------------------------
Neuer Aufrufparameter -versionAxlEinzeldaten
----------------------------------------------------------------------------
Neuer Aufrufparameter -versionAxlEinzeldaten=[1|2|3]. Default ist 3 (Standardverhalten in Version 1.0.0)
Über den Parameter laesst sich einstellen, ob die AXL-Daten aus dem DE-Block der FG 2
- Typ 60 Einzelergebnismeldung Radlasten und KFZ-Gesamtgewicht (Version 1) --> -versionAxlEinzeldaten=1
- Typ 61 Einzelergebnismeldung Radlasten und KFZ-Gesamtgewicht (Version 2) --> -versionAxlEinzeldaten=2
- Typ 62 Einzelergebnismeldung Radlasten und KFZ-Gesamtgewicht (Version 3) --> -versionAxlEinzeldaten=3
berechnet werden sollen.
24.10.2012 - V 1.0.0 =============================================================================================================
----------------------------------------------------------------------------
Ersterstellung
----------------------------------------------------------------------------
SWE neu erstellt
......@@ -41,7 +41,10 @@ import de.bsvrz.sys.funclib.application.StandardApplicationRunner;
import de.bsvrz.sys.funclib.commandLineArgs.ArgumentList;
import de.bsvrz.sys.funclib.debug.Debug;
//~ JDK IMPORTE ===============================================================
import java.text.SimpleDateFormat;
import java.util.*;
import static java.util.GregorianCalendar.MILLISECOND;
......@@ -61,6 +64,7 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
/** WarteZeit in ms, bis die Auftragsliste erneut geprft wird, nachdem keinerlei Auftrge mehr vorlagen * */
private static final long WARTEZEIT_AUF_NAECHSTEN_AUFTRAG = 60 * 1000; // 1 Minute
private static int _versionAxlEinzeldaten;
/** DebugLogger fuer Debug-Ausgaben. */
private static Debug debug;
......@@ -92,6 +96,7 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
private int _nachberechnungInStunden;
private String _nachberechnungInStundenAufrufParameter;
private String _pidVerwaltungsObjektAggrAxlAufrufParameter;
private String _versionAxlEinzeldatenAufrufParameter;
private SystemObject _verwaltungsObjektAggrAxl;
private long _vonZeitPunkt;
private long _vonZeitPunktAufrufParameter;
......@@ -100,6 +105,12 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
private List<String> _listePidsAxlDeNichtVorhanden = new ArrayList<String>();
private Map<String, VewAXL> _mapVewAXL = new HashMap<String, VewAXL>();
//~ GET METHODEN ==========================================================
public static int getVersionAxlEinzeldaten() {
return _versionAxlEinzeldaten;
}
//~ METHODEN ==============================================================
/**
......@@ -118,6 +129,7 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
aggrAXL.auswertungAufrufParameterPidVerwaltungsObjekt();
aggrAXL.auswertungAufrufParameterListePids();
aggrAXL.auswertungAufrufParameterVonBisIntervallNachberechnung();
aggrAXL.auswertungAufrufParameterVersionAxlEinzeldaten();
aggrAXL.auswertungAufrufParameterGrenzenXXXParameter();
aggrAXL.initialisierung();
debug.config(aggrAXL.ausgabeKonfigurationsZusammenfassung());
......@@ -184,6 +196,11 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
SimpleDateFormat datumsFormatierer = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss,SSS");
sb.append(String.format("%n====================================================================================%n"));
sb.append(String.format("Aufrufparameter -versionAxlEinzeldaten=..."));
sb.append(String.format("%n====================================================================================%n"));
sb.append(String.format("Parameter beim Aufruf (Vorgabe) : [%s]%n", _versionAxlEinzeldatenAufrufParameter));
sb.append(String.format("Parameter nach Auswertung (Verwendung): [%s]%n", _versionAxlEinzeldaten));
sb.append(String.format("%n====================================================================================%n"));
sb.append(String.format("Aufrufparameter -intervallDauerInStunden=..."));
sb.append(String.format("%n====================================================================================%n"));
......@@ -365,10 +382,10 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
if ((_verwaltungsObjektAggrAxl != null) &&!_verwaltungsObjektAggrAxl.isOfType("typ.aggrAxl")) {
debug.warning(String.format("VerwaltungsObjekt fr Aggregation Achslast [-pidVerwaltungsObjektAggrAxl=%s] ist nicht vom Typ [typ.aggrAxl] sondern vom Typ [%s].%nVerwaltungsobjekt wird nicht weiter verwendet. Externe Steuerung zur Laufzeit ist damit nicht mehr aktiviert.", _pidVerwaltungsObjektAggrAxlAufrufParameter, _verwaltungsObjektAggrAxl.getType().getPid()));
} else if (_verwaltungsObjektAggrAxl == null){
} else if (_verwaltungsObjektAggrAxl == null) {
debug.warning(String.format("VerwaltungsObjekt fr Aggregation Achslast [-pidVerwaltungsObjektAggrAxl=%s] konnte nicht ermittelt werden.%nVerwaltungsobjekt wird nicht weiter verwendet. Externe Steuerung zur Laufzeit ist damit nicht mehr aktiviert.", _pidVerwaltungsObjektAggrAxlAufrufParameter));
} else {
debug.info(String.format("VerwaltungsObjekt fr Aggregation Achslast [-pidVerwaltungsObjektAggrAxl=%s] wird verwendet. Externe Steuerung zur Laufzeit ist aktiviert.", _pidVerwaltungsObjektAggrAxlAufrufParameter));
debug.info(String.format("VerwaltungsObjekt fr Aggregation Achslast [-pidVerwaltungsObjektAggrAxl=%s] wird verwendet. Externe Steuerung zur Laufzeit ist aktiviert.", _pidVerwaltungsObjektAggrAxlAufrufParameter));
}
}
catch (Exception e) {
......@@ -376,6 +393,24 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
}
}
private void auswertungAufrufParameterVersionAxlEinzeldaten() {
// ------------------------------------------------------------------------------------------------------
// Aufrufparameter: -versionAxlEinzeldaten
// ------------------------------------------------------------------------------------------------------
try {
_versionAxlEinzeldaten = new Integer(_versionAxlEinzeldatenAufrufParameter);
if ((_versionAxlEinzeldaten < 0) || (_versionAxlEinzeldaten > 3)) {
throw new NumberFormatException();
}
}
catch (NumberFormatException e) {
_versionAxlEinzeldaten = 3;
debug.warning(String.format("Aufrufparameter [-versionAxlEinzeldaten=%s] ist ungltig. Wert wurde fr weiter Berechnung auf [-versionAxlEinzeldaten=%d] gesetzt.", _nachberechnungInStundenAufrufParameter, _versionAxlEinzeldaten));
}
}
/**
* Wertet die Aufrufparameter
* <p/>
......@@ -719,6 +754,11 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
// ------------------------------------------------------------------------------------------------------
_intervallDauerInStundenAufrufParameter = argumentList.fetchArgument("-intervallDauerInStunden=1").asNonEmptyString().trim();
// ------------------------------------------------------------------------------------------------------
// Aufrufparameter: -versionAxlEinzeldaten
// ------------------------------------------------------------------------------------------------------
_versionAxlEinzeldatenAufrufParameter = argumentList.fetchArgument("-versionAxlEinzeldaten=3").asNonEmptyString().trim();
// ------------------------------------------------------------------------------------------------------
// Aufrufparameter: -nachberechnungInStunden
// ------------------------------------------------------------------------------------------------------
......@@ -911,4 +951,4 @@ public class AggrAXL implements StandardApplication, ClientReceiverInterface, Cl
}
//~Formatiert mit 'inovat Kodierkonvention' am 08.12.10
//~Formatiert mit 'inovat Kodierkonvention' am 02.09.14
......@@ -32,24 +32,28 @@ package de.inovat.dua.aggraxl;
//~ NICHT JDK IMPORTE =========================================================
import de.bsvrz.dav.daf.main.archive.*;
import de.bsvrz.dav.daf.main.ClientDavInterface;
import de.bsvrz.dav.daf.main.ClientSenderInterface;
import de.bsvrz.dav.daf.main.config.Aspect;
import de.bsvrz.dav.daf.main.config.AttributeGroup;
import de.bsvrz.dav.daf.main.config.DataModel;
import de.bsvrz.dav.daf.main.config.SystemObject;
import de.bsvrz.dav.daf.main.Data;
import de.bsvrz.dav.daf.main.DataDescription;
import de.bsvrz.dav.daf.main.DataState;
import de.bsvrz.dav.daf.main.OneSubscriptionPerSendData;
import de.bsvrz.dav.daf.main.ResultData;
import de.bsvrz.dav.daf.main.SendSubscriptionNotConfirmed;
import de.bsvrz.dav.daf.main.SenderRole;
import de.bsvrz.dav.daf.main.archive.*;
import de.bsvrz.dav.daf.main.config.Aspect;
import de.bsvrz.dav.daf.main.config.AttributeGroup;
import de.bsvrz.dav.daf.main.config.DataModel;
import de.bsvrz.dav.daf.main.config.SystemObject;
import de.bsvrz.dav.daf.main.SendSubscriptionNotConfirmed;
import de.bsvrz.sys.funclib.debug.Debug;
//~ JDK IMPORTE ===============================================================
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
......@@ -148,7 +152,24 @@ public class VewAXL implements ClientSenderInterface {
// Archivdaten abfragen
ArchiveTimeSpecification zeitSpezifikation = new ArchiveTimeSpecification(TimingType.DATA_TIME, false, auftrag.getIntervallBeginn(), auftrag.getIntervallEnde() - 1);
ArchiveDataKindCombination archivDatenTypen = new ArchiveDataKindCombination(ArchiveDataKind.ONLINE, ArchiveDataKind.ONLINE_DELAYED);
DataDescription datenBeschreibung = new DataDescription(_konfiguration.getAttributeGroup("atg.tlsAxlEinzelErgebnisMeldungAchsLastenUndKfzGesamtGewichteVersion3"), _konfiguration.getAspect("asp.tlsAntwort"));
// Abhngig vom Aufrufparameter die Version3 oder Version1Bis2 verwenden (eigefhrt fr BW-DAUZ)
DataDescription datenBeschreibung;
switch (AggrAXL.getVersionAxlEinzeldaten()) {
case 1 :
case 2 :
datenBeschreibung = new DataDescription(_konfiguration.getAttributeGroup("atg.tlsAxlEinzelErgebnisMeldungAchsLastenUndKfzGesamtGewichteVersion1Bis2"), _konfiguration.getAspect("asp.tlsAntwort"));
break;
case 3 :
datenBeschreibung = new DataDescription(_konfiguration.getAttributeGroup("atg.tlsAxlEinzelErgebnisMeldungAchsLastenUndKfzGesamtGewichteVersion3"), _konfiguration.getAspect("asp.tlsAntwort"));
break;
default:
datenBeschreibung = new DataDescription(_konfiguration.getAttributeGroup("atg.tlsAxlEinzelErgebnisMeldungAchsLastenUndKfzGesamtGewichteVersion3"), _konfiguration.getAspect("asp.tlsAntwort"));
}
try {
anfrage = new ArchiveDataSpecification(zeitSpezifikation, archivDatenTypen, ArchiveOrder.BY_INDEX, ArchiveRequestOption.NORMAL, datenBeschreibung, _axlDe);
......@@ -559,4 +580,4 @@ public class VewAXL implements ClientSenderInterface {
}
//~Formatiert mit 'inovat Kodierkonvention' am 08.12.10
//~Formatiert mit 'inovat Kodierkonvention' am 02.09.14
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