Class ParamApp

  • All Implemented Interfaces:
    de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface

    public class ParamApp
    extends java.lang.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
      ParamApp()
      Konstruiert ein ParamApp Objekt.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      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​(java.lang.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 Detail

      • 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 Detail

      • main

        public static void main​(java.lang.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.