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.27 -r1.27.10.1 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 12 Nov 2008 01:00:27 -0000 1.27 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 17 Mar 2010 01:42:48 -0000 1.27.10.1 @@ -193,4 +193,12 @@ * @return list of teachers that monitor the lesson which contains the tool with given session ID */ public List getMonitorsByToolSessionId(Long sessionId); + + /** + * Gets lesson for tools based on toolSessionID + * + * @param toolSessionID + * @return + */ + public Lesson getLessonFromSessionID(Long toolSessionID); } 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.36 -r1.36.10.1 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 12 Nov 2008 01:00:27 -0000 1.36 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 17 Mar 2010 01:42:48 -0000 1.36.10.1 @@ -62,6 +62,8 @@ + " l " + "where l.learningDesign.originalLearningDesign.learningDesignId = ? " + "and l.learningDesign.copyTypeID != " + LearningDesign.COPY_TYPE_PREVIEW + " " + "and l.lessonStateId = " + Lesson.STARTED_STATE + " " + "and l.organisation.organisationId = ? " + " order by l.lessonName"; + private final static String LESSON_BY_SESSION_ID = "select lesson from Lesson lesson, ToolSession session where " + + "session.lesson=lesson and session.toolSessionId=:toolSessionID"; /** * Retrieves the Lesson. Used in instances where it cannot be lazy loaded so it forces an initialize. @@ -337,5 +339,19 @@ return this.getHibernateTemplate().findByNamedQueryAndNamedParam("monitorsByToolSessionId", "sessionId", sessionId); } + + /** + * @see org.lamsfoundation.lams.lesson.dao.ILessonDAO#getLessonDetailsFromSessionID(java.lang.Long) + */ + public Lesson getLessonFromSessionID(final Long toolSessionID) { + HibernateTemplate hibernateTemplate = new HibernateTemplate(this.getSessionFactory()); + return (Lesson) hibernateTemplate.execute(new HibernateCallback() { + public Object doInHibernate(Session session) throws HibernateException { + Query query = session.createQuery(LessonDAO.LESSON_BY_SESSION_ID); + query.setLong("toolSessionID", toolSessionID); + return query.uniqueResult(); + } + }); + } } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java,v diff -u -r1.15 -r1.15.10.1 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java 13 Nov 2008 05:18:18 -0000 1.15 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java 17 Mar 2010 01:42:48 -0000 1.15.10.1 @@ -60,6 +60,7 @@ private Boolean learnerPresenceAvailable; private Boolean learnerImAvailable; private Boolean liveEditEnabled; + private Boolean isPreview; /** Create the DTO based on the lesson. Sets up all the fields except numberStartedLearners */ public LessonDetailsDTO(Lesson lesson){ @@ -124,6 +125,8 @@ this.liveEditEnabled = lesson.getLiveEditEnabled(); this.locked_for_edit = lesson.getLockedForEdit(); + + this.isPreview = lesson.isPreviewLesson(); } public Date getScheduleEndDate() { return scheduleEndDate; @@ -256,4 +259,82 @@ public Boolean getLiveEditEnabled() { return liveEditEnabled; } + public Boolean getLocked_for_edit() { + return locked_for_edit; + } + public void setLocked_for_edit(Boolean locked_for_edit) { + this.locked_for_edit = locked_for_edit; + } + public Boolean getIsPreview() { + return isPreview; + } + public void setIsPreview(Boolean isPreview) { + this.isPreview = isPreview; + } + public void setLessonID(Long lessonID) { + this.lessonID = lessonID; + } + public void setLessonName(String lessonName) { + this.lessonName = lessonName; + } + public void setLessonDescription(String lessonDescription) { + this.lessonDescription = lessonDescription; + } + public void setLessonStateID(Integer lessonStateID) { + this.lessonStateID = lessonStateID; + } + public void setCreateDateTime(Date createDateTime) { + this.createDateTime = createDateTime; + } + public void setStartDateTime(Date startDateTime) { + this.startDateTime = startDateTime; + } + public void setScheduleStartDate(Date scheduleStartDate) { + this.scheduleStartDate = scheduleStartDate; + } + public void setScheduleEndDate(Date scheduleEndDate) { + this.scheduleEndDate = scheduleEndDate; + } + public void setDuration(Long duration) { + this.duration = duration; + } + public void setOrganisationID(Integer organisationID) { + this.organisationID = organisationID; + } + public void setOrganisationName(String organisationName) { + this.organisationName = organisationName; + } + public void setOrganisationDescription(String organisationDescription) { + this.organisationDescription = organisationDescription; + } + public void setWorkspaceFolderID(Integer workspaceFolderID) { + this.workspaceFolderID = workspaceFolderID; + } + public void setContentFolderID(String contentFolderID) { + this.contentFolderID = contentFolderID; + } + public void setLicenseID(Long licenseID) { + this.licenseID = licenseID; + } + public void setLicenseText(String licenseText) { + this.licenseText = licenseText; + } + public void setLearningDesignID(Long learningDesignID) { + this.learningDesignID = learningDesignID; + } + public void setNumberPossibleLearners(Integer numberPossibleLearners) { + this.numberPossibleLearners = numberPossibleLearners; + } + public void setLearnerExportAvailable(Boolean learnerExportAvailable) { + this.learnerExportAvailable = learnerExportAvailable; + } + public void setLearnerPresenceAvailable(Boolean learnerPresenceAvailable) { + this.learnerPresenceAvailable = learnerPresenceAvailable; + } + public void setLearnerImAvailable(Boolean learnerImAvailable) { + this.learnerImAvailable = learnerImAvailable; + } + public void setLiveEditEnabled(Boolean liveEditEnabled) { + this.liveEditEnabled = liveEditEnabled; + } } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java,v diff -u -r1.26.6.1 -r1.26.6.1.4.1 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java 16 Apr 2009 07:01:38 -0000 1.26.6.1 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java 17 Mar 2010 01:42:48 -0000 1.26.6.1.4.1 @@ -395,4 +395,12 @@ * @return a List with all active lessons in it. */ public List getActiveLessonsForLearner(final Integer learnerId, final Integer organisationId); + + /** + * Gets lesson details for tools based on toolSessionID + * + * @param sessionID + * @return + */ + public LessonDetailsDTO getLessonDetailsFromSessionID(Long toolSessionID); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java,v diff -u -r1.36.2.1 -r1.36.2.1.4.1 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java 16 Apr 2009 07:01:38 -0000 1.36.2.1 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java 17 Mar 2010 01:42:48 -0000 1.36.2.1.4.1 @@ -816,4 +816,15 @@ public List getActiveLessonsForLearner(Integer learnerId, Integer organisationId) { return lessonDAO.getActiveLessonsForLearner(learnerId, organisationId); } + + /** + * @see org.lamsfoundation.lams.lesson.service.ILessonService#getLessonDetailsFromSessionID(java.lang.Long) + */ + public LessonDetailsDTO getLessonDetailsFromSessionID(Long toolSessionID) { + Lesson lesson = this.lessonDAO.getLessonFromSessionID(toolSessionID); + if (lesson != null) { + return lesson.getLessonDetails(); + } + return null; + } }