From 09bd3e32388f42f94e4003c791299cfc1e1e4fc7 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Wed, 9 Jan 2019 14:40:21 +0100
Subject: [PATCH] OO-3797: Delete all usages when a learning resource is
 deleted

---
 .../edusharing/manager/EdusharingServiceImpl.java      | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java b/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java
index e321aa745e3..142572c66d4 100644
--- a/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java
+++ b/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java
@@ -51,6 +51,8 @@ import org.olat.modules.edusharing.NodeIdentifier;
 import org.olat.modules.edusharing.Ticket;
 import org.olat.modules.edusharing.model.EdusharingErrorResponse;
 import org.olat.modules.edusharing.model.TicketImpl;
+import org.olat.repository.RepositoryEntry;
+import org.olat.repository.RepositoryEntryDataDeletable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -61,7 +63,7 @@ import org.springframework.stereotype.Service;
  *
  */
 @Service
-public class EdusharingServiceImpl implements EdusharingService {
+public class EdusharingServiceImpl implements EdusharingService, RepositoryEntryDataDeletable {
 	
 	private static final OLog log = Tracing.createLoggerFor(EdusharingServiceImpl.class);
 	
@@ -258,6 +260,11 @@ public class EdusharingServiceImpl implements EdusharingService {
 		deleteUsage(usage, userIdentifier);
 	}
 
+	@Override
+	public boolean deleteRepositoryEntryData(RepositoryEntry re) {
+		deleteUsages(re, null);
+		return true;
+	}
 	@Override
 	public void deleteUsages(EdusharingProvider edusharingProvider) {
 		deleteUsages(edusharingProvider.getOlatResourceable(), edusharingProvider.getSubPath());
@@ -291,4 +298,5 @@ public class EdusharingServiceImpl implements EdusharingService {
 		
 		usageDao.delete(usage.getIdentifier());
 	}
+
 }
-- 
GitLab