Class ArchiveAccessControlPlugin

  • All Implemented Interfaces:
    AccessControlPlugin

    public class ArchiveAccessControlPlugin
    extends java.lang.Object
    implements AccessControlPlugin
    Zugriffssteuerungs-Plugin für den Datenverteiler, das Archivanfragen überwacht.
    • Constructor Detail

      • ArchiveAccessControlPlugin

        public ArchiveAccessControlPlugin()
    • Method Detail

      • initialize

        public void initialize​(de.bsvrz.dav.daf.accessControl.AccessControlManager accessControlManager,
                               de.bsvrz.dav.daf.main.ClientDavInterface clientDavInterface)
        Description copied from interface: AccessControlPlugin
        Wird aufgerufen, nachdem das Plugin instantiiert wurde. Hiermit wird dem Plugin eine Verbindung zum Datenverteiler übergeben.
        Specified by:
        initialize in interface AccessControlPlugin
        Parameters:
        accessControlManager - Klasse, die die Standard-Zugriffsrechte verwaltet.
        clientDavInterface - Verbindung zum Datenverteiler
      • handleData

        @Nullable
        public de.bsvrz.dav.daf.main.Data handleData​(long userID,
                                                     de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo,
                                                     de.bsvrz.dav.daf.main.Data data)
        Description copied from interface: AccessControlPlugin
        Wird aufgerufen wenn ein Datenpaket eintrifft, dass den in AccessControlPlugin.getAttributeGroupUsagesToFilter() angegebenen Attributgruppenverwendungen entspricht. Die Funktion kann
        • das Datenpaket unverändert weitergeben
        • das Datenpaket modifizieren
        • ein neues Datenobjekt erstellen
        • das Datenpaket verwerfen
        Specified by:
        handleData in interface AccessControlPlugin
        Parameters:
        userID - Benutzer-ID, von dem das Datenpaket stammt. Ist nicht zwingend der Benutzer, der das Datenpaket abgesendet hat, sondern kann auch der Benutzer des Datenverteilers sein, der das Paket zuletzt verarbeitet hat. Die Standard-Berechtigungen zu diesem Benutzer können mit DafAccessControlManager.getUserPermissions(long) gelesen werden.
        baseSubscriptionInfo - Anmeldung für die das Datenpaket verschickt wurde.
        data - Datenpaket, das gefiltert wurde.
        Returns:
        data
        Wenn das Datenpaket unverändert weitergesendet werden soll, ist der Parameter data zurückzugeben.
        data.createModifiableCopy()
        Wenn das Datenpaket verändert werden soll, kann mit data.createModifiableCopy() eine veränderbare Kopie erzeugt und entsprechend verändert werden. Diese Kopie ist dann zurückzugeben.
        clientDavInterface.createData()
        Mit der in AccessControlPlugin.initialize(AccessControlManager, de.bsvrz.dav.daf.main.ClientDavInterface) angegebenen Datenverteilerverbindung kann auch ein neues Data-Objekt erstellt und zurückgegeben werden. Zu beachten ist, dass es dennoch an die ursprüngliche Anmeldung verschickt wird und deshalb die gleiche Attributgruppe benutzen sollte, wie das originale Datenpaket. Ist das nicht der Fall tritt möglicherweise undefiniertes Verhalten auf.
        null
        Wird null zurückgegeben wird das Datenpaket verworfen und nicht weitergesendet. Sollte nur verwendet werden, wenn das Plugin selbst eine Antwort bzw. ein eigenes Datenpaket verschickt, oder wenn das Eintreffen des Datenpakets unwichtig ist und niemand auf eine eventuelle Antwort wartet.
      • sendData

        public void sendData​(de.bsvrz.dav.daf.main.ResultData dataset)
        Sendet einen DAF-Datensatz als Sender. Diese Methode übernimmt das An- und Abmelden des Senders.
        Parameters:
        dataset - datensatz
      • sendData

        public void sendData​(de.bsvrz.dav.daf.main.ResultData dataset,
                             de.bsvrz.dav.daf.main.SenderRole senderRole)
        Sendet einen DAF-Datensatz als Sender. Diese Methode übernimmt das an- und Abmelden des Senders.
        Parameters:
        dataset - datensatz
        senderRole - Art Sender/Quelle
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object