Package de.svws_nrw.davapi.data.dav
Klasse DavDBRepository
java.lang.Object
de.svws_nrw.davapi.data.dav.DavDBRepository
Diese Klasse handhabt den Zugriff auf DAV-Ressource-Collections, Berechtigungen dazu und die zugehörigen Ressourcen, welche in
der SVWS-Datenbank gespeichert werden.
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungErstellt ein neues Objekt für den Zugriff auf die in der Datenbank gespeicherten DAV-Ressource-Collections. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
deleteCollection
(long idCollection, long syncToken) Löscht eine Collection wenn das übergebene Synctoken aktuell ist und dem in der Datenbank entspricht.boolean
deletePermission
(long idCollection, long idBenutzer) Löscht einen Eintrag für Berechtigungen auf eine Collection durch einen Benutzer.boolean
deleteRessource
(long idCollection, String uid, Long lastModified) Löscht eine Ressource anhand UID aus der Collection mit der übergebenen ID, sofern das gespeicherte Synctoken mit dem übergebenen übereinstimmt, d.h. der Benutzer der Anfrage die aktuelle Ressource hatte.getCollectionByID
(long idCollection) Gibt die Collection für die angegebenen ID zurück, wenn darauf mindestens eine Lese-Berechtigung des Benutzers existiert.getCollectionsByIDs
(Collection<Long> idsCollection) Gibt alle Collections für die angegebenen IDs zurück, auf welche eine Lese-Berechtigung des Benutzers existiert.Gibt alle Collections für die angegebenen Typen zurück, auf welche eine Lese-Berechtigung des Benutzers existiert.getDeletedResourceUIDsSince
(Long collectionId, Long syncTokenMillis) Gibt eine Liste aller Ressourcen-UIDs einer Sammlung zurück, welche seit dem gegebenen Synctoken gelöscht wurden.getRessources
(Collection<Long> idsCollection, boolean withPayload) Gibt die Ressourcen der Collections mit den übergebenen IDs zurück.insertOrUpdateCollection
(DavCollection collection) Fügt eine neue Collection hinzu oder aktualisiert eine bestehende, sofern für diese die ID und Lese- und Schreibberechtigung gegeben ist.insertOrUpdatePermissions
(DavPermissions permissions) Aktualisiert oder erzeugt einen Eintrag für Berechtigungen auf einer Collection.insertOrUpdateRessource
(DavRessource davRessource) Fügt eine neue Ressource hinzu oder aktualisiert eine vorhandene auf Basis der UID, sofern die Lese- und Schreibberechtigungen auf der zugehörigen Collection vorhanden sind.void
Erstellt eine neue Ressourcensammlung mit dem angemeldeten Nutzer als Besitzer, sofern eine Ressourcensammlung vom gegebenen Typ noch nicht existiert.
-
Konstruktordetails
-
DavDBRepository
Erstellt ein neues Objekt für den Zugriff auf die in der Datenbank gespeicherten DAV-Ressource-Collections.- Parameter:
conn
- die Datenbankverbindung, welche für den Zugriff verwendet werden soll.
-
-
Methodendetails
-
getCollectionsByTypes
Gibt alle Collections für die angegebenen Typen zurück, auf welche eine Lese-Berechtigung des Benutzers existiert.- Parameter:
typen
- dieDavRessourceCollectionTyp
die aus der Datenbank gesucht werden.- Gibt zurück:
- eine Liste mit den Collections
-
getCollectionsByIDs
Gibt alle Collections für die angegebenen IDs zurück, auf welche eine Lese-Berechtigung des Benutzers existiert.- Parameter:
idsCollection
- die IDs der Collections- Gibt zurück:
- eine Liste mit den Collections
-
getCollectionByID
Gibt die Collection für die angegebenen ID zurück, wenn darauf mindestens eine Lese-Berechtigung des Benutzers existiert.- Parameter:
idCollection
- die ID der Collection- Gibt zurück:
- eine Collection oder null
-
insertOrUpdateCollection
Fügt eine neue Collection hinzu oder aktualisiert eine bestehende, sofern für diese die ID und Lese- und Schreibberechtigung gegeben ist.- Parameter:
collection
- die Collection (neu oder bestehend)- Gibt zurück:
- die Collection
- Löst aus:
DavException
- im Falle von fehlenden Berechtigungen oder Fehlern beim Schreiben in die Datenbank
-
deleteCollection
Löscht eine Collection wenn das übergebene Synctoken aktuell ist und dem in der Datenbank entspricht. Außerdem wird geprüft, ob die Berechtigung als Administrator oder Besitzer vorliegt- Parameter:
idCollection
- die ID der CollectionsyncToken
- das Synctoken für den Abgleich- Gibt zurück:
- true, wenn das Löschen erfolgreich war, und ansonsten false
- Löst aus:
DavException
- im Fehlerfall
-
getRessources
Gibt die Ressourcen der Collections mit den übergebenen IDs zurück. Die übergebenen Abfrage-Parameter werden dabei für das Mapping verwendet. Collections, wo der Benutzer keine Zugriffsrechte drauf hat werden ausgelassen.- Parameter:
idsCollection
- die IDs der Collections, für welche die Ressourcen gelesen werden sollenwithPayload
- gibt an, ob die Ressource mit dem Ressourceninhalt/Payload erzeugt werden soll- Gibt zurück:
- Eine Liste mit den Informationen zu den Ressourcen
-
insertOrUpdateRessource
Fügt eine neue Ressource hinzu oder aktualisiert eine vorhandene auf Basis der UID, sofern die Lese- und Schreibberechtigungen auf der zugehörigen Collection vorhanden sind.- Parameter:
davRessource
- die Ressource die hinzugefügt bzw. aktualisiert werden soll.- Gibt zurück:
- die aktuelle Ressource mit gesetzer ID oder null im Fehlerfall, z.B. bei fehlenden Berechtigungen oder Fehlern beim Schreiben in die Datenbank
-
deleteRessource
public boolean deleteRessource(long idCollection, String uid, Long lastModified) throws DavException Löscht eine Ressource anhand UID aus der Collection mit der übergebenen ID, sofern das gespeicherte Synctoken mit dem übergebenen übereinstimmt, d.h. der Benutzer der Anfrage die aktuelle Ressource hatte.- Parameter:
idCollection
- die ID der Collectionuid
- die UID der RessourcelastModified
- der SyncToken aus der Anfrage für den Abgleich der letzten Änderung an der Ressource- Gibt zurück:
- true, wenn das Löschen erfolgreich war, und ansonsten false
- Löst aus:
DavException
- im Fehlerfall, z.B. bei fehlenden Rechten auf der Collection, einer fehlenden Ressource, einem abweichende Synctoken oder bei Fehlern beim Datenbankzugriff
-
insertOrUpdatePermissions
Aktualisiert oder erzeugt einen Eintrag für Berechtigungen auf einer Collection. Dies ist nur erlaubt, sofern der Benutzer ein Administrator ist oder im Besitz der Collection.- Parameter:
permissions
- die Informationen zu der neuen bzw. angepassten Berechtigung- Gibt zurück:
- der aktualisierte Berechtigungseintrag
- Löst aus:
DavException
- im Fehlerfall, z.B. bei fehlenden Rechten oder bei Fehlern beim Schreiben in die Datenbank
-
deletePermission
Löscht einen Eintrag für Berechtigungen auf eine Collection durch einen Benutzer.- Parameter:
idCollection
- die ID der CollectionidBenutzer
- die ID des Benutzers- Gibt zurück:
- true, wenn der Löschvorgang erfolgreich war, und ansonsten false
- Löst aus:
DavException
- im Fehlerfall, z.B. bei fehlenden Rechten, Ressource oder Benutzers oder bei Fehlern beim Schreiben in die Datenbank
-
tryCreateOwnedCollectionIfNotExists
Erstellt eine neue Ressourcensammlung mit dem angemeldeten Nutzer als Besitzer, sofern eine Ressourcensammlung vom gegebenen Typ noch nicht existiert. Nutzbar um einen eigenen Kalender oder ein eigenes Adressbuch anzulegen.- Parameter:
typ
- der Typ der Ressourcensammlung
-
getDeletedResourceUIDsSince
Gibt eine Liste aller Ressourcen-UIDs einer Sammlung zurück, welche seit dem gegebenen Synctoken gelöscht wurden.- Parameter:
collectionId
- die Sammlung auf der nach gelöschten Ressourcen gesucht werden soll.syncTokenMillis
- das Synctoken, seit dem nach Löschvorgängen gesucht werden soll- Gibt zurück:
- eine Liste aller UIDs, welche gelöscht wurden.
-