Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyAnsContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveyAnsContent.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyAnsContent.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveyContent.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyContent.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyQueContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveyQueContent.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyQueContent.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyQueType.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveyQueType.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyQueType.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyQueUsr.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveyQueUsr.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyQueUsr.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveySession.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveySession.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveySession.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyUsrResp.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/Attic/SurveyUsrResp.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/conf/hibernate/mapping/org/lamsfoundation/lams/tool/survey/SurveyUsrResp.hbm.xml 23 Feb 2005 04:34:06 -0000 1.1 @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/lib/lams/lams-tool-survey.jar =================================================================== RCS file: /usr/local/cvsroot/lams_learning/lib/lams/Attic/lams-tool-survey.jar,v diff -u Binary files differ Index: lams_learning/lib/lams/lams.jar =================================================================== RCS file: /usr/local/cvsroot/lams_learning/lib/lams/Attic/lams.jar,v diff -u -r1.5 -r1.6 Binary files differ Index: lams_learning/lib/lams/src/lams-src.zip =================================================================== RCS file: /usr/local/cvsroot/lams_learning/lib/lams/src/Attic/lams-src.zip,v diff -u -r1.1 -r1.2 Binary files differ Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java,v diff -u -r1.5 -r1.6 --- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java 21 Feb 2005 05:31:39 -0000 1.5 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java 23 Feb 2005 04:34:06 -0000 1.6 @@ -87,18 +87,19 @@ * Method determines the start point for a learner when they begin a Lesson. * @param learner the User who is starting the Lesson. * @param lesson the Lesson the learner is starting. - * @return Progress - the VO that contains the data needed to send * @throws ProgressException if the start point cannot be calculated successfully. */ - public LearnerProgress getStartPoint(User learner, Lesson lesson, - LearnerProgress progress) throws ProgressException + public void setUpStartPoint(User learner, Lesson lesson, + LearnerProgress progress) throws ProgressException { LearningDesign ld = lesson.getLearningDesign(); + progress.setCurrentActivity(ld.getFirstActivity()); + progress.setNextActivity(ld.getFirstActivity()); - return progress; + progress.setProgressState(ld.getFirstActivity(),LearnerProgress.ACTIVITY_ATTEMPTED); } } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java,v diff -u -r1.6 -r1.7 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java 21 Feb 2005 05:31:40 -0000 1.6 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java 23 Feb 2005 04:34:06 -0000 1.7 @@ -27,6 +27,7 @@ import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.LearnerProgress; +import org.lamsfoundation.lams.tool.service.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.User; /** * @@ -61,7 +62,7 @@ * @param lessionID identifies the Lesson to start * @throws LearnerServiceException in case of problems. */ - public LearnerProgress joinLesson(User learner, Lesson lesson) throws ProgressException; + public LearnerProgress joinLesson(User learner, Lesson lesson) throws ProgressException,LamsToolServiceException; /** Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java,v diff -u -r1.14 -r1.15 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 22 Feb 2005 06:50:01 -0000 1.14 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 23 Feb 2005 04:34:06 -0000 1.15 @@ -41,6 +41,8 @@ import org.lamsfoundation.lams.tool.ToolSession; import org.lamsfoundation.lams.tool.dao.IToolSessionDAO; +import org.lamsfoundation.lams.tool.service.ILamsToolService; +import org.lamsfoundation.lams.tool.service.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.User; /** * This class is a facade over the Learning middle tier. @@ -55,7 +57,7 @@ private ILessonDAO lessonDAO; private ProgressEngine progressEngine; private IToolSessionDAO toolSessionDAO; - + private ILamsToolService lamsToolService; private ActionMappings actionMappings; //--------------------------------------------------------------------- // Inversion of Control Methods - Constructor injection @@ -92,6 +94,13 @@ this.learnerProgressDAO = learnerProgressDAO; } + /** + * @param lamsToolService The lamsToolService to set. + */ + public void setLamsToolService(ILamsToolService lamsToolService) + { + this.lamsToolService = lamsToolService; + } //--------------------------------------------------------------------- // Service Methods //--------------------------------------------------------------------- @@ -116,9 +125,10 @@ * Joins a User to a new lesson as a learner * @param learner the Learner * @param lessionID identifies the Lesson to start + * @throws LamsToolServiceException * @throws LearnerServiceException in case of problems. */ - public LearnerProgress joinLesson(User learner, Lesson lesson) throws ProgressException + public LearnerProgress joinLesson(User learner, Lesson lesson) throws ProgressException, LamsToolServiceException { LearnerProgress learnerProgress = learnerProgressDAO.getLearnerProgressByLearner(learner,lesson); @@ -127,7 +137,7 @@ //create a new learner progress for new learner learnerProgress = new LearnerProgress(learner,lesson); - progressEngine.getStartPoint(learner, lesson,learnerProgress); + progressEngine.setUpStartPoint(learner, lesson,learnerProgress); learnerProgressDAO.saveLearnerProgress(learnerProgress); } @@ -207,8 +217,9 @@ * session doesn't exist, we create a new tool session instance. * * @param learnerProgress the learner progress we are processing. + * @throws LamsToolServiceException */ - private void createToolSessionsIfNecessary(LearnerProgress learnerProgress) + private void createToolSessionsIfNecessary(LearnerProgress learnerProgress) throws LamsToolServiceException { if(learnerProgress.getNextActivity()==null) throw new LearnerServiceException("Error occurs in [" + @@ -240,7 +251,7 @@ else targetSession = toolSessionDAO.getToolSessionByGroup(toolActivity.getGroupFor(learnerProgress.getUser()), toolActivity); - return targetSession!=null?true:false; + return targetSession!=null?false:true; } /** @@ -253,14 +264,14 @@ * * @param toolActivity * @param learner + * @throws LamsToolServiceException */ - private void createToolSessionFor(ToolActivity toolActivity,User learner) + private void createToolSessionFor(ToolActivity toolActivity,User learner) throws LamsToolServiceException { - ToolSession toolSession = toolActivity.createToolSessionForActivity(learner); - + ToolSession toolSession = lamsToolService.createToolSession(learner,toolActivity); + toolActivity.getToolSessions().add(toolSession); - toolSessionDAO.saveToolSession(toolSession); + lamsToolService.notifyToolsToCreateSession(toolSession.getToolSessionId(), toolActivity); } - } Index: lams_learning/test/java/WEB-INF/spring/learningApplicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/test/java/WEB-INF/spring/Attic/learningApplicationContext.xml,v diff -u -r1.5 -r1.6 --- lams_learning/test/java/WEB-INF/spring/learningApplicationContext.xml 22 Feb 2005 04:25:03 -0000 1.5 +++ lams_learning/test/java/WEB-INF/spring/learningApplicationContext.xml 23 Feb 2005 04:34:06 -0000 1.6 @@ -18,6 +18,7 @@ + Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/test/java/org/lamsfoundation/lams/learning/service/Attic/TestLearnerService.java,v diff -u -r1.2 -r1.3 --- lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java 22 Feb 2005 06:50:01 -0000 1.2 +++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java 23 Feb 2005 04:34:06 -0000 1.3 @@ -23,9 +23,14 @@ import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.learning.progress.ProgressException; +import org.lamsfoundation.lams.learningdesign.ToolActivity; +import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.lesson.dao.ILearnerProgressDAO; import org.lamsfoundation.lams.lesson.dao.ILessonDAO; +import org.lamsfoundation.lams.lesson.dao.hibernate.LearnerProgressDAO; import org.lamsfoundation.lams.lesson.dao.hibernate.LessonDAO; +import org.lamsfoundation.lams.tool.service.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; @@ -40,16 +45,18 @@ private ILearnerService learnerService; private IUserManagementService usermanageService; private ILessonDAO lessonDao; + private ILearnerProgressDAO learnerProgressDao; //--------------------------------------------------------------------- // Testing Data - Constants //--------------------------------------------------------------------- - private final Integer TEST_USER_ID = new Integer(1); + private final Integer TEST_USER_ID = new Integer(2); private final Long Test_Lesson_ID = new Long(1); //--------------------------------------------------------------------- // Testing Data - Instance Variables //--------------------------------------------------------------------- private User testUser; private Lesson testLesson; + private LearnerProgress testProgress; /* * @see TestCase#setUp() */ @@ -59,6 +66,7 @@ learnerService = (ILearnerService)this.context.getBean("learnerService"); usermanageService = (IUserManagementService)this.context.getBean("userManagementService"); lessonDao = (LessonDAO)this.context.getBean("lessonDAO"); + learnerProgressDao = (LearnerProgressDAO)this.context.getBean("learnerProgressDAO"); testUser = usermanageService.getUserById(TEST_USER_ID); testLesson = lessonDao.getLesson(Test_Lesson_ID); @@ -85,11 +93,28 @@ return new String[] { "/WEB-INF/spring/learningApplicationContext.xml", "/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml", "/org/lamsfoundation/lams/tool/toolApplicationContext.xml", + "/org/lamsfoundation/lams/tool/survey/dataAccessContext.xml", + "/org/lamsfoundation/lams/tool/survey/surveyApplicationContext.xml", "applicationContext.xml"}; } - public void testJoinLesson() throws ProgressException + + public void testJoinLesson() throws ProgressException,LamsToolServiceException { learnerService.joinLesson(testUser,testLesson); + + testProgress=learnerProgressDao.getLearnerProgressByLearner(testUser,testLesson); + + assertNotNull(testProgress); + assertNotNull("verify next activity",testProgress.getNextActivity()); + assertEquals("verify id of next activity-survey",20,testProgress.getNextActivity().getActivityId().longValue()); + assertNotNull("verify current activity",testProgress.getCurrentActivity()); + assertEquals("verify id of current activity-survey",20,testProgress.getCurrentActivity().getActivityId().longValue()); + assertEquals("verify attempted activity",1,testProgress.getAttemptedActivities().size()); + assertEquals("verify completed activity",0,testProgress.getCompletedActivities().size()); + assertNotNull("verify correspondent tool session for next activity", + ((ToolActivity)testProgress.getNextActivity()).getToolSessions()); + assertEquals("verify number of tool sessions created",1, + ((ToolActivity)testProgress.getNextActivity()).getToolSessions().size()); assertTrue(true); }