Index: lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolSessionDAO.java =================================================================== diff -u -r420ed5200c4cb6d9d220368cad111324e7984646 -r7def51eecc3d871673b614e8cb9a1ffc87a98881 --- lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolSessionDAO.java (.../IToolSessionDAO.java) (revision 420ed5200c4cb6d9d220368cad111324e7984646) +++ lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolSessionDAO.java (.../IToolSessionDAO.java) (revision 7def51eecc3d871673b614e8cb9a1ffc87a98881) @@ -13,7 +13,7 @@ /** * Inteface defines Lesson DAO Methods - * @author chris + * @author chris, Jacky */ public interface IToolSessionDAO { @@ -32,4 +32,6 @@ public ToolSession getToolSessionByLearner(final User learner,final Activity activity); public ToolSession getToolSessionByGroup(final Group group, final Activity activity); + + public void updateToolSession(ToolSession toolSession); } Index: lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolSessionDAO.java =================================================================== diff -u -r420ed5200c4cb6d9d220368cad111324e7984646 -r7def51eecc3d871673b614e8cb9a1ffc87a98881 --- lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolSessionDAO.java (.../ToolSessionDAO.java) (revision 420ed5200c4cb6d9d220368cad111324e7984646) +++ lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolSessionDAO.java (.../ToolSessionDAO.java) (revision 7def51eecc3d871673b614e8cb9a1ffc87a98881) @@ -96,6 +96,14 @@ getHibernateTemplate().delete(toolSession); } + /** + * @see org.lamsfoundation.lams.tool.dao.IToolSessionDAO#updateToolSession(org.lamsfoundation.lams.tool.ToolSession) + */ + public void updateToolSession(ToolSession toolSession) + { + getHibernateTemplate().update(toolSession); + } + } Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java =================================================================== diff -u -r4ffec10c449055d81b1afbf480db86e5cfecdf4e -r7def51eecc3d871673b614e8cb9a1ffc87a98881 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 4ffec10c449055d81b1afbf480db86e5cfecdf4e) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 7def51eecc3d871673b614e8cb9a1ffc87a98881) @@ -58,4 +58,6 @@ public void notifyToolsToCreateSession(Long toolSessionId, ToolActivity activity); public Long copyToolContent(ToolActivity toolActivity); + + public void updateToolSession(ToolSession toolSession); } Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java =================================================================== diff -u -r4ffec10c449055d81b1afbf480db86e5cfecdf4e -r7def51eecc3d871673b614e8cb9a1ffc87a98881 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 4ffec10c449055d81b1afbf480db86e5cfecdf4e) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 7def51eecc3d871673b614e8cb9a1ffc87a98881) @@ -148,6 +148,13 @@ return newToolcontentID; } + /** + * @see org.lamsfoundation.lams.tool.service.ILamsToolService#updateToolSession(org.lamsfoundation.lams.tool.ToolSession) + */ + public void updateToolSession(ToolSession toolSession) + { + toolSessionDAO.updateToolSession(toolSession); + } //--------------------------------------------------------------------- // Helper Methods //--------------------------------------------------------------------- @@ -173,4 +180,6 @@ { return toolActivity.getTool().getServiceName().equals("surveyService"); } + + } Index: lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolSessionDAO.java =================================================================== diff -u -raf2133eea2be056c211a5c29d6f68a3d8595a513 -r7def51eecc3d871673b614e8cb9a1ffc87a98881 --- lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolSessionDAO.java (.../TestToolSessionDAO.java) (revision af2133eea2be056c211a5c29d6f68a3d8595a513) +++ lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolSessionDAO.java (.../TestToolSessionDAO.java) (revision 7def51eecc3d871673b614e8cb9a1ffc87a98881) @@ -85,4 +85,16 @@ toolSessionDao.saveToolSession(this.ngToolSession); } + public void testUpdateToolSession() + { + ToolSession toolSession = toolSessionDao.getToolSessionByGroup(testGroup,testGroupedActivity); + assertEquals("verify original state",ToolSession.STARTED_STATE,toolSession.getToolSessionStateId()); + + toolSession.setToolSessionStateId(ToolSession.ENDED_STATE); + toolSessionDao.updateToolSession(toolSession); + ToolSession updatedToolSession = toolSessionDao.getToolSessionByGroup(testGroup,testGroupedActivity); + + assertEquals("verify new state",ToolSession.ENDED_STATE,updatedToolSession.getToolSessionStateId()); + + } } Index: lams_common/test/java/org/lamsfoundation/lams/tool/toolApplicationContext.xml =================================================================== diff -u -r4ffec10c449055d81b1afbf480db86e5cfecdf4e -r7def51eecc3d871673b614e8cb9a1ffc87a98881 --- lams_common/test/java/org/lamsfoundation/lams/tool/toolApplicationContext.xml (.../toolApplicationContext.xml) (revision 4ffec10c449055d81b1afbf480db86e5cfecdf4e) +++ lams_common/test/java/org/lamsfoundation/lams/tool/toolApplicationContext.xml (.../toolApplicationContext.xml) (revision 7def51eecc3d871673b614e8cb9a1ffc87a98881) @@ -46,6 +46,7 @@ PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED + PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED PROPAGATION_REQUIRED,readOnly