Index: lams_admin/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_admin/conf/language/lams/ApplicationResources.properties,v diff -u -r1.100.2.11 -r1.100.2.12 --- lams_admin/conf/language/lams/ApplicationResources.properties 23 Jun 2016 02:55:23 -0000 1.100.2.11 +++ lams_admin/conf/language/lams/ApplicationResources.properties 22 Sep 2016 10:14:37 -0000 1.100.2.12 @@ -164,6 +164,7 @@ sysadmin.headline =System Administration sysadmin.config.settings.edit =Edit configuration settings sysadmin.batch.temp.file.delete =Delete old temporary files +sysadmin.batch.preview.lesson.delete =Delete old preview lessons sysadmin.job.list =Job list sysadmin.list.job =List scheduled jobs in Quartz queue sysadmin.register.server =Register server @@ -228,6 +229,10 @@ msg.importv1.already.exist =The following logins already exist msg.cleanup.files.deleted ={0} files were deleted. msg.cleanup.warning =Warning: calculating the size of LAMS' temporary files may incur a performance hit on your server if it hasn't been cleaned out for a while. +msg.cleanup.preview.lesson.confirm =Are you sure you want to delete all preview lessons? +msg.cleanup.preview.lesson.error =Error while deleting preview lessons +label.cleanup.preview.lesson.count =Number of preview/all lessons: +label.cleanup.preview.lesson.progress =Deleting... label.exported.learning.designs =exported learning designs label.imported.learning.designs =imported learning designs label.unknown =unknown Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/CleanupPreviewLessonsAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java,v diff -u -r1.17.2.7 -r1.17.2.8 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java 23 Jun 2016 02:55:22 -0000 1.17.2.7 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/SysAdminStartAction.java 22 Sep 2016 10:14:36 -0000 1.17.2.8 @@ -69,6 +69,7 @@ links = new ArrayList(); links.add(new LinkBean("cleanup.do", "sysadmin.batch.temp.file.delete")); + links.add(new LinkBean("cleanupPreviewLessons.do", "sysadmin.batch.preview.lesson.delete")); links.add(new LinkBean("statistics.do", "admin.statistics.title")); groupedLinks.add(new Object[]{AdminConstants.START_MONITOR_LINKS,links}); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_admin/web/cleanupPreviewLessons.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_admin/web/WEB-INF/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/WEB-INF/Attic/struts-config.xml,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_admin/web/WEB-INF/struts-config.xml 27 Apr 2016 13:22:57 -0000 1.1.2.1 +++ lams_admin/web/WEB-INF/struts-config.xml 22 Sep 2016 10:14:36 -0000 1.1.2.2 @@ -518,7 +518,27 @@ redirect="false" /> + + + + + + + + + + + Index: lams_build/lib/lams/lams.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams.jar,v diff -u -r1.420.2.91 -r1.420.2.92 Binary files differ 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.30.2.8 -r1.30.2.9 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 11 May 2016 07:07:29 -0000 1.30.2.8 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java 22 Sep 2016 10:17:02 -0000 1.30.2.9 @@ -192,4 +192,14 @@ * @return list of teachers that monitor the lesson which contains the tool with given session ID */ List getMonitorsByToolSessionId(Long sessionId); + + /** + * Finds number of preview and all lessons. + */ + long[] getPreviewLessonCount(); + + /** + * Finds IDs of preview lessons. + */ + List getPreviewLessons(Integer limit); } \ No newline at end of file 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.39.2.13 -r1.39.2.14 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 11 May 2016 07:07:28 -0000 1.39.2.13 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java 22 Sep 2016 10:17:02 -0000 1.39.2.14 @@ -82,6 +82,12 @@ + "JOIN lams_group AS g ON g.group_id ging.staff_group_id AND g.grouping_id = ging.grouping_id " + "LEFT JOIN lams_user_group AS ug ON ug.group_id = g.group_id AND users.user_id = ug.user_id"; + private final static String COUNT_LESSONS = "SELECT COUNT (*) FROM " + Lesson.class.getName(); + private final static String COUNT_PREVIEW_LESSONS = "SELECT COUNT(*) FROM " + Lesson.class.getName() + + " AS lesson WHERE lesson.learningDesign.copyTypeID = " + LearningDesign.COPY_TYPE_PREVIEW; + private final static String FIND_PREVIEW_LESSON_IDS = "SELECT lesson.lessonId FROM " + Lesson.class.getName() + + " AS lesson WHERE lesson.learningDesign.copyTypeID = " + LearningDesign.COPY_TYPE_PREVIEW; + /** * Retrieves the Lesson. Used in instances where it cannot be lazy loaded so it forces an initialize. * @@ -358,4 +364,24 @@ } return result; } + + @Override + public long[] getPreviewLessonCount() { + Query query = getSession().createQuery(LessonDAO.COUNT_LESSONS); + long allLessons = ((Number) query.uniqueResult()).longValue(); + query = getSession().createQuery(LessonDAO.COUNT_PREVIEW_LESSONS); + long previewLessons = ((Number) query.uniqueResult()).longValue(); + + return new long[] { previewLessons, allLessons }; + } + + @Override + @SuppressWarnings("unchecked") + public List getPreviewLessons(Integer limit) { + Query query = getSession().createQuery(FIND_PREVIEW_LESSON_IDS); + if (limit != null) { + query.setMaxResults(limit); + } + return query.list(); + } } \ No newline at end of file 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.33.2.14 -r1.33.2.15 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java 25 Jul 2016 04:30:18 -0000 1.33.2.14 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java 22 Sep 2016 10:17:02 -0000 1.33.2.15 @@ -21,7 +21,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.lesson.service; import java.util.Collection; @@ -414,5 +413,16 @@ Set getReleasedSucceedingLessons(Long completedLessonId, Integer learnerId); void removeLearnerProgress(Long lessonId, Integer userId); + void saveLesson(Lesson lesson); + + /** + * Finds number of preview and all lessons. + */ + long[] getPreviewLessonCount(); + + /** + * Finds IDs of preview lessons. + */ + List getPreviewLessons(Integer limit); } \ 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.48.2.14 -r1.48.2.15 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java 20 Jul 2016 09:28:10 -0000 1.48.2.14 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java 22 Sep 2016 10:17:02 -0000 1.48.2.15 @@ -659,6 +659,16 @@ } @Override + public long[] getPreviewLessonCount() { + return lessonDAO.getPreviewLessonCount(); + } + + @Override + public List getPreviewLessons(Integer limit) { + return lessonDAO.getPreviewLessons(limit); + } + + @Override public boolean checkLessonReleaseConditions(Long lessonId, Integer learnerId) { Lesson lesson = getLesson(lessonId); if (lesson != null) { @@ -687,6 +697,7 @@ return releasedSucceedingLessons; } + @Override public void saveLesson(Lesson lesson) { lessonDAO.saveLesson(lesson); }