public abstract class AbstractSubscriptionsManager extends java.lang.Object implements SubscriptionsManager
| Modifier and Type | Field and 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 and Description |
|---|
AbstractSubscriptionsManager() |
| Modifier and Type | Method and 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, waitgetBestConnectionToRemoteDav, getPotentialCentralDistributors, getThisTransmitterId, isActionAllowed, isActionAllowed, notifyIsNewCentralDistributor, notifyWasCentralDistributor, objectToString, subscriptionToStringprotected 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 SubscriptionsManagerbaseSubscriptionInfo - 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 SubscriptionsManagerbaseSubscriptionInfo - baseSubscriptionInfopublic SubscriptionInfo getSubscriptionInfo(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
getSubscriptionInfo in interface SubscriptionsManagerbaseSubscriptionInfo - 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)
SubscriptionsManagerhandleTransmitterSubscriptionReceipt in interface SubscriptionsManagercommunication - 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)
SubscriptionsManagerupdateDestinationRoute in interface SubscriptionsManagertransmitterId - Dav-IdoldConnection - Alte VerbindungnewConnection - Neue bessere Verbindungpublic long getNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionsManagergetNextDataIndex in interface SubscriptionsManagerbaseSubscriptionInfo - Anmeldungpublic long getCurrentDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
SubscriptionsManagergetCurrentDataIndex in interface SubscriptionsManagerbaseSubscriptionInfo - Anmeldungpublic long getNextDataIndex(SubscriptionInfo subscriptionInfo)
subscriptionInfo - Anmeldungpublic void removeSubscriptionInfo(SubscriptionInfo subscriptionInfo)
SubscriptionsManagerremoveSubscriptionInfo in interface SubscriptionsManagersubscriptionInfo - Anmeldeinformationpublic void connectToRemoteDrains(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)
SubscriptionsManagerconnectToRemoteDrains in interface SubscriptionsManagersubscriptionInfo - AnmeldeinformationdistributorsToUse - Liste mit zu berücksichtigenden potentiellen Zentraldatenverteilernpublic void connectToRemoteSources(SubscriptionInfo subscriptionInfo, java.util.Set<java.lang.Long> distributorsToUse)
SubscriptionsManagerconnectToRemoteSources in interface SubscriptionsManagersubscriptionInfo - 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)