From c5e31b3e12e71aa845a4d1a5d7b4bd8aaf514ec7 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 14 Mar 2017 15:49:54 +0100
Subject: [PATCH] OO-2614: delete the file of an assessmentItem only if it
 isn't referenced any where

---
 .../qti21/ui/editor/AssessmentTestComposerController.java  | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
index 67d30a711d1..8a2e3224f2d 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
@@ -1231,8 +1231,11 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
 			RootNodeLookup<AssessmentItem> rootNode = resolvedAssessmentItem.getItemLookup();
 			if(rootNode != null) {
 				URI itemUri = rootNode.getSystemId();
-				File itemFile = new File(itemUri);
-				deleted = itemFile.delete();
+				List<AssessmentItemRef> itemRefs = resolvedAssessmentTest.getItemRefsBySystemIdMap().get(itemUri);
+				if(itemRefs.size() <= 1) {
+					File itemFile = new File(itemUri);
+					deleted = itemFile.delete();
+				}
 			}
 		}
 		if(deleted) {
-- 
GitLab