Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== diff -u -r96fc3e030ca0f7ad405dde1473259f7de828ad2e -r8def510853894da340f0420ade8dd145a81d55df --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 96fc3e030ca0f7ad405dde1473259f7de828ad2e) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 8def510853894da340f0420ade8dd145a81d55df) @@ -114,6 +114,7 @@ import org.lamsfoundation.lams.lesson.LessonClass; import org.lamsfoundation.lams.tool.SystemTool; import org.lamsfoundation.lams.tool.Tool; +import org.lamsfoundation.lams.tool.ToolAdapterContentManager; import org.lamsfoundation.lams.tool.ToolContent; import org.lamsfoundation.lams.tool.ToolContentManager; import org.lamsfoundation.lams.tool.dao.ISystemToolDAO; @@ -1016,7 +1017,7 @@ * @throws ImportToolContentException */ public Object[] importLearningDesign(File designFile, User importer, Integer workspaceFolderUid, - List toolsErrorMsgs) throws ImportToolContentException { + List toolsErrorMsgs, String customCSV) throws ImportToolContentException { Object[] ldResults = new Object[3]; Long ldId = null; @@ -1042,7 +1043,7 @@ File fullFilePath = new File(FileUtil.getFullPath(ldPath,LEARNING_DESIGN_FILE_NAME)); if ( fullFilePath.canRead() ) { - ldId = importLearningDesignV2(ldPath,importer,workspaceFolderUid,toolsErrorMsgs); + ldId = importLearningDesignV2(ldPath,importer,workspaceFolderUid,toolsErrorMsgs, customCSV); } else { badFileType(ldErrorMsgs, filename,"Learning design file not found."); } @@ -1099,7 +1100,7 @@ * @see org.lamsfoundation.lams.authoring.service.IExportToolContentService.importLearningDesign(String) */ public Long importLearningDesignV2(String learningDesignPath, User importer, Integer workspaceFolderUid - , List toolsErrorMsgs) throws ImportToolContentException { + , List toolsErrorMsgs, String customCSV) throws ImportToolContentException { try { //import learning design @@ -1142,15 +1143,26 @@ //Invoke tool's importToolContent() method. try{ //begin to import - ToolContentManager contentManager = (ToolContentManager) findToolService(newTool); log.debug("Tool begin to import content : " + activity.getActivityTitle() +" by contentID :" + activity.getToolContentID()); //tool's importToolContent() method //get from and to version String toVersion = newTool.getToolVersion(); String fromVersion = activity.getToolVersion(); - contentManager.importToolContent(newContent.getToolContentId(),importer.getUserId(),toolPath,fromVersion,toVersion); + + ToolContentManager contentManager = (ToolContentManager) findToolService(newTool); + // If this is a tool adapter tool, pass the customCSV to the special importToolContent method + // Otherwise invoke the normal tool importToolContentMethod + if (contentManager instanceof ToolAdapterContentManager) + { + ToolAdapterContentManager toolAdapterContentManager = (ToolAdapterContentManager)contentManager; + toolAdapterContentManager.importToolContent(newContent.getToolContentId(),importer.getUserId(),toolPath,fromVersion,toVersion, customCSV); + } + else + { + contentManager.importToolContent(newContent.getToolContentId(),importer.getUserId(),toolPath,fromVersion,toVersion); + } log.debug("Tool content import success."); }catch (Exception e) { String error = getMessageService().getMessage(ERROR_SERVICE_ERROR,new Object[]{newTool.getToolDisplayName(),e.toString()}); Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java =================================================================== diff -u -rafea02aa1c9735ee9de62a6f3621c0a649fd77e3 -r8def510853894da340f0420ade8dd145a81d55df --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java (.../IExportToolContentService.java) (revision afea02aa1c9735ee9de62a6f3621c0a649fd77e3) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java (.../IExportToolContentService.java) (revision 8def510853894da340f0420ade8dd145a81d55df) @@ -115,6 +115,7 @@ * @param designFile * @param importer * @param workspaceFolderUid + * @param customCSV the customCSV to be used by tool adapters to create new instances on the external LMS * @return An object array where: *
    *
  • Object[0] = ldID (Long)
  • @@ -125,14 +126,15 @@ * @throws ImportToolContentException */ Object[] importLearningDesign(File designFile, User importer, Integer workspaceFolderUid, - List toolsErrorMsgs) throws ImportToolContentException ; + List toolsErrorMsgs, String customCSV) throws ImportToolContentException ; /** Import the learning design from the given path. Set the importer as the creator. If the workspaceFolderUid is * null then saves the design in the user's own workspace folder. * * @param learningDesignPath * @param importer * @param workspaceFolderUid + * @param customCSV the customCSV to be used by tool adapters to create new instances on the external LMS * @return learningDesignID * @throws ImportToolContentException */