diff --git a/src/main/java/org/olat/repository/handlers/CourseHandler.java b/src/main/java/org/olat/repository/handlers/CourseHandler.java index ae064d367260d268aae6811d354d351ec2fe63a3..c2cfbf276217e4b6666b9c62c0f5088efe448ace 100644 --- a/src/main/java/org/olat/repository/handlers/CourseHandler.java +++ b/src/main/java/org/olat/repository/handlers/CourseHandler.java @@ -26,6 +26,8 @@ package org.olat.repository.handlers; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.FileVisitResult; @@ -254,9 +256,29 @@ public class CourseHandler implements RepositoryHandler { course = CourseFactory.loadCourse(cgm.getCourseResource()); course.postImport(fImportBaseDirectory, envMapper); - //rename root nodes - course.getRunStructure().getRootNode().setShortTitle(Formatter.truncateOnly(displayname, 25)); //do not use truncate! - course.getRunStructure().getRootNode().setLongTitle(displayname); + //rename root nodes, but only when user modified the course title + boolean doUpdateTitle = true; + File repoConfigXml = new File(fImportBaseDirectory, "repo.xml"); + if (repoConfigXml.exists()) { + RepositoryEntryImport importConfig; + try { + importConfig = RepositoryEntryImportExport.getConfiguration(new FileInputStream(repoConfigXml)); + if(importConfig != null) { + if (displayname.equals(importConfig.getDisplayname())) { + // do not update if title was not modified during import + // user does not expect to have an updated title and there is a chance + // the root node title is not the same as the course title + doUpdateTitle = false; + } + } + } catch (FileNotFoundException e) { + // ignore + } + } + if (doUpdateTitle) { + course.getRunStructure().getRootNode().setShortTitle(Formatter.truncateOnly(displayname, 25)); //do not use truncate! + course.getRunStructure().getRootNode().setLongTitle(displayname); + } //course.saveRunStructure(); CourseEditorTreeNode editorRootNode = ((CourseEditorTreeNode)course.getEditorTreeModel().getRootNode()); editorRootNode.getCourseNode().setShortTitle(Formatter.truncateOnly(displayname, 25)); //do not use truncate!