Class ParamApp

java.lang.Object
de.kappich.puk.param.main.ParamApp
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface

public class ParamApp extends Object implements de.bsvrz.dav.daf.main.ClientSenderInterface, de.bsvrz.dav.daf.main.ClientReceiverInterface
Diese Klasse implementiert die Parametrierung, die sich über Aufrufargumente gesteuert auf beliebige Vorgabe-Parameter-Daten des Systems anmelden kann, und diese als Soll-Parameter publiziert.

Datenfluss:

Ein zu verwendender Paramtersatz wird (i.d.R. durch die Bedienung) als Vorgabe-Parameter versandt und von der Paramterierung (die darauf als Senke angemeldet ist) als Soll-Paramter publiziert. Der Soll-Parameter wird von den zu parametrierenden Applikationen verwendet. Eine solche Applikation hat zudem die Möglichkeit (wird i.d.R. aber nicht verwendet) den von ihr tatsächlichen benutzten Paramtersatz als Ist-Parameter zu publizieren.

Bespiel: Bedienung setzt Vorgabe-Parameter für Erfassungszyklus auf Wert 1,1 Minuten. Parameterierung publiziert dies an alle angemeldeten Applikationen als Soll-Parameter. Die TLS-Applikation (als ein Abnehmer) sendet diesen Wert an die Streckenstation. Da dort keine 1,1 Minuten eingestellt werden können, meldet die Streckenstation als eingestellten Wert 1 Minute zurück. Die TLS-Applikation publiziert daraufhin als Ist-Paramter den Wert 1-Minute. In der Bedienung könnte z.B. über eine Gegenüberstellung von Vorgabe-, Soll- und Ist-Parameter auf diese Abweichung hingewiesen werden.

Aufruf:


 java de.kappich.puk.param.main.ParamApp -parameterPfad=ParameterPfad -parametrierung=Pid
 
mit:

 ParameterPfad: Pfadangabe, in der die Parameterdaten persistent gehalten
 werden.
                Default: "./parameter".
                Der spezifizierte Zielordner muss existieren!

 Pid:           PID des Parametrierungsobjekts (typ.parametrierung) an dem
 die
                Parameter für diese Parametrierung verwaltet werden.
                Default: parametrierung.global
                Die Beschreibung der Parameterattributgruppe siehe DatKat,
 atg.parametrierung.

 
  • Field Summary

    Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface

    START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
  • Constructor Summary

    Constructors
    Constructor
    Description
    Konstruiert ein ParamApp Objekt.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
    Sendesteuerung des Datenverteilers an die Applikation.
    boolean
    isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
    Liefert false zurück, um den Datenverteiler-Applikationsfunktionenen zu signalisieren, dass keine Sendesteuerung gewünscht wird.
    static void
    main(String[] arguments)
    Main-Methode mit Auswertung der Aufrufparamter Anmeldung an den Datenverteiler Erzeugen ein ParamApp
    void
    update(de.bsvrz.dav.daf.main.ResultData[] results)
    Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ParamApp

      public ParamApp()
      Konstruiert ein ParamApp Objekt. Bei der Konstruktion werden folgende Schritte durchgeführt:
      • Anmeldung auf den Parametersatz atg.parametrierung des als Aufrufparameter übergebenen ParamApp-Objekts.
      • Anmeldung beim SettingsManager zur Verarbeitung geänderter Parameterzuständigkeiten.
      • Versendung des persistenten Parametersatzes atg.parametrierung der Parametrierung

      Damit empfängt die Parametrierung als erstes "ihren" Parametersatz und wertet ihn aus, wodurch dann alle zu parametrierenden Datensätze angemeldet, eventuell vorhande persistente Daten versandt und geänderte Vorgaben verarbeitet werden (d.h. die Parameterierung zieht sich so beim Start selbst aus dem Sumpf.

  • Method Details

    • main

      public static void main(String[] arguments)
      Main-Methode mit
      • Auswertung der Aufrufparamter
      • Anmeldung an den Datenverteiler
      • Erzeugen ein ParamApp
      Parameters:
      arguments - Die Aufrufparameter der Applikation
    • dataRequest

      public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
      Sendesteuerung des Datenverteilers an die Applikation. Diese Methode muss von der Applikation implementiert werden, um den Versand von Daten zu starten bzw. anzuhalten. Der Datenverteiler signalisiert damit einer Quelle oder einem Sender dass mindestens ein Abnehmer bzw. kein Abnehmer mehr für die zuvor angemeldeten Daten vorhanden ist. Die Quelle wird damit aufgefordert den Versand von Daten zu starten bzw. zu stoppen.
      Specified by:
      dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface
      Parameters:
      object - Das in der zugehörigen Sendeanmeldung angegebene Objekt, auf das sich die Sendesteuerung bezieht.
      dataDescription - Beschreibende Informationen zu den angemeldeten Daten auf die sich die Sendesteuerung bezieht.
      state - Status der Sendesteuerung. Kann einen der Werte START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION enthalten.
      See Also:
      • ClientSenderInterface.START_SENDING
      • ClientSenderInterface.STOP_SENDING
      • ClientSenderInterface.STOP_SENDING_NO_RIGHTS
      • ClientSenderInterface.STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
    • isRequestSupported

      public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
      Liefert false zurück, um den Datenverteiler-Applikationsfunktionenen zu signalisieren, dass keine Sendesteuerung gewünscht wird.
      Specified by:
      isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface
      Parameters:
      object - Wird ignoriert.
      dataDescription - Wird ignoriert.
      Returns:
      false.
    • update

      public void update(de.bsvrz.dav.daf.main.ResultData[] results)
      Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird.
      Specified by:
      update in interface de.bsvrz.dav.daf.main.ClientReceiverInterface
      Parameters:
      results - Feld mit den empfangenen Ergebnisdatensätzen.