Klasse ReportAddressbookDispatcher

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

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

    • ReportAddressbookDispatcher

      public ReportAddressbookDispatcher(IAdressbuchRepository adressbuchRepository, DavUriParameter uriParameter)
      Erstellt einen neuen Dispatcher mit den angegebenen Repositorys und URI-Parametern
      Parameter:
      adressbuchRepository - das Repository für Adressbuecher
      uriParameter - die URI-Parameter für im Response verwendete URIs
  • Methodendetails

    • dispatch

      public Object dispatch(InputStream inputStream, String ressourceId) throws IOException
      Verarbeitet einen InputStream mit XMl-Request für die gegebene Ressourcen-ID des Adressbuchs
      Parameter:
      inputStream - der InputStream mit dem enthaltenen XML-Request
      ressourceId - die ID des Adressbuchs
      Gibt zurück:
      die entsprechend des Requests verarbeitete Datenstruktur, welche das Antwort-XML repräsentiert.
      Löst aus:
      IOException - bei der Verarbeitung des InputStreams/XML-Unmarshalling
    • 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