From 77cc1eebf09a0eff3f2a456c084a7cc14fee1fcd Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 10 Sep 2015 10:23:06 +0200 Subject: [PATCH] OO-1681: rename the file if it already exists --- src/main/java/org/olat/core/util/ExportUtil.java | 7 ++++--- .../course/archiver/ScoreAccountingArchiveController.java | 2 +- .../java/org/olat/ims/qti/export/QTIExportManager.java | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/olat/core/util/ExportUtil.java b/src/main/java/org/olat/core/util/ExportUtil.java index 6583716688e..9262bac3798 100644 --- a/src/main/java/org/olat/core/util/ExportUtil.java +++ b/src/main/java/org/olat/core/util/ExportUtil.java @@ -31,8 +31,6 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; -import org.olat.core.logging.AssertException; - /** * Initial Date: Jul 20, 2004 * @@ -54,7 +52,10 @@ public class ExportUtil { public static File writeContentToFile(String fileName, String content, File exportDirectory, String enc) { File f = new File(exportDirectory, fileName); - if (f.exists()) { throw new AssertException("File " + fileName + " already exists!"); } + if (f.exists()) { + String newFileName = FileUtils.rename(f); + f = new File(exportDirectory, newFileName); + } FileUtils.save(f, content, enc); return f; } diff --git a/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java b/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java index b31ece1de3c..08bac267451 100644 --- a/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java +++ b/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java @@ -111,7 +111,7 @@ public class ScoreAccountingArchiveController extends BasicController { File downloadFile = ExportUtil.writeContentToFile(fileName, result, exportDirectory, charset); vcFeedback = createVelocityContainer("feedback"); - vcFeedback.contextPut("body", translate("course.res.feedback", new String[] { fileName })); + vcFeedback.contextPut("body", translate("course.res.feedback", new String[] { downloadFile.getName() })); downloadButton = LinkFactory.createButtonSmall("cmd.download", vcFeedback, this); downloadButton.setUserObject(downloadFile); myPanel.setContent(vcFeedback); diff --git a/src/main/java/org/olat/ims/qti/export/QTIExportManager.java b/src/main/java/org/olat/ims/qti/export/QTIExportManager.java index 7faf3e6d8e4..3f7766eb1fd 100644 --- a/src/main/java/org/olat/ims/qti/export/QTIExportManager.java +++ b/src/main/java/org/olat/ims/qti/export/QTIExportManager.java @@ -192,8 +192,8 @@ public class QTIExportManager extends BasicManager{ private String writeContentToFile(String shortTitle, File exportDirectory, String charset, QTIExportFormatter qef, String fileNameSuffix) { // defining target filename String targetFileName = getFilename(shortTitle, qef, fileNameSuffix); - ExportUtil.writeContentToFile(targetFileName, qef.getReport(), exportDirectory, charset); - return targetFileName; + File savedFile = ExportUtil.writeContentToFile(targetFileName, qef.getReport(), exportDirectory, charset); + return savedFile.getName(); } private String getFilename(String shortTitle, QTIExportFormatter qef, String fileNameSuffix) { -- GitLab