public final class HighLevelConnectionsManager extends 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.| Modifier and Type | Field and Description |
|---|---|
private ClientDavConnection |
_connection
Lokale Datenverteilerverbindung.
|
private DafDataModel |
_dataModel
Datenmodell.
|
private ConfigurationObject |
_davObject
Objekt, das das eigene Datenverteilerobjekt darstellt.
|
private static Debug |
_debug |
private HighLevelApplicationManager |
_highLevelApplicationManager
Klasse die Anwendungsverbindungen verwaltet und Telegramme verarbeitet
|
private HighLevelTransmitterManager |
_highLevelTransmitterManager
Klasse, die Datenverteiler-Verbindungen verwaltet, Telegramme verarbeitet und Anmeldelisten, Beste-Wege usw.
|
private ListsManager |
_listsManager |
private LowLevelConnectionsManagerInterface |
_lowLevelConnectionsManager
Referenz auf den
LowLevelConnectionsManager, der die einzelnen Applikations- und Datenverteiler-Verbindungen auf unterer Ebene speichert. |
private static String |
_pidTerminierung
ATG, die benötigt wird um Terminierungsanfragen für Applikationen und Dav-Verbindungen zu erhalten.
|
private TelegramManager |
_telegramManager
Der zugehörige Telegramm-Manager, der dafür sorgt, dass ankommende Anmelde, Abmelde und Daten-Telegramme (evtl.
|
private String |
_transmitterApplicationName
Applikationsname der lokalen Datenverteilerverbindung
|
private String |
_transmitterTypePid
Typ-Pid der lokalen Datenverteilerverbindung
|
private String |
_userName
Anmeldename des Datenverteilers z.B.
|
private String |
_userPassword
Passwort des Datenverteilers z.B.
|
| Constructor and Description |
|---|
HighLevelConnectionsManager(LowLevelConnectionsManagerInterface lowLevelConnectionsManager,
ServerDavParameters.UserRightsChecking userRightsChecking)
Initialisiert den HighLevelConnectionsManager
|
| Modifier and Type | Method and Description |
|---|---|
List<String> |
getAccessControlPluginsClassNames()
Gibt eine Liste mit den per Kommandozeile festgelegten Zugriffssteuerungs-Plugin-Klassennamen zurück
|
Collection<T_A_HighLevelCommunication> |
getAllApplicationConnections()
Gibt alle Applikationsverbindungen zurück
|
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(String configurationPid)
Gibt die ID der Konfiguration mit der gegebenen Pid zurück
|
ConfigurationObject |
getDavObject()
Gibt das Konfigurations-Objekt, das den datenverteiler repräsentiert zurück
|
long[] |
getPotentialCentralDistributors(BaseSubscriptionInfo baseSubscriptionInfo)
Gibt potentielle Zentraldatenverteiler für die angegebene Anmeldeinformation zurück
|
TransmitterConnectionInfo |
getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
Bestimmt die Verbindungsinformationen für eine Verbindung vom angegebenen Datenverteiler zu diesem Datenverteiler.
|
String |
getStoredPassword(String userName)
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
|
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
|
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
|
String |
getTransmitterTypePid()
Gibt den Typ der lokalen ClientDav-Verbindung zurück
|
String |
getUserName()
Gibt den Benutzernamen zurück unter dem der Datenverteiler läuft
|
String |
getUserPassword()
Gibt das Passwort 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.
|
private void |
initializeTerminationQueries()
Initialisiert die Anfragen zur Terminierung.
|
boolean |
isClosing()
Gibt true zurück, wenn sich der Datenverteiler gerade beendet
|
private void |
publishReleaseInfo() |
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,
String message)
Beendet den Datenverteiler
|
void |
updateListsNewLocalSubscription(BaseSubscriptionInfo baseSubscriptionInfo)
Informiert die Anmeldelisten, dass dieser Datenverteiler Zentraldatenverteiler für die angegebene Anmeldung geworden ist
|
void |
updateListsRemovedLocalSubscription(BaseSubscriptionInfo baseSubscriptionInfo)
Informiert die Anmeldelisten, dass dieser Datenverteiler nicht mehr Zentraldatenverteiler für die angegebene Anmeldung ist
|
void |
userLoggedIn(long userId) |
private static final Debug _debug
private final HighLevelApplicationManager _highLevelApplicationManager
private volatile HighLevelTransmitterManager _highLevelTransmitterManager
private volatile DafDataModel _dataModel
private volatile ClientDavConnection _connection
private final TelegramManager _telegramManager
HighLevelSubscriptionsManager ein.private final LowLevelConnectionsManagerInterface _lowLevelConnectionsManager
LowLevelConnectionsManager, der die einzelnen Applikations- und Datenverteiler-Verbindungen auf unterer Ebene speichert.private final String _transmitterTypePid
private final String _transmitterApplicationName
private final String _userName
private final String _userPassword
private static final String _pidTerminierung
private ConfigurationObject _davObject
private ListsManager _listsManager
public HighLevelConnectionsManager(LowLevelConnectionsManagerInterface lowLevelConnectionsManager, ServerDavParameters.UserRightsChecking userRightsChecking)
lowLevelConnectionsManager - LowLevelConnectionsManageruserRightsChecking - public void setSelfClientDavConnection(SelfClientDavConnection selfClientDavConnection)
selfClientDavConnection - selfClientDavConnectionprivate void initializeTerminationQueries()
private void publishReleaseInfo()
public HighLevelApplicationManager getApplicationManager()
public HighLevelTransmitterManager getTransmitterManager()
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(String configurationPid)
getConfigurationId in interface HighLevelConnectionsManagerInterfaceconfigurationPid - Die Pid der KonfigurationIllegalStateException - falls noch keine Verbindung zur Konfiguration bestehtpublic String getTransmitterTypePid()
HighLevelConnectionsManagerInterfacegetTransmitterTypePid in interface HighLevelConnectionsManagerInterfacepublic String getTransmitterApplicationName()
HighLevelConnectionsManagerInterfacegetTransmitterApplicationName in interface HighLevelConnectionsManagerInterfacepublic long getTransmitterId()
HighLevelConnectionsManagerInterfacegetTransmitterId in interface HighLevelConnectionsManagerInterfacepublic String getUserName()
HighLevelConnectionsManagerInterfacegetUserName in interface HighLevelConnectionsManagerInterfacepublic String getUserPassword()
HighLevelConnectionsManagerInterfacegetUserPassword in interface HighLevelConnectionsManagerInterfacepublic String getStoredPassword(String userName)
getStoredPassword in interface HighLevelConnectionsManagerInterfaceuserName - Benutzernamepublic short getWeight(long transmitterId)
getWeight in interface HighLevelConnectionsManagerInterfacetransmitterId - ID des anderen Datenverteilerspublic TransmitterConnectionInfo getTransmitterConnectionInfo(long connectedTransmitterId)
getTransmitterConnectionInfo in interface HighLevelConnectionsManagerInterfaceconnectedTransmitterId - Verbundener Datenverteilerpublic 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 Collection<T_A_HighLevelCommunication> getAllApplicationConnections()
getAllApplicationConnections in interface HighLevelConnectionsManagerInterfacepublic Collection<T_T_HighLevelCommunication> getAllTransmitterConnections()
getAllTransmitterConnections in interface HighLevelConnectionsManagerInterfacepublic void shutdown(boolean isError,
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 List<String> getAccessControlPluginsClassNames()
getAccessControlPluginsClassNames in interface HighLevelConnectionsManagerInterfacepublic ConfigurationObject getDavObject()
HighLevelConnectionsManagerInterfacegetDavObject in interface HighLevelConnectionsManagerInterfacepublic long[] getPotentialCentralDistributors(BaseSubscriptionInfo baseSubscriptionInfo)
HighLevelConnectionsManagerInterfacegetPotentialCentralDistributors in interface HighLevelConnectionsManagerInterfacebaseSubscriptionInfo - Anmeldeinformationpublic T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav(long remoteDav)
HighLevelConnectionsManagerInterfacegetBestConnectionToRemoteDav in interface HighLevelConnectionsManagerInterfacepublic void updateListsNewLocalSubscription(BaseSubscriptionInfo baseSubscriptionInfo)
HighLevelConnectionsManagerInterfaceupdateListsNewLocalSubscription in interface HighLevelConnectionsManagerInterfacebaseSubscriptionInfo - Anmeldungpublic void updateListsRemovedLocalSubscription(BaseSubscriptionInfo baseSubscriptionInfo)
HighLevelConnectionsManagerInterfaceupdateListsRemovedLocalSubscription in interface HighLevelConnectionsManagerInterfacebaseSubscriptionInfo - Anmeldungpublic boolean isClosing()
HighLevelConnectionsManagerInterfaceisClosing in interface HighLevelConnectionsManagerInterfacepublic HighLevelSubscriptionsManager getSubscriptionsManager()
HighLevelConnectionsManagerInterfacegetSubscriptionsManager in interface HighLevelConnectionsManagerInterfacepublic void userLoggedIn(long userId)