Klasse PropfindCalendarDispatcher

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

public class PropfindCalendarDispatcher extends Object
Dispatcher-Klasse für die Verarbeitung von Requests auf das DAV-API mittels der HTTP-Methode PROPFIND auf die Ressource Kalender.
  • Konstruktordetails

    • PropfindCalendarDispatcher

      public PropfindCalendarDispatcher(IKalenderRepository repository, DavUriParameter uriParameter)
      Konstruktor für einen neuen Dispatcher mit Repository und den gegebenen UriParametern
      Parameter:
      repository - das Repository zum Zugriff auf Kalender der Datenbank
      uriParameter - die UriParameter zum Erstellen von URIs
  • Methodendetails

    • dispatch

      public Object dispatch(InputStream inputStream, String ressourceId) throws IOException
      Verarbeitet einen Inputstream als PROPFIND-Anfrage auf einen gegebenen Kalender, bei nicht gegebener Kalender-ID wird es die Anfrage auf eine Sammlung von Kalendern übertragen
      Parameter:
      inputStream - der Inputstream des Requests
      ressourceId - die id der Ressourcensammlung, bei nicht gegebener ID wird es die Anfrage auf eine Sammlung von Kalendern übertragen
      Gibt zurück:
      das Multistatusobjekt für die Anfrage
      Löst aus:
      IOException - bei Fehlern im Inputstream
    • 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