Index: lams_build/lib/lams/lams-central.jar =================================================================== diff -u -rb31438f14603ef90bb73d6a0621a6b3e10f01ba7 -ra0ef65af815f042f01af7135248a0c5d39f734fd Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== diff -u -r01459a4ea9a98edcb76c8a9b8f1a30c9e5e07806 -ra0ef65af815f042f01af7135248a0c5d39f734fd --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 01459a4ea9a98edcb76c8a9b8f1a30c9e5e07806) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision a0ef65af815f042f01af7135248a0c5d39f734fd) @@ -212,15 +212,15 @@ } } - if (keyExists(table, WDDXTAGS.PARENT_DESIGN_ID)) + if (keyExists(table, WDDXTAGS.ORIGINAL_DESIGN_ID)) { - Long parentLearningDesignID = WDDXProcessor.convertToLong(table,WDDXTAGS.PARENT_DESIGN_ID); + Long parentLearningDesignID = WDDXProcessor.convertToLong(table,WDDXTAGS.ORIGINAL_DESIGN_ID); if( parentLearningDesignID != null ){ LearningDesign parent = learningDesignDAO.getLearningDesignById(parentLearningDesignID); - learningDesign.setParentLearningDesign(parent); + learningDesign.setOriginalLearningDesign(parent); } else - learningDesign.setParentLearningDesign(null); + learningDesign.setOriginalLearningDesign(null); } Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -rb31438f14603ef90bb73d6a0621a6b3e10f01ba7 -ra0ef65af815f042f01af7135248a0c5d39f734fd --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision b31438f14603ef90bb73d6a0621a6b3e10f01ba7) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision a0ef65af815f042f01af7135248a0c5d39f734fd) @@ -239,7 +239,8 @@ return flashMessage.serializeMessage(); } public LearningDesign copyLearningDesign(Long originalDesignID,Integer copyType, - Integer userID, Integer workspaceFolderID)throws UserException, LearningDesignException, + Integer userID, Integer workspaceFolderID, boolean setOriginalDesign) + throws UserException, LearningDesignException, WorkspaceFolderException, IOException{ LearningDesign originalDesign = learningDesignDAO.getLearningDesignById(originalDesignID); @@ -254,24 +255,15 @@ if(workspaceFolder==null) throw new WorkspaceFolderException("No such WorkspaceFolder with workspace_folder_id of:" + workspaceFolderID + " exists"); - return copyLearningDesign(originalDesign,copyType,user,workspaceFolder); + return copyLearningDesign(originalDesign,copyType,user,workspaceFolder, setOriginalDesign); } - /** - * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#copyLearningDesign(org.lamsfoundation.lams.learningdesign.LearningDesign, java.lang.Integer, org.lamsfoundation.lams.usermanagement.User) - */ - public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign,Integer copyType,User user){ - Integer userId = user.getUserId(); - WorkspaceFolder runSequencesFolder = workspaceFolderDAO.getRunSequencesFolderForUser(userId); - return copyLearningDesign(originalLearningDesign,copyType,user, runSequencesFolder); - } - /** * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#copyLearningDesign(org.lamsfoundation.lams.learningdesign.LearningDesign, java.lang.Integer, org.lamsfoundation.lams.usermanagement.User, org.lamsfoundation.lams.usermanagement.WorkspaceFolder) */ - public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign,Integer copyType,User user, WorkspaceFolder workspaceFolder) + public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign,Integer copyType,User user, WorkspaceFolder workspaceFolder, boolean setOriginalDesign) { - LearningDesign newLearningDesign = LearningDesign.createLearningDesignCopy(originalLearningDesign,copyType); + LearningDesign newLearningDesign = LearningDesign.createLearningDesignCopy(originalLearningDesign,copyType, setOriginalDesign); newLearningDesign.setUser(user); newLearningDesign.setWorkspaceFolder(workspaceFolder); learningDesignDAO.insert(newLearningDesign); @@ -280,6 +272,7 @@ updateDesignTransitions(originalLearningDesign,newLearningDesign); return newLearningDesign; } + /** * Calculates the First activity of the LearningDesign. *
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java =================================================================== diff -u -rb31438f14603ef90bb73d6a0621a6b3e10f01ba7 -ra0ef65af815f042f01af7135248a0c5d39f734fd --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java (.../IAuthoringService.java) (revision b31438f14603ef90bb73d6a0621a6b3e10f01ba7) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java (.../IAuthoringService.java) (revision a0ef65af815f042f01af7135248a0c5d39f734fd) @@ -55,7 +55,8 @@ /** * Create a copy of learning design as per the requested learning design - * and saves it in the default workspacefolder. + * and saves it in the given workspacefolder. Does not set the original + * learning design field, so it should not be used for creating lesson learning designs. * * @param originalLearningDesign The source learning design id. * @param copyType purpose of copying the design. Can have one of the follwing values @@ -65,14 +66,16 @@ *