public class HighLevelSubscriptionsManager extends AbstractSubscriptionsManager
Diese Klasse bietet Funktionen um die Anmeldungen zu verwalten. Bei neuen Datenanmeldungen werden entsprechend neue Anmeldeklassen (SubscriptionInfo) erstellt, welche den Status der angemeldeten Applikationen und Datenverteiler ermitteln und entsprechend veröffentlichen.
| Modifier and Type | Field and Description |
|---|---|
private AccessControlManager |
_accessControlManager
Verwaltungsklasse für Zugriffsrechte
|
private ApplicationStatusUpdater |
_applicationStatusUpdater |
private ClientDavConnection |
_connection
Eigene Applikation-Verbindung zum Datenverteiler
|
private HighLevelConnectionsManagerInterface |
_connectionsManager
Verbindungsverwaltung
|
private static Debug |
_debug |
private TelegramManager |
_telegramManager
Verwaltungsklasse für Telegramme
|
private ServerDavParameters.UserRightsChecking |
_userRightsChecking
Legt fest, ob die Rechteprüfung aktiviert ist
|
_dataIndexCounter, _subscriptions| Constructor and Description |
|---|
HighLevelSubscriptionsManager(TelegramManager telegramManager,
ServerDavParameters.UserRightsChecking userRightsChecking)
Initialisiert den Anmeldungsmanager
|
| Modifier and Type | Method and Description |
|---|---|
void |
addLocalReceiveSubscription(ApplicationCommunicationInterface application,
ReceiveSubscriptionInfo receiveSubscriptionInfo)
Meldet einen lokalen Empfänger oder eine lokale Senke an
|
void |
addLocalSendSubscription(ApplicationCommunicationInterface application,
SendSubscriptionInfo sendSubscriptionInfo)
Meldet einen lokalen Sender oder eine lokale Quelle an
|
(package private) AccessControlManager |
getAccessControlManager()
Gibt den AccessControlManager zurück
|
java.util.Collection<? extends Subscription> |
getAllSubscriptions(long applicationId) |
T_T_HighLevelCommunicationInterface |
getBestConnectionToRemoteDav(long remoteDav)
Gibt die beste Verbindung zum angegebenen Datenverteiler zurück
|
java.util.List<java.lang.Long> |
getPotentialCentralDistributors(BaseSubscriptionInfo baseSubscriptionInfo)
Gibt zu einer Anmeldungen die potentiellen Zentraldatenverteiler zurück
|
TelegramManager |
getTelegramManager() |
long |
getThisTransmitterId()
Gibt die eigene Dav-ID zurück
|
void |
handleListsUpdate(long[] objectIds,
AttributeGroupAspectCombination[] attributeGroupAspectCombinations)
Wird bei einem Update der Anmeldelisten aufgerufen.
|
void |
initializeUser(long userId)
Initialisiert die Zugriffsrechte für den angegebenen Benutzer
|
boolean |
isActionAllowed(UserLogin userLogin,
BaseSubscriptionInfo info,
UserAction action)
Führt eine Rechteprüfung durch
|
void |
notifyIsNewCentralDistributor(BaseSubscriptionInfo baseSubscriptionInfo)
Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung Zentraldatenverteiler geworden ist, z.B. um die Anmeldelisten zu aktualisieren
|
void |
notifyWasCentralDistributor(BaseSubscriptionInfo baseSubscriptionInfo)
Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung nicht mehr Zentraldatenverteiler ist, z.B. um die Anmeldelisten zu aktualisieren
|
java.lang.String |
objectToString(long objectId)
Formatiert eine Id zu einem Text der sich in Fehlerausgaben und ähnlichem eignet
|
void |
removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application,
BaseSubscriptionInfo baseSubscriptionInfo)
Meldet einen lokalen Empfänger oder eine lokale Senke ab.
|
void |
removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application,
SubscriptionInfo subscriptionInfo)
Meldet einen lokalen Empfänger oder eine lokale Senke ab.
|
void |
removeLocalSendSubscription(ApplicationCommunicationInterface application,
BaseSubscriptionInfo baseSubscriptionInfo)
Meldet einen lokalen Sender oder eine lokale Quelle ab.
|
void |
removeLocalSendSubscriptions(ApplicationCommunicationInterface application,
SubscriptionInfo subscriptionInfo)
Meldet einen lokalen Senker oder eine lokale Quelle ab.
|
void |
setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection,
ApplicationStatusUpdater applicationStatusUpdater)
Initialisiert Funktionen, die von der Konfiguration abhängen (z.B.
|
java.lang.String |
subscriptionToString(BaseSubscriptionInfo baseSubscriptionInfo)
Formatiert eine baseSubscriptionInfo zu einem String, der sich zur Darstellung in Fehlerausgaben u.ä. eignet
|
connectToRemoteDrains, connectToRemoteSources, dataIndexToString, getAllSubscriptions, getCurrentDataIndex, getNextDataIndex, getNextDataIndex, getSubscriptionInfo, handleTransmitterSubscriptionReceipt, handleUserRightsChanged, openExistingSubscriptionInfo, openSubscriptionInfo, removeAllSubscriptions, removeAllSubscriptions, removeSubscriptionInfo, updateDestinationRouteprivate final HighLevelConnectionsManagerInterface _connectionsManager
Verbindungsverwaltung
private final ServerDavParameters.UserRightsChecking _userRightsChecking
Legt fest, ob die Rechteprüfung aktiviert ist
private volatile AccessControlManager _accessControlManager
Verwaltungsklasse für Zugriffsrechte
private final TelegramManager _telegramManager
Verwaltungsklasse für Telegramme
private volatile ClientDavConnection _connection
Eigene Applikation-Verbindung zum Datenverteiler
private ApplicationStatusUpdater _applicationStatusUpdater
private static final Debug _debug
public HighLevelSubscriptionsManager(TelegramManager telegramManager, ServerDavParameters.UserRightsChecking userRightsChecking)
Initialisiert den Anmeldungsmanager
telegramManager - Telegramm-ManageruserRightsChecking - Ob die Zugriffsrechteprüfung aktiviert istpublic void setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection, ApplicationStatusUpdater applicationStatusUpdater)
Initialisiert Funktionen, die von der Konfiguration abhängen (z.B. Rechteprüfung)
selfClientDavConnection - eigene Datenverteiler-VerbindungapplicationStatusUpdater - Klasse, die angemeldete Datensätze verschicktpublic void addLocalSendSubscription(ApplicationCommunicationInterface application, SendSubscriptionInfo sendSubscriptionInfo)
AbstractSubscriptionsManagerMeldet einen lokalen Sender oder eine lokale Quelle an
addLocalSendSubscription in class AbstractSubscriptionsManagerapplication - VerbindungsendSubscriptionInfo - Anmeldeparameterpublic void removeLocalSendSubscription(ApplicationCommunicationInterface application, BaseSubscriptionInfo baseSubscriptionInfo)
AbstractSubscriptionsManagerMeldet einen lokalen Sender oder eine lokale Quelle ab. Gibt eine Warnung aus, falls die angegebene Anmeldung nicht besteht
removeLocalSendSubscription in class AbstractSubscriptionsManagerapplication - VerbindungbaseSubscriptionInfo - Objekt und Attributgruppenverwendungpublic void addLocalReceiveSubscription(ApplicationCommunicationInterface application, ReceiveSubscriptionInfo receiveSubscriptionInfo)
AbstractSubscriptionsManagerMeldet einen lokalen Empfänger oder eine lokale Senke an
addLocalReceiveSubscription in class AbstractSubscriptionsManagerapplication - VerbindungreceiveSubscriptionInfo - Anmeldeparameterpublic void removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application, BaseSubscriptionInfo baseSubscriptionInfo)
AbstractSubscriptionsManagerMeldet einen lokalen Empfänger oder eine lokale Senke ab. Gibt eine Warnung aus, falls die angegebene Anmeldung nicht besteht
removeLocalReceiveSubscriptions in class AbstractSubscriptionsManagerapplication - VerbindungbaseSubscriptionInfo - Objekt und Attributgruppenverwendungpublic final boolean isActionAllowed(UserLogin userLogin, BaseSubscriptionInfo info, UserAction action)
Führt eine Rechteprüfung durch
userLogin - Benutzer-IDinfo - Anmeldeinfoaction - Aktionpublic java.lang.String subscriptionToString(BaseSubscriptionInfo baseSubscriptionInfo)
Formatiert eine baseSubscriptionInfo zu einem String, der sich zur Darstellung in Fehlerausgaben u.ä. eignet
baseSubscriptionInfo - baseSubscriptionInfopublic java.lang.String objectToString(long objectId)
Formatiert eine Id zu einem Text der sich in Fehlerausgaben und ähnlichem eignet
objectId - Idpublic long getThisTransmitterId()
SubscriptionsManagerGibt die eigene Dav-ID zurück
AccessControlManager getAccessControlManager()
Gibt den AccessControlManager zurück
public void notifyIsNewCentralDistributor(BaseSubscriptionInfo baseSubscriptionInfo)
Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung Zentraldatenverteiler geworden ist, z.B. um die Anmeldelisten zu aktualisieren
baseSubscriptionInfo - public void notifyWasCentralDistributor(BaseSubscriptionInfo baseSubscriptionInfo)
Wird aufgerufen, wenn dieser Datenverteiler für eine Anmeldung nicht mehr Zentraldatenverteiler ist, z.B. um die Anmeldelisten zu aktualisieren
baseSubscriptionInfo - public TelegramManager getTelegramManager()
public java.util.List<java.lang.Long> getPotentialCentralDistributors(BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionsManagerGibt zu einer Anmeldungen die potentiellen Zentraldatenverteiler zurück
baseSubscriptionInfo - Anmeldungpublic T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav(long remoteDav)
SubscriptionsManagerGibt die beste Verbindung zum angegebenen Datenverteiler zurück
public void handleListsUpdate(long[] objectIds,
AttributeGroupAspectCombination[] attributeGroupAspectCombinations)
Wird bei einem Update der Anmeldelisten aufgerufen. Anmeldungen, die die betreffenden Objekte oder Attributgruppenverwendungen
objectIds - Neue ObjekteattributeGroupAspectCombinations - Neue Attributgruppenverwendungenpublic java.util.Collection<? extends Subscription> getAllSubscriptions(long applicationId)
public void removeLocalSendSubscriptions(ApplicationCommunicationInterface application, SubscriptionInfo subscriptionInfo)
Meldet einen lokalen Senker oder eine lokale Quelle ab.
removeLocalSendSubscriptions in class AbstractSubscriptionsManagerapplication - AnwendungsubscriptionInfo - subscriptionInfopublic void removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application, SubscriptionInfo subscriptionInfo)
Meldet einen lokalen Empfänger oder eine lokale Senke ab.
removeLocalReceiveSubscriptions in class AbstractSubscriptionsManagerapplication - AnwendungsubscriptionInfo - subscriptionInfopublic void initializeUser(long userId)
AbstractSubscriptionsManagerInitialisiert die Zugriffsrechte für den angegebenen Benutzer
initializeUser in class AbstractSubscriptionsManageruserId - Benutzer-ID (muss in der lokalen Konfiguration existieren)