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.6 -r1.7 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 14 Mar 2005 05:08:38 -0000 1.6 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 30 Mar 2005 04:14:24 -0000 1.7 @@ -62,5 +62,11 @@ */ public List getLessonsForUser(Integer userID); - + /** + * Returns the all the learners that have started the requested lesson. + * + * @param lessonId the id of the requested lesson. + * @return the list of learners. + */ + public List getActiveLearnerByLesson(final long lessonId); } 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.9 -r1.10 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 14 Mar 2005 05:08:44 -0000 1.9 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 30 Mar 2005 04:14:24 -0000 1.10 @@ -32,7 +32,6 @@ private final static String FIND_BY_USER="from " + TABLENAME + " in class " + Lesson.class.getName() + " where user_id=?"; - /** * Retrieves the Lesson * @param lessonId identifies the lesson to get @@ -90,6 +89,26 @@ } /** + * @see org.lamsfoundation.lams.lesson.dao.ILessonDAO#getActiveLearnerByLesson(long) + */ + public List getActiveLearnerByLesson(final long lessonId) + { + List learners = null; + + HibernateTemplate hibernateTemplate = new HibernateTemplate(this.getSessionFactory()); + learners = (List)hibernateTemplate.execute( + new HibernateCallback() { + public Object doInHibernate(Session session) throws HibernateException { + Query query = session.getNamedQuery("activeLearners"); + query.setLong("lessonId", lessonId); + List result = query.list(); + return result; + } + } + ); + return learners; + } + /** * Saves or Updates a Lesson. * @param lesson */ 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.11 -r1.12 --- lams_common/test/java/org/lamsfoundation/lams/lesson/dao/TestLessonDAO.java 14 Mar 2005 05:09:10 -0000 1.11 +++ lams_common/test/java/org/lamsfoundation/lams/lesson/dao/TestLessonDAO.java 30 Mar 2005 04:14:24 -0000 1.12 @@ -74,6 +74,12 @@ assertEquals("verify the number of lesson we get",0,lessons.size()); } + public void testGetActiveLearnersByLesson() + { + List learners = this.lessonDao.getActiveLearnerByLesson(2); + assertNotNull(learners); + } + public void testUpdateLesson() { Lesson createdLesson = this.lessonDao.getLesson(this.testLesson.getLessonId());