Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/PeerreviewUserDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/PeerreviewUserDAO.java (.../PeerreviewUserDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/PeerreviewUserDAO.java (.../PeerreviewUserDAO.java) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -74,7 +74,7 @@ int createUsersForSession(PeerreviewSession session); List getUserNotebookEntriesForTablesorter(final Long toolSessionId, int page, int size, int sorting, - String searchString, ICoreNotebookService coreNotebookService); + String searchString, ICoreNotebookService coreNotebookService, IUserManagementService userManagementService); /** * Returns list of pairs. Used by monitor's manageUsers functionality. Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java (.../PeerreviewUserDAOHibernate.java) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java (.../PeerreviewUserDAOHibernate.java) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -29,7 +29,7 @@ import org.apache.commons.lang.StringUtils; import org.hibernate.Query; import org.hibernate.SQLQuery; -import org.hibernate.type.IntegerType; +import org.hibernate.type.LongType; import org.hibernate.type.StringType; import org.hibernate.type.TimestampType; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; @@ -298,7 +298,7 @@ * Will return List<[user.user_id, user.first_name, user.last_name, notebook entry, notebook date]> */ public List getUserNotebookEntriesForTablesorter(final Long toolSessionId, int page, int size, int sorting, - String searchString, ICoreNotebookService coreNotebookService) { + String searchString, ICoreNotebookService coreNotebookService, IUserManagementService userManagementService) { String sortingOrder; switch (sorting) { @@ -322,14 +322,18 @@ String[] notebookEntryStrings = coreNotebookService.getNotebookEntrySQLStrings(toolSessionId.toString(), PeerreviewConstants.TOOL_SIGNATURE, "user.user_id", true); + String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); + // Basic select for the user records StringBuilder queryText = new StringBuilder(); queryText.append("SELECT user.user_id, user.first_name, user.last_name ") + .append(portraitStrings[0]) .append(notebookEntryStrings[0]) .append(" FROM tl_laprev11_user user ") .append(" JOIN tl_laprev11_session session ON session.session_id = :toolSessionId AND user.session_uid = session.uid"); + queryText.append(portraitStrings[1]); queryText.append(notebookEntryStrings[1]); buildNameSearch(searchString, queryText, false); @@ -338,9 +342,10 @@ queryText.append(sortingOrder); SQLQuery query = getSession().createSQLQuery(queryText.toString()); - query.addScalar("user_id", IntegerType.INSTANCE) + query.addScalar("user_id", LongType.INSTANCE) .addScalar("first_name", StringType.INSTANCE) .addScalar("last_name", StringType.INSTANCE) + .addScalar("portraitId", LongType.INSTANCE) .addScalar("notebookEntry", StringType.INSTANCE) .addScalar("notebookModifiedDate", TimestampType.INSTANCE) .setLong("toolSessionId", toolSessionId.longValue()) Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java =================================================================== diff -u -r2ebad3a3c94cec1580e3b4d9c076773d78a5cc29 -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 2ebad3a3c94cec1580e3b4d9c076773d78a5cc29) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -438,7 +438,7 @@ public List getUserNotebookEntriesForTablesorter(Long toolSessionId, int page, int size, int sorting, String searchString) { List rawData = peerreviewUserDao.getUserNotebookEntriesForTablesorter(toolSessionId, page, size, - sorting, searchString, coreNotebookService); + sorting, searchString, coreNotebookService, userManagementService); for (Object[] raw : rawData) { StringBuilder description = new StringBuilder((String) raw[1]).append(" ").append((String) raw[2]); Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/LearningController.java =================================================================== diff -u -r2ebad3a3c94cec1580e3b4d9c076773d78a5cc29 -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/LearningController.java (.../LearningController.java) (revision 2ebad3a3c94cec1580e3b4d9c076773d78a5cc29) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/LearningController.java (.../LearningController.java) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -75,8 +75,8 @@ private static final String LEARNING_SUCCESS_PATH = "/pages/learning/learning"; private static final String HIDDEN_USER_PATH = "/pages/learning/learningHiddenUser"; private static final String DEFINE_LATER_PATH = "/pages/learning/definelater"; - private static final String SHOW_RESULTS_PATH = "/learning/showResults.do"; - private static final String NEW_REFLECTION_PATH = "/learning/newReflection.do"; + private static final String SHOW_RESULTS_REDIRECT = "redirect:/learning/showResults.do?" + PeerreviewConstants.ATTR_SESSION_MAP_ID + "="; + private static final String NEW_REFLECTION_REDIRECT = "redirect:/learning/newReflection.do?" + PeerreviewConstants.ATTR_SESSION_MAP_ID + "="; private static final String FINISH_PATH = "/pages/learning/finish"; private static final String SHOW_RESULTS_PAGE_PATH = "/pages/learning/results"; private static final String NOTEBOOK_PATH = "/pages/learning/notebook"; @@ -143,7 +143,7 @@ throw new IOException(e); } - // goto refresh screen TODO create a specialised page + // goto refresh screen if (user == null) { request.setAttribute(PeerreviewConstants.ATTR_CREATING_USERS, "true"); return DEFINE_LATER_PATH; @@ -331,20 +331,13 @@ sessionMap.put(PeerreviewConstants.ATTR_USER_FINISHED, user.isSessionFinished()); sessionMap.put("isSessionCompleted", user.getSession().getStatus() == PeerreviewConstants.COMPLETED); -// TODO add parameters and fix redirects // finally, work out which page to go to! if (user.isSessionFinished()) { - String redirect; if (peerreview.isShowRatingsLeftForUser() || peerreview.isShowRatingsLeftByUser() || entryText.length() > 0) { - redirect = SHOW_RESULTS_PATH; - // redirect.addParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - return redirect; + return SHOW_RESULTS_REDIRECT + sessionMap.getSessionID(); } else if (peerreview.isReflectOnActivity()) { - // do reflection - redirect = NEW_REFLECTION_PATH; - // redirect.addParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - return redirect; + return NEW_REFLECTION_REDIRECT + sessionMap.getSessionID(); } else { // finish return finish(request, session); Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -134,7 +134,23 @@ return CRITERIA_PATH; } - /** + // may be a BigInteger, may be a Long. Who knows as it has come from Hibernate and it seems to change! + private Long asLong(Object value) { + if (value != null) { + try { + Number num = (Number) value; + return num.longValue(); + } catch (Exception e1) { + try { + return new Long((String) value); + } catch (Exception e2) { + } + } + } + return null; + } + + /** * Refreshes user list. */ @RequestMapping("/getUsers") @@ -197,12 +213,12 @@ for (int i = 0; i < rawRows.size(); i++) { Object[] rawRow = rawRows.get(i); ObjectNode cell = JsonNodeFactory.instance.objectNode(); - cell.put("itemId", (Long) rawRow[0]); + cell.put("itemId", asLong(rawRow[0])); cell.put("itemDescription", (String) rawRow[2]); - cell.put("itemDescription2", (String) rawRow[3]); + cell.put("itemDescription2", asLong(rawRow[3])); - Number numCommentsNumber = (Number) rawRow[1]; - int numComments = numCommentsNumber != null ? numCommentsNumber.intValue() : 0; + Long numCommentsLong = asLong(rawRow[1]); + int numComments = numCommentsLong != null ? numCommentsLong.intValue() : 0; if (numComments > 0) { cell.put("rating", service.getLocalisedMessage("label.monitoring.num.of.comments", new Object[] { numComments })); @@ -290,8 +306,8 @@ if (ratingDetails[2] != null) { ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(i); - userData.add(JsonUtil.readObject(ratingDetails[4])); - userData.add(JsonUtil.readObject(ratingDetails[2])); + userData.add((String)ratingDetails[4]); + userData.add((String)ratingDetails[2]); userData.add(title); ObjectNode userRow = JsonNodeFactory.instance.objectNode(); @@ -312,7 +328,7 @@ || (criteria.isHedgeStyleRating() && ratingDetails[2] != null))) { ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(i); - userData.add(JsonUtil.readObject(ratingDetails[4])); + userData.add((String)ratingDetails[4]); String commentText = HtmlUtils.htmlEscape(comment); commentText = StringUtils.replace(commentText, "<BR>", "
"); userData.add(commentText); @@ -423,20 +439,21 @@ for (Object[] nbEntry : nbEntryList) { ArrayNode userData = JsonNodeFactory.instance.arrayNode(); - userData.add(JsonUtil.readObject(nbEntry[0])); - - Date entryTime = (Date) nbEntry[4]; + userData.add(asLong(nbEntry[0])); // user id + userData.add((String) nbEntry[2]); // user name + + Date entryTime = (Date) nbEntry[5]; // when.... if (entryTime == null) { - userData.add((String) nbEntry[2]); + userData.add(""); } else { - StringBuilder nameField = new StringBuilder((String) nbEntry[2]).append("
") - .append(""); userData.add(nameField.toString()); } - userData.add(HtmlUtils.htmlEscape((String) nbEntry[3])); + userData.add(asLong(nbEntry[3])); + userData.add(HtmlUtils.htmlEscape((String) nbEntry[4])); ObjectNode userRow = JsonNodeFactory.instance.objectNode(); userRow.put("id", i++); @@ -600,7 +617,7 @@ * Gets a paged set of data for stars or comments. These are directly saved to the database, not through * LearnerAction like Ranking and Hedging. */ - @RequestMapping("/getManagedUsers") + @RequestMapping("/getManageUsers") @ResponseBody public String getManageUsers(HttpServletRequest request, HttpServletResponse res) throws IOException, ServletException { @@ -637,7 +654,7 @@ Object[] rawRow = rawRows.get(i); ObjectNode cell = JsonNodeFactory.instance.objectNode(); cell.put("hidden", !(Boolean) rawRow[1]); - cell.put("userUid", (Integer) rawRow[0]); + cell.put("userUid", asLong(rawRow[0])); cell.put("userName", (String) rawRow[2]); ObjectNode row = JsonNodeFactory.instance.objectNode(); Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/form/PeerreviewForm.java =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/form/PeerreviewForm.java (.../PeerreviewForm.java) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/form/PeerreviewForm.java (.../PeerreviewForm.java) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -60,19 +60,6 @@ } } - // TODO is this used? -// @Override -// public void reset(ActionMapping mapping, HttpServletRequest request) { -// String param = mapping.getParameter(); -// // if it is start page, all data read out from database or current session -// // so need not reset checkbox to refresh value! -// if (!StringUtils.equals(param, "start") && !StringUtils.equals(param, "initPage")) { -// peerreview.setLockWhenFinished(false); -// peerreview.setDefineLater(false); -// peerreview.setReflectOnActivity(false); -// } -// } - public int getCurrentTab() { return currentTab; } Index: lams_tool_preview/web/WEB-INF/tags/OutcomeAuthor.tag =================================================================== diff -u -r1abddf98cd1cef4c2bd78bedfa702e0908932ccd -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/WEB-INF/tags/OutcomeAuthor.tag (.../OutcomeAuthor.tag) (revision 1abddf98cd1cef4c2bd78bedfa702e0908932ccd) +++ lams_tool_preview/web/WEB-INF/tags/OutcomeAuthor.tag (.../OutcomeAuthor.tag) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -8,7 +8,6 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> @@ -69,9 +68,8 @@ 'select' : function(event, ui){ var input = $(this); $.ajax({ - 'url' : 'outcome.do', + 'url' : 'outcome/outcomeMap', 'data': $.extend({ - 'method' : 'outcomeMap', 'outcomeId' : ui.item.value }, outcomeData${outcomeTagId}), 'method' : 'post', @@ -95,10 +93,8 @@ */ function refreshOutcomeMappings(outcomeTagId) { $.ajax({ - 'url' : 'outcome.do', - 'data' : $.extend({ - 'method' : 'outcomeGetMappings' - }, outcomeData${outcomeTagId}), + 'url' : 'outcome/outcomeGetMappings.do', + 'data' : outcomeData${outcomeTagId}, 'cache' : false, 'dataType' : 'json', 'success' : function(outcomeMappings) { @@ -130,9 +126,8 @@ */ function removeOutcomeMapping(button) { $.ajax({ - 'url' : 'outcome.do', + 'url' : 'outcome/outcomeRemoveMapping.do', 'data': { - 'method' : 'outcomeRemoveMapping', 'mappingId' : $(button).attr('mappingId') }, 'cache' : false, Index: lams_tool_preview/web/pages/authoring/authoring.jsp =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -30,7 +30,6 @@ - Index: lams_tool_preview/web/pages/authoring/basic.jsp =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/pages/authoring/basic.jsp (.../basic.jsp) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/web/pages/authoring/basic.jsp (.../basic.jsp) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -9,7 +9,7 @@
- +
Index: lams_tool_preview/web/pages/learning/notebook.jsp =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -23,9 +23,9 @@ - - - + + + Index: lams_tool_preview/web/pages/learning/notebookdisplay.jsp =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/pages/learning/notebookdisplay.jsp (.../notebookdisplay.jsp) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/web/pages/learning/notebookdisplay.jsp (.../notebookdisplay.jsp) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -23,9 +23,9 @@ - - - + + +
Index: lams_tool_preview/web/pages/learning/results.jsp =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/pages/learning/results.jsp (.../results.jsp) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/web/pages/learning/results.jsp (.../results.jsp) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -135,24 +135,24 @@ - + <%@ include file="notebookdisplay.jsp"%> - + - +
- - + + - + Index: lams_tool_preview/web/pages/monitoring/reflections.jsp =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r4a6c446731f09a496394db2f52e60431d8160d53 --- lams_tool_preview/web/pages/monitoring/reflections.jsp (.../reflections.jsp) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/web/pages/monitoring/reflections.jsp (.../reflections.jsp) (revision 4a6c446731f09a496394db2f52e60431d8160d53) @@ -1,3 +1,5 @@ + + <%@ include file="/common/taglibs.jsp"%> @@ -18,8 +20,9 @@ - + +