Index: lams_central/src/java/org/lamsfoundation/lams/web/NotificationAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/Attic/NotificationAction.java,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_central/src/java/org/lamsfoundation/lams/web/NotificationAction.java 21 Apr 2016 09:13:16 -0000 1.1.2.1 +++ lams_central/src/java/org/lamsfoundation/lams/web/NotificationAction.java 26 Apr 2016 08:34:05 -0000 1.1.2.2 @@ -61,7 +61,7 @@ Integer limit = WebUtil.readIntParam(req, "limit", true); Integer offset = WebUtil.readIntParam(req, "offset", true); List subscriptions = getEventNotificationService().getNotificationSubscriptions(null, - getUser().getUserID(), limit, offset); + getUser().getUserID(), false, limit, offset); JSONArray responseJSON = new JSONArray(); Event event = null; for (Subscription subscription : subscriptions) { Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/webservice/xml/NotificationServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/WEB-INF/Attic/web.xml,v diff -u -r1.51.2.16 -r1.51.2.17 --- lams_central/web/WEB-INF/web.xml 13 Apr 2016 08:49:11 -0000 1.51.2.16 +++ lams_central/web/WEB-INF/web.xml 26 Apr 2016 08:34:05 -0000 1.51.2.17 @@ -367,6 +367,13 @@ org.lamsfoundation.lams.web.RuntimeStatsServlet + + + NotificationServlet + + org.lamsfoundation.lams.webservice.xml.NotificationServlet + + LearningDesignRestServlet @@ -473,6 +480,10 @@ RuntimeStatsServlet /runtimeStats + + NotificationServlet + /services/xml/NotificationManager + csv @@ -610,6 +621,7 @@ /services/CourseGroupManager /services/getServerTime /services/Register/* + /services/xml/NotificationManager /ForgotPasswordRequest /forgotPassword.jsp /forgotPasswordChange.jsp Index: lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java,v diff -u -r1.7.2.7 -r1.7.2.8 --- lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java 21 Apr 2016 09:12:52 -0000 1.7.2.7 +++ lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java 26 Apr 2016 08:34:06 -0000 1.7.2.8 @@ -239,9 +239,9 @@ } @Override - public List getNotificationSubscriptions(Long lessonId, Integer userId, Integer limit, - Integer offset) { - return eventDAO.getLessonEventSubscriptions(lessonId, userId, limit, offset); + public List getNotificationSubscriptions(Long lessonId, Integer userId, boolean pendingOnly, + Integer limit, Integer offset) { + return eventDAO.getLessonEventSubscriptions(lessonId, userId, pendingOnly, limit, offset); } @Override Index: lams_common/src/java/org/lamsfoundation/lams/events/IEventNotificationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/events/IEventNotificationService.java,v diff -u -r1.4.2.5 -r1.4.2.6 --- lams_common/src/java/org/lamsfoundation/lams/events/IEventNotificationService.java 21 Apr 2016 09:12:53 -0000 1.4.2.5 +++ lams_common/src/java/org/lamsfoundation/lams/events/IEventNotificationService.java 26 Apr 2016 08:34:06 -0000 1.4.2.6 @@ -93,7 +93,8 @@ */ Set getAvailableDeliveryMethods(); - List getNotificationSubscriptions(Long lessonId, Integer userId, Integer limit, Integer offset); + List getNotificationSubscriptions(Long lessonId, Integer userId, boolean pendingOnly, Integer limit, + Integer offset); long getNotificationPendingCount(Long lessonId, Integer userId); Index: lams_common/src/java/org/lamsfoundation/lams/events/dao/EventDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/events/dao/EventDAO.java,v diff -u -r1.1.14.1 -r1.1.14.2 --- lams_common/src/java/org/lamsfoundation/lams/events/dao/EventDAO.java 21 Apr 2016 09:12:53 -0000 1.1.14.1 +++ lams_common/src/java/org/lamsfoundation/lams/events/dao/EventDAO.java 26 Apr 2016 08:34:06 -0000 1.1.14.2 @@ -24,7 +24,8 @@ */ List getEventsToResend(); - List getLessonEventSubscriptions(Long lessonId, Integer userId, Integer limit, Integer offset); + List getLessonEventSubscriptions(Long lessonId, Integer userId, boolean pendingOnly, Integer limit, + Integer offset); long getPendingNotificationCount(Long lessonId, Integer userId); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java,v diff -u -r1.3.2.6 -r1.3.2.7 --- lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java 21 Apr 2016 09:12:53 -0000 1.3.2.6 +++ lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java 26 Apr 2016 08:34:06 -0000 1.3.2.7 @@ -49,13 +49,17 @@ @Override @SuppressWarnings("unchecked") - public List getLessonEventSubscriptions(Long lessonId, Integer userId, Integer limit, - Integer offset) { + public List getLessonEventSubscriptions(Long lessonId, Integer userId, boolean pendingOnly, + Integer limit, Integer offset) { String query = EventDAOHibernate.GET_LESSON_EVENT_SUBSCRIPTIONS; if (lessonId != null) { query += " AND s.event.eventSessionId = ?"; } - query += " ORDER BY ISNULL(s.lastOperationMessage) DESC, uid ASC"; + if (pendingOnly) { + query += " AND (s.lastOperationMessage IS NULL OR s.lastOperationMessage != '" + + DeliveryMethodNotification.LAST_OPERATION_SEEN + "')"; + } + query += " ORDER BY ISNULL(s.lastOperationMessage) DESC, uid DESC"; Query queryObject = getSession().createQuery(query); queryObject.setInteger(0, userId); if (lessonId != null) {