Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== diff -u -rf17ef475206dfa5950b19434ec135b157201c987 -r7459651abc01831e57ff669de16293c51b543dcb --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision f17ef475206dfa5950b19434ec135b157201c987) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 7459651abc01831e57ff669de16293c51b543dcb) @@ -212,14 +212,14 @@ try { //root temp directory, put target zip file String rootDir = FileUtil.createTempDirectory(EXPORT_TOOLCONTNET_FOLDER_SUFFIX); - String contentDir = rootDir + File.separator + "content"; + String contentDir = FileUtil.getFullPath(rootDir, "content"); FileUtil.createDirectory(contentDir); //zip file name with full path String targetZipFileName = EXPORT_TOOLCONTNET_ZIP_PREFIX + learningDesignId + EXPORT_TOOLCONTNET_ZIP_SUFFIX; //learing design file name with full path - String ldFileName = getFullPath(contentDir,LEARNING_DESIGN_FILE_NAME); + String ldFileName = FileUtil.getFullPath(contentDir,LEARNING_DESIGN_FILE_NAME); Writer ldFile = new FileWriter(new File(ldFileName)); //get learning desing and serialize it to XML file. @@ -266,11 +266,11 @@ throws ExportToolContentException { try { //create tool's save path - String toolPath = toPath+File.separator+toolContentId; + String toolPath = FileUtil.getFullPath(toPath,toolContentId.toString()); FileUtil.createDirectory(toolPath); //create tool xml file name : tool.xml - String toolFileName = getFullPath(toolPath,TOOL_FILE_NAME); + String toolFileName = FileUtil.getFullPath(toolPath,TOOL_FILE_NAME); Writer toolFile = new FileWriter(new File(toolFileName)); //serialize tool xml into local file. @@ -320,13 +320,7 @@ return (ILearningDesignService) applicationContext.getBean(LEARNING_DESIGN_SERVICE_BEAN_NAME); } - private String getFullPath(String path, String file){ - if(path.endsWith(File.separator)) - return path + file; - else - return path + File.separator + file; - } - private Object findToolService(Tool tool) throws NoSuchBeanDefinitionException + private Object findToolService(Tool tool) throws NoSuchBeanDefinitionException { return applicationContext.getBean(tool.getServiceName()); } Index: lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java =================================================================== diff -u -rf17ef475206dfa5950b19434ec135b157201c987 -r7459651abc01831e57ff669de16293c51b543dcb --- lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java (.../FileUtil.java) (revision f17ef475206dfa5950b19434ec135b157201c987) +++ lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java (.../FileUtil.java) (revision 7459651abc01831e57ff669de16293c51b543dcb) @@ -332,4 +332,26 @@ return fileName.substring(0,dotPos+1); } + /** + * Merge two input parameter into full path and adjust File.separator to + * OS default separator as well. + * + * @param path + * @param file could be file name,or sub directory path. + * @return + */ + public static String getFullPath(String path, String file){ + String fullpath; + if(path.endsWith(File.separator)) + fullpath = path + file; + else + fullpath = path + File.separator + file; + if(File.separator.indexOf("\\") != -1) + fullpath = fullpath.replaceAll("\\/","\\\\"); + else + fullpath = fullpath.replaceAll("\\",File.separator); + + return fullpath; + + } }