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 java.lang.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
Constructors Constructor Description LowLevelConnectionsManager(ServerDavParameters serverDavParameters)Erzeugt eine neue Verbindungsverwaltung für den Datenverteiler.
-
Method Summary
Modifier and Type Method Description T_A_HighLevelCommunicationgetApplicationConnection(long applicationId)Gibt die angegebene Applikationsverbindung zurückjava.util.Collection<T_A_HighLevelCommunication>getApplicationConnections()Gibt alle Appliaktionsverbindungen zurückde.bsvrz.dav.daf.main.ClientDavParametersgetClientDavParameters()Gibt die ClientDavParameters für die lokale Dav-Applikation zurückHighLevelConnectionsManagergetHighLevelConnectionsManager()longgetLocalModeConfigurationId()Gibt die Id der lokalen Konfiguration zurückjava.lang.StringgetLocalModeConfigurationPid()Gibt die Pid der lokalen Konfiguration zurückLowLevelAuthenticationInterfacegetLowLevelAuthentication()de.bsvrz.dav.daf.main.config.SystemObjectgetMyTransmitter()Gibt das eigene Datenverteiler-Objekt zurückde.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfogetRemoteTransmitterConnectionInfo(long connectedTransmitterId)Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.SelfClientDavConnectiongetSelfClientDavConnection()Gibt die eigene ClientDavConnection zurückServerDavParametersgetServerDavParameters()Gibt die ServerDavParameters zurückT_T_HighLevelCommunicationgetTransmitterConnection(long transmitterId)Gibt die angegebene Dav-Dav-Verbindung zurückde.bsvrz.dav.daf.main.impl.config.telegrams.TransmitterConnectionInfogetTransmitterConnectionInfo(long connectedTransmitterId)Bestimmt die Verbindungsinformationen für eine Verbindung von diesem Datenverteiler zum angegebenen Datenverteiler.java.util.Collection<T_T_HighLevelCommunication>getTransmitterConnections()Gibt alle Datenverteilerverbindungen zurücklonggetTransmitterId()Gibt die eigene Datenverteiler-id zurückshortgetWeight(long transmitterId)Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen.booleanisClosing()Gibttruezurück, wenn der Datenverteiler sich gerade beendetbooleanisDisabledConnection(long remoteTransmitterId)Gibttruezurück, wenn eine Verbindung deaktiviert istde.bsvrz.dav.daf.communication.protocol.UserLoginlogin(java.lang.String userName, byte[] userPassword, java.lang.String authentificationText, de.bsvrz.dav.daf.communication.lowLevel.AuthentificationProcess authentificationProcess, java.lang.String applicationTypePid)Loggt einen Benutzer ein, bzw. prüft die übergebenen Daten.voidremoveConnection(T_A_HighLevelCommunication connection)entfernt die angegebene Verbindung weil diese terminiert wurdevoidremoveConnection(T_T_HighLevelCommunication connection)entfernt die angegebene Verbindung weil diese terminiert wurdevoidsetDisabledTransmitterConnections(java.util.Collection<java.lang.Long> disabledConnections)Setzt die Datenverteiler (über deren IDs), zu denen keine Verbindung aufgenommen werden sollen, weil diese temporär deaktiviert wurden (über atg.deaktivierteVerbindungen)voidsetLocalConfigurationAvailable()Wird aufgerufen, wenn die lokale Konfigurationsverbindung verfügbar ist.voidsetLocalModeParameter(java.lang.String configurationPid, long configurationId)Setzt die Parameter für eine lokale Konfigurationvoidshutdown(boolean error, java.lang.String message)java.lang.StringtoString()voidupdateApplicationId(T_A_HighLevelCommunication communication)Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)voidupdateCommunicationState()Wird aufgerufen, wenn sich der Status einer verbundenen Dav-Dav-Verbindung geändert hat um beispielsweise die "atg.datenverteilerKommunikationsZustand" zu aktualisierenvoidupdateTransmitterId(T_T_HighLevelCommunication communication)Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)booleanwaitForParamReady(de.bsvrz.dav.daf.communication.protocol.UserLogin userId)Wartet darauf, dass die Parametrierung verfügbar ist.
-
-
-
Constructor Detail
-
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 Detail
-
getHighLevelConnectionsManager
public HighLevelConnectionsManager getHighLevelConnectionsManager()
-
getTransmitterId
public final long getTransmitterId()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die eigene Datenverteiler-id zurück- Specified by:
getTransmitterIdin interfaceLowLevelConnectionsManagerInterface- Returns:
- die eigene Datenverteiler-id
-
shutdown
public final void shutdown(boolean error, java.lang.String message)- Specified by:
shutdownin interfaceLowLevelConnectionsManagerInterface- Parameters:
error- True: ein Fehler ist aufgetretenmessage- genauere Beschreibung des Fehlers
-
getSelfClientDavConnection
public SelfClientDavConnection getSelfClientDavConnection()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die eigene ClientDavConnection zurück- Specified by:
getSelfClientDavConnectionin interfaceLowLevelConnectionsManagerInterface- Returns:
- die eigene ClientDavConnection
-
getMyTransmitter
public de.bsvrz.dav.daf.main.config.SystemObject getMyTransmitter()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt das eigene Datenverteiler-Objekt zurück- Specified by:
getMyTransmitterin interfaceLowLevelConnectionsManagerInterface- Returns:
- das eigene Datenverteiler-Objekt
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
removeConnection
public void removeConnection(T_A_HighLevelCommunication connection)
Description copied from interface:LowLevelConnectionsManagerInterfaceentfernt die angegebene Verbindung weil diese terminiert wurde- Specified by:
removeConnectionin interfaceLowLevelConnectionsManagerInterface
-
removeConnection
public void removeConnection(T_T_HighLevelCommunication connection)
Description copied from interface:LowLevelConnectionsManagerInterfaceentfernt die angegebene Verbindung weil diese terminiert wurde- Specified by:
removeConnectionin interfaceLowLevelConnectionsManagerInterface
-
getLocalModeConfigurationPid
public java.lang.String getLocalModeConfigurationPid()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die Pid der lokalen Konfiguration zurück- Specified by:
getLocalModeConfigurationPidin interfaceLowLevelConnectionsManagerInterface- Returns:
- die Pid der lokalen Konfiguration
-
getLocalModeConfigurationId
public long getLocalModeConfigurationId()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die Id der lokalen Konfiguration zurück- Specified by:
getLocalModeConfigurationIdin interfaceLowLevelConnectionsManagerInterface- Returns:
- die Id der lokalen Konfiguration
-
getLowLevelAuthentication
public LowLevelAuthenticationInterface getLowLevelAuthentication()
- Specified by:
getLowLevelAuthenticationin interfaceLowLevelConnectionsManagerInterface- Returns:
-
setLocalModeParameter
public void setLocalModeParameter(java.lang.String configurationPid, long configurationId)Description copied from interface:LowLevelConnectionsManagerInterfaceSetzt die Parameter für eine lokale Konfiguration- Specified by:
setLocalModeParameterin interfaceLowLevelConnectionsManagerInterface- Parameters:
configurationPid- Pid der KonfigurationconfigurationId- Id der Konfiguration
-
setLocalConfigurationAvailable
public void setLocalConfigurationAvailable()
Description copied from interface:LowLevelConnectionsManagerInterfaceWird aufgerufen, wenn die lokale Konfigurationsverbindung verfügbar ist.- Specified by:
setLocalConfigurationAvailablein interfaceLowLevelConnectionsManagerInterface
-
getServerDavParameters
public ServerDavParameters getServerDavParameters()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die ServerDavParameters zurück- Specified by:
getServerDavParametersin interfaceLowLevelConnectionsManagerInterface- Returns:
- die ServerDavParameters
-
getClientDavParameters
public de.bsvrz.dav.daf.main.ClientDavParameters getClientDavParameters()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die ClientDavParameters für die lokale Dav-Applikation zurück- Specified by:
getClientDavParametersin interfaceLowLevelConnectionsManagerInterface- Returns:
- die ClientDavParameters
-
getTransmitterConnection
public T_T_HighLevelCommunication getTransmitterConnection(long transmitterId)
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die angegebene Dav-Dav-Verbindung zurück- Specified by:
getTransmitterConnectionin interfaceLowLevelConnectionsManagerInterface- Parameters:
transmitterId- Id den verbundenen Transmitters- Returns:
- Existierende Verbindung mit dieser Id oder null falls nicht vorhanden
-
getApplicationConnection
public T_A_HighLevelCommunication getApplicationConnection(long applicationId)
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt die angegebene Applikationsverbindung zurück- Specified by:
getApplicationConnectionin 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:LowLevelConnectionsManagerInterfaceDiese 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:
getWeightin 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:
getTransmitterConnectionInfoin 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:
getRemoteTransmitterConnectionInfoin interfaceLowLevelConnectionsManagerInterface- Parameters:
connectedTransmitterId- ID des DAV- Returns:
- Verbindungsinformationen
-
updateApplicationId
public void updateApplicationId(T_A_HighLevelCommunication communication)
Description copied from interface:LowLevelConnectionsManagerInterfaceWird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)- Specified by:
updateApplicationIdin interfaceLowLevelConnectionsManagerInterface- Parameters:
communication- Verbindung
-
updateTransmitterId
public void updateTransmitterId(T_T_HighLevelCommunication communication)
Description copied from interface:LowLevelConnectionsManagerInterfaceWird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)- Specified by:
updateTransmitterIdin interfaceLowLevelConnectionsManagerInterface- Parameters:
communication- Verbindung
-
getApplicationConnections
public java.util.Collection<T_A_HighLevelCommunication> getApplicationConnections()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt alle Appliaktionsverbindungen zurück- Specified by:
getApplicationConnectionsin interfaceLowLevelConnectionsManagerInterface- Returns:
- alle Appliaktionsverbindungen
-
getTransmitterConnections
public java.util.Collection<T_T_HighLevelCommunication> getTransmitterConnections()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibt alle Datenverteilerverbindungen zurück- Specified by:
getTransmitterConnectionsin interfaceLowLevelConnectionsManagerInterface- Returns:
- alle Datenverteilerverbindungen
-
isClosing
public boolean isClosing()
Description copied from interface:LowLevelConnectionsManagerInterfaceGibttruezurück, wenn der Datenverteiler sich gerade beendet- Specified by:
isClosingin interfaceLowLevelConnectionsManagerInterface- Returns:
true, wenn der Datenverteiler sich gerade beendet, sonstfalse
-
login
public de.bsvrz.dav.daf.communication.protocol.UserLogin login(java.lang.String userName, byte[] userPassword, java.lang.String authentificationText, de.bsvrz.dav.daf.communication.lowLevel.AuthentificationProcess authentificationProcess, java.lang.String applicationTypePid)Description copied from interface:LowLevelConnectionsManagerInterfaceLoggt einen Benutzer ein, bzw. prüft die übergebenen Daten. Diese Methode wird von der alten HMAC-Authentifizierung benutzt.- Specified by:
loginin 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:
waitForParamReadyin 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:LowLevelConnectionsManagerInterfaceWird aufgerufen, wenn sich der Status einer verbundenen Dav-Dav-Verbindung geändert hat um beispielsweise die "atg.datenverteilerKommunikationsZustand" zu aktualisieren- Specified by:
updateCommunicationStatein interfaceLowLevelConnectionsManagerInterface
-
setDisabledTransmitterConnections
public void setDisabledTransmitterConnections(java.util.Collection<java.lang.Long> disabledConnections)
Description copied from interface:LowLevelConnectionsManagerInterfaceSetzt die Datenverteiler (über deren IDs), zu denen keine Verbindung aufgenommen werden sollen, weil diese temporär deaktiviert wurden (über atg.deaktivierteVerbindungen)- Specified by:
setDisabledTransmitterConnectionsin interfaceLowLevelConnectionsManagerInterface- Parameters:
disabledConnections- Deaktivierte Datenverteiler-IDs
-
isDisabledConnection
public boolean isDisabledConnection(long remoteTransmitterId)
Description copied from interface:LowLevelConnectionsManagerInterfaceGibttruezurück, wenn eine Verbindung deaktiviert ist- Specified by:
isDisabledConnectionin interfaceLowLevelConnectionsManagerInterface- Returns:
true, wenn eine Verbindung deaktiviert ist, sonstfalse
-
-