Package de.svws_nrw.davapi.api
Klasse PropfindCalendarDispatcher
java.lang.Object
de.svws_nrw.davapi.api.PropfindCalendarDispatcher
Dispatcher-Klasse für die Verarbeitung von Requests auf das DAV-API mittels
der HTTP-Methode PROPFIND auf die Ressource Kalender.
-
Konstruktorübersicht
KonstruktorBeschreibungPropfindCalendarDispatcher
(IKalenderRepository repository, DavUriParameter uriParameter) Konstruktor für einen neuen Dispatcher mit Repository und den gegebenen UriParametern -
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.dispatch
(InputStream inputStream, String ressourceId) Verarbeitet einen Inputstream als PROPFIND-Anfrage auf einen gegebenen Kalender, bei nicht gegebener Kalender-ID wird es die Anfrage auf eine Sammlung von Kalendern übertragenprotected 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
-
PropfindCalendarDispatcher
Konstruktor für einen neuen Dispatcher mit Repository und den gegebenen UriParametern- Parameter:
repository
- das Repository zum Zugriff auf Kalender der DatenbankuriParameter
- die UriParameter zum Erstellen von URIs
-
-
Methodendetails
-
dispatch
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 RequestsressourceId
- 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
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
-