Klasse ReportCalendarDispatcher

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

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

    • ReportCalendarDispatcher

      public ReportCalendarDispatcher(IKalenderRepository kalenderRepository, DavUriParameter uriParameter)
      Erstellt einen neuen Dispatcher mit dem angegebenen Repository und URI-Parameter
      Parameter:
      kalenderRepository - das Repository für Kalender
      uriParameter - die URI-Parameter für im Response verwendete URIs
  • Methodendetails

    • dispatch

      public Object dispatch(InputStream inputStream, String ressourceCollectionId) throws IOException
      Verarbeitet den gegebenen Inputstream als CalDav-Protokollanfrage und versucht eine Anfrage als Multiget, SyncCollection oder CalendarQuery zu interpretieren und entsprechende Antwortobjekte zu erstellen.
      Parameter:
      inputStream - der Request-Inputstream
      ressourceCollectionId - die Ressourcensammlung-Id
      Gibt zurück:
      ein Antwortobjekt für die Reportanfrage, abhängig vom Request
      Löst aus:
      IOException - beim Verarbeiten des Inputstreams
    • 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