Package de.svws_nrw.davapi.api
Klasse PutCalendarDispatcher
java.lang.Object
de.svws_nrw.davapi.api.PutCalendarDispatcher
Dispatcher-Klasse für die Verarbeitung von Requests auf das DAV-API mittels
der HTTP-Methode REPORT auf die Ressource Kalender.
-
Konstruktorübersicht
KonstruktorBeschreibungPutCalendarDispatcher
(IKalenderEintragRepository kalenderEintragRepository, DavUriParameter uriParameter) Erstellt einen neuen Dispatcher mit den angegebenen Repositorys und URI-Parametern -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected String
adjustETags
(String value) Homogenisiert eTag-Werte von unterschiedlichen Quellsystemen.protected Error
createResourceNotFoundError
(String message) Erzeugt ein Error-Rückgabeobjekt mit der angegebenen Message.protected static final Response
createResponse
(@NotNull Prop propRequested, @NotNull Prop propResponded) Erzeugt ein Response-Rückgabeobjekt.dispatchCreate
(InputStream inputStream, String ressourceCollectionId, String ressourceUID) Erstellt einen neuen Kalendereintrag in der gegebenen Ressourcensammlung mit der gegebenen Ressourcen-UID.dispatchUpdate
(InputStream inputStream, String ressourceCollectionId, String ressourceUID, String eTag) Aktualisiert einen vorhandenen Kalendereintrag in der gegebenen Ressourcensammlung mit der gegebenen RessourcenUID, sofern das gegebene eTag (die Version des Clients) der Version des Servers entspricht.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.protected static final CurrentUserPrivilegeSet
Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.
-
Konstruktordetails
-
PutCalendarDispatcher
public PutCalendarDispatcher(IKalenderEintragRepository kalenderEintragRepository, DavUriParameter uriParameter) Erstellt einen neuen Dispatcher mit den angegebenen Repositorys und URI-Parametern- Parameter:
kalenderEintragRepository
- das Repository für KalendereinträgeuriParameter
- die URI-Parameter für im Response verwendete URIs
-
-
Methodendetails
-
dispatchUpdate
public Object dispatchUpdate(InputStream inputStream, String ressourceCollectionId, String ressourceUID, String eTag) Aktualisiert einen vorhandenen Kalendereintrag in der gegebenen Ressourcensammlung mit der gegebenen RessourcenUID, sofern das gegebene eTag (die Version des Clients) der Version des Servers entspricht.- Parameter:
inputStream
- der InputStream mit dem VCalendar payloadressourceCollectionId
- die ID des KalendersressourceUID
- die UID des KalendereintragseTag
- eTag des Clients, also die Versionsnummer, die dem Client zuletzt bekannt war- Gibt zurück:
- das aktuellste eTag des Servers nach aktualisieren (also die
Versionsnummer) oder ein
Error
-Objekt im Fehlerfall
-
dispatchCreate
public Object dispatchCreate(InputStream inputStream, String ressourceCollectionId, String ressourceUID) Erstellt einen neuen Kalendereintrag in der gegebenen Ressourcensammlung mit der gegebenen Ressourcen-UID.- Parameter:
inputStream
- der InputStream mit dem VCalendar payloadressourceCollectionId
- die ID des KalendersressourceUID
- die UID des Kalendereintrags dem Client zuletzt bekannt war- Gibt zurück:
- das aktuellste eTag des Servers nach Erstellen (also die
Versionsnummer) oder ein
Error
-Objekt im Fehlerfall
-
createResourceNotFoundError
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 RessourcepropResponded
- Gefundene/Ermittelte Properties zu einer Ressource- Gibt zurück:
- Response-Objekt
-
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 darfdarfSchreiben
- ob der angemeldete Nutzer auf dem Kalender schreiben darf- Gibt zurück:
- CurrentUserPrivilegeSet mit Privileges für einen lesenden Zugriff.
-
adjustETags
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
-