Index: lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java,v diff -u -r1.14 -r1.15 --- lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java 3 Feb 2016 02:16:27 -0000 1.14 +++ lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java 4 Feb 2016 00:18:26 -0000 1.15 @@ -111,15 +111,16 @@ * alias of notebookEntry) and the sql join clause, which should go with any other join clauses. * * To make sure it always returns the same number of objects add the select clause like this: - * queryText.append(notebookEntryStrings != null ? notebookEntryStrings[0] : ", NULL notebookEntry"); + * queryText.append(notebookEntryStrings != null ? notebookEntryStrings[0] : ", NULL notebookEntry"); or + * queryText.append(notebookEntryStrings != null ? notebookEntryStrings[0] : ", NULL notebookEntry, NULL notebookModifiedDate"); or * * Then if there is isn't a notebookEntry to return, it still returns a notebookEntry column, which translates to * null. So you can return a collection like List irrespective of whether or not the * notebook entries (the Strings) are needed. * * Finally, as it will be returning the notebook entry as a separate field in select clause, set up the sql -> java * object translation using ".addScalar("notebookEntry", Hibernate.STRING)" if includeDateModified = false or - * .addScalar("notebookEntry", Hibernate.STRING).addScalar("notebookCreateDate", Hibernate.DATE).addScalar("notebookModifiedDate", Hibernate.DATE) + * .addScalar("notebookEntry", Hibernate.STRING).addScalar("notebookModifiedDate", Hibernate.DATE) * if includeDates = true. * * @param sessionIdString @@ -144,7 +145,9 @@ buf.append("\" AND entry.user_id="); buf.append(userIdString); String[] retValue = new String[2]; - retValue[0] = includeDates ? ", entry.entry notebookEntry, entry.create_date notebookCreateDate, entry.last_modified notebookModifiedDate " : ", entry.entry notebookEntry "; + retValue[0] = includeDates + ? ", entry.entry notebookEntry, (CASE WHEN entry.last_modified IS NULL THEN entry.create_date ELSE entry.last_modified END) notebookModifiedDate " + : ", entry.entry notebookEntry "; retValue[1] = buf.toString(); return retValue; } Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/INotebookUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/INotebookUserDAO.java,v diff -u -r1.4 -r1.5 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/INotebookUserDAO.java 3 Feb 2016 02:12:46 -0000 1.4 +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/INotebookUserDAO.java 4 Feb 2016 00:19:29 -0000 1.5 @@ -62,9 +62,7 @@ */ NotebookUser getByUID(Long uid); - /** Will return List<[NotebookUser, String, Date, Date]> - * where the String is the notebook entry, the first date is the create date and the second date is the modified date. - * No notebook entries needed? Will return in their place. + /** Will return List<[NotebookUser, String, Date]> where the String is the notebook entry and the modified date. */ List getUsersForTablesorter(final Long sessionId, int page, int size, int sorting, String searchString, ICoreNotebookService coreNotebookService); Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java,v diff -u -r1.4 -r1.5 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java 3 Feb 2016 02:12:46 -0000 1.4 +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java 4 Feb 2016 00:19:29 -0000 1.5 @@ -95,9 +95,7 @@ } @SuppressWarnings("unchecked") - /** Will return List<[NotebookUser, String, Date, Date]> - * where the String is the notebook entry, the first date is the create date and the second date is the modified date. - * No notebook entries needed? Will return in their place. + /** Will return List<[NotebookUser, String, Date]> where the String is the notebook entry and the modified date. */ public List getUsersForTablesorter(final Long sessionId, int page, int size, int sorting, String searchString, ICoreNotebookService coreNotebookService) { @@ -110,10 +108,10 @@ sortingOrder = "user.last_name DESC, user.first_name DESC"; break; case NotebookConstants.SORT_BY_DATE_ASC: - sortingOrder = "notebookCreateDate ASC"; + sortingOrder = "notebookModifiedDate ASC"; break; case NotebookConstants.SORT_BY_DATE_DESC: - sortingOrder = "notebookCreateDate DESC"; + sortingOrder = "notebookModifiedDate DESC"; break; case NotebookConstants.SORT_BY_COMMENT_ASC: sortingOrder = "user.teachers_comment ASC"; @@ -144,7 +142,6 @@ SQLQuery query = getSession().createSQLQuery(queryText.toString()); query.addEntity("user", NotebookUser.class) .addScalar("notebookEntry", Hibernate.STRING) - .addScalar("notebookCreateDate", Hibernate.TIMESTAMP) .addScalar("notebookModifiedDate", Hibernate.TIMESTAMP) .setLong("sessionId", sessionId.longValue()) .setFirstResult(page * size) Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/INotebookService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/INotebookService.java,v diff -u -r1.11 -r1.12 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/INotebookService.java 3 Feb 2016 02:12:46 -0000 1.11 +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/INotebookService.java 4 Feb 2016 00:19:29 -0000 1.12 @@ -168,8 +168,8 @@ */ String getLearnerContentFolder(Long toolSessionId, Long userId); - /** Will return List<[NotebookUser, String, Date, Date]> - * where the String is the notebook entry, the first date is the create date and the second date is the modified date. + /** + * Will return List<[NotebookUser, String, Date]> where the String is the notebook entry and the modified date. */ List getUsersForTablesorter(final Long sessionId, int page, int size, int sorting, String searchString); int getCountUsersBySession(final Long sessionId, String searchString); Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/MonitoringAction.java,v diff -u -r1.15 -r1.16 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/MonitoringAction.java 3 Feb 2016 02:12:46 -0000 1.15 +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/MonitoringAction.java 4 Feb 2016 00:19:29 -0000 1.16 @@ -112,7 +112,6 @@ setupService(); Long toolSessionId = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID)); - // TODO fix modified date - sorts on creation date at the moment due to database. boolean hasSearch = WebUtil.readBooleanParam(request, "_search", false); String searchString = hasSearch ? request.getParameter(NotebookConstants.PARAM_NAME) : null; int page = WebUtil.readIntParam(request, "page"); @@ -157,15 +156,9 @@ responseRow.put(NotebookConstants.PARAM_COMMENT, user.getTeachersComment()); } - Date modifiedDate = null; - if ( userAndReflection.length > 3 && userAndReflection[3] != null) { - modifiedDate = (Date) userAndReflection[3]; - } else if ( userAndReflection.length > 2 && userAndReflection[2] != null) { - modifiedDate = (Date) userAndReflection[2]; - } - if ( modifiedDate != null ) { - responseRow.put(NotebookConstants.PARAM_MODIFIED_DATE, - DateUtil.convertToStringForJSON(modifiedDate)); + if ( userAndReflection.length > 2 && userAndReflection[2] != null) { + Date modifiedDate = (Date) userAndReflection[2]; + responseRow.put(NotebookConstants.PARAM_MODIFIED_DATE, DateUtil.convertToStringForJSON(modifiedDate)); } else { responseRow.put(NotebookConstants.PARAM_MODIFIED_DATE,noEntry); } Index: lams_tool_notebook/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/web/pages/monitoring/summary.jsp,v diff -u -r1.20 -r1.21 --- lams_tool_notebook/web/pages/monitoring/summary.jsp 3 Feb 2016 02:12:46 -0000 1.20 +++ lams_tool_notebook/web/pages/monitoring/summary.jsp 4 Feb 2016 00:19:29 -0000 1.21 @@ -181,10 +181,10 @@ {name:'id',index:'id', width:10, hidden: true, search: false}, {name:'userUid',index:'userUid', width:0, hidden: true, search: false}, {name:'userName',index:'userName', width:200}, - {name:'lastEdited',index:'lastEdited', width:120, search: false, sortable: false}, + {name:'lastEdited',index:'lastEdited', width:120, search: false}, {name:'entry',index:'entry', hidden: true, width:0, search: false}, {name:'commentsort',index:'commentsort', width:40, search: false }, - {name:'comment',index:'comment', hidden: true, width:0, search: false } + {name:'comment',index:'comment', hidden: true, width:0, search: false} ], multiselect: false,