Klasse DavRepository
java.lang.Object
de.svws_nrw.davapi.data.repos.dav.DavRepository
- Alle implementierten Schnittstellen:
IDavRepository
Dieses Repository implementiert das
IDavRepository
und kapselt die
Datenbankverbindung für Ressourcensammlungen, Berechtigungen auf
Ressourcensammlungen und Ressourcen-
Konstruktorübersicht
KonstruktorBeschreibungDavRepository
(DBEntityManager conn) Konstruktor mit dem zu verwendendenDBEntityManager
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
deleteRessourceCollectionACL
(long collectionId, long benutzerId) Löscht einen ACL-Eintrag auf Basis der Nutzer-ID und der ID der Ressourcensammlungboolean
deleteRessourceCollectionIfUpToDate
(long id, long syncToken) Löscht eine Ressourcensammlung sofern das gegebene Synctoken dem Synctoken in der Datenbank entspricht.boolean
deleteRessourceIfUpToDate
(long collectionId, String ressourceUID, Long ifMatchToken) Löscht eine DavRessource anhand der RessourcenUID und der Ressourcensammlung, sofern das gespeicherte Synctoken mit dem gegebenen übereinstimmt, der Aufrufer also über die aktuelle Version der Ressource verfügtGibt die Ressourcensammlungen anhand der angegebenen Typen zurück, auf die der Nutzer Leserecht hat.getDavRessourceCollections
(Collection<Long> ressourceCollectionIds) gibt die Ressourcensammlungen anhand der gegebenen IDs zurück, auf die der Nutzer Leserecht hat.getDavRessources
(Collection<Long> ressourceCollectionIds, CollectionRessourceQueryParameters parameters) Gibt die Ressourcen der gesuchten Ressourcensammlungen zurück.getDeletedResourceUIDsSince
(Long collectionId, Long syncTokenMillis) Gibt eine Liste aller Ressourcen-UIDs einer Sammlung zurück, welche seit dem gegebenen Synctoken gelöscht wurden.static String
Erstellt ein neues Synctoken für den aktuellen Zeitpunkt als SQL-Timestamp-Stringvoid
Erstellt eine neue Ressourcensammlung mit dem angemeldeten Nutzer als Besitzer, sofern eine Ressourcensammlung vom gegebenen Typ noch nicht existiert.upsertDavRessource
(DavRessource davRessource) Fügt eine neue Ressource hinzu oder aktualisiert eine vorhandene auf Basis der UID, sofern Lese- und Schreibrecht auf der Ressourcensammlung vorhanden ist.upsertDavRessourceCollection
(DavRessourceCollection davRessourceCollection) Fügt eine neue Ressourcensammlung hinzu oder updated eine vorhandene, sofern die ID und Lese- und Schreibrecht gegeben ist.upsertDavRessourceCollectionACLPermissions
(DavRessourceCollectionACLPermissions davRessourceCollectionACLPermissions) Fügt einen neuen ACL-Eintrag für eine Ressourcensammlung und einen Nutzer hinzu oder aktualisiert einen vorhandenen, sofern der Nutzer Besitzer der Ressource oder Admin ist.
-
Konstruktordetails
-
DavRepository
Konstruktor mit dem zu verwendendenDBEntityManager
- Parameter:
conn
- derDBEntityManager
-
-
Methodendetails
-
getDavRessourceCollections
public Collection<DavRessourceCollection> getDavRessourceCollections(DavRessourceCollectionTyp... typen) Beschreibung aus Schnittstelle kopiert:IDavRepository
Gibt die Ressourcensammlungen anhand der angegebenen Typen zurück, auf die der Nutzer Leserecht hat.- Angegeben von:
getDavRessourceCollections
in SchnittstelleIDavRepository
- Parameter:
typen
- dieDavRessourceCollectionTyp
die aus der Datenbank gesucht werden.- Gibt zurück:
- die gesuchten Ressourcensammlungen
-
getDavRessourceCollections
public Collection<DavRessourceCollection> getDavRessourceCollections(Collection<Long> ressourceCollectionIds) Beschreibung aus Schnittstelle kopiert:IDavRepository
gibt die Ressourcensammlungen anhand der gegebenen IDs zurück, auf die der Nutzer Leserecht hat.- Angegeben von:
getDavRessourceCollections
in SchnittstelleIDavRepository
- Parameter:
ressourceCollectionIds
- die IDs der gesuchten Ressourcensammlungen- Gibt zurück:
- die gesuchten Ressourcensammlungen
-
getDavRessources
public Collection<DavRessource> getDavRessources(Collection<Long> ressourceCollectionIds, CollectionRessourceQueryParameters parameters) Beschreibung aus Schnittstelle kopiert:IDavRepository
Gibt die Ressourcen der gesuchten Ressourcensammlungen zurück. Anhand derCollectionRessourceQueryParameters
wird entschieden, ob ggf. nur die ID und UID des Objekts oder auch der Inhalt zurückgegeben werden. Hat der Nutzer nicht das nötige Leserecht auf eine gegebene Ressourcensammlung, werden keine Ressourcen für diese Sammlung zurückgegeben.- Angegeben von:
getDavRessources
in SchnittstelleIDavRepository
- Parameter:
ressourceCollectionIds
- die IDs der Ressourcensammlungen, für die die Ressourcen gesucht werden sollenparameters
- Filterkriterium, um beispielsweise auf Payload zu verzichten.- Gibt zurück:
- die gesuchten Ressourcen
-
upsertDavRessourceCollection
public Optional<DavRessourceCollection> upsertDavRessourceCollection(DavRessourceCollection davRessourceCollection) throws DavException Beschreibung aus Schnittstelle kopiert:IDavRepository
Fügt eine neue Ressourcensammlung hinzu oder updated eine vorhandene, sofern die ID und Lese- und Schreibrecht gegeben ist.- Angegeben von:
upsertDavRessourceCollection
in SchnittstelleIDavRepository
- Parameter:
davRessourceCollection
- die Ressourcensammlung, welche hinzugefügt oder aktualisiert werden soll.- Gibt zurück:
- die Ressourcensammlung, sofern die Aktualisierung erfolgreich war.
- Löst aus:
DavException
- Ausnahme bei fehlenden Rechten oder Fehlern beim Schreiben in der Datenbank
-
getNewSyncTokenTimestampAsString
Erstellt ein neues Synctoken für den aktuellen Zeitpunkt als SQL-Timestamp-String- Gibt zurück:
- das aktuelle Synctoken
-
upsertDavRessource
Beschreibung aus Schnittstelle kopiert:IDavRepository
Fügt eine neue Ressource hinzu oder aktualisiert eine vorhandene auf Basis der UID, sofern Lese- und Schreibrecht auf der Ressourcensammlung vorhanden ist.- Angegeben von:
upsertDavRessource
in SchnittstelleIDavRepository
- Parameter:
davRessource
- die Davressource die hinzugefügt oder aktualisiert werden soll.- Gibt zurück:
- die aktualisierte DavRessource mit gesetzer ID bei Erfolg
- Löst aus:
DavException
- Ausnahme bei fehlenden Rechten oder Fehlern beim Schreiben in der Datenbank
-
upsertDavRessourceCollectionACLPermissions
public Optional<DavRessourceCollectionACLPermissions> upsertDavRessourceCollectionACLPermissions(DavRessourceCollectionACLPermissions davRessourceCollectionACLPermissions) throws DavException Beschreibung aus Schnittstelle kopiert:IDavRepository
Fügt einen neuen ACL-Eintrag für eine Ressourcensammlung und einen Nutzer hinzu oder aktualisiert einen vorhandenen, sofern der Nutzer Besitzer der Ressource oder Admin ist.- Angegeben von:
upsertDavRessourceCollectionACLPermissions
in SchnittstelleIDavRepository
- Parameter:
davRessourceCollectionACLPermissions
- der zuzufügende oder zu aktualisierende ACL-Eintrag- Gibt zurück:
- der aktualisierte ACL-Eintrag
- Löst aus:
DavException
- bei fehlenden Rechten oder Fehlern beim Schreiben in der Datenbank
-
deleteRessourceCollectionIfUpToDate
Beschreibung aus Schnittstelle kopiert:IDavRepository
Löscht eine Ressourcensammlung sofern das gegebene Synctoken dem Synctoken in der Datenbank entspricht.- Angegeben von:
deleteRessourceCollectionIfUpToDate
in SchnittstelleIDavRepository
- Parameter:
id
- die ID der RessourcensammlungsyncToken
- das Synctoken, auf das verglichen werden soll.- Gibt zurück:
- ob das Löschen erfolgreich war
- Löst aus:
DavException
- Ausnahme bei fehlenden Rechten, nicht-vorhandensein der Ressourcensammlung oder nicht-aktuellem Synctoken
-
deleteRessourceIfUpToDate
public boolean deleteRessourceIfUpToDate(long collectionId, String ressourceUID, Long ifMatchToken) throws DavException Beschreibung aus Schnittstelle kopiert:IDavRepository
Löscht eine DavRessource anhand der RessourcenUID und der Ressourcensammlung, sofern das gespeicherte Synctoken mit dem gegebenen übereinstimmt, der Aufrufer also über die aktuelle Version der Ressource verfügt- Angegeben von:
deleteRessourceIfUpToDate
in SchnittstelleIDavRepository
- Parameter:
collectionId
- die ID der RessourcensammlungressourceUID
- die UID der RessourceifMatchToken
- das SyncToken, welches dem Aufrufer zuletzt bekannt war- Gibt zurück:
- ob das Löschen erfolgreich war
- Löst aus:
DavException
- bei fehlenden Rechten auf der Ressourcensammlung, nicht-vorhandensein der Ressource, nichtaktuellem Synctoken oder Fehlern beim Schreiben in die Datenbank
-
deleteRessourceCollectionACL
Beschreibung aus Schnittstelle kopiert:IDavRepository
Löscht einen ACL-Eintrag auf Basis der Nutzer-ID und der ID der Ressourcensammlung- Angegeben von:
deleteRessourceCollectionACL
in SchnittstelleIDavRepository
- Parameter:
collectionId
- die ID der RessourcensammlungbenutzerId
- die ID des Benutzers- Gibt zurück:
- ob der Löschvorgang erfolgreich war
- Löst aus:
DavException
- bei fehlenden Rechten, nicht-vorhandensein der Ressource oder des Nutzers oder Fehlern beim Schreiben in der Datenbank
-
tryCreateOwnedCollectionIfNotExists
Beschreibung aus Schnittstelle kopiert:IDavRepository
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.- Angegeben von:
tryCreateOwnedCollectionIfNotExists
in SchnittstelleIDavRepository
- Parameter:
typ
- der Typ der Ressourcensammlung
-
getDeletedResourceUIDsSince
Beschreibung aus Schnittstelle kopiert:IDavRepository
Gibt eine Liste aller Ressourcen-UIDs einer Sammlung zurück, welche seit dem gegebenen Synctoken gelöscht wurden.- Angegeben von:
getDeletedResourceUIDsSince
in SchnittstelleIDavRepository
- 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.
-