HighLevelConnectionsManagerInterfacepublic final class HighLevelConnectionsManager extends java.lang.Object implements HighLevelConnectionsManagerInterface
LowLevelConnectionsManager und den Funktionen der oberen Ebene wie dem HighLevelApplicationManager, HighLevelTransmitterManager und dem TelegramManager dar. Zusätzlich bietet diese Klasse Funktionen von
allgemeinem Interesse zur Verbindungsverwaltung, wie z.B. das Herausfinden einer Datenverteiler- oder Applikations-Verbindung von einer Id, das Terminieren
des Datenverteilers, das Terminieren von Verbindungen usw., zudem bindet diese Klasse den TerminationQueryReceiver ein, der clientseitige
Terminierungsanfragen entgegennimmt.| Constructor | Description |
|---|---|
HighLevelConnectionsManager(LowLevelConnectionsManagerInterface lowLevelConnectionsManager,
de.bsvrz.dav.daf.accessControl.AccessControlMode userRightsChecking) |
Initialisiert den HighLevelConnectionsManager
|
| 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 userNameForVerifier,
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 eine Liste mit den per Kommandozeile festgelegten Zugriffssteuerungs-Plugin-Klassennamen zurück
|
java.util.Collection<T_A_HighLevelCommunication> |
getAllApplicationConnections() |
Gibt alle Applikationsverbindungen zurück
|
java.util.Collection<T_T_HighLevelCommunication> |
getAllTransmitterConnections() |
Gibt alle Datenverteilerverbindungen zurück
|
T_A_HighLevelCommunication |
getApplicationConnectionFromId(long applicationId) |
Bestimmt anhand einer Id die Verbindung dieser angemeldeten Applikation
|
HighLevelApplicationManager |
getApplicationManager() |
Gibt die Applikationsverwaltung zurück
|
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) |
Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.
|
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 gespeicherte Passwort für einen bestimmten Benutzer aus der Passwort-Datei zurück
|
HighLevelSubscriptionsManager |
getSubscriptionsManager() |
Gibt den SubscriptionsManager zurück
|
TelegramManager |
getTelegramManager() |
Gibt den TelegramManager zurück
|
java.lang.String |
getTransmitterApplicationName() |
Gibt den Namen der lokalen Transmitter-Anwendung zurück
|
T_T_HighLevelCommunication |
getTransmitterConnectionFromId(long transmitterId) |
Bestimmt anhand einer Id die Verbindung diesem angemeldeten Datenverteiler
|
de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo |
getTransmitterConnectionInfo(long connectedTransmitterId) |
Gibt das TransmitterConnectionInfo-Objekt zu einem Datenverteiler zurück
|
long |
getTransmitterId() |
Gibt die ID des eigenen Transmitters zurück
|
HighLevelTransmitterManager |
getTransmitterManager() |
Gibt die Verwaltung für andere Datenverteilerverbindungen 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 zwischen der Verbindung zwischen diesem Datenverteiler und einem anderen direkt verbundenen Datenverteiler zurück.
|
void |
initializeUser(long userId) |
Initialisiert die Zugriffsrechte für den angegebenen Benutzer
|
boolean |
isClosing() |
Gibt
true zurück, wenn sich der Datenverteiler gerade beendet |
void |
removeConnection(T_A_HighLevelCommunication communication) |
Wird aufgerufen, wenn die Verbindung zu einer Applikation terminiert wurde.
|
void |
removeConnection(T_T_HighLevelCommunication communication) |
Wird aufgerufen, wenn die Verbindung zu einem Datenverteiler terminiert wurde.
|
void |
setSelfClientDavConnection(SelfClientDavConnection selfClientDavConnection) |
Setzt die eigene Datenverteilerverbindung und initialisiert damit weitere Funktionen
|
void |
shutdown(boolean isError,
java.lang.String message) |
Beendet den Datenverteiler
|
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
|
void |
updateTransmitterCommunicationStates(java.util.Map<de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterInfo,CommunicationStateAndMessage> connections) |
Benachrichtigung über den Status der konfigurierten Transmitter-Verbindungen
|
public HighLevelConnectionsManager(LowLevelConnectionsManagerInterface lowLevelConnectionsManager, de.bsvrz.dav.daf.accessControl.AccessControlMode userRightsChecking)
lowLevelConnectionsManager - LowLevelConnectionsManageruserRightsChecking - public void setSelfClientDavConnection(SelfClientDavConnection selfClientDavConnection)
selfClientDavConnection - selfClientDavConnectionpublic HighLevelApplicationManager getApplicationManager()
public HighLevelTransmitterManager getTransmitterManager()
java.lang.IllegalStateException - wenn noch keine verbindung Konfiguration besteht und deswegen noch keine Datenverteiler-Datenverteiler-Verbindungen vorgesehen
sind.public void removeConnection(T_A_HighLevelCommunication communication)
removeConnection in interface HighLevelConnectionsManagerInterfacecommunication - Applikationsverbindungpublic void removeConnection(T_T_HighLevelCommunication communication)
removeConnection in interface HighLevelConnectionsManagerInterfacecommunication - Datenverteiler-Verbindungpublic long getConfigurationId(java.lang.String configurationPid)
getConfigurationId in interface HighLevelConnectionsManagerInterfaceconfigurationPid - Die Pid der Konfigurationjava.lang.IllegalStateException - falls noch keine Verbindung zur Konfiguration bestehtpublic java.lang.String getTransmitterTypePid()
HighLevelConnectionsManagerInterfacegetTransmitterTypePid in interface HighLevelConnectionsManagerInterfacepublic java.lang.String getTransmitterApplicationName()
HighLevelConnectionsManagerInterfacegetTransmitterApplicationName in interface HighLevelConnectionsManagerInterfacepublic long getTransmitterId()
HighLevelConnectionsManagerInterfacegetTransmitterId in interface HighLevelConnectionsManagerInterfacepublic java.lang.String getUserName()
HighLevelConnectionsManagerInterfacegetUserName in interface HighLevelConnectionsManagerInterfacepublic de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials(java.lang.String userName,
java.lang.String suffix)
getStoredClientCredentials in interface HighLevelConnectionsManagerInterfaceuserName - Benutzernamesuffix - Verbindungspartner (damit kann je Verbindungspartner ein unterschiedliches Passwort definiert werden)
Wird ignoriert falls null oder leerpublic de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials(java.lang.String userName,
long id)
HighLevelConnectionsManagerInterfacegetStoredClientCredentials in interface HighLevelConnectionsManagerInterfaceuserName - Benutzernameid - ID-Des Verbindungspartners (Systemobjekt, wird automatisch in eine Pid umgewandelt)public short getWeight(long transmitterId)
getWeight in interface HighLevelConnectionsManagerInterfacetransmitterId - ID des anderen Datenverteilerspublic de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getTransmitterConnectionInfo(long connectedTransmitterId)
getTransmitterConnectionInfo in interface HighLevelConnectionsManagerInterfaceconnectedTransmitterId - Verbundener Datenverteilerpublic de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
getRemoteTransmitterConnectionInfo in interface HighLevelConnectionsManagerInterfaceconnectedTransmitterId - ID des DAVpublic TelegramManager getTelegramManager()
getTelegramManager in interface HighLevelConnectionsManagerInterfacepublic T_A_HighLevelCommunication getApplicationConnectionFromId(long applicationId)
getApplicationConnectionFromId in interface HighLevelConnectionsManagerInterfaceapplicationId - IDpublic T_T_HighLevelCommunication getTransmitterConnectionFromId(long transmitterId)
getTransmitterConnectionFromId in interface HighLevelConnectionsManagerInterfacetransmitterId - IDpublic java.util.Collection<T_A_HighLevelCommunication> getAllApplicationConnections()
getAllApplicationConnections in interface HighLevelConnectionsManagerInterfacepublic java.util.Collection<T_T_HighLevelCommunication> getAllTransmitterConnections()
getAllTransmitterConnections in interface HighLevelConnectionsManagerInterfacepublic void shutdown(boolean isError,
java.lang.String message)
shutdown in interface HighLevelConnectionsManagerInterfaceisError - Zum signalisieren, dass ein Fehler aufgetreten ist: true, sonst falsemessage - Nach Bedarf eine Fehlermeldung o.ä. zur Ursache des Terminierungsbefehlspublic java.util.List<java.lang.String> getAccessControlPluginsClassNames()
getAccessControlPluginsClassNames in interface HighLevelConnectionsManagerInterfacepublic de.bsvrz.dav.daf.main.config.ConfigurationObject getDavObject()
HighLevelConnectionsManagerInterfacegetDavObject in interface HighLevelConnectionsManagerInterfacepublic java.util.List<java.lang.Long> getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
HighLevelConnectionsManagerInterfacegetPotentialCentralDistributors in interface HighLevelConnectionsManagerInterfacebaseSubscriptionInfo - Anmeldeinformationpublic T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav(long remoteDav)
HighLevelConnectionsManagerInterfacegetBestConnectionToRemoteDav in interface HighLevelConnectionsManagerInterfacepublic void updateListsNewLocalSubscription(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
HighLevelConnectionsManagerInterfaceupdateListsNewLocalSubscription in interface HighLevelConnectionsManagerInterfacebaseSubscriptionInfo - Anmeldungpublic void updateListsRemovedLocalSubscription(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
HighLevelConnectionsManagerInterfaceupdateListsRemovedLocalSubscription in interface HighLevelConnectionsManagerInterfacebaseSubscriptionInfo - Anmeldungpublic boolean isClosing()
HighLevelConnectionsManagerInterfacetrue zurück, wenn sich der Datenverteiler gerade beendetisClosing in interface HighLevelConnectionsManagerInterfacetrue, wenn sich der Datenverteiler gerade beendet, sonst falsepublic HighLevelSubscriptionsManager getSubscriptionsManager()
HighLevelConnectionsManagerInterfacegetSubscriptionsManager in interface HighLevelConnectionsManagerInterfacepublic de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser fetchSrpVerifierAndUser(java.lang.String userNameForVerifier,
int passwordIndex)
throws de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
HighLevelConnectionsManagerInterfacefetchSrpVerifierAndUser in interface HighLevelConnectionsManagerInterfaceuserNameForVerifier - Anzufragender BenutzernamepasswordIndex - Index des EinmalpasswortsUserAdministration-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.de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException - Falls SRP nicht untersützt wirdpublic void disableSingleServingPassword(java.lang.String userName,
int passwordIndex)
HighLevelConnectionsManagerInterfacedisableSingleServingPassword in interface HighLevelConnectionsManagerInterfaceuserName - BenutzernamepasswordIndex - Index des Einmalpasswortspublic void initializeUser(long userId)
userId - Benutzer-ID (muss in der lokalen Konfiguration existieren)public void updateTransmitterCommunicationStates(java.util.Map<de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterInfo,CommunicationStateAndMessage> connections)
Als Key werden die konfigurierten Verbindungsinformationen gespeichert (siehe ConfigurationManager.getTransmitterConnectionInfo(long)).
Als Values wird der Verbindungsstatus gespeichert plus eine eventuelle Fehlernachricht.
connections - Konfigurierte Verbindungen