Skip to content
Snippets Groups Projects
Commit fd860348 authored by User expired's avatar User expired
Browse files

openolat#4: simplified the nodewizard file copy code

parent 8e900511
No related branches found
No related tags found
No related merge requests found
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) {
......
......@@ -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();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment