***********************************************************************************
*  Segment 4 Datenübernahme und Aufbereitung (DUA), SWE 4.6  Abfrage Pufferdaten  *
***********************************************************************************

Version: 1.4.0


Übersicht
=========

Die SWE Abfrage Pufferdaten dient zum zyklischen und historischen Abruf der Puffer für
FG1 Langzeit- sowie FG2-Achslastdaten aller übergebenen Streckenstationen. Dazu generiert
sie zyklisch  (je nach Parametrierung) Abfrageaufträge, über die mittels der Funktionen 
aus dem Funktionsblock externe Kommunikation die Daten entsprechend den Festlegungen der
TLS bei den Streckenstationen abgefragt werden (weitere Details siehe [AFo]). Aus den
empfangenen LZD werden Langzeitzählstellen-Daten aggregiert und publiziert . Für
fehlende Werte werden sog. Dummy-Werte (d. h. leere Datensätze mit separater Ausfallkennung 
nicht erfasst) erzeugt.

Versionsgeschichte
==================

1.4.0
- Umstellung auf Java 8 und UTF-8

1.3.1
- doppelte Logger-Initialisierung in der main-Klasse eliminiert

1.3.0
- Umstellung auf Funclib-BitCtrl-Dua

1.2.0
- Umstellung auf Maven-Build

1.1.5B
  - CHANGE: Grund-Timeout von 5s für LVE-Pufferabfragen, dazu addiert wie bisher Anzahl
            Datensätze * Anzahl DE * 0.5s
  - WORKAROUD: Keine relativen Archivabfragen mehr, diese gehen mit Archiv 3.2 bei
               nachgelieferten Datensätzen nicht (mehr). Siehe Mail an Roland Schmitz
               vom 14.6.2011.
1.1.5

  - FIX: Es können nun auch Objekte vom Typ typ.fahrStreifenLangzeit verarbeitet werden.
  - FIX: Die Clusterkanäle werden nicht mehr in die DE-LVE-Liste aufgenommen, diese können
         niemals mit einem Fahrstreifen assoziiert sein.
  - FIX: Der Name-Matching-Algorithmus wird nun erst ausgeführt, wenn ALLE EAK
         abgearbeitet sind. Dadurch kann der SYSTE-DE in einem beliebigen EAK
         sein und wird trotzdem gefunden.

1.1.4

  - FIX: NullPointerException in AggregatorVerwaltung behandelt

1.1.3

  - FIX: Sämtliche Konstruktoren DataDescription(atg, asp, sim) ersetzt durch
         DataDescription(atg, asp)

1.1.2

  - Es werden jetzt sowohl die innerhalb der Menge AuswerteQuerschnitte
    referenzierten MQs, wie auch die nur via Hin- und Rueckrichtung angegebenen
    MQs zur Auswertung herangezogen.
    
1.1.1

  - Auslesen der Auswertequerschnitte aus InRichtung und GegenRichtung
    statt aus der Menge AuswerteQuerschnitte
  - Debug-Logger frueher initialisiert
  - Verbesserung des Auslesens der Steuermodule
  - Quellenanmeldung fuer Axl- und Lve-DE-Abruftelegramme beseitigt
  - Zeitmanagement zur Bestimmtung des letzten empfangenen TLS-Datums 
    verbessert

1.1.0

  - Tests umorganisiert und Startskripte fuer Tests hinzu 
  
1.0.1

  - Startskripte hinzu

1.0.0

  - Erste Auslieferung


Bemerkungen
===========

Diese SWE ist eine eigenständige Datenverteiler-Applikation, welche über die Klasse
de.bsvrz.dua.abfrpuffer.AbfragePufferdaten mit folgenden Parametern gestartet werden kann
(zusaetzlich zu den normalen Parametern jeder Datenverteiler-Applikation):
	-sm==obj{,obj} obj ist vom Typ typ.steuerModul oder typ.konfigurationsBereich
	-abfragemodul=pid eines Objektes vom Typ typ.abfrageModul, durch das diese Applikation zur Laufzeit parametriert werden kann
Ueber diesen Parameter sollten Mengen von Steuermodulen oder Konfigurationsbereichen
übergeben werden.	

- Tests:

	Die automatischen Tests, die (auch in Zusammenhang mit der Prüfspezifikation) durchgeführt
	werden, befinden sich innerhalb des Packages junit/de.bsvrz.dua.abfrpuffer und
	sind als JUnit-Tests ausführbar. Die genaue Durchführung der Tests dieser SWE ist im
	Dokument PrDok_SWE4.6_LosC1C2_VRZ3.doc beschrieben.
	

- Logging-Hierarchie (Wann wird welche Art von Logging-Meldung produziert?):

	ERROR:
	- DUAInitialisierungsException --> Beendigung der Applikation
	- Fehler beim An- oder Abmelden von Daten beim Datenverteiler
	- Interne unerwartete Fehler
	
	WARNING:
	- Fehler, die die Funktionalität grundsätzlich nicht
	  beeinträchtigen, aber zum Datenverlust führen können
	- Nicht identifizierbare Konfigurationsbereiche
	- Probleme beim Explorieren von Attributpfaden 
	  (von Plausibilisierungsbeschreibungen)
	- Wenn mehrere Objekte eines Typs vorliegen, von dem
	  nur eine Instanz erwartet wird
	- Wenn Parameter nicht korrekt ausgelesen werden konnten
	  bzw. nicht interpretierbar sind
	- Wenn inkompatible Parameter übergeben wurden
	- Wenn Parameter unvollständig sind
	
	INFO:
	- Wenn neue Parameter empfangen wurden
	
	CONFIG:
	- Allgemeine Ausgaben, welche die Konfiguration betreffen
	- Benutzte Konfigurationsbereiche der Applikation bzw.
	  einzelner Funktionen innerhalb der Applikation
	- Benutzte Objekte für Parametersteuerung von Applikationen
	  (z.B. die Instanz der Datenflusssteuerung, die verwendet wird)
	- An- und Abmeldungen von Daten beim Datenverteiler
	
	FINE:
	- Wenn Daten empfangen wurden, die nicht weiterverarbeitet 
	  (plausibilisiert) werden können (weil keine Parameter vorliegen)
	- Informationen, die nur zum Debugging interessant sind 


Disclaimer
==========

Segment 4 Datenübernahme und Aufbereitung (DUA), SWE 4.6 Abfrage Pufferdaten
Copyright (C) 2007, 2009 BitCtrl Systems GmbH 

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.


Kontakt
=======

BitCtrl Systems GmbH
Weißenfelser Straße 67
04229 Leipzig
Phone: +49 341-490670
mailto: info@bitctrl.de
