From 4428adc6055f62c16eb52aa31f15314e2c682fd3 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 29 Mar 2017 14:01:22 +0200 Subject: [PATCH] OO-2662: add a check and fix method on save --- .../editor/AssessmentTestComposerController.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 b52b867156b..0d138927bd3 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 @@ -965,6 +965,7 @@ public class AssessmentTestComposerController extends MainLayoutBasicController if(sectionPart instanceof AssessmentItemRef) { AssessmentItemRef itemRef = (AssessmentItemRef)sectionPart; ResolvedAssessmentItem resolvedAssessmentItem = resolvedAssessmentTest.getResolvedAssessmentItem(itemRef); + checkAndFixAbsolutPath(itemRef); AssessmentItem assessmentItem = null; if(resolvedAssessmentItem != null) { @@ -993,6 +994,19 @@ public class AssessmentTestComposerController extends MainLayoutBasicController } } + private void checkAndFixAbsolutPath(AssessmentItemRef itemRef) { + String href = itemRef.getHref().toString(); + if(href.startsWith("/") && href.contains("/bcroot/repository/") && href.contains("/_unzipped_/")) { + try { + int index = href.indexOf("/_unzipped_/") + ("/_unzipped_/").length(); + String relativeHref = href.substring(index); + itemRef.setHref(new URI(relativeHref)); + } catch (URISyntaxException e) { + logError("", e); + } + } + } + private void doSaveManifest() { manifestBuilder.write(new File(unzippedDirRoot, "imsmanifest.xml")); } -- GitLab