Interface HighLevelConnectionsManagerInterface

  • All Known Implementing Classes:
    HighLevelConnectionsManager

    public interface HighLevelConnectionsManagerInterface
    Interface für die Verbindungsverwaltung (ehemals ConnectionsManager). Erlaubt Abfragen nach Verbindungen und ähnlichem.
    • Method Summary

      Modifier and Type Method Description
      void disableSingleServingPassword​(java.lang.String userName, int passwordIndex)
      Markiert das angegebene Einmalpasswort als benutzt (nachdem der Benutzer es zum erfolgreichen Einloggen verwendet hat)
      de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser fetchSrpVerifierAndUser​(java.lang.String userName, int passwordIndex)
      Holt den SRP-Überprüfungscode und die Benutzer-ID von einem Benutzer von der Konfiguration
      java.util.List<java.lang.String> getAccessControlPluginsClassNames()
      Gibt die vom Anwender festgelegten Namen der Zugriffsrechte-Plugin-Klassen zurück
      java.util.Collection<T_A_HighLevelCommunication> getAllApplicationConnections()
      Gibt alle Anwendungsverbindungen zurück
      java.util.Collection<T_T_HighLevelCommunication> getAllTransmitterConnections()
      Gibt alle Datenverteilerverbindungen zurück
      T_A_HighLevelCommunicationInterface getApplicationConnectionFromId​(long applicationId)
      Ermittelt von einer Anwendungs-ID die zugehörige Applikations-Verbindung
      T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav​(long remoteDav)
      Gibt die beste Verbindung zum angegebenen (nicht notwendigerweise direkt verbundenen) Datenverteiler zurück
      long getConfigurationId​(java.lang.String configurationPid)
      Gibt die ID der Konfiguration mit der gegebenen Pid zurück
      de.bsvrz.dav.daf.main.config.ConfigurationObject getDavObject()
      Gibt das Konfigurations-Objekt, das den datenverteiler repräsentiert zurück
      java.util.List<java.lang.Long> getPotentialCentralDistributors​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
      Gibt potentielle Zentraldatenverteiler für die angegebene Anmeldeinformation zurück
      de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getRemoteTransmitterConnectionInfo​(long connectedTransmitterId)
      Gibt die Verbindungsinformation der Verbindung vom angegebenen Datenverteiler zu diesem zurück
      de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials​(java.lang.String userName, long id)
      Gibt das in der Passwort(passwd)-Datei gespeicherte Passwort für den angegebenen Benutzernamen zurück
      de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials​(java.lang.String userName, java.lang.String suffix)
      Gibt das in der Passwort(passwd)-Datei gespeicherte Passwort für den angegebenen Benutzernamen zurück
      HighLevelSubscriptionsManager getSubscriptionsManager()
      Gibt den SubscriptionsManager zurück
      TelegramManager getTelegramManager()
      Gibt eine Referenz auf den Telegram-Manager zurück
      java.lang.String getTransmitterApplicationName()
      Gibt den Namen der lokalen Transmitter-Anwendung zurück
      T_T_HighLevelCommunicationInterface getTransmitterConnectionFromId​(long transmitterId)
      Ermittelt von einer Transmitter-ID die zugehörige Applikations-Verbindung
      de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getTransmitterConnectionInfo​(long connectedTransmitterId)
      Gibt die Verbindungsinformation der Verbindung von diesem Datenverteiler zum angegeben zurück
      long getTransmitterId()
      Gibt die ID des eigenen Transmitters zurück
      java.lang.String getTransmitterTypePid()
      Gibt den Typ der lokalen ClientDav-Verbindung zurück
      java.lang.String getUserName()
      Gibt den Benutzernamen zurück unter dem der Datenverteiler läuft
      short getWeight​(long transmitterId)
      Gibt das gewicht einer Verbindung zu einem anderen Datenverteiler zurück
      boolean isClosing()
      Gibt true zurück, wenn sich der Datenverteiler gerade beendet
      void removeConnection​(T_A_HighLevelCommunication communication)
      Beendet eine Verbindung zu einer Applikation
      void removeConnection​(T_T_HighLevelCommunication communication)
      Beendet eine Verbindung zu einem Datenverteiler
      void shutdown​(boolean isError, java.lang.String message)
      Beendet alle Verbindungen und Threads
      void updateListsNewLocalSubscription​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
      Informiert die Anmeldelisten, dass dieser Datenverteiler Zentraldatenverteiler für die angegebene Anmeldung geworden ist
      void updateListsRemovedLocalSubscription​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
      Informiert die Anmeldelisten, dass dieser Datenverteiler nicht mehr Zentraldatenverteiler für die angegebene Anmeldung ist
    • Method Detail

      • removeConnection

        void removeConnection​(T_A_HighLevelCommunication communication)
        Beendet eine Verbindung zu einer Applikation
        Parameters:
        communication - Applikationsverbindung
      • removeConnection

        void removeConnection​(T_T_HighLevelCommunication communication)
        Beendet eine Verbindung zu einem Datenverteiler
        Parameters:
        communication - Datenverteiler-Verbindung
      • getConfigurationId

        long getConfigurationId​(java.lang.String configurationPid)
        Gibt die ID der Konfiguration mit der gegebenen Pid zurück
        Parameters:
        configurationPid - Die Pid der Konfiguration
        Returns:
        die Id der Konfiguration
      • getTransmitterTypePid

        java.lang.String getTransmitterTypePid()
        Gibt den Typ der lokalen ClientDav-Verbindung zurück
        Returns:
        pid der lokalen ClientDav-Verbindungs-Anwendung
      • getTransmitterApplicationName

        java.lang.String getTransmitterApplicationName()
        Gibt den Namen der lokalen Transmitter-Anwendung zurück
        Returns:
        Name der Anwendung
      • getTransmitterId

        long getTransmitterId()
        Gibt die ID des eigenen Transmitters zurück
        Returns:
        Transmitter-Id
      • getUserName

        java.lang.String getUserName()
        Gibt den Benutzernamen zurück unter dem der Datenverteiler läuft
        Returns:
        Benutzername
      • getStoredClientCredentials

        @Nullable
        de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials​(java.lang.String userName,
                                                                                          java.lang.String suffix)
        Gibt das in der Passwort(passwd)-Datei gespeicherte Passwort für den angegebenen Benutzernamen zurück
        Parameters:
        userName - Benutzername
        suffix -
        Returns:
        Passwort oder null falls der Benutzername nicht gefunden werden konnte
      • getStoredClientCredentials

        @Nullable
        de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials​(java.lang.String userName,
                                                                                          long id)
        Gibt das in der Passwort(passwd)-Datei gespeicherte Passwort für den angegebenen Benutzernamen zurück
        Parameters:
        userName - Benutzername
        id - ID-Des Verbindungspartners (Systemobjekt, wird automatisch in eine Pid umgewandelt)
        Returns:
        Passwort oder null falls der Benutzername nicht gefunden werden konnte
      • getWeight

        short getWeight​(long transmitterId)
        Gibt das gewicht einer Verbindung zu einem anderen Datenverteiler zurück
        Parameters:
        transmitterId - ID des anderen Datenverteilers
        Returns:
        Gewicht
      • getTransmitterConnectionInfo

        de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getTransmitterConnectionInfo​(long connectedTransmitterId)
        Gibt die Verbindungsinformation der Verbindung von diesem Datenverteiler zum angegeben zurück
        Parameters:
        connectedTransmitterId - Verbundener Datenverteiler
        Returns:
        Verbindungsinformation
      • getRemoteTransmitterConnectionInfo

        de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getRemoteTransmitterConnectionInfo​(long connectedTransmitterId)
        Gibt die Verbindungsinformation der Verbindung vom angegebenen Datenverteiler zu diesem zurück
        Parameters:
        connectedTransmitterId - Verbundener Datenverteiler
        Returns:
        Verbindungsinformation
      • getTelegramManager

        TelegramManager getTelegramManager()
        Gibt eine Referenz auf den Telegram-Manager zurück
        Returns:
        Telegram-Manager
      • getApplicationConnectionFromId

        T_A_HighLevelCommunicationInterface getApplicationConnectionFromId​(long applicationId)
        Ermittelt von einer Anwendungs-ID die zugehörige Applikations-Verbindung
        Parameters:
        applicationId - ID
        Returns:
        Verbindung
      • getTransmitterConnectionFromId

        T_T_HighLevelCommunicationInterface getTransmitterConnectionFromId​(long transmitterId)
        Ermittelt von einer Transmitter-ID die zugehörige Applikations-Verbindung
        Parameters:
        transmitterId - ID
        Returns:
        Verbindung
      • getAllApplicationConnections

        java.util.Collection<T_A_HighLevelCommunication> getAllApplicationConnections()
        Gibt alle Anwendungsverbindungen zurück
        Returns:
        Anwendungsverbindungen
      • getAllTransmitterConnections

        java.util.Collection<T_T_HighLevelCommunication> getAllTransmitterConnections()
        Gibt alle Datenverteilerverbindungen zurück
        Returns:
        Datenverteilerverbindungen
      • getAccessControlPluginsClassNames

        java.util.List<java.lang.String> getAccessControlPluginsClassNames()
        Gibt die vom Anwender festgelegten Namen der Zugriffsrechte-Plugin-Klassen zurück
        Returns:
        Liste mit Zugriffsrechte-Plugin-Klassen-Namen
      • shutdown

        void shutdown​(boolean isError,
                      java.lang.String message)
        Beendet alle Verbindungen und Threads
        Parameters:
        isError - Zum signalisieren, dass ein Fehler aufgetreten ist: true, sonst false
        message - Nach Bedarf eine Fehlermeldung o.ä. zur Ursache des Terminierungsbefehls
      • isClosing

        boolean isClosing()
        Gibt true zurück, wenn sich der Datenverteiler gerade beendet
        Returns:
        true, wenn sich der Datenverteiler gerade beendet, sonst false
      • getDavObject

        de.bsvrz.dav.daf.main.config.ConfigurationObject getDavObject()
        Gibt das Konfigurations-Objekt, das den datenverteiler repräsentiert zurück
        Returns:
        das Konfigurations-Objekt, das den datenverteiler repräsentiert
      • getPotentialCentralDistributors

        java.util.List<java.lang.Long> getPotentialCentralDistributors​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
        Gibt potentielle Zentraldatenverteiler für die angegebene Anmeldeinformation zurück
        Parameters:
        baseSubscriptionInfo - Anmeldeinformation
        Returns:
        Potentielle Zentraldatenverteiler
      • getBestConnectionToRemoteDav

        T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav​(long remoteDav)
        Gibt die beste Verbindung zum angegebenen (nicht notwendigerweise direkt verbundenen) Datenverteiler zurück
        Returns:
        die beste Verbindung zum angegebenen Datenverteiler
      • updateListsNewLocalSubscription

        void updateListsNewLocalSubscription​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
        Informiert die Anmeldelisten, dass dieser Datenverteiler Zentraldatenverteiler für die angegebene Anmeldung geworden ist
        Parameters:
        baseSubscriptionInfo - Anmeldung
      • updateListsRemovedLocalSubscription

        void updateListsRemovedLocalSubscription​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
        Informiert die Anmeldelisten, dass dieser Datenverteiler nicht mehr Zentraldatenverteiler für die angegebene Anmeldung ist
        Parameters:
        baseSubscriptionInfo - Anmeldung
      • getSubscriptionsManager

        HighLevelSubscriptionsManager getSubscriptionsManager()
        Gibt den SubscriptionsManager zurück
        Returns:
        den SubscriptionsManager
      • fetchSrpVerifierAndUser

        de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser fetchSrpVerifierAndUser​(java.lang.String userName,
                                                                                                    int passwordIndex)
                                                                                             throws de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
        Holt den SRP-Überprüfungscode und die Benutzer-ID von einem Benutzer von der Konfiguration
        Parameters:
        userName - Anzufragender Benutzername
        passwordIndex - Index des Einmalpassworts
        Returns:
        Überprüfungscode und Benutzername analog zur UserAdministration-Implementierung. Insbesondere ist der Benutzer UserLogin.notAuthenticated() falls es den Benutzer nicht gibt, aber es wird immer ein SRP-Überprüfungscode erzeugt um eine SrpServerAuthentication.step1(String, BigInteger, BigInteger, boolean) Fake-Authentifizierung} zu ermöglichen.
        Throws:
        de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException - Falls SRP nicht untersützt wird
      • disableSingleServingPassword

        void disableSingleServingPassword​(java.lang.String userName,
                                          int passwordIndex)
        Markiert das angegebene Einmalpasswort als benutzt (nachdem der Benutzer es zum erfolgreichen Einloggen verwendet hat)
        Parameters:
        userName - Benutzername
        passwordIndex - Index des Einmalpassworts