SubscriptionsManager
HighLevelSubscriptionsManager
public abstract class AbstractSubscriptionsManager extends java.lang.Object implements SubscriptionsManager
Modifier and Type | Field | Description |
---|---|---|
protected DataIndexCounter<de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo> |
_dataIndexCounter |
|
protected java.util.concurrent.ConcurrentHashMap<de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo,SubscriptionInfo> |
_subscriptions |
HashMap mit der Zuordnung einer Anmeldeklasse zu einer BaseSubscriptionInfo.
|
Constructor | Description |
---|---|
AbstractSubscriptionsManager() |
Modifier and Type | Method | Description |
---|---|---|
void |
addLocalReceiveSubscription(ApplicationCommunicationInterface application,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.ReceiveSubscriptionInfo receiveSubscriptionInfo) |
Meldet einen lokalen Empfänger oder eine lokale Senke an
|
void |
addLocalSendSubscription(ApplicationCommunicationInterface application,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.SendSubscriptionInfo sendSubscriptionInfo) |
Meldet einen lokalen Sender oder eine lokale Quelle an
|
void |
connectToRemoteDrains(SubscriptionInfo subscriptionInfo,
java.util.Set<java.lang.Long> distributorsToUse) |
Führt Anmeldungen bei potentiellen Zentraldatenverteilern auf eine Senke durch
|
void |
connectToRemoteSources(SubscriptionInfo subscriptionInfo,
java.util.Set<java.lang.Long> distributorsToUse) |
Führt Anmeldungen bei potentiellen Zentraldatenverteilern auf eine Quelle durch
|
static java.lang.String |
dataIndexToString(long c) |
|
java.util.Collection<? extends Subscription> |
getAllSubscriptions(CommunicationInterface communicationInterface) |
|
long |
getCurrentDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
Gibt den aktuellen (zuletzt generierten) Datenindex für die angegebene Anmeldung zurück
|
long |
getNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
Gibt den nächsten Datenindex für die angegebene Anmeldung zurück und zählt den Index entsprechend hoch
|
long |
getNextDataIndex(SubscriptionInfo subscriptionInfo) |
Gibt den nächsten Datenindex für die angegebene Anmeldung zurück und zählt den Index entsprechend hoch
|
SubscriptionInfo |
getSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück.
|
void |
handleTransmitterSubscriptionReceipt(TransmitterCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterSubscriptionType transmitterSubscriptionType,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo,
ConnectionState connectionState,
long mainTransmitterId) |
behandelt eine Anmeldungsquittung von einem anderen Datenverteiler
|
void |
handleUserRightsChanged(long userId) |
Prüft von allen Anmeldungen die den Benutzer betreffen die Rechte erneut
|
void |
initializeUser(long userId) |
Initialisiert die Zugriffsrechte für den angegebenen Benutzer
|
SubscriptionInfo |
openExistingSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück.
|
SubscriptionInfo |
openSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
Gibt zu einer baseSubscriptionInfo die zugehörige Anmeldungsinfo zurück oder erstellt diese falls sie nicht existiert.
|
void |
removeAllSubscriptions(ApplicationCommunicationInterface communication) |
Entfernt von einer Verbindung alle Anmeldungen (sinnvoll z.B. bei Terminierung der Verbindung)
|
void |
removeAllSubscriptions(TransmitterCommunicationInterface communication) |
Entfernt von einer Verbindung alle Anmeldungen (sinnvoll z.B. bei Terminierung der Verbindung)
|
void |
removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.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,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.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 |
removeSubscriptionInfo(SubscriptionInfo subscriptionInfo) |
Entfernt eine Anmeldeinformation.
|
void |
updateDestinationRoute(long transmitterId,
TransmitterCommunicationInterface oldConnection,
TransmitterCommunicationInterface newConnection) |
Wird aufgerufen, wenn es zu einer Dav-id eine bessere Route gibt, sorgt für entsprechende Anmeldeumleitungen
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBestConnectionToRemoteDav, getPotentialCentralDistributors, getThisTransmitterId, isActionAllowed, isActionAllowed, notifyIsNewCentralDistributor, notifyWasCentralDistributor, objectToString, subscriptionToString
protected final java.util.concurrent.ConcurrentHashMap<de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo,SubscriptionInfo> _subscriptions
protected final DataIndexCounter<de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo> _dataIndexCounter
public static java.lang.String dataIndexToString(long c)
public SubscriptionInfo openSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionInfo.close()
aufgerufen werden, damit eventuelle Aufräumarbeiten erledigt werden können.openSubscriptionInfo
in interface SubscriptionsManager
baseSubscriptionInfo
- baseSubscriptionInfopublic SubscriptionInfo openExistingSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionInfo.close()
aufgerufen werden, damit eventuelle Aufräumarbeiten erledigt werden können.openExistingSubscriptionInfo
in interface SubscriptionsManager
baseSubscriptionInfo
- baseSubscriptionInfopublic SubscriptionInfo getSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
getSubscriptionInfo
in interface SubscriptionsManager
baseSubscriptionInfo
- baseSubscriptionInfopublic void addLocalSendSubscription(ApplicationCommunicationInterface application, de.bsvrz.dav.daf.communication.lowLevel.telegrams.SendSubscriptionInfo sendSubscriptionInfo)
application
- VerbindungsendSubscriptionInfo
- Anmeldeparameterpublic void removeLocalSendSubscription(ApplicationCommunicationInterface application, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
application
- VerbindungbaseSubscriptionInfo
- Objekt und Attributgruppenverwendungpublic void addLocalReceiveSubscription(ApplicationCommunicationInterface application, de.bsvrz.dav.daf.communication.lowLevel.telegrams.ReceiveSubscriptionInfo receiveSubscriptionInfo)
application
- VerbindungreceiveSubscriptionInfo
- Anmeldeparameterpublic void removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
application
- VerbindungbaseSubscriptionInfo
- Objekt und Attributgruppenverwendungpublic void handleUserRightsChanged(long userId)
userId
- Id des Benutzerspublic void removeLocalSendSubscriptions(ApplicationCommunicationInterface application, SubscriptionInfo subscriptionInfo)
application
- AnwendungsubscriptionInfo
- subscriptionInfopublic void removeLocalReceiveSubscriptions(ApplicationCommunicationInterface application, SubscriptionInfo subscriptionInfo)
application
- AnwendungsubscriptionInfo
- subscriptionInfopublic void removeAllSubscriptions(ApplicationCommunicationInterface communication)
communication
- Verbindungpublic void removeAllSubscriptions(TransmitterCommunicationInterface communication)
communication
- Verbindungpublic void handleTransmitterSubscriptionReceipt(TransmitterCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterSubscriptionType transmitterSubscriptionType, de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, ConnectionState connectionState, long mainTransmitterId)
SubscriptionsManager
handleTransmitterSubscriptionReceipt
in interface SubscriptionsManager
communication
- Verbindung zum anderen DavtransmitterSubscriptionType
- Art der Anmeldung (Sender/Empfänger)baseSubscriptionInfo
- AnmeldeinformationconnectionState
- Rückmeldung des anderen Datenverteilers (Zuständig, nicht zuständig, etc.)mainTransmitterId
- Zentraldatenverteiler-ID sofern verfügbarpublic void updateDestinationRoute(long transmitterId, TransmitterCommunicationInterface oldConnection, TransmitterCommunicationInterface newConnection)
SubscriptionsManager
updateDestinationRoute
in interface SubscriptionsManager
transmitterId
- Dav-IdoldConnection
- Alte VerbindungnewConnection
- Neue bessere Verbindungpublic long getNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionsManager
getNextDataIndex
in interface SubscriptionsManager
baseSubscriptionInfo
- Anmeldungpublic long getCurrentDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionsManager
getCurrentDataIndex
in interface SubscriptionsManager
baseSubscriptionInfo
- Anmeldungpublic long getNextDataIndex(SubscriptionInfo subscriptionInfo)
subscriptionInfo
- Anmeldungpublic void removeSubscriptionInfo(SubscriptionInfo subscriptionInfo)
SubscriptionsManager
removeSubscriptionInfo
in interface SubscriptionsManager
subscriptionInfo
- Anmeldeinformationpublic void connectToRemoteDrains(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)
SubscriptionsManager
connectToRemoteDrains
in interface SubscriptionsManager
subscriptionInfo
- AnmeldeinformationdistributorsToUse
- Liste mit zu berücksichtigenden potentiellen Zentraldatenverteilernpublic void connectToRemoteSources(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)
SubscriptionsManager
connectToRemoteSources
in interface SubscriptionsManager
subscriptionInfo
- AnmeldeinformationdistributorsToUse
- Liste mit zu berücksichtigenden potentiellen Zentraldatenverteilernpublic java.util.Collection<? extends Subscription> getAllSubscriptions(CommunicationInterface communicationInterface)
public void initializeUser(long userId)
userId
- Benutzer-ID (muss in der lokalen Konfiguration existieren)