Class TelegramManager

    • Constructor Detail

      • TelegramManager

        public TelegramManager​(HighLevelConnectionsManagerInterface connectionsManager,
                               de.bsvrz.dav.daf.accessControl.AccessControlMode userRightsChecking)
        Erstellt einen neuen TelegramManager
        Parameters:
        connectionsManager - Verbindungsverwaltung
        userRightsChecking - Welche Art von Rechteprüfung durchgeführt werden soll
    • Method Detail

      • dumpTelegrams

        public static void dumpTelegrams​(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams,
                                         de.bsvrz.dav.daf.main.impl.config.DafDataModel dataModel)
      • convertTelegramsToBytes

        public static byte[] convertTelegramsToBytes​(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams)
      • setConfigurationAvailable

        public void setConfigurationAvailable​(SelfClientDavConnection selfClientDavConnection,
                                              ApplicationStatusUpdater applicationStatusUpdater)
        Initialisiert Funktionen, die von der Konfiguration abhängen (z.B. Rechteprüfung)
        Parameters:
        selfClientDavConnection - eigene Datenverteiler-Verbindung
        applicationStatusUpdater - Klasse, die angemeldete Datensätze verschickt
      • getPluginFilterMap

        public 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
        Returns:
        eine unveränderliche Map vom Typ Map<Long, List<AccessControlPluginInterface>> (leer falls die Rechteprüfung deaktivert ist).
      • handleDataTelegram

        public void handleDataTelegram​(CommunicationInterface communication,
                                       de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)
        Verarbeitet ein eingehendes Datentelegram von einem anderen Datenverteiler
        Parameters:
        communication - Verbindung über die das Telegramm eingeht
        transmitterDataTelegram - Telegram
      • handleDataTelegram

        public void handleDataTelegram​(CommunicationInterface communication,
                                       de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram applicationDataTelegram,
                                       long applicationId,
                                       boolean toCentralDistributor)
        Verarbeitet ein eingehendes Datentelegram
        Parameters:
        communication - Verbindung über die das Telegramm eingeht
        applicationDataTelegram - Telegram
        applicationId - ID der sendenden Applikation
        toCentralDistributor - wenn das Telegramm noch nicht beim Zentraldatenverteiler behandelt wurde, also der Datenindex noch nicht vernünftig gesetzt wurde
      • sendTelegramsFromTransaction

        public void sendTelegramsFromTransaction​(boolean isSource,
                                                 de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram[] dataTelegrams,
                                                 long applicationId)
        Description copied from interface: TelegramManagerTransactionInterface
        Sendet ein Telegram. Wird vom DavTransactionManager benutzt, um manuell Telegramme mit einem vorgegebenen Datenindex zu senden.
        Specified by:
        sendTelegramsFromTransaction in interface TelegramManagerTransactionInterface
        Parameters:
        isSource - true wenn Quelle
        dataTelegrams - Telegramm (oder mehrere falls gesplittet)
        applicationId - ID der sendenden Applikation
      • getNextDataIndex

        public 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
        Specified by:
        getNextDataIndex in interface TelegramManagerTransactionInterface
        Parameters:
        info - Anmeldungs-Info
        Returns:
        Ein Datenindex
      • notifySubscriptionRemoved

        public 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.
        Parameters:
        sendingSubscription - Sender-Anmeldung
      • notifySubscriptionRemoved

        public 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.
        Parameters:
        receivingSubscription - Empfänger-Anmeldung
      • notifyIsNewCentralDistributor

        public void notifyIsNewCentralDistributor​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
      • notifyWasCentralDistributor

        public void notifyWasCentralDistributor​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)