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 AccessControlPlugins 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)
TelegramManagerTransactionInterfaceSendet ein Telegram. Wird vom DavTransactionManager benutzt, um manuell Telegramme mit einem vorgegebenen Datenindex zu senden.
sendTelegramsFromTransaction in interface TelegramManagerTransactionInterfaceisSource - 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 TelegramManagerTransactionInterfaceinfo - 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)