Package de.bsvrz.dav.dav.main
Class LowLevelConnectionsManager
java.lang.Object
de.bsvrz.dav.dav.main.LowLevelConnectionsManager
- All Implemented Interfaces:
LowLevelConnectionsManagerInterface
public class LowLevelConnectionsManager
extends Object
implements LowLevelConnectionsManagerInterface
Klasse, die die Verbindungen des Datenverteilers verwaltet. Diese Klasse initialisiert die LowLevelApplicationConnections,
LowLevelTransmitterConnections, stellt eine Klasse für die Passwort-Prüfung von Benutzern bereit und initialisiert schließlich den
HighLevelConnectionsManager.
-
Constructor Summary
ConstructorsConstructorDescriptionLowLevelConnectionsManager
(ServerDavParameters serverDavParameters) Erzeugt eine neue Verbindungsverwaltung für den Datenverteiler. -
Method Summary
Modifier and TypeMethodDescriptiongetApplicationConnection
(long applicationId) Gibt die angegebene Applikationsverbindung zurückGibt alle Appliaktionsverbindungen zurückde.bsvrz.dav.daf.main.ClientDavParameters
Gibt die ClientDavParameters für die lokale Dav-Applikation zurücklong
Gibt die Id der lokalen Konfiguration zurückGibt die Pid der lokalen Konfiguration zurückde.bsvrz.dav.daf.main.config.SystemObject
Gibt das eigene Datenverteiler-Objekt zurückde.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo
getRemoteTransmitterConnectionInfo
(long connectedTransmitterId) Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.Gibt die eigene ClientDavConnection zurückGibt die ServerDavParameters zurückgetTransmitterConnection
(long transmitterId) Gibt die angegebene Dav-Dav-Verbindung zurückde.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo
getTransmitterConnectionInfo
(long connectedTransmitterId) Bestimmt die Verbindungsinformationen für eine Verbindung von diesem Datenverteiler zum angegebenen Datenverteiler.Gibt alle Datenverteilerverbindungen zurückfinal long
Gibt die eigene Datenverteiler-id zurückshort
getWeight
(long transmitterId) Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen.boolean
Gibttrue
zurück, wenn der Datenverteiler sich gerade beendetboolean
isDisabledConnection
(long remoteTransmitterId) Gibttrue
zurück, wenn eine Verbindung deaktiviert istde.bsvrz.dav.daf.communication.protocol.UserLogin
login
(String userName, byte[] userPassword, String authentificationText, de.bsvrz.dav.daf.communication.lowLevel.AuthentificationProcess authentificationProcess, String applicationTypePid) Loggt einen Benutzer ein, bzw. prüft die übergebenen Daten.void
removeConnection
(T_A_HighLevelCommunication connection) entfernt die angegebene Verbindung weil diese terminiert wurdevoid
removeConnection
(T_T_HighLevelCommunication connection) entfernt die angegebene Verbindung weil diese terminiert wurdevoid
setDisabledTransmitterConnections
(Collection<Long> disabledConnections) Setzt die Datenverteiler (über deren IDs), zu denen keine Verbindung aufgenommen werden sollen, weil diese temporär deaktiviert wurden (über atg.deaktivierteVerbindungen)void
Wird aufgerufen, wenn die lokale Konfigurationsverbindung verfügbar ist.void
setLocalModeParameter
(String configurationPid, long configurationId) Setzt die Parameter für eine lokale Konfigurationfinal void
toString()
void
updateApplicationId
(T_A_HighLevelCommunication communication) Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)void
Wird aufgerufen, wenn sich der Status einer verbundenen Dav-Dav-Verbindung geändert hat um beispielsweise die "atg.datenverteilerKommunikationsZustand" zu aktualisierenvoid
updateTransmitterId
(T_T_HighLevelCommunication communication) Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)boolean
waitForParamReady
(de.bsvrz.dav.daf.communication.protocol.UserLogin userId) Wartet darauf, dass die Parametrierung verfügbar ist.
-
Constructor Details
-
LowLevelConnectionsManager
public LowLevelConnectionsManager(ServerDavParameters serverDavParameters) throws DavInitializationException Erzeugt eine neue Verbindungsverwaltung für den Datenverteiler.- Parameters:
serverDavParameters
- Die Parameter sind u. a. die Adressen und Subadressen der Kommunikationskanäle- Throws:
DavInitializationException
-
-
Method Details
-
getHighLevelConnectionsManager
-
getTransmitterId
public final long getTransmitterId()Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die eigene Datenverteiler-id zurück- Specified by:
getTransmitterId
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- die eigene Datenverteiler-id
-
shutdown
- Specified by:
shutdown
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
error
- True: ein Fehler ist aufgetretenmessage
- genauere Beschreibung des Fehlers
-
getSelfClientDavConnection
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die eigene ClientDavConnection zurück- Specified by:
getSelfClientDavConnection
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- die eigene ClientDavConnection
-
getMyTransmitter
public de.bsvrz.dav.daf.main.config.SystemObject getMyTransmitter()Description copied from interface:LowLevelConnectionsManagerInterface
Gibt das eigene Datenverteiler-Objekt zurück- Specified by:
getMyTransmitter
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- das eigene Datenverteiler-Objekt
-
toString
-
removeConnection
Description copied from interface:LowLevelConnectionsManagerInterface
entfernt die angegebene Verbindung weil diese terminiert wurde- Specified by:
removeConnection
in interfaceLowLevelConnectionsManagerInterface
-
removeConnection
Description copied from interface:LowLevelConnectionsManagerInterface
entfernt die angegebene Verbindung weil diese terminiert wurde- Specified by:
removeConnection
in interfaceLowLevelConnectionsManagerInterface
-
getLocalModeConfigurationPid
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die Pid der lokalen Konfiguration zurück- Specified by:
getLocalModeConfigurationPid
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- die Pid der lokalen Konfiguration
-
getLocalModeConfigurationId
public long getLocalModeConfigurationId()Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die Id der lokalen Konfiguration zurück- Specified by:
getLocalModeConfigurationId
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- die Id der lokalen Konfiguration
-
getLowLevelAuthentication
- Specified by:
getLowLevelAuthentication
in interfaceLowLevelConnectionsManagerInterface
- Returns:
-
setLocalModeParameter
Description copied from interface:LowLevelConnectionsManagerInterface
Setzt die Parameter für eine lokale Konfiguration- Specified by:
setLocalModeParameter
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
configurationPid
- Pid der KonfigurationconfigurationId
- Id der Konfiguration
-
setLocalConfigurationAvailable
public void setLocalConfigurationAvailable()Description copied from interface:LowLevelConnectionsManagerInterface
Wird aufgerufen, wenn die lokale Konfigurationsverbindung verfügbar ist.- Specified by:
setLocalConfigurationAvailable
in interfaceLowLevelConnectionsManagerInterface
-
getServerDavParameters
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die ServerDavParameters zurück- Specified by:
getServerDavParameters
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- die ServerDavParameters
-
getClientDavParameters
public de.bsvrz.dav.daf.main.ClientDavParameters getClientDavParameters()Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die ClientDavParameters für die lokale Dav-Applikation zurück- Specified by:
getClientDavParameters
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- die ClientDavParameters
-
getTransmitterConnection
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die angegebene Dav-Dav-Verbindung zurück- Specified by:
getTransmitterConnection
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
transmitterId
- Id den verbundenen Transmitters- Returns:
- Existierende Verbindung mit dieser Id oder null falls nicht vorhanden
-
getApplicationConnection
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt die angegebene Applikationsverbindung zurück- Specified by:
getApplicationConnection
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
applicationId
- Id der verbundenen Applikation- Returns:
- Existierende Verbindung mit dieser Id oder null falls nicht vorhanden
-
getWeight
public short getWeight(long transmitterId) Description copied from interface:LowLevelConnectionsManagerInterface
Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen. Die Information wird von der Wegverwaltung benutzt, wenn eine Verbindung bewertet wird.- Specified by:
getWeight
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
transmitterId
- ID des DAV- Returns:
- Gewichtung der Verbindung
-
getTransmitterConnectionInfo
public de.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfo getTransmitterConnectionInfo(long connectedTransmitterId) Bestimmt die Verbindungsinformationen für eine Verbindung von diesem Datenverteiler zum angegebenen Datenverteiler.- Specified by:
getTransmitterConnectionInfo
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
connectedTransmitterId
- ID des DAV- Returns:
- Verbindungsinformationen
-
getRemoteTransmitterConnectionInfo
public 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.- Specified by:
getRemoteTransmitterConnectionInfo
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
connectedTransmitterId
- ID des DAV- Returns:
- Verbindungsinformationen
-
updateApplicationId
Description copied from interface:LowLevelConnectionsManagerInterface
Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)- Specified by:
updateApplicationId
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
communication
- Verbindung
-
updateTransmitterId
Description copied from interface:LowLevelConnectionsManagerInterface
Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)- Specified by:
updateTransmitterId
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
communication
- Verbindung
-
getApplicationConnections
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt alle Appliaktionsverbindungen zurück- Specified by:
getApplicationConnections
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- alle Appliaktionsverbindungen
-
getTransmitterConnections
Description copied from interface:LowLevelConnectionsManagerInterface
Gibt alle Datenverteilerverbindungen zurück- Specified by:
getTransmitterConnections
in interfaceLowLevelConnectionsManagerInterface
- Returns:
- alle Datenverteilerverbindungen
-
isClosing
public boolean isClosing()Description copied from interface:LowLevelConnectionsManagerInterface
Gibttrue
zurück, wenn der Datenverteiler sich gerade beendet- Specified by:
isClosing
in interfaceLowLevelConnectionsManagerInterface
- Returns:
true
, wenn der Datenverteiler sich gerade beendet, sonstfalse
-
login
public de.bsvrz.dav.daf.communication.protocol.UserLogin login(String userName, byte[] userPassword, String authentificationText, de.bsvrz.dav.daf.communication.lowLevel.AuthentificationProcess authentificationProcess, String applicationTypePid) Description copied from interface:LowLevelConnectionsManagerInterface
Loggt einen Benutzer ein, bzw. prüft die übergebenen Daten. Diese Methode wird von der alten HMAC-Authentifizierung benutzt.- Specified by:
login
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
userName
- BenutzernameuserPassword
- BenutzerpasswortauthentificationText
- AuthentifizierungstextauthentificationProcess
- AuthentifizierungsverfahrenapplicationTypePid
- Applikations-Typ-Pid- Returns:
- Benutzerid, falls erfolgreich eingeloggt, sonst -1. (0 ist der spezielle Benutzer für Datenverteiler und Konfiguration)
-
waitForParamReady
public boolean waitForParamReady(de.bsvrz.dav.daf.communication.protocol.UserLogin userId) Wartet darauf, dass die Parametrierung verfügbar ist. Diese Methode wird nach erfolgreichen Login aufgerufen.- Specified by:
waitForParamReady
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
userId
- Benutzer-ID- Returns:
- true: Es wurde erfolgreich auf die parametrierung gewartet, false: Das Warten wurde unterbrochen (z. B. der Datenverteiler wird beendet)
-
updateCommunicationState
public void updateCommunicationState()Description copied from interface:LowLevelConnectionsManagerInterface
Wird aufgerufen, wenn sich der Status einer verbundenen Dav-Dav-Verbindung geändert hat um beispielsweise die "atg.datenverteilerKommunikationsZustand" zu aktualisieren- Specified by:
updateCommunicationState
in interfaceLowLevelConnectionsManagerInterface
-
setDisabledTransmitterConnections
Description copied from interface:LowLevelConnectionsManagerInterface
Setzt die Datenverteiler (über deren IDs), zu denen keine Verbindung aufgenommen werden sollen, weil diese temporär deaktiviert wurden (über atg.deaktivierteVerbindungen)- Specified by:
setDisabledTransmitterConnections
in interfaceLowLevelConnectionsManagerInterface
- Parameters:
disabledConnections
- Deaktivierte Datenverteiler-IDs
-
isDisabledConnection
public boolean isDisabledConnection(long remoteTransmitterId) Description copied from interface:LowLevelConnectionsManagerInterface
Gibttrue
zurück, wenn eine Verbindung deaktiviert ist- Specified by:
isDisabledConnection
in interfaceLowLevelConnectionsManagerInterface
- Returns:
true
, wenn eine Verbindung deaktiviert ist, sonstfalse
-