Index: lams_build/lib/lams/lams-central.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams-central.jar,v diff -u -r1.25 -r1.26 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java,v diff -u -r1.14 -r1.15 --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java 19 Dec 2005 05:55:13 -0000 1.14 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java 31 Jan 2006 13:00:54 -0000 1.15 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java,v diff -u -r1.10 -r1.11 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 27 Jan 2006 06:54:48 -0000 1.10 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 31 Jan 2006 13:00:54 -0000 1.11 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java,v diff -u -r1.5 -r1.6 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java 27 Jan 2006 06:54:48 -0000 1.5 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java 31 Jan 2006 13:00:54 -0000 1.6 @@ -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 @@ *

  • LearningDesign.COPY_TYPE_PREVIEW (for previewing purposes)
  • * * @param user The user who has sent this request(author/teacher) + * @param setOriginalDesign If true, then sets the originalLearningDesign field in the new design * @return LearningDesign The new copy of learning design. */ - public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign,Integer copyType,User user); - public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign,Integer copyType,User user, WorkspaceFolder workspaceFolder); + public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign,Integer copyType,User user, WorkspaceFolder workspaceFolder, boolean setOriginalDesign); + /** * Create a copy of learning design as per the requested learning design * and saves it in the given workspacefolder. Designed to be called when user tries - * to copy a learning design using the Flash interface. + * to copy a learning design using the Flash interface. Does not set the original + * learning design field, so it should not be used for creating lesson learning designs. * * @param originalLearningDesingID the source learning design id. * @param copyType purpose of copying the design. Can have one of the follwing values @@ -83,10 +86,11 @@ * * @param userID The user_id of the user who has sent this request(author/teacher) * @param workspaceFolderID The workspacefolder where this copy of the design would be saved + * @param setOriginalDesign If true, then sets the originalLearningDesign field in the new design * @return new LearningDesign */ public LearningDesign copyLearningDesign(Long originalLearningDesignID,Integer copyType, - Integer userID, Integer workspaceFolder)throws UserException, LearningDesignException, + Integer userID, Integer workspaceFolder, boolean setOriginalDesign)throws UserException, LearningDesignException, WorkspaceFolderException, IOException; /** * @return List Returns the list of all the available LearningDesign's Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java,v diff -u -r1.11 -r1.12 --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 27 Jan 2006 07:04:52 -0000 1.11 +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 31 Jan 2006 13:00:54 -0000 1.12 @@ -295,19 +295,8 @@ } else { - List list = learningDesignDAO.getLearningDesignsByParent(learningDesignID); - if(list==null || list.size()==0){ - folder.getLearningDesigns().remove(learningDesign); - learningDesign.setWorkspaceFolder(null); - } - else - { - isDeleteSuccessful = false; - flashMessage = new FlashMessage(MSG_KEY_DELETE, - "Cannot delete design with learning_design_id of:" + learningDesignID + - " as it is a PARENT.", - FlashMessage.ERROR); - } + folder.getLearningDesigns().remove(learningDesign); + learningDesign.setWorkspaceFolder(null); } } } @@ -607,7 +596,7 @@ try { LearningDesign ld = authoringService.copyLearningDesign(designID, copyType != null ? copyType : new Integer(LearningDesign.COPY_TYPE_NONE), - userID, targetFolderID); + userID, targetFolderID, false); message = new FlashMessage(MSG_KEY_COPY,ld.getLearningDesignId()); } catch ( Exception e ) { @@ -682,7 +671,7 @@ LearningDesign design = (LearningDesign)iterator.next(); authoringService.copyLearningDesign(design, new Integer(LearningDesign.COPY_TYPE_NONE), - user,targetWorkspaceFolder); + user,targetWorkspaceFolder, false); } } } @@ -800,16 +789,8 @@ " as it is READ ONLY.", FlashMessage.ERROR); }else{ - List list = learningDesignDAO.getLearningDesignsByParent(learningDesignID); - if(list==null || list.size()==0){ - learningDesignDAO.delete(learningDesign); - flashMessage = new FlashMessage(MSG_KEY_DELETE,"Learning Design deleted: "+ learningDesignID); - } - else - flashMessage = new FlashMessage(MSG_KEY_DELETE, - "Cannot delete design with learning_design_id of:" + learningDesignID + - " as it is a PARENT.", - FlashMessage.ERROR); + learningDesignDAO.delete(learningDesign); + flashMessage = new FlashMessage(MSG_KEY_DELETE,"Learning Design deleted: "+ learningDesignID); } }else flashMessage = FlashMessage.getUserNotAuthorized(MSG_KEY_DELETE,userID); Index: lams_central/test/java/org/lamsfoundation/lams/authoring/service/TestAuthoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/test/java/org/lamsfoundation/lams/authoring/service/Attic/TestAuthoringService.java,v diff -u -r1.3 -r1.4 --- lams_central/test/java/org/lamsfoundation/lams/authoring/service/TestAuthoringService.java 24 Jan 2006 11:32:29 -0000 1.3 +++ lams_central/test/java/org/lamsfoundation/lams/authoring/service/TestAuthoringService.java 31 Jan 2006 13:00:54 -0000 1.4 @@ -216,7 +216,7 @@ +"2005-2-7T1:0:23" +"Test Learning Design title" +"" - +"-111111" + +"-111111" +"1" +"string__value" +"-111111"