TelegramManagerTransactionInterface
public class TelegramManager extends java.lang.Object implements TelegramManagerTransactionInterface
AccessControlPlugin
s auf die Telegramme an und gibt sie dann an das passende SubscriptionInfo
-Objekt
weiter, welches die Telegramme an interessierte Empfänger weiterleitet.Constructor | Description |
---|---|
TelegramManager(HighLevelConnectionsManagerInterface connectionsManager,
de.bsvrz.dav.daf.accessControl.AccessControlMode userRightsChecking) |
Erstellt einen neuen TelegramManager
|
Modifier and Type | Method | Description |
---|---|---|
static byte[] |
convertTelegramsToBytes(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams) |
|
static void |
dumpTelegrams(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams,
de.bsvrz.dav.daf.main.impl.config.DafDataModel dataModel) |
|
HighLevelConnectionsManagerInterface |
getConnectionsManager() |
|
long |
getNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo info) |
Berechnet für eine Anmeldung den nächsten Datenindex und gibt diesen zurück
|
java.util.Map<java.lang.Long,java.util.List<AccessControlPlugin>> |
getPluginFilterMap() |
Gibt eine Map zurück, die als Key die AttributeGroupUsage-ID speichert und als Value alle zuständigen Plugins in einer Liste enthält
|
HighLevelSubscriptionsManager |
getSubscriptionsManager() |
|
void |
handleDataTelegram(CommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram applicationDataTelegram,
long applicationId,
boolean toCentralDistributor) |
Verarbeitet ein eingehendes Datentelegram
|
void |
handleDataTelegram(CommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram) |
Verarbeitet ein eingehendes Datentelegram von einem anderen Datenverteiler
|
void |
notifyIsNewCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
|
void |
notifySubscriptionRemoved(LocalReceivingSubscription receivingSubscription) |
Benachrichtigt den _davTransactionManager dass eine lokale Anmeldung nicht mehr vorhanden ist.
|
void |
notifySubscriptionRemoved(LocalSendingSubscription sendingSubscription) |
Benachrichtigt den _davTransactionManager dass eine lokale Anmeldung nicht mehr vorhanden ist.
|
void |
notifyWasCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
|
void |
sendTelegramsFromTransaction(boolean isSource,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram[] dataTelegrams,
long applicationId) |
Sendet ein Telegram.
|
void |
setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection,
ApplicationStatusUpdater applicationStatusUpdater) |
Initialisiert Funktionen, die von der Konfiguration abhängen (z.B.
|
public TelegramManager(HighLevelConnectionsManagerInterface connectionsManager, de.bsvrz.dav.daf.accessControl.AccessControlMode userRightsChecking)
connectionsManager
- VerbindungsverwaltunguserRightsChecking
- Welche Art von Rechteprüfung durchgeführt werden sollpublic void setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection, ApplicationStatusUpdater applicationStatusUpdater)
selfClientDavConnection
- eigene Datenverteiler-VerbindungapplicationStatusUpdater
- Klasse, die angemeldete Datensätze verschicktpublic java.util.Map<java.lang.Long,java.util.List<AccessControlPlugin>> getPluginFilterMap()
Map<Long, List<AccessControlPluginInterface>>
(leer falls die Rechteprüfung deaktivert ist).public HighLevelSubscriptionsManager getSubscriptionsManager()
public HighLevelConnectionsManagerInterface getConnectionsManager()
public void handleDataTelegram(CommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)
communication
- Verbindung über die das Telegramm eingehttransmitterDataTelegram
- Telegrampublic void handleDataTelegram(CommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram applicationDataTelegram, long applicationId, boolean toCentralDistributor)
communication
- Verbindung über die das Telegramm eingehtapplicationDataTelegram
- TelegramapplicationId
- ID der sendenden ApplikationtoCentralDistributor
- wenn das Telegramm noch nicht beim Zentraldatenverteiler behandelt wurde, also der Datenindex noch nicht vernünftig gesetzt wurdepublic static void dumpTelegrams(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams, de.bsvrz.dav.daf.main.impl.config.DafDataModel dataModel)
public void sendTelegramsFromTransaction(boolean isSource, de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram[] dataTelegrams, long applicationId)
TelegramManagerTransactionInterface
sendTelegramsFromTransaction
in interface TelegramManagerTransactionInterface
isSource
- true wenn QuelledataTelegrams
- Telegramm (oder mehrere falls gesplittet)applicationId
- ID der sendenden Applikationpublic long getNextDataIndex(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo info)
getNextDataIndex
in interface TelegramManagerTransactionInterface
info
- Anmeldungs-Infopublic void notifySubscriptionRemoved(LocalSendingSubscription sendingSubscription)
sendingSubscription
- Sender-Anmeldungpublic void notifySubscriptionRemoved(LocalReceivingSubscription receivingSubscription)
receivingSubscription
- Empfänger-Anmeldungpublic static byte[] convertTelegramsToBytes(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams)
public void notifyIsNewCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
public void notifyWasCentralDistributor(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)