Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LearnerProgressDAO.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LearnerProgressDAO.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LearnerProgressDAO.java (revision dfee2e34d419c6b3504a2709bd0f076dfb419370)
@@ -0,0 +1,50 @@
+/*
+ * LessonDAO.java
+ *
+ * Created on 13 January 2005, 10:32
+ */
+
+package org.lamsfoundation.lams.lesson.dao.hibernate;
+
+import org.springframework.orm.hibernate.support.HibernateDaoSupport;
+
+import org.lamsfoundation.lams.lesson.dao.ILearnerProgressDAO;
+import org.lamsfoundation.lams.lesson.Lesson;
+import org.lamsfoundation.lams.lesson.LearnerProgress;
+import org.lamsfoundation.lams.usermanagement.User;
+/**
+ * Hibernate implementation of ILessonDAO
+ * @author chris
+ */
+public class LearnerProgressDAO extends HibernateDaoSupport implements ILearnerProgressDAO
+{
+
+ /**
+ * Retrieves the Lesson
+ * @param lessonId identifies the lesson to get
+ * @return the lesson
+ */
+ public LearnerProgress getLearnerProgress(Long learnerProgressId)
+ {
+ return (LearnerProgress)getHibernateTemplate().get(LearnerProgress.class, learnerProgressId);
+ }
+
+ /**
+ * Saves or Updates learner progress data.
+ * @param learnerProgress holds the learne progress data
+ */
+ public void saveOrUpdateLearnerProgress(LearnerProgress learnerProgress)
+ {
+ getHibernateTemplate().saveOrUpdate(learnerProgress);
+ }
+
+ /**
+ * Deletes a LearnerProgress data permanently.
+ * @param learnerProgress
+ */
+ public void deleteLearnerProgress(LearnerProgress learnerProgress)
+ {
+ getHibernateTemplate().delete(learnerProgress);
+ }
+
+}
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonClassDAO.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonClassDAO.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonClassDAO.java (revision dfee2e34d419c6b3504a2709bd0f076dfb419370)
@@ -0,0 +1,44 @@
+/*
+ * LessonDAO.java
+ *
+ * Created on 13 January 2005, 10:32
+ */
+
+package org.lamsfoundation.lams.lesson.dao.hibernate;
+
+import org.springframework.orm.hibernate.support.HibernateDaoSupport;
+
+import org.lamsfoundation.lams.lesson.LessonClass;
+import org.lamsfoundation.lams.lesson.dao.ILessonClassDAO;
+
+/**
+ * Hibernate implementation of ILessonDAO
+ * @author chris
+ */
+public class LessonClassDAO extends HibernateDaoSupport implements ILessonClassDAO
+{
+
+ public LessonClass getLessonClass(Long lessonClassId)
+ {
+ return (LessonClass)getHibernateTemplate().get(LessonClass.class, lessonClassId);
+ }
+
+ /**
+ * Saves or Updates a Lesson.
+ * @param lesson
+ */
+ public void saveOrUpdateLessonClass(LessonClass lessonClass)
+ {
+ getHibernateTemplate().saveOrUpdate(lessonClass);
+ }
+
+ /**
+ * Deletes a Lesson permanently.
+ * @param lesson
+ */
+ public void deleteLessonClass(LessonClass lessonClass)
+ {
+ getHibernateTemplate().delete(lessonClass);
+ }
+
+}
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java (revision dfee2e34d419c6b3504a2709bd0f076dfb419370)
@@ -0,0 +1,91 @@
+/*
+ * LessonDAO.java
+ *
+ * Created on 13 January 2005, 10:32
+ */
+
+package org.lamsfoundation.lams.lesson.dao.hibernate;
+
+import java.util.List;
+import java.util.Set;
+
+import net.sf.hibernate.HibernateException;
+import net.sf.hibernate.Query;
+import net.sf.hibernate.Session;
+
+import org.springframework.dao.DataAccessException;
+import org.springframework.dao.DataRetrievalFailureException;
+import org.springframework.orm.hibernate.support.HibernateDaoSupport;
+
+import org.lamsfoundation.lams.lesson.dao.ILessonDAO;
+import org.lamsfoundation.lams.lesson.Lesson;
+import org.lamsfoundation.lams.lesson.LearnerProgress;
+import org.lamsfoundation.lams.usermanagement.User;
+/**
+ * Hibernate implementation of ILessonDAO
+ * @author chris
+ */
+public class LessonDAO extends HibernateDaoSupport implements ILessonDAO
+{
+
+ /**
+ * Retrieves the Lesson
+ * @param lessonId identifies the lesson to get
+ * @return the lesson
+ */
+ public Lesson getLesson(Long lessonId)
+ {
+ return (Lesson)getHibernateTemplate().get(Lesson.class, lessonId);
+ }
+
+ /**
+ * Gets all lessons that are active for a learner.
+ * @param learner a User that identifies the learner.
+ * @return a List with all active lessons in it.
+ */
+ public List getActiveLessonsForLearner(User learner)
+ {
+ List lessons = null;
+ Session session = this.getSession();
+ try {
+ Query query = session.getNamedQuery("activeLessons");
+ query.setInteger("userId", learner.getUserId().intValue());
+ lessons = query.list();
+ }
+ catch (HibernateException e) {
+ throw new DataRetrievalFailureException(e.getMessage(), e);
+ }
+ return lessons;
+ }
+
+ /**
+ * Saves or Updates a Lesson.
+ * @param lesson
+ */
+ public void saveOrUpdateLesson(Lesson lesson)
+ {
+ getHibernateTemplate().saveOrUpdate(lesson);
+ }
+
+ /**
+ * Deletes a Lesson permanently.
+ * @param lesson
+ */
+ public void deleteLesson(Lesson lesson)
+ {
+ getHibernateTemplate().delete(lesson);
+ }
+
+ /**
+ * Retrieves the LearnerProgress
+ * @param learner the User in the Lesson
+ * @param lesson the Lesson
+ * @return LearnerProgess object containing the progress and state data.
+ */
+ public LearnerProgress getLearnerProgress(User learner, Lesson lesson)
+ {
+ String queryString = "from LearnerProgress l where l.user = ? and l.lesson ! = ?";
+ return (LearnerProgress) ((getHibernateTemplate().find(queryString, new Object[]{learner, lesson})).get(0));//shoud only ever be one of these
+ }
+
+}