Klasse DeleteRessourceDispatcher

java.lang.Object
de.svws_nrw.davapi.api.DeleteRessourceDispatcher

public class DeleteRessourceDispatcher extends Object
Dispatcher-Klasse für die Verarbeitung von Requests auf das DAV-API mittels der HTTP-Methode DELETE auf eine DavRessource.
  • Konstruktordetails

    • DeleteRessourceDispatcher

      public DeleteRessourceDispatcher(IDavRepository repository, DavUriParameter uriParameter)
      Konstruktor mit Repository für Datenbankzugriff und URI-Parametern zum erstellen von URIs in Antworten
      Parameter:
      repository - das DavRepository
      uriParameter - die URI-Parameter
  • Methodendetails

    • dispatch

      public Optional<Multistatus> dispatch(String ressourceCollectionId, String ressourceUID, String ifMatchToken)
      Verarbeitet eine gegebene Löschanfrage zu einer bestimmten ID, sofern das vom Client gegebene ifMatchToken dem Synctoken in der Datenbank entspricht, also der Client die aktuellste Version der Ressource kennt
      Parameter:
      ressourceCollectionId - die ID der Ressourcensammlung
      ressourceUID - die UID der DavRessource, welche gelöscht werden soll
      ifMatchToken - das Synctoken, welches dem Client bekannt war
      Gibt zurück:
      ein Multistatus als Antwort auf die Anfrage, gefüllt mit Informationen, falls die Anfrage nicht erfolgreich war
    • dispatch

      public Optional<Multistatus> dispatch(String ressourceCollectionID)
      Ansatz einer Methode zum Löschen von Ressourcensammlungen, gibt derzeit nur einen Fehler zurück
      Parameter:
      ressourceCollectionID - die ID der Ressourcensammlung, die gelöscht werden soll
      Gibt zurück:
      ein Multistatus-Objekt mit Fehlermeldungen, falls das Löschen fehlgeschlagen ist.
    • createResourceNotFoundError

      protected Error createResourceNotFoundError(String message)
      Erzeugt ein Error-Rückgabeobjekt mit der angegebenen Message. Dieses Objekt wird von den Dispatchern zurückgegeben, wenn die angefragten Ressource nicht gefunden wurde.
      Parameter:
      message - Fehlermeldung
      Gibt zurück:
      Error-Objekt
    • createResponse

      protected static final Response createResponse(@NotNull @NotNull Prop propRequested, @NotNull @NotNull Prop propResponded)
      Erzeugt ein Response-Rückgabeobjekt. Diese wird dynamisch aufgebaut auf der Basis der im Request angefragten Properties zu einer Ressource und den tatsächlich gefundenen/ermittelten Properties. Nicht-gefundene Properties oder Ressourcen werden in einem speziellen Block (404) im Response aufgelistet.
      Parameter:
      propRequested - Angeforderte Properties zu einer Ressource
      propResponded - Gefundene/Ermittelte Properties zu einer Ressource
      Gibt zurück:
      Response-Objekt
    • getReadOnlyPrivilegeSet

      protected static final CurrentUserPrivilegeSet getReadOnlyPrivilegeSet()
      Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.
      Gibt zurück:
      CurrentUserPrivilegeSet mit Privileges für einen lesenden Zugriff.
    • getPrivilegeSet

      protected static final CurrentUserPrivilegeSet getPrivilegeSet(boolean darfLesen, boolean darfSchreiben)
      Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.
      Parameter:
      darfLesen - ob der angemeldete Nutzer den Kalender Lesen darf
      darfSchreiben - ob der angemeldete Nutzer auf dem Kalender schreiben darf
      Gibt zurück:
      CurrentUserPrivilegeSet mit Privileges für einen lesenden Zugriff.
    • adjustETags

      protected String adjustETags(String value)
      Homogenisiert eTag-Werte von unterschiedlichen Quellsystemen. In Abhängigkeit der Quellsysteme (z.B. Thunderbird, Outlook) werden teilweise Anführungszeichen als Bestandteil der Werte von eTags oder ifMatch-Headers mitgesendet oder nicht. Die DAV-Dispatcher benötigen diese Methode, um eine einheitliche Auswertung dieser Werte sicherzustellen.
      Parameter:
      value - String, kann Anführungszeichen enthalten
      Gibt zurück:
      String, enthält keine Anführungszeichen mehr