From fd86034886fec9832deb6766b6505b24936d4b0b Mon Sep 17 00:00:00 2001 From: Daniel Haag <daniel.haag@uibk.ac.at> Date: Mon, 11 Mar 2019 17:19:24 +0000 Subject: [PATCH] openolat#4: simplified the nodewizard file copy code --- ...CopyStructureWizardStepRunnerCallback.java | 25 +----------------- .../SPCourseNodeCopyConfigurator.java | 26 +++---------------- 2 files changed, 5 insertions(+), 46 deletions(-) diff --git a/src/main/java/de/bps/course/nodewizard/CopyStructureWizardStepRunnerCallback.java b/src/main/java/de/bps/course/nodewizard/CopyStructureWizardStepRunnerCallback.java index 641b0a9bde0..79087939c56 100644 --- a/src/main/java/de/bps/course/nodewizard/CopyStructureWizardStepRunnerCallback.java +++ b/src/main/java/de/bps/course/nodewizard/CopyStructureWizardStepRunnerCallback.java @@ -1,10 +1,5 @@ package de.bps.course.nodewizard; -import java.io.File; -import java.util.HashMap; -import java.util.Map; - -import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.tree.TreeNode; import org.olat.core.gui.control.WindowControl; @@ -15,9 +10,7 @@ import org.olat.core.gui.control.generic.wizard.StepsRunContext; import org.olat.core.gui.translator.PackageTranslator; import org.olat.core.gui.translator.Translator; import org.olat.core.id.Identity; -import org.olat.core.util.FileUtils; import org.olat.core.util.nodes.INode; -import org.olat.core.util.vfs.MergeSource; import org.olat.core.util.vfs.VFSContainer; import org.olat.course.CourseFactory; import org.olat.course.export.CourseFragmentEnvironmentMapper; @@ -66,25 +59,9 @@ public class CopyStructureWizardStepRunnerCallback implements StepRunnerCallback } private void copyAllFiles() { - File srcDir = null; final VFSContainer srcRootFolder = process.getSrcCourse().getCourseEnvironment().getCourseFolderContainer(); - if (srcRootFolder instanceof MergeSource) { - final VFSContainer srcRootWriteContainer = ((MergeSource) srcRootFolder).getRootWriteContainer(); - if (srcRootWriteContainer instanceof OlatRootFolderImpl) { - srcDir = ((OlatRootFolderImpl) srcRootWriteContainer).getBasefile(); - } - } - File targetDir = null; final VFSContainer targetRootFolder = process.getTargetCourse().getCourseEnvironment().getCourseFolderContainer(); - if (targetRootFolder instanceof MergeSource) { - final VFSContainer targetRootWriteContainer = ((MergeSource) targetRootFolder).getRootWriteContainer(); - if (targetRootWriteContainer instanceof OlatRootFolderImpl) { - targetDir = ((OlatRootFolderImpl) targetRootWriteContainer).getBasefile(); - } - } - if (srcDir != null && srcDir.exists() && srcDir.isDirectory() && targetDir != null && targetDir.exists() && targetDir.isDirectory()) { - FileUtils.copyDirContentsToDir(srcDir, targetDir, false, ""); - } + targetRootFolder.copyContentOf(srcRootFolder); } private void addChildNode(final Identity fallbackIdentity, CourseNode targetParentNode, final INode node) { diff --git a/src/main/java/de/bps/course/nodewizard/coursenode/SPCourseNodeCopyConfigurator.java b/src/main/java/de/bps/course/nodewizard/coursenode/SPCourseNodeCopyConfigurator.java index b821cfd065c..bb4805d9cc0 100644 --- a/src/main/java/de/bps/course/nodewizard/coursenode/SPCourseNodeCopyConfigurator.java +++ b/src/main/java/de/bps/course/nodewizard/coursenode/SPCourseNodeCopyConfigurator.java @@ -20,18 +20,12 @@ package de.bps.course.nodewizard.coursenode; import java.io.File; -import java.io.FilenameFilter; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.regex.Pattern; -import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; -import org.olat.core.gui.translator.PackageTranslator; -import org.olat.core.gui.translator.Translator; +import org.olat.core.commons.modules.bc.FolderConfig; import org.olat.core.id.Identity; import org.olat.core.util.FileUtils; -import org.olat.core.util.vfs.MergeSource; -import org.olat.core.util.vfs.VFSContainer; import org.olat.course.export.CourseFragmentEnvironmentMapper; import org.olat.course.nodes.CourseNode; import org.olat.course.nodes.sp.SPEditController; @@ -73,18 +67,6 @@ public class SPCourseNodeCopyConfigurator extends AbstractCourseNodeCopyConfigur } return newFile; } - - private File courseEnvRootDir(CourseEnvironment courseEnv) { - File srcDir = null; - final VFSContainer srcRootFolder = courseEnv.getCourseFolderContainer(); - if (srcRootFolder instanceof MergeSource) { - final VFSContainer srcRootWriteContainer = ((MergeSource) srcRootFolder).getRootWriteContainer(); - if (srcRootWriteContainer instanceof OlatRootFolderImpl) { - srcDir = ((OlatRootFolderImpl) srcRootWriteContainer).getBasefile(); - } - } - return srcDir; - } @Override public void configure() { @@ -92,10 +74,10 @@ public class SPCourseNodeCopyConfigurator extends AbstractCourseNodeCopyConfigur if (canCopyToCourseFolder) { // copy page - File srcDir = courseEnvRootDir(srcCourseEnv); - File targetDir = courseEnvRootDir(targetCourseEnv); + File srcDir = new File(FolderConfig.getCanonicalRoot() + srcCourseEnv.getCourseFolderContainer().getRelPath()); + File targetDir = new File(FolderConfig.getCanonicalRoot() + targetCourseEnv.getCourseFolderContainer().getRelPath()); - if (srcDir != null && targetDir != null && srcDir.exists() && srcDir.isDirectory() && targetDir.exists() && targetDir.isDirectory()) { + if (srcDir.exists() && srcDir.isDirectory() && targetDir.exists() && targetDir.isDirectory()) { final String fileName = (String) this.srcCourseNode.getModuleConfiguration().get(SPEditController.CONFIG_KEY_FILE); Path fileNamePath = Paths.get(fileName); Path fileNameParent = fileNamePath.normalize().getParent(); -- GitLab