public class TelegramManager extends java.lang.Object implements TelegramManagerTransactionInterface
Diese Klasse verarbeitet ankommende Datentelegramme, prüft ob der Absender erlaubt war die Daten zu verschicken (Anmeldung gültig), wendet eventuelle 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 and Description |
---|
TelegramManager(HighLevelConnectionsManagerInterface connectionsManager,
ServerDavParameters.UserRightsChecking userRightsChecking)
Erstellt einen neuen TelegramManager
|
Modifier and Type | Method and Description |
---|---|
static byte[] |
convertTelegramsToBytes(java.util.List<ApplicationDataTelegram> telegrams) |
static void |
dumpTelegrams(java.util.List<ApplicationDataTelegram> telegrams,
DafDataModel dataModel) |
HighLevelConnectionsManagerInterface |
getConnectionsManager() |
long |
getNextDataIndex(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,
ApplicationDataTelegram applicationDataTelegram,
boolean toCentralDistributor)
Verarbeitet ein eingehendes Datentelegram
|
void |
handleDataTelegram(CommunicationInterface communication,
TransmitterDataTelegram transmitterDataTelegram)
Verarbeitet ein eingehendes Datentelegram von einem anderen Datenverteiler
|
void |
notifyIsNewCentralDistributor(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(BaseSubscriptionInfo baseSubscriptionInfo) |
void |
sendTelegramsFromTransaction(boolean isSource,
ApplicationDataTelegram[] dataTelegrams)
Sendet ein Telegram.
|
void |
setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection,
ApplicationStatusUpdater applicationStatusUpdater)
Initialisiert Funktionen, die von der Konfiguration abhängen (z.B.
|
public TelegramManager(HighLevelConnectionsManagerInterface connectionsManager, ServerDavParameters.UserRightsChecking userRightsChecking)
Erstellt einen neuen TelegramManager
connectionsManager
- VerbindungsverwaltunguserRightsChecking
- Welche Art von Rechteprüfung durchgeführt werden sollpublic 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 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
Map<Long, List>
(leer falls die Rechteprüfung deaktivert ist).public HighLevelSubscriptionsManager getSubscriptionsManager()
public HighLevelConnectionsManagerInterface getConnectionsManager()
public void handleDataTelegram(CommunicationInterface communication, TransmitterDataTelegram transmitterDataTelegram)
Verarbeitet ein eingehendes Datentelegram von einem anderen Datenverteiler
communication
- Verbindung über die das Telegramm eingehttransmitterDataTelegram
- Telegrampublic void handleDataTelegram(CommunicationInterface communication, ApplicationDataTelegram applicationDataTelegram, boolean toCentralDistributor)
Verarbeitet ein eingehendes Datentelegram
communication
- Verbindung über die das Telegramm eingehtapplicationDataTelegram
- TelegramtoCentralDistributor
- wenn das Telegramm noch nicht beim Zentraldatenverteiler behandelt wurde, also der Datenindex noch nicht vernünftig gesetzt wurdepublic static void dumpTelegrams(java.util.List<ApplicationDataTelegram> telegrams, DafDataModel dataModel)
public void sendTelegramsFromTransaction(boolean isSource, ApplicationDataTelegram[] dataTelegrams)
TelegramManagerTransactionInterface
Sendet ein Telegram. Wird vom DavTransactionManager benutzt, um manuell Telegramme mit einem vorgegebenen Datenindex zu senden.
sendTelegramsFromTransaction
in interface TelegramManagerTransactionInterface
isSource
- true wenn QuelledataTelegrams
- Telegramm (oder mehrere falls gesplittet)public long getNextDataIndex(BaseSubscriptionInfo info)
Berechnet für eine Anmeldung den nächsten Datenindex und gibt diesen zurück
getNextDataIndex
in interface TelegramManagerTransactionInterface
info
- Anmeldungs-Infopublic void notifySubscriptionRemoved(LocalSendingSubscription sendingSubscription)
Benachrichtigt den _davTransactionManager dass eine lokale Anmeldung nicht mehr vorhanden ist. Der Transaktionsmanager meldet daraufhin eventuell vorhandene innere Datensätze ab.
sendingSubscription
- Sender-Anmeldungpublic void notifySubscriptionRemoved(LocalReceivingSubscription receivingSubscription)
Benachrichtigt den _davTransactionManager dass eine lokale Anmeldung nicht mehr vorhanden ist. Der Transaktionsmanager meldet daraufhin eventuell vorhandene innere Datensätze ab.
receivingSubscription
- Empfänger-Anmeldungpublic static byte[] convertTelegramsToBytes(java.util.List<ApplicationDataTelegram> telegrams)
public void notifyIsNewCentralDistributor(BaseSubscriptionInfo baseSubscriptionInfo)
public void notifyWasCentralDistributor(BaseSubscriptionInfo baseSubscriptionInfo)