Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml,v diff -u -r1.3 -r1.4 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml 2 Feb 2005 00:54:27 -0000 1.3 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml 11 Feb 2005 01:24:23 -0000 1.4 @@ -224,7 +224,7 @@ /> - + Index: lams_common/db/sql/insert_test_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/Attic/insert_test_data.sql,v diff -u -r1.14 -r1.15 --- lams_common/db/sql/insert_test_data.sql 9 Feb 2005 01:19:09 -0000 1.14 +++ lams_common/db/sql/insert_test_data.sql 11 Feb 2005 01:24:23 -0000 1.15 @@ -76,7 +76,7 @@ insert into lams_tool (tool_id,tool_signature,service_name,tool_display_name,description,default_tool_content_id,supports_grouping_flag,supports_define_later_flag, learner_url,author_url,define_later_url,export_portfolio_url,monitor_url) -values(5,'message_board_signature','messageBoardService','Message Board','Message Board Description',5,0,0, +values(5,'message_board_signature','messageBoardService','Message Board','Message Board Description',5,1,0, 'learner_url','author_url','define_later_url','export_portfolio_url','monitor_url'); insert into lams_tool (tool_id,tool_signature,service_name,tool_display_name,description,default_tool_content_id,supports_grouping_flag,supports_define_later_flag, @@ -86,7 +86,7 @@ insert into lams_tool (tool_id,tool_signature,service_name,tool_display_name,description,default_tool_content_id,supports_grouping_flag,supports_define_later_flag, learner_url,author_url,define_later_url,export_portfolio_url,monitor_url) -values(7,'chat_signature','chatService','Chat','Chat Description',7,0,0, +values(7,'chat_signature','chatService','Chat','Chat Description',7,1,0, 'learner_url','author_url','define_later_url','export_portfolio_url','monitor_url'); insert into lams_tool (tool_id,tool_signature,service_name,tool_display_name,description,default_tool_content_id,supports_grouping_flag,supports_define_later_flag, @@ -96,7 +96,7 @@ insert into lams_tool (tool_id,tool_signature,service_name,tool_display_name,description,default_tool_content_id,supports_grouping_flag,supports_define_later_flag, learner_url,author_url,define_later_url,export_portfolio_url,monitor_url) -values(9,'voting_signature','votingService','Voting','Voting Description',9,0,0, +values(9,'voting_signature','votingService','Voting','Voting Description',9,1,0, 'learner_url','author_url','define_later_url','export_portfolio_url','monitor_url'); insert into lams_tool (tool_id,tool_signature,service_name,tool_display_name,description,default_tool_content_id,supports_grouping_flag,supports_define_later_flag, Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java,v diff -u -r1.3 -r1.4 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 8 Feb 2005 06:02:23 -0000 1.3 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 11 Feb 2005 01:24:22 -0000 1.4 @@ -388,4 +388,9 @@ public void setTransitionTo(Transition transitionTo) { this.transitionTo = transitionTo; } + + public boolean isToolActivity() + { + return getActivityTypeId().intValue()==TOOL_ACTIVITY_TYPE; + } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java,v diff -u -r1.3 -r1.4 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java 8 Feb 2005 01:27:06 -0000 1.3 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java 11 Feb 2005 01:24:22 -0000 1.4 @@ -1,6 +1,8 @@ package org.lamsfoundation.lams.learningdesign; import java.io.Serializable; +import java.util.HashSet; +import java.util.Iterator; import java.util.Set; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; @@ -26,8 +28,6 @@ /** identifier field */ private Long groupingId; - - /** nullable persistent field */ private Integer maxNumberOfGroups; @@ -40,6 +40,9 @@ /** persistent field */ private Set activities; + /** non-persistent field */ + private Set learners; + /** full constructor */ public Grouping(Long groupingId, Integer groupingTypeId, Set groups, Set activities) { @@ -157,6 +160,10 @@ this.maxNumberOfGroups = maxNumberOfGroups; } + /** + * Return the next group order id. + * @return the next order id. + */ public synchronized int getNextGroupOrderId() { int order =0; @@ -167,4 +174,24 @@ } else return ++order; } + + /** + * Return all the learners who participate this grouping. + * @return the learners set. + */ + public Set getLearners() + { + //verify pre-condition + if(groups==null) + throw new IllegalArgumentException("Fail to get learnings from" + + "a grouping without groups"); + + learners = new HashSet(); + for(Iterator i = groups.iterator();i.hasNext();) + { + Group group = (Group)i.next(); + learners.addAll(group.getUsers()); + } + return learners; + } } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java,v diff -u -r1.3 -r1.4 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java 8 Feb 2005 06:02:23 -0000 1.3 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java 11 Feb 2005 01:24:22 -0000 1.4 @@ -37,10 +37,10 @@ Boolean defineLater, java.util.Date createDateTime, String offlineInstructions, - org.lamsfoundation.lams.learningdesign.LearningLibrary learningLibrary, - org.lamsfoundation.lams.learningdesign.Activity parentActivity, - org.lamsfoundation.lams.learningdesign.LearningDesign learningDesign, - org.lamsfoundation.lams.learningdesign.Grouping grouping, + LearningLibrary learningLibrary, + Activity parentActivity, + LearningDesign learningDesign, + Grouping grouping, Integer activityTypeId, Transition transitionTo, Transition transitionFrom, Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java,v diff -u -r1.5 -r1.6 --- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java 8 Feb 2005 01:27:06 -0000 1.5 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java 11 Feb 2005 01:24:23 -0000 1.6 @@ -255,6 +255,9 @@ .toHashCode(); } + public Set getAllLearners() + { + return lessonClass.getLearners(); + } - } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java,v diff -u -r1.3 -r1.4 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 4 Feb 2005 04:21:13 -0000 1.3 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 11 Feb 2005 01:24:23 -0000 1.4 @@ -55,6 +55,12 @@ * @return LearnerProgess object containing the progress and state data. */ public LearnerProgress getLearnerProgress(User learner, Lesson lesson); + + /** + * Update a requested lesson. + * @param createdLesson + */ + public void updateLesson(Lesson lesson); } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java,v diff -u -r1.4 -r1.5 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 4 Feb 2005 04:21:13 -0000 1.4 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 11 Feb 2005 01:24:22 -0000 1.5 @@ -123,4 +123,14 @@ return (LearnerProgress) ((getHibernateTemplate().find(queryString, new Object[]{learner, lesson})).get(0));//shoud only ever be one of these } + + /** + * Update the lesson data + * @see org.lamsfoundation.lams.lesson.dao.ILessonDAO#updateLesson(org.lamsfoundation.lams.lesson.Lesson) + */ + public void updateLesson(Lesson lesson) + { + getHibernateTemplate().update(lesson); + } + } Index: lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java,v diff -u -r1.2 -r1.3 --- lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java 8 Feb 2005 06:13:44 -0000 1.2 +++ lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java 11 Feb 2005 01:24:23 -0000 1.3 @@ -21,13 +21,13 @@ private String learnerUrl; /** persistent field */ - private Boolean supportsGrouping; + private boolean supportsGrouping; /** nullable persistent field */ private String authorUrl; /** persistent field */ - private Boolean supportsDefineLater; + private boolean supportsDefineLater; /** nullable persistent field */ private String defineLaterUrl; @@ -54,7 +54,7 @@ private Set activities; /** full constructor */ - public Tool(Long toolId, String learnerUrl, Boolean supportsGrouping, String authorUrl, Boolean supportsDefineLater, String defineLaterUrl, long defaultToolContentId, String toolSignature, String toolDisplayName, String description, String className, String exportPortfolioUrl, Set activities) { + public Tool(Long toolId, String learnerUrl, boolean supportsGrouping, String authorUrl, boolean supportsDefineLater, String defineLaterUrl, long defaultToolContentId, String toolSignature, String toolDisplayName, String description, String className, String exportPortfolioUrl, Set activities) { this.toolId = toolId; this.learnerUrl = learnerUrl; this.supportsGrouping = supportsGrouping; @@ -75,7 +75,7 @@ } /** minimal constructor */ - public Tool(Long toolId, String learnerUrl, Boolean supportsGrouping, Boolean supportsDefineLater, long defaultToolContentId, String toolSignature, String toolDisplayName, String className, String exportPortfolioUrl, Set activities) { + public Tool(Long toolId, String learnerUrl, boolean supportsGrouping, boolean supportsDefineLater, long defaultToolContentId, String toolSignature, String toolDisplayName, String className, String exportPortfolioUrl, Set activities) { this.toolId = toolId; this.learnerUrl = learnerUrl; this.supportsGrouping = supportsGrouping; @@ -125,11 +125,11 @@ * not-null="true" * */ - public Boolean getSupportsGrouping() { + public boolean getSupportsGrouping() { return this.supportsGrouping; } - public void setSupportsGrouping(Boolean supportsGrouping) { + public void setSupportsGrouping(boolean supportsGrouping) { this.supportsGrouping = supportsGrouping; } @@ -154,11 +154,11 @@ * not-null="true" * */ - public Boolean getSupportsDefineLater() { + public boolean getSupportsDefineLater() { return this.supportsDefineLater; } - public void setSupportsDefineLater(Boolean supportsDefineLater) { + public void setSupportsDefineLater(boolean supportsDefineLater) { this.supportsDefineLater = supportsDefineLater; } Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestGrouping.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/learningdesign/Attic/TestGrouping.java,v diff -u -r1.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestGrouping.java 8 Feb 2005 01:27:06 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestGrouping.java 11 Feb 2005 01:24:23 -0000 1.2 @@ -11,6 +11,9 @@ import java.util.HashSet; +import org.lamsfoundation.lams.usermanagement.User; + + import junit.framework.TestCase; @@ -68,4 +71,34 @@ grouping.getGroups().add(group2); assertEquals(3,grouping.getNextGroupOrderId()); } + + public void testGetLearners() + { + grouping.setGroups(new HashSet()); + + User user1 = new User(); + user1.setUserId(new Integer(1)); + Group group1 = new Group(); + insertUserIntoGroup(user1, group1); + + + User user2 = new User(); + user2.setUserId(new Integer(2)); + Group group2 = new Group(); + insertUserIntoGroup(user2, group2); + + assertEquals("verify number of learners",2,grouping.getLearners().size()); + } + + /** + * @param user1 + * @param group1 + */ + private void insertUserIntoGroup(User user, Group group) + { + group.setUsers(new HashSet()); + group.getUsers().add(user); + group.setOrderId(grouping.getNextGroupOrderId()); + grouping.getGroups().add(group); + } } Index: lams_common/test/java/org/lamsfoundation/lams/lesson/dao/TestLessonDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/lesson/dao/Attic/TestLessonDAO.java,v diff -u -r1.3 -r1.4 --- lams_common/test/java/org/lamsfoundation/lams/lesson/dao/TestLessonDAO.java 6 Feb 2005 22:49:34 -0000 1.3 +++ lams_common/test/java/org/lamsfoundation/lams/lesson/dao/TestLessonDAO.java 11 Feb 2005 01:24:23 -0000 1.4 @@ -53,8 +53,19 @@ //assert the data retrieved. super.assertLesson(createdLesson); + } + + public void testUpdateLesson() + { + Lesson createdLesson = this.lessonDao.getLesson(this.testLesson.getLessonId()); + assertEquals("should be created state now",Lesson.CREATED,createdLesson.getLessonStateId()); + createdLesson.setLessonStateId(Lesson.STARTED_STATE); + lessonDao.updateLesson(createdLesson); + + Lesson updatedLesson = lessonDao.getLesson(testLesson.getLessonId()); + + assertEquals("verify the updated lesson state",Lesson.STARTED_STATE,updatedLesson.getLessonStateId()); } - } Index: lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/tool/dao/Attic/TestToolDAO.java,v diff -u -r1.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java 8 Feb 2005 23:48:10 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java 11 Feb 2005 01:24:22 -0000 1.2 @@ -52,6 +52,8 @@ assertEquals("verify service name","surveyService",testTool.getServiceName()); assertEquals("verify display name","Survey",testTool.getToolDisplayName()); assertEquals("verify default content id",6,testTool.getDefaultToolContentId()); + assertTrue("verify support grouping",!testTool.getSupportsGrouping()); + assertTrue("verify support define later",!testTool.getSupportsDefineLater()); } }