Package de.svws_nrw.davapi.api
Klasse PropfindAddressbookDispatcher
java.lang.Object
de.svws_nrw.davapi.api.PropfindAddressbookDispatcher
Dispatcher-Klasse für die Verarbeitung von Requests auf das DAV-API mittels
der HTTP-Methode PROPFIND auf die Ressource Adressbuch.
-
Konstruktorübersicht
KonstruktorBeschreibungPropfindAddressbookDispatcher
(IAdressbuchRepository 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) Verarbeitung eines PropFind auf Adressbuchebene anhand des InputStreams und der gegebenen Ressourceprotected 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
-
PropfindAddressbookDispatcher
public PropfindAddressbookDispatcher(IAdressbuchRepository repository, DavUriParameter uriParameter) Konstruktor für einen neuen Dispatcher mit Repository und den gegebenen UriParametern- Parameter:
repository
- das Repository zum Zugriff auf Adressbuecher der DatenbankuriParameter
- die UriParameter zum Erstellen von URIs
-
-
Methodendetails
-
dispatch
Verarbeitung eines PropFind auf Adressbuchebene anhand des InputStreams und der gegebenen Ressource- Parameter:
inputStream
- der InputStream mit dem zu verarbeitenden XML-RequestressourceId
- die Ressource für die dieser Request gilt- Gibt zurück:
- die entsprechend des Requests verarbeitete Datenstruktur, welche das Antwort-XML repräsentiert. Als Objekt zurückgegeben, da das Zielobjekt vor der Verarbeitung nicht festgestellt wird
- Löst aus:
IOException
- bei Fehlern in der Streambehandlung/dem XML-Unmarshalling
-
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
-