Klasse CalDavRequestManager

java.lang.Object
de.svws_nrw.davapi.api.AbstractDavRequestManager
de.svws_nrw.davapi.api.CalDavRequestManager

public class CalDavRequestManager extends AbstractDavRequestManager
Diese Klasse handhabt HTTP-Requests an der CalDAV-API des SVWS-Servers.
  • Konstruktordetails

    • CalDavRequestManager

      public CalDavRequestManager(@NotNull @NotNull DBEntityManager conn, InputStream is) throws IOException
      Erstellt einen neuen Manager für CalDAV-HTTP-Requests über die angegebene Datenbankverbindung
      Parameter:
      conn - die Datenbankverbindung
      is - der Input-Stream mit dem Body der Anfrage
      Löst aus:
      IOException - wenn der Request-Body nicht gelesen werden kann
  • Methodendetails

    • propfindCollection

      public jakarta.ws.rs.core.Response propfindCollection() throws IOException
      Erstellt eine HTTP-Response für eine Propfind-HTTP-Anfrage auf die Kalendersammlung.
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      IOException - für den Fall, dass die Anfrage nicht erfolgreich deserialisiert werden kann
    • propfindCalendar

      public jakarta.ws.rs.core.Response propfindCalendar(String idCal) throws IOException
      Erstellt eine HTTP-Response für eine Propfind-HTTP-Anfrage auf einen Kalender.
      Parameter:
      idCal - die Ressourcen-ID für den Kalender
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      IOException - für den Fall, dass die Anfrage nicht erfolgreich deserialisiert werden kann
    • reportCalendar

      public jakarta.ws.rs.core.Response reportCalendar(String idCal) throws IOException
      Erstellt eine HTTP-Response für eine Report-HTTP-Anfrage auf einen Kalender. Anfragen mit den Typen CalendarMultiget, SyncCollection und CalendarQuery werden dabei unterstützt.
      Parameter:
      idCal - die Ressourcen-ID für den Kalender
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      IOException - für den Fall, dass die Anfrage nicht erfolgreich deserialisiert werden kann
    • putEntry

      public jakarta.ws.rs.core.Response putEntry(String idCal, String uid, String nonMatch, String match)
      Erstellt eine HTTP-Response für eine PUT-HTTP-Anfrage für einen Kalender-Eintrag. Erstellt einen neuen Kalendereintrag oder aktualisiert einen vorhandenen. Welcher dieser beiden Fälle vorliegt wird anhand der Parameter "If-None-Match" und "If-Match" entschieden. Ist "If-Match" gesetzt, so wird der vorhandene Kalendereintrag bei gleicher UID aktualisiert, sofern der Client die aktuellste Version des Kalender-Eintrags hatte.
      Parameter:
      idCal - die Ressourcen-ID für den Kalender
      uid - die URI für den Kalender-Eintrag
      nonMatch - der "If-None-Match"-Header der HTTP-Anfrage
      match - der "If-Match"-Header der HTTP-Anfrage
      Gibt zurück:
      die HTTP-Response
    • deleteEntry

      public jakarta.ws.rs.core.Response deleteEntry(String idCal, String uid, String match)
      Erstellt eine HTTP-Response für eine DELETE-HTTP-Anfrage für einen Kalender-Eintrag. Der zu entfernende Kalendereintrag wird über die URI und den "If-Match"-Header der Anfrage identifiziert wird.
      Parameter:
      idCal - die Ressourcen-ID für den Kalender
      uid - die URI für den Kalender-Eintrag
      match - der "If-Match"-Header der HTTP-Anfrage
      Gibt zurück:
      die HTTP-Response
    • deleteCalendar

      public jakarta.ws.rs.core.Response deleteCalendar(String idCal)
      Erstellt eine HTTP-Response für eine DELETE-HTTP-Anfrage für einen Kalender.
      Parameter:
      idCal - die Ressourcen-ID für den Kalender
      Gibt zurück:
      die HTTP-Response
    • logRequest

      protected void logRequest(String methodName, String... params)
      Loggt einen Request mit seinen Parametern und dem Body auf dem globalen Logger.
      Parameter:
      methodName - der Name der Request-Methode aus dieser Klasse
      params - die Parameter des Request, welche der Methode übergeben wurden.