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.
Modifier and Type | Field and Description |
---|---|
private ClientDavParameters |
_clientDavParameters |
private boolean |
_closing |
private long |
_configurationId |
private static Debug |
_debug |
private java.util.Collection<java.lang.Long> |
_disabledConnections |
private HighLevelConnectionsManager |
_highLevelConnectionsManager |
private LowLevelApplicationConnections |
_lowLevelApplicationConnections |
private LowLevelAuthentication |
_lowLevelAuthentication |
private LowLevelTransmitterConnections |
_lowLevelTransmitterConnections |
private SystemObject |
_myTransmitter |
private SelfClientDavConnection |
_selfClientDavConnection |
private ServerDavParameters |
_serverDavParameters |
private java.util.Map<TransmitterInfo,CommunicationStateAndMessage> |
_stateMap |
private long |
_transmitterId |
private boolean |
_waitForParamDone |
private java.lang.Object |
_waitForParamLock |
Constructor and Description |
---|
LowLevelConnectionsManager(ServerDavParameters serverDavParameters)
Erzeugt eine neue Verbindungsverwaltung für den Datenverteiler.
|
Modifier and Type | Method and Description |
---|---|
T_A_HighLevelCommunication |
getApplicationConnection(long applicationId)
Gibt die angegebene Applikationsverbindung zurück
|
java.util.Collection<T_A_HighLevelCommunication> |
getApplicationConnections()
Gibt alle Appliaktionsverbindungen zurück
|
private AuthentificationComponent |
getAuthenticationComponent() |
ClientDavParameters |
getClientDavParameters()
Gibt die ClientDavParameters für die lokale Dav-Applikation zurück
|
private java.lang.Class<? extends ServerConnectionInterface> |
getCommunicationsProtocolClass() |
HighLevelConnectionsManager |
getHighLevelConnectionsManager() |
long |
getLocalModeConfigurationId()
Gibt die Id der lokalen Konfiguration zurück
|
java.lang.String |
getLocalModeConfigurationPid()
Gibt die Pid der lokalen Konfiguration zurück
|
LowLevelAuthenticationInterface |
getLowLevelAuthentication() |
SystemObject |
getMyTransmitter()
Gibt das eigene Datenverteiler-Objekt zurück
|
TransmitterConnectionInfo |
getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.
|
SelfClientDavConnection |
getSelfClientDavConnection()
Gibt die eigene ClientDavConnection zurück
|
ServerDavParameters |
getServerDavParameters()
Gibt die ServerDavParameters zurück
|
T_T_HighLevelCommunication |
getTransmitterConnection(long transmitterId)
Gibt die angegebene Dav-Dav-Verbindung zurück
|
TransmitterConnectionInfo |
getTransmitterConnectionInfo(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ück
|
long |
getTransmitterId()
Gibt die eigene Datenverteiler-id zurück
|
private SystemObject |
getTransmitterObject(DataModel dataModel)
Gibt das Transmitter-Objekt zurück.
|
short |
getWeight(long transmitterId)
Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen.
|
boolean |
isClosing()
Gibt true zurück, wenn der Datenverteiler sich gerade beendet
|
boolean |
isDisabledConnection(long remoteTransmitterId) |
UserLogin |
login(java.lang.String userName,
byte[] userPassword,
java.lang.String authentificationText,
AuthentificationProcess authentificationProcess,
java.lang.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 wurde
|
void |
removeConnection(T_T_HighLevelCommunication connection)
entfernt die angegebene Verbindung weil diese terminiert wurde
|
void |
setDisabledTransmitterConnections(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)
|
void |
setLocalConfigurationAvailable()
Wird aufgerufen, wenn die lokale konfiguration verfügbar ist
|
void |
setLocalModeParameter(java.lang.String configurationPid,
long configurationId)
Setzt die Parameter für eien lokale Konfiguration
|
void |
shutdown(boolean error,
java.lang.String message) |
java.lang.String |
toString() |
void |
updateApplicationId(T_A_HighLevelCommunication communication)
Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)
|
void |
updateCommunicationState()
Wird aufgerufen, wenn sich der Status einer verbundenen Dav-Dav-Verbindung geändert hat um beispielsweise die “atg.datenverteilerKommunikationsZustand” zu aktualisieren
|
void |
updateTransmitterId(T_T_HighLevelCommunication communication)
Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)
|
private void |
waitForParamReady(java.lang.String paramAppIncarnationName)
Wartet auf die Applikationsfertigmeldung der lokalen Parametrierung.
|
private static final Debug _debug
private final ServerDavParameters _serverDavParameters
private final long _transmitterId
private final long _configurationId
private final LowLevelApplicationConnections _lowLevelApplicationConnections
private final LowLevelTransmitterConnections _lowLevelTransmitterConnections
private final SelfClientDavConnection _selfClientDavConnection
private final SystemObject _myTransmitter
private final ClientDavParameters _clientDavParameters
private final LowLevelAuthentication _lowLevelAuthentication
private volatile boolean _closing
private final HighLevelConnectionsManager _highLevelConnectionsManager
private boolean _waitForParamDone
private final java.lang.Object _waitForParamLock
private java.util.Map<TransmitterInfo,CommunicationStateAndMessage> _stateMap
private java.util.Collection<java.lang.Long> _disabledConnections
public LowLevelConnectionsManager(ServerDavParameters serverDavParameters) throws DavInitializationException
Erzeugt eine neue Verbindungsverwaltung für den Datenverteiler.
serverDavParameters
- Die Parameter sind u. a. die Adressen und Subadressen der KommunikationskanäleDavInitializationException
private void waitForParamReady(java.lang.String paramAppIncarnationName) throws java.lang.InterruptedException
Wartet auf die Applikationsfertigmeldung der lokalen Parametrierung.
paramAppIncarnationName
- Inkarnationsname der Parametrierung deren Applikationsfertigmeldung abgewartet werden soll oder null
falls auf eine beliebige Parametrierung gewartet werden soll.java.lang.InterruptedException
public HighLevelConnectionsManager getHighLevelConnectionsManager()
private SystemObject getTransmitterObject(DataModel dataModel)
Gibt das Transmitter-Objekt zurück. Wirft eine IllegalArgumentException und produziert entsprechende Debug-Ausgabe wenn die angefragte DatenverteilerID zu keinem Datenverteiler der Konfiguration passt.
dataModel
- Datenmodellprivate AuthentificationComponent getAuthenticationComponent() throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
private java.lang.Class<? extends ServerConnectionInterface> getCommunicationsProtocolClass() throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public final long getTransmitterId()
LowLevelConnectionsManagerInterface
Gibt die eigene Datenverteiler-id zurück
getTransmitterId
in interface LowLevelConnectionsManagerInterface
public final void shutdown(boolean error, java.lang.String message)
shutdown
in interface LowLevelConnectionsManagerInterface
error
- True: ein Fehler ist aufgetretenmessage
- genauere Beschreibung des Fehlerspublic SelfClientDavConnection getSelfClientDavConnection()
LowLevelConnectionsManagerInterface
Gibt die eigene ClientDavConnection zurück
getSelfClientDavConnection
in interface LowLevelConnectionsManagerInterface
public SystemObject getMyTransmitter()
LowLevelConnectionsManagerInterface
Gibt das eigene Datenverteiler-Objekt zurück
getMyTransmitter
in interface LowLevelConnectionsManagerInterface
public java.lang.String toString()
toString
in class java.lang.Object
public void removeConnection(T_A_HighLevelCommunication connection)
LowLevelConnectionsManagerInterface
entfernt die angegebene Verbindung weil diese terminiert wurde
removeConnection
in interface LowLevelConnectionsManagerInterface
public void removeConnection(T_T_HighLevelCommunication connection)
LowLevelConnectionsManagerInterface
entfernt die angegebene Verbindung weil diese terminiert wurde
removeConnection
in interface LowLevelConnectionsManagerInterface
public java.lang.String getLocalModeConfigurationPid()
LowLevelConnectionsManagerInterface
Gibt die Pid der lokalen Konfiguration zurück
getLocalModeConfigurationPid
in interface LowLevelConnectionsManagerInterface
public long getLocalModeConfigurationId()
LowLevelConnectionsManagerInterface
Gibt die Id der lokalen Konfiguration zurück
getLocalModeConfigurationId
in interface LowLevelConnectionsManagerInterface
public LowLevelAuthenticationInterface getLowLevelAuthentication()
getLowLevelAuthentication
in interface LowLevelConnectionsManagerInterface
public void setLocalModeParameter(java.lang.String configurationPid, long configurationId)
LowLevelConnectionsManagerInterface
Setzt die Parameter für eien lokale Konfiguration
setLocalModeParameter
in interface LowLevelConnectionsManagerInterface
configurationPid
- Pid der KonfigurationconfigurationId
- Id der Konfigurationpublic void setLocalConfigurationAvailable()
LowLevelConnectionsManagerInterface
Wird aufgerufen, wenn die lokale konfiguration verfügbar ist
setLocalConfigurationAvailable
in interface LowLevelConnectionsManagerInterface
public ServerDavParameters getServerDavParameters()
LowLevelConnectionsManagerInterface
Gibt die ServerDavParameters zurück
getServerDavParameters
in interface LowLevelConnectionsManagerInterface
public ClientDavParameters getClientDavParameters()
LowLevelConnectionsManagerInterface
Gibt die ClientDavParameters für die lokale Dav-Applikation zurück
getClientDavParameters
in interface LowLevelConnectionsManagerInterface
public T_T_HighLevelCommunication getTransmitterConnection(long transmitterId)
LowLevelConnectionsManagerInterface
Gibt die angegebene Dav-Dav-Verbindung zurück
getTransmitterConnection
in interface LowLevelConnectionsManagerInterface
transmitterId
- Id den verbundenen Transmitterspublic T_A_HighLevelCommunication getApplicationConnection(long applicationId)
LowLevelConnectionsManagerInterface
Gibt die angegebene Applikationsverbindung zurück
getApplicationConnection
in interface LowLevelConnectionsManagerInterface
applicationId
- Id der verbundenen Applikationpublic short getWeight(long transmitterId)
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.
getWeight
in interface LowLevelConnectionsManagerInterface
transmitterId
- ID des DAVpublic TransmitterConnectionInfo getTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung von diesem Datenverteiler zum angegebenen Datenverteiler.
getTransmitterConnectionInfo
in interface LowLevelConnectionsManagerInterface
connectedTransmitterId
- ID des DAVpublic TransmitterConnectionInfo getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.
getRemoteTransmitterConnectionInfo
in interface LowLevelConnectionsManagerInterface
connectedTransmitterId
- ID des DAVpublic void updateApplicationId(T_A_HighLevelCommunication communication)
LowLevelConnectionsManagerInterface
Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)
updateApplicationId
in interface LowLevelConnectionsManagerInterface
communication
- Verbindungpublic void updateTransmitterId(T_T_HighLevelCommunication communication)
LowLevelConnectionsManagerInterface
Wird aufgerufen, sobald die ID einer Verbindung (sicher) bekannt ist (nach erfolgreicher Authentifizierung)
updateTransmitterId
in interface LowLevelConnectionsManagerInterface
communication
- Verbindungpublic java.util.Collection<T_A_HighLevelCommunication> getApplicationConnections()
LowLevelConnectionsManagerInterface
Gibt alle Appliaktionsverbindungen zurück
getApplicationConnections
in interface LowLevelConnectionsManagerInterface
public java.util.Collection<T_T_HighLevelCommunication> getTransmitterConnections()
LowLevelConnectionsManagerInterface
Gibt alle Datenverteilerverbindungen zurück
getTransmitterConnections
in interface LowLevelConnectionsManagerInterface
public boolean isClosing()
LowLevelConnectionsManagerInterface
Gibt true zurück, wenn der Datenverteiler sich gerade beendet
isClosing
in interface LowLevelConnectionsManagerInterface
public UserLogin login(java.lang.String userName, byte[] userPassword, java.lang.String authentificationText, AuthentificationProcess authentificationProcess, java.lang.String applicationTypePid)
LowLevelConnectionsManagerInterface
Loggt einen Benutzer ein, bzw. prüft die übergebenen Daten.
login
in interface LowLevelConnectionsManagerInterface
userName
- BenutzernameuserPassword
- BenutzerpasswortapplicationTypePid
- Applikations-Typ-Pidpublic void updateCommunicationState()
LowLevelConnectionsManagerInterface
Wird aufgerufen, wenn sich der Status einer verbundenen Dav-Dav-Verbindung geändert hat um beispielsweise die “atg.datenverteilerKommunikationsZustand” zu aktualisieren
updateCommunicationState
in interface LowLevelConnectionsManagerInterface
public void setDisabledTransmitterConnections(java.util.Collection<java.lang.Long> disabledConnections)
LowLevelConnectionsManagerInterface
Setzt die Datenverteiler (über deren IDs), zu denen keine Verbindung aufgenommen werden sollen, weil diese temporär deaktiviert wurden (über atg.deaktivierteVerbindungen)
setDisabledTransmitterConnections
in interface LowLevelConnectionsManagerInterface
disabledConnections
- Deaktivierte Datenverteiler-IDspublic boolean isDisabledConnection(long remoteTransmitterId)
isDisabledConnection
in interface LowLevelConnectionsManagerInterface