Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r7a2a590146e0899d86b5b810547ba2d4ca83aa18 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 7a2a590146e0899d86b5b810547ba2d4ca83aa18) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -1078,7 +1078,7 @@ @Override public String[] getPortraitSQL(String userIdString) { String[] retValue = new String[2]; - retValue[0] = ", luser.portrait_uuid portraitId "; + retValue[0] = ", BIN_TO_UUID(luser.portrait_uuid) portraitId "; retValue[1] = " JOIN lams_user luser ON luser.user_id = " + userIdString; return retValue; } Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java =================================================================== diff -u -r7a2a590146e0899d86b5b810547ba2d4ca83aa18 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java (.../Download.java) (revision 7a2a590146e0899d86b5b810547ba2d4ca83aa18) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java (.../Download.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -157,6 +157,7 @@ if (uuid != null) { version = Download.getLong(request.getParameter(Download.VERSION_NAME)); + // check if it is plain numeric UUID or complex portrait UUID IVersionedNode node = uuid.contains("-") ? getRepositoryService().getFileItem(ticket, uuid, version) : getRepositoryService().getFileItem(ticket, Long.valueOf(uuid), version); // update versionId in case it was null and we got the latest version... @@ -211,6 +212,7 @@ throw new RepositoryCheckedException("Filename is missing. " + Download.expectedFormat); } + // check if it is plain numeric UUID or complex portrait UUID IVersionedNode node = uuid.contains("-") ? getRepositoryService().getFileItem(ticket, uuid, version) : getRepositoryService().getFileItem(ticket, Long.valueOf(uuid), version); if (!node.isNodeType(NodeType.FILENODE)) { Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java =================================================================== diff -u -r7a2a590146e0899d86b5b810547ba2d4ca83aa18 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java (.../AssessmentUserDAOHibernate.java) (revision 7a2a590146e0899d86b5b810547ba2d4ca83aa18) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java (.../AssessmentUserDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -25,7 +25,6 @@ import java.util.ArrayList; import java.util.List; -import java.util.UUID; import org.hibernate.query.NativeQuery; import org.hibernate.query.Query; @@ -146,15 +145,15 @@ String lastName = (String) element[2]; String login = (String) element[3]; float grade = element[4] == null ? 0 : ((Number) element[4]).floatValue(); - byte[] portraitId = (byte[]) element[5]; + String portraitId = (String) element[5]; AssessmentUserDTO userDto = new AssessmentUserDTO(); userDto.setUserId(userId); userDto.setFirstName(firstName); userDto.setLastName(lastName); userDto.setLogin(login); userDto.setGrade(grade); - userDto.setPortraitId(portraitId == null ? null : UUID.nameUUIDFromBytes(portraitId).toString()); + userDto.setPortraitId(portraitId); userDtos.add(userDto); } @@ -276,15 +275,15 @@ String lastName = (String) element[2]; String login = (String) element[3]; float grade = element[4] == null ? 0 : ((Number) element[4]).floatValue(); - byte[] portraitId = (byte[]) element[5]; + String portraitId = (String) element[5]; AssessmentUserDTO userDto = new AssessmentUserDTO(); userDto.setQuestionResultUid(questionResultUid); userDto.setFirstName(firstName); userDto.setLastName(lastName); userDto.setLogin(login); userDto.setGrade(grade); - userDto.setPortraitId(portraitId == null ? null : UUID.nameUUIDFromBytes(portraitId).toString()); + userDto.setPortraitId(portraitId); userDtos.add(userDto); } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoUserDAOHibernate.java =================================================================== diff -u -r862a8e07b6ea55951a9047221ed0a86486b93b71 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoUserDAOHibernate.java (.../DacoUserDAOHibernate.java) (revision 862a8e07b6ea55951a9047221ed0a86486b93b71) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoUserDAOHibernate.java (.../DacoUserDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -159,7 +159,7 @@ NativeQuery query = getSession().createNativeQuery(queryText.toString()); query.addEntity("user", DacoUser.class).addScalar("record_count", IntegerType.INSTANCE) .addScalar("notebookEntry", StringType.INSTANCE) - .addScalar("portraitId", IntegerType.INSTANCE) + .addScalar("portraitId", StringType.INSTANCE) .setParameter("sessionId", sessionId.longValue()) .setFirstResult(page * size).setMaxResults(size); return query.list(); Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/controller/MonitoringController.java =================================================================== diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -234,7 +234,7 @@ responseRow.put(DacoConstants.NOTEBOOK_ENTRY, HtmlUtils.htmlEscape((String) userAndReflection[2])); } if (userAndReflection.length > 3 && userAndReflection[3] != null) { - responseRow.put(DacoConstants.PORTRAIT_ID, (Integer) userAndReflection[3]); + responseRow.put(DacoConstants.PORTRAIT_ID, (String) userAndReflection[3]); } rows.add(responseRow); } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dao/hibernate/ForumUserDao.java =================================================================== diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dao/hibernate/ForumUserDao.java (.../ForumUserDao.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dao/hibernate/ForumUserDao.java (.../ForumUserDao.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -21,16 +21,13 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.forum.dao.hibernate; import java.util.List; import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.query.NativeQuery; -import org.hibernate.type.IntegerType; import org.hibernate.type.StringType; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; @@ -86,7 +83,7 @@ @Override public ForumUser getByUid(Long userUid) { - return (ForumUser) this.getSession().get(ForumUser.class, userUid); + return this.getSession().get(ForumUser.class, userUid); } @Override @@ -183,8 +180,8 @@ NativeQuery query = getSession().createNativeQuery(queryText.toString()); query.addEntity("user", ForumUser.class).addScalar("notebookEntry", StringType.INSTANCE) - .addScalar("portraitId", IntegerType.INSTANCE) - .setParameter("sessionId", sessionId.longValue()).setFirstResult(page * size).setMaxResults(size); + .addScalar("portraitId", StringType.INSTANCE).setParameter("sessionId", sessionId.longValue()) + .setFirstResult(page * size).setMaxResults(size); return query.list(); } @@ -210,8 +207,8 @@ " JOIN tl_lafrum11_tool_session session ON user.session_id = session.uid and session.session_id = :sessionId"); buildNameSearch(queryText, searchString); - List list = getSession().createNativeQuery(queryText.toString()).setParameter("sessionId", sessionId.longValue()) - .list(); + List list = getSession().createNativeQuery(queryText.toString()) + .setParameter("sessionId", sessionId.longValue()).list(); if (list == null || list.size() == 0) { return 0; } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/MonitoringController.java =================================================================== diff -u -r6116054d29807ae2c1f274fc324a507c2b3a0910 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 6116054d29807ae2c1f274fc324a507c2b3a0910) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -288,7 +288,7 @@ } if (userAndReflection.length > 2 && userAndReflection[2] != null) { - responseRow.put(ForumConstants.ATTR_PORTRAIT_ID, (Integer)userAndReflection[2]); + responseRow.put(ForumConstants.ATTR_PORTRAIT_ID, (String) userAndReflection[2]); } rows.add(responseRow); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java =================================================================== diff -u -rd03a1456d2d0ee7a482273fe35412c67054f133d -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java (.../McUserDAO.java) (revision d03a1456d2d0ee7a482273fe35412c67054f133d) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUserDAO.java (.../McUserDAO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -48,36 +48,35 @@ private static final String GET_USER_BY_USER_ID_SESSION = "from mcQueUsr in class McQueUsr where mcQueUsr.queUsrId=:queUsrId and mcQueUsr.mcSession.uid=:mcSessionUid"; private static final String LOAD_MARKS_FOR_SESSION = "SELECT last_attempt_total_mark " - + " FROM tl_lamc11_que_usr usr " - + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid " + + " FROM tl_lamc11_que_usr usr " + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid " + " WHERE responseFinalised = 1 AND sess.mc_session_id = :sessionId"; private static final String FIND_MARK_STATS_FOR_SESSION = "SELECT MIN(last_attempt_total_mark) min_grade, AVG(last_attempt_total_mark) avg_grade, " - + " MAX(last_attempt_total_mark) max_grade FROM tl_lamc11_que_usr usr " + + " MAX(last_attempt_total_mark) max_grade FROM tl_lamc11_que_usr usr " + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid " + " WHERE responseFinalised = 1 AND sess.mc_session_id = :sessionId"; private static final String LOAD_MARKS_FOR_LEADERS = "SELECT usr.last_attempt_total_mark " - + " FROM tl_lamc11_que_usr usr " - + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid AND usr.uid = sess.mc_group_leader_uid " - + " JOIN tl_lamc11_content mcq ON sess.mc_content_id = mcq.uid " - + " WHERE responseFinalised = 1 AND mcq.content_id = :toolContentId"; + + " FROM tl_lamc11_que_usr usr " + + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid AND usr.uid = sess.mc_group_leader_uid " + + " JOIN tl_lamc11_content mcq ON sess.mc_content_id = mcq.uid " + + " WHERE responseFinalised = 1 AND mcq.content_id = :toolContentId"; private static final String FIND_MARK_STATS_FOR_LEADERS = "SELECT MIN(usr.last_attempt_total_mark) min_grade, AVG(usr.last_attempt_total_mark) avg_grade, " - + " MAX(usr.last_attempt_total_mark) max_grade, COUNT(usr.last_attempt_total_mark) num_complete " - + " FROM tl_lamc11_que_usr usr " - + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid AND usr.uid = sess.mc_group_leader_uid " - + " JOIN tl_lamc11_content mcq ON sess.mc_content_id = mcq.uid " - + " WHERE responseFinalised = 1 AND mcq.content_id = :toolContentId"; + + " MAX(usr.last_attempt_total_mark) max_grade, COUNT(usr.last_attempt_total_mark) num_complete " + + " FROM tl_lamc11_que_usr usr " + + " JOIN tl_lamc11_session sess ON usr.mc_session_id = sess.uid AND usr.uid = sess.mc_group_leader_uid " + + " JOIN tl_lamc11_content mcq ON sess.mc_content_id = mcq.uid " + + " WHERE responseFinalised = 1 AND mcq.content_id = :toolContentId"; @Override public McQueUsr getMcUserByUID(Long uid) { - return (McQueUsr) this.getSession().get(McQueUsr.class, uid); + return this.getSession().get(McQueUsr.class, uid); } - + @Override public McQueUsr getMcUserByContentId(Long userId, Long contentId) { final String GET_USER_BY_USER_ID_AND_CONTENT_ID = "from " + McQueUsr.class.getName() + " user where user.queUsrId=:userId and user.mcSession.mcContent.mcContentId=:contentId"; - + return (McQueUsr) getSessionFactory().getCurrentSession().createQuery(GET_USER_BY_USER_ID_AND_CONTENT_ID) .setParameter("userId", userId).setParameter("contentId", contentId).uniqueResult(); } @@ -95,20 +94,20 @@ } return null; } - + @Override @SuppressWarnings("unchecked") public List getUsersWithPortraitsBySessionID(Long sessionId) { - final String LOAD_USERS_WITH_PORTRAITS_BY_SESSION_ID = "SELECT user.user_id, luser.portrait_uuid portraitId FROM tl_lamc11_que_usr user " + - " INNER JOIN tl_lamc11_session session ON user.mc_session_id=session.uid" + - " INNER JOIN lams_user luser ON luser.user_id = user.que_usr_id" + - " WHERE session.mc_session_id = :sessionId"; - + final String LOAD_USERS_WITH_PORTRAITS_BY_SESSION_ID = "SELECT user.user_id, luser.portrait_uuid portraitId FROM tl_lamc11_que_usr user " + + " INNER JOIN tl_lamc11_session session ON user.mc_session_id=session.uid" + + " INNER JOIN lams_user luser ON luser.user_id = user.que_usr_id" + + " WHERE session.mc_session_id = :sessionId"; + NativeQuery query = getSession().createNativeQuery(LOAD_USERS_WITH_PORTRAITS_BY_SESSION_ID); query.setParameter("sessionId", sessionId); List list = query.list(); - ArrayList userDtos = new ArrayList(); + ArrayList userDtos = new ArrayList<>(); if (list != null && list.size() > 0) { for (Object[] element : list) { @@ -140,14 +139,14 @@ public void removeMcUser(McQueUsr mcUser) { this.getSession().delete(mcUser); } - + final String LOAD_USERS_SELECT = "SELECT user.uid, user.que_usr_id, user.fullname, user.last_attempt_total_mark "; final String LOAD_USERS_FROM = " FROM tl_lamc11_que_usr user "; final String LOAD_USERS_JOINWHERE = " JOIN tl_lamc11_session session on user.mc_session_id = session.uid " - + " WHERE session.mc_session_id = :sessionId " - + " AND (user.fullname LIKE CONCAT('%', :searchString, '%')) " - + " ORDER BY CASE WHEN :sortBy='userName' THEN user.fullname " - + " WHEN :sortBy='total' THEN user.last_attempt_total_mark END "; + + " WHERE session.mc_session_id = :sessionId " + + " AND (user.fullname LIKE CONCAT('%', :searchString, '%')) " + + " ORDER BY CASE WHEN :sortBy='userName' THEN user.fullname " + + " WHEN :sortBy='total' THEN user.last_attempt_total_mark END "; @SuppressWarnings("unchecked") @Override @@ -156,12 +155,8 @@ String[] portraitStrings = userManagementService.getPortraitSQL("user.que_usr_id"); - StringBuilder bldr = new StringBuilder(LOAD_USERS_SELECT) - .append(portraitStrings[0]) - .append(LOAD_USERS_FROM) - .append(portraitStrings[1]) - .append(LOAD_USERS_JOINWHERE) - .append(sortOrder); + StringBuilder bldr = new StringBuilder(LOAD_USERS_SELECT).append(portraitStrings[0]).append(LOAD_USERS_FROM) + .append(portraitStrings[1]).append(LOAD_USERS_JOINWHERE).append(sortOrder); NativeQuery query = getSession().createSQLQuery(bldr.toString()); query.setParameter("sessionId", sessionId); @@ -173,22 +168,22 @@ query.setMaxResults(size); List list = query.list(); - ArrayList userDtos = new ArrayList(); + ArrayList userDtos = new ArrayList<>(); if (list != null && list.size() > 0) { for (Object[] element : list) { Long userUid = ((Number) element[0]).longValue(); Long userId = ((Number) element[1]).longValue(); String fullName = (String) element[2]; Integer totalMark = element[3] == null ? 0 : ((Number) element[3]).intValue(); - Long portraitId = element[4] == null ? null : ((Number) element[4]).longValue(); + String portraitId = (String) element[4]; McUserMarkDTO userDto = new McUserMarkDTO(); userDto.setQueUsrId(userUid.toString()); userDto.setUserId(userId.toString()); userDto.setFullName(fullName); userDto.setTotalMark(new Long(totalMark)); - userDto.setPortraitId(portraitId==null ? null : portraitId.toString()); + userDto.setPortraitId(portraitId); userDtos.add(userDto); } @@ -224,8 +219,7 @@ public Object[] getStatsMarksBySession(Long sessionId) { Query query = getSession().createSQLQuery(FIND_MARK_STATS_FOR_SESSION) - .addScalar("min_grade", FloatType.INSTANCE) - .addScalar("avg_grade", FloatType.INSTANCE) + .addScalar("min_grade", FloatType.INSTANCE).addScalar("avg_grade", FloatType.INSTANCE) .addScalar("max_grade", FloatType.INSTANCE); query.setParameter("sessionId", sessionId); List list = query.list(); @@ -241,10 +235,8 @@ public Object[] getStatsMarksForLeaders(Long toolContentId) { Query query = getSession().createSQLQuery(FIND_MARK_STATS_FOR_LEADERS) - .addScalar("min_grade", FloatType.INSTANCE) - .addScalar("avg_grade", FloatType.INSTANCE) - .addScalar("max_grade", FloatType.INSTANCE) - .addScalar("num_complete", IntegerType.INSTANCE); + .addScalar("min_grade", FloatType.INSTANCE).addScalar("avg_grade", FloatType.INSTANCE) + .addScalar("max_grade", FloatType.INSTANCE).addScalar("num_complete", IntegerType.INSTANCE); query.setParameter("toolContentId", toolContentId); List list = query.list(); if ((list == null) || (list.size() == 0)) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java =================================================================== diff -u -r69092337b728f903f824a74377bd0ebf9391120c -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -29,7 +29,7 @@ import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.query.Query; -import org.hibernate.type.IntegerType; +import org.hibernate.type.StringType; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO; @@ -61,7 +61,7 @@ @Override public QaUsrResp getResponseById(Long responseId) { - return (QaUsrResp) getSession().get(QaUsrResp.class, responseId); + return getSession().get(QaUsrResp.class, responseId); } /** @@ -81,7 +81,8 @@ @Override public QaUsrResp getResponseByUserAndQuestion(final Long queUsrId, final Long questionId) { List list = getSessionFactory().getCurrentSession().createQuery(LOAD_ATTEMPT_FOR_USER_AND_QUESTION) - .setParameter("queUsrId", queUsrId.longValue()).setParameter("questionId", questionId.longValue()).list(); + .setParameter("queUsrId", queUsrId.longValue()).setParameter("questionId", questionId.longValue()) + .list(); if (list == null || list.size() == 0) { return null; } else { @@ -93,7 +94,8 @@ @Override public List getResponseBySessionAndQuestion(final Long qaSessionId, final Long questionId) { return getSessionFactory().getCurrentSession().createQuery(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION) - .setParameter("qaSessionId", qaSessionId.longValue()).setParameter("questionId", questionId.longValue()).list(); + .setParameter("qaSessionId", qaSessionId.longValue()).setParameter("questionId", questionId.longValue()) + .list(); } private String buildNameSearch(String searchString, String userRef) { @@ -127,31 +129,26 @@ private static final String SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_FROM = " FROM tl_laqa11_usr_resp resp "; private static final String SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_JOIN = " JOIN tl_laqa11_que_usr usr" + " ON resp.answer IS NOT NULL AND resp.qa_que_content_id = :questionId AND resp.que_usr_id = usr.uid " - + " AND usr.que_usr_id!=:excludeUserId " - + " JOIN tl_laqa11_session sess " - + " ON usr.qa_session_id = sess.uid AND sess.qa_session_id = :qaSessionId " - + " LEFT JOIN (" + + " AND usr.que_usr_id!=:excludeUserId " + " JOIN tl_laqa11_session sess " + + " ON usr.qa_session_id = sess.uid AND sess.qa_session_id = :qaSessionId " + " LEFT JOIN (" + " SELECT ratcom.item_id FROM lams_rating_comment ratcom JOIN lams_rating_criteria crit" + " ON ratcom.rating_criteria_id = crit.rating_criteria_id AND crit.tool_content_id = :toolContentId" - + " ) rating_comment " - + " ON rating_comment.item_id = resp.response_id "; + + " ) rating_comment " + " ON rating_comment.item_id = resp.response_id "; private static final String SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_ORDER_BY = " GROUP BY response_id ORDER BY count_comment ASC, response_id ASC"; - private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_SELECT = "SELECT resp.* "; private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_FROM = " FROM tl_laqa11_usr_resp resp "; private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_JOIN1 = " JOIN tl_laqa11_que_usr usr" + " ON resp.answer IS NOT NULL AND resp.qa_que_content_id = :questionId AND resp.que_usr_id = usr.uid " - + " AND usr.que_usr_id!=:excludeUserId " - + " JOIN tl_laqa11_session sess " + + " AND usr.que_usr_id!=:excludeUserId " + " JOIN tl_laqa11_session sess " + " ON usr.qa_session_id = sess.uid AND sess.qa_session_id = :qaSessionId "; private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_JOIN2 = " AND sess.qa_group_leader_uid = usr.uid "; private static final String LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_ORDER_BY = " order by "; @SuppressWarnings("unchecked") @Override public List getResponsesForTablesorter(final Long toolContentId, final Long qaSessionId, - final Long questionId, final Long excludeUserId, boolean isOnlyLeadersIncluded, int page, int size, + final Long questionId, final Long excludeUserId, boolean isOnlyLeadersIncluded, int page, int size, int sorting, String searchString, IUserManagementService userManagementService) { String sortingOrder; @@ -188,67 +185,65 @@ StringBuilder queryText = null; String[] portraitStrings = userManagementService.getPortraitSQL("usr.que_usr_id"); boolean needsToolContentId = false; - + if (sorting == QaAppConstants.SORT_BY_RATING_ASC || sorting == QaAppConstants.SORT_BY_RATING_DESC) { String filteredSearchString = buildNameSearch(searchString, "usr"); - queryText = new StringBuilder(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_SELECT) - .append(portraitStrings[0]) - .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_FROM) - .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_JOIN) - .append(filteredSearchString != null ? filteredSearchString : "") - .append(portraitStrings[1]) - .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_JOIN_RATING) - .append(sortingOrder); + queryText = new StringBuilder( + SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_SELECT) + .append(portraitStrings[0]) + .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_FROM) + .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_JOIN) + .append(filteredSearchString != null ? filteredSearchString : "").append(portraitStrings[1]) + .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_AVG_RATING_JOIN_RATING) + .append(sortingOrder); needsToolContentId = true; - - } else if (sorting == QaAppConstants.SORT_BY_COMMENT_COUNT ) { + } else if (sorting == QaAppConstants.SORT_BY_COMMENT_COUNT) { + queryText = new StringBuilder(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_SELECT) .append(portraitStrings[0]) .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_FROM) .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_JOIN) .append(portraitStrings[1]) .append(SQL_LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_COMMENT_COUNT_ORDER_BY); needsToolContentId = true; - + } else { String filteredSearchString = buildNameSearch(searchString, "usr"); queryText = new StringBuilder(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_SELECT) .append(portraitStrings[0]) .append(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_FROM) .append(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_JOIN1) .append(filteredSearchString != null ? filteredSearchString : "") - .append(isOnlyLeadersIncluded ? LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_JOIN2 : "") + .append(isOnlyLeadersIncluded ? LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_JOIN2 + : "") .append(portraitStrings[1]) - .append(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_ORDER_BY) - .append(sortingOrder); + .append(LOAD_ATTEMPT_FOR_SESSION_AND_QUESTION_LIMIT_WITH_NAME_SEARCH_ORDER_BY).append(sortingOrder); } - Query query = getSessionFactory().getCurrentSession() - .createSQLQuery(queryText.toString()) - .addEntity(QaUsrResp.class) - .addScalar("portraitId", IntegerType.INSTANCE); + Query query = getSessionFactory().getCurrentSession().createSQLQuery(queryText.toString()) + .addEntity(QaUsrResp.class).addScalar("portraitId", StringType.INSTANCE); - if ( needsToolContentId ) { + if (needsToolContentId) { query.setParameter("toolContentId", toolContentId.longValue()); } - query.setParameter("questionId", questionId.longValue()) - .setParameter("qaSessionId", qaSessionId.longValue()) - .setParameter("excludeUserId", excludeUserId.longValue()); + query.setParameter("questionId", questionId.longValue()).setParameter("qaSessionId", qaSessionId.longValue()) + .setParameter("excludeUserId", excludeUserId.longValue()); - if ( size > 0 ) { + if (size > 0) { query.setFirstResult(page * size); query.setMaxResults(size); } - - List list = (List) query.list(); - List respList = new ArrayList(list.size()); - for ( Object[] row : list ) { + + List list = query.list(); + List respList = new ArrayList<>(list.size()); + for (Object[] row : list) { QaUsrResp resp = (QaUsrResp) row[0]; - if ( row.length > 1 && row[1] != null) - resp.setPortraitId(((Number)row[1]).longValue()); + if (row.length > 1 && row[1] != null) { + resp.setPortraitId((String) row[1]); + } respList.add(resp); } return respList; @@ -276,6 +271,7 @@ + QaUsrResp.class.getName() + " AS r WHERE r.answer IS NOT NULL AND r.qaQueUser.qaSession.qaSessionId=? AND r.qaQuestion.uid=? AND r.qaQueUser.queUsrId!=?"; private static final String GET_COUNT_RESPONSES_FOR_SESSION_AND_QUESTION_WITH_NAME_SEARCH2 = " AND r.qaQueUser.qaSession.groupLeader.queUsrId=r.qaQueUser.queUsrId "; + @Override public int getCountResponsesBySessionAndQuestion(final Long qaSessionId, final Long questionId, final Long excludeUserId, boolean isOnlyLeadersIncluded, String searchString) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaUsrResp.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaUsrResp.java (.../QaUsrResp.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaUsrResp.java (.../QaUsrResp.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -88,7 +88,7 @@ private ItemRatingDTO itemRatingDto; @Transient - private Long portraitId; + private String portraitId; /** full constructor */ public QaUsrResp(Long responseId, String answer, String answerAutosaved, Date attemptTime, String timezone, @@ -292,11 +292,11 @@ this.itemRatingDto = itemRatingDto; } - public Long getPortraitId() { + public String getPortraitId() { return portraitId; } - public void setPortraitId(Long portraitId) { + public void setPortraitId(String portraitId) { this.portraitId = portraitId; } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java =================================================================== diff -u -reeaec5d1e9dedb2349cabff878dfae20be73c585 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java (.../ResourceItemVisitDAOHibernate.java) (revision eeaec5d1e9dedb2349cabff878dfae20be73c585) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java (.../ResourceItemVisitDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -56,7 +56,8 @@ private static final String FIND_SUMMARY = "select v.resourceItem.uid, count(v.resourceItem) from " + ResourceItemVisitLog.class.getName() + " as v , " + ResourceSession.class.getName() + " as s, " + Resource.class.getName() + " as r " + " where v.sessionId = :sessionId and v.sessionId = s.sessionId " - + " and s.resource.uid = r.uid " + " and r.contentId =:contentId " + " group by v.sessionId, v.resourceItem.uid "; + + " and s.resource.uid = r.uid " + " and r.contentId =:contentId " + + " group by v.sessionId, v.resourceItem.uid "; private static final String SQL_QUERY_DATES_BY_USER_SESSION = "SELECT MIN(access_date) start_date, MAX(access_date) end_date " + " FROM tl_larsrc11_item_log WHERE user_uid = :userUid && session_id = :sessionId"; @@ -84,12 +85,10 @@ public Map getSummary(Long contentId, Long sessionId) { // Note: Hibernate 3.1 query.uniqueResult() returns Integer, Hibernate 3.2 query.uniqueResult() returns Long - List result = getSession().createQuery(FIND_SUMMARY) - .setParameter("sessionId", sessionId) - .setParameter("contentId", contentId) - .list(); - - Map summaryList = new HashMap(result.size()); + List result = getSession().createQuery(FIND_SUMMARY).setParameter("sessionId", sessionId) + .setParameter("contentId", contentId).list(); + + Map summaryList = new HashMap<>(result.size()); for (Object[] list : result) { if (list[1] != null) { summaryList.put((Long) list[0], ((Number) list[1]).intValue()); @@ -105,14 +104,14 @@ } private static String LOAD_USERS_ORDERED_BY_NAME_SELECT = " SELECT user.user_id, CONCAT(user.last_name, ' ', user.first_name), visit.complete_date, visit.access_date "; - private static String LOAD_USERS_ORDERED_BY_NAME_FROM = " FROM tl_larsrc11_item_log visit " - + " JOIN tl_larsrc11_user user ON visit.user_uid = user.uid " - + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%'))"; - private static String LOAD_USERS_ORDERED_BY_NAME_WHERE = " WHERE visit.session_id = :sessionId AND visit.resource_item_uid = :itemUid " - + " ORDER BY CASE WHEN :sortBy='userName' THEN CONCAT(user.last_name, ' ', user.first_name) " - + " WHEN :sortBy='startTime' THEN visit.access_date " - + " WHEN :sortBy='completeTime' THEN visit.complete_date " - + " WHEN :sortBy='timeTaken' THEN TIMEDIFF(visit.complete_date,visit.access_date) END "; + private static String LOAD_USERS_ORDERED_BY_NAME_FROM = " FROM tl_larsrc11_item_log visit " + + " JOIN tl_larsrc11_user user ON visit.user_uid = user.uid " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%'))"; + private static String LOAD_USERS_ORDERED_BY_NAME_WHERE = " WHERE visit.session_id = :sessionId AND visit.resource_item_uid = :itemUid " + + " ORDER BY CASE WHEN :sortBy='userName' THEN CONCAT(user.last_name, ' ', user.first_name) " + + " WHEN :sortBy='startTime' THEN visit.access_date " + + " WHEN :sortBy='completeTime' THEN visit.complete_date " + + " WHEN :sortBy='timeTaken' THEN TIMEDIFF(visit.complete_date,visit.access_date) END "; @SuppressWarnings("unchecked") @Override @@ -121,26 +120,20 @@ String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); - StringBuilder bldr = new StringBuilder(LOAD_USERS_ORDERED_BY_NAME_SELECT) - .append(portraitStrings[0]) - .append(LOAD_USERS_ORDERED_BY_NAME_FROM) - .append(portraitStrings[1]) - .append(LOAD_USERS_ORDERED_BY_NAME_WHERE) - .append(sortOrder); - - Query query = getSession().createSQLQuery(bldr.toString()) - .setParameter("sessionId", sessionId) + StringBuilder bldr = new StringBuilder(LOAD_USERS_ORDERED_BY_NAME_SELECT).append(portraitStrings[0]) + .append(LOAD_USERS_ORDERED_BY_NAME_FROM).append(portraitStrings[1]) + .append(LOAD_USERS_ORDERED_BY_NAME_WHERE).append(sortOrder); + + Query query = getSession().createSQLQuery(bldr.toString()).setParameter("sessionId", sessionId) .setParameter("itemUid", itemUid); // support for custom search from a toolbar searchString = searchString == null ? "" : searchString; - query.setParameter("searchString", searchString) - .setParameter("sortBy", sortBy) - .setFirstResult(page * size) + query.setParameter("searchString", searchString).setParameter("sortBy", sortBy).setFirstResult(page * size) .setMaxResults(size); List list = query.list(); - ArrayList visitLogDtos = new ArrayList(); + ArrayList visitLogDtos = new ArrayList<>(); if (list != null && list.size() > 0) { for (Object[] element : list) { @@ -150,15 +143,15 @@ Date accessDate = element[3] == null ? null : new Date(((Timestamp) element[3]).getTime()); Date timeTaken = (element[2] == null || element[3] == null) ? null : new Date(completeDate.getTime() - accessDate.getTime()); - Long portraitId = element[4] == null ? null : ((Number) element[4]).longValue(); + String portraitId = (String) element[4]; VisitLogDTO visitLogDto = new VisitLogDTO(); visitLogDto.setUserId(userId); visitLogDto.setUserFullName(userFullName); visitLogDto.setCompleteDate(completeDate); visitLogDto.setAccessDate(accessDate); visitLogDto.setTimeTaken(timeTaken); - visitLogDto.setPortraitId(portraitId);; + visitLogDto.setPortraitId(portraitId); visitLogDtos.add(visitLogDto); } } @@ -186,7 +179,7 @@ @SuppressWarnings("unchecked") NativeQuery query = getSession().createNativeQuery(SQL_QUERY_DATES_BY_USER_SESSION.toString()) .setParameter("userUid", userUid).setParameter("sessionId", toolSessionId); - Object[] values = (Object[]) query.list().get(0); + Object[] values = query.list().get(0); return values; } } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/VisitLogDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/VisitLogDTO.java (.../VisitLogDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dto/VisitLogDTO.java (.../VisitLogDTO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -20,7 +20,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.rsrc.dto; import java.util.Date; @@ -31,16 +30,15 @@ private String userFullName; - private Long portraitId; + private String portraitId; - // the user access some reousrce item date time. Use in monitoring summary page + // the user access some resource item date time. Use in monitoring summary page private Date accessDate; // resource item complete date. Use in monitoring summary page private Date completeDate; // difference between completeDate and accessDate private Date timeTaken; - public Long getUserId() { return userId; } @@ -81,11 +79,11 @@ this.timeTaken = timeTaken; } - public Long getPortraitId() { + public String getPortraitId() { return portraitId; } - public void setPortraitId(Long portraitId) { + public void setPortraitId(String portraitId) { this.portraitId = portraitId; } Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java =================================================================== diff -u -rceb74e3b4097cf6461280448f904fa21a176aaa4 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java (.../NotebookUserDAO.java) (revision ceb74e3b4097cf6461280448f904fa21a176aaa4) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dao/hibernate/NotebookUserDAO.java (.../NotebookUserDAO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -21,7 +21,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.notebook.dao.hibernate; import java.util.List; @@ -104,7 +103,8 @@ * 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, IUserManagementService userManagementService) { + String searchString, ICoreNotebookService coreNotebookService, + IUserManagementService userManagementService) { String sortingOrder; switch (sorting) { case NotebookConstants.SORT_BY_USERNAME_ASC: @@ -153,9 +153,8 @@ NativeQuery query = getSession().createNativeQuery(queryText.toString()); query.addEntity("user", NotebookUser.class).addScalar("notebookEntry", StringType.INSTANCE) - .addScalar("notebookModifiedDate", TimestampType.INSTANCE).addScalar("portraitId", IntegerType.INSTANCE) - .setParameter("sessionId", sessionId.longValue()) - .setFirstResult(page * size).setMaxResults(size); + .addScalar("notebookModifiedDate", TimestampType.INSTANCE).addScalar("portraitId", StringType.INSTANCE) + .setParameter("sessionId", sessionId.longValue()).setFirstResult(page * size).setMaxResults(size); return query.list(); } @@ -180,7 +179,8 @@ " JOIN tl_lantbk11_session session ON user.notebook_session_uid = session.uid and session.session_id = :sessionId"); buildNameSearch(searchString, queryText); - List list = getSession().createSQLQuery(queryText.toString()).setParameter("sessionId", sessionId.longValue()).list(); + List list = getSession().createSQLQuery(queryText.toString()).setParameter("sessionId", sessionId.longValue()) + .list(); if (list == null || list.size() == 0) { return 0; } @@ -195,7 +195,8 @@ " JOIN tl_lantbk11_session session ON user.notebook_session_uid = session.uid and session.session_id = :sessionId"); buildNameSearch(searchString, queryText); - List list = getSession().createSQLQuery(queryText.toString()).setParameter("sessionId", sessionId.longValue()).list(); + List list = getSession().createSQLQuery(queryText.toString()).setParameter("sessionId", sessionId.longValue()) + .list(); if (list == null || list.size() == 0) { return 0; } @@ -214,7 +215,8 @@ NativeQuery query = getSession().createNativeQuery(GET_STATISTICS); query.addScalar("sessionId", LongType.INSTANCE).addScalar("sessionName", StringType.INSTANCE) .addScalar("numLearners", IntegerType.INSTANCE).addScalar("numLearnersFinished", IntegerType.INSTANCE) - .setParameter("contentId", contentId).setResultTransformer(Transformers.aliasToBean(StatisticDTO.class)); + .setParameter("contentId", contentId) + .setResultTransformer(Transformers.aliasToBean(StatisticDTO.class)); return query.list(); } Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/MonitoringController.java =================================================================== diff -u -r1beaa4cc5e224dd433297d543c5511234c0bfc10 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 1beaa4cc5e224dd433297d543c5511234c0bfc10) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -171,7 +171,7 @@ responseRow.put(NotebookConstants.ATTR_USER_ID, user.getUserId()); if (userAndReflection.length > 3 && userAndReflection[3] != null) { - responseRow.put(NotebookConstants.ATTR_PORTRAIT_ID, (Integer) userAndReflection[3]); + responseRow.put(NotebookConstants.ATTR_PORTRAIT_ID, (String) userAndReflection[3]); } rows.add(responseRow); } @@ -239,7 +239,7 @@ } notebook.setSubmissionDeadline(tzSubmissionDeadline); notebookService.saveOrUpdateNotebook(notebook); - + return formattedDate; } Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java =================================================================== diff -u -rf627eb05bea14e2cd6782cd33cb2d3bc90ae070e -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java (.../PeerreviewUserDAOHibernate.java) (revision f627eb05bea14e2cd6782cd33cb2d3bc90ae070e) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dao/hibernate/PeerreviewUserDAOHibernate.java (.../PeerreviewUserDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -46,10 +46,10 @@ private static final String FIND_BY_USER_ID_CONTENT_ID = "FROM " + PeerreviewUser.class.getName() + " AS u WHERE u.userId =? AND u.peerreview.contentId=?"; - + private static final String FIND_BY_USER_ID_SESSION_ID = "FROM " + PeerreviewUser.class.getName() + " AS u WHERE u.userId =? AND u.session.sessionId=?"; - + private static final String FIND_BY_SESSION_ID = "FROM " + PeerreviewUser.class.getName() + " AS u WHERE u.session.sessionId=? AND u.hidden=0"; @@ -61,22 +61,22 @@ @Override @SuppressWarnings("rawtypes") - public PeerreviewUser getUserByUserIDAndSessionID(Long userID, Long sessionId) { + public PeerreviewUser getUserByUserIDAndSessionID(Long userID, Long sessionId) { List list = find(FIND_BY_USER_ID_SESSION_ID, new Object[] { userID, sessionId }); if (list == null || list.size() == 0) { return null; } return (PeerreviewUser) list.get(0); } - + @Override public PeerreviewUser getUserByUid(Long userUid) { return (PeerreviewUser) this.find(PeerreviewUser.class, userUid); } @Override @SuppressWarnings("rawtypes") - public PeerreviewUser getUserByUserIDAndContentID(Long userId, Long contentId) { + public PeerreviewUser getUserByUserIDAndContentID(Long userId, Long contentId) { List list = find(FIND_BY_USER_ID_CONTENT_ID, new Object[] { userId, contentId }); if (list == null || list.size() == 0) { return null; @@ -92,7 +92,7 @@ @Override @SuppressWarnings("rawtypes") - public int getCountUsersBySession(final Long toolSessionId, final Long excludeUserId) { + public int getCountUsersBySession(final Long toolSessionId, final Long excludeUserId) { List list = find(GET_COUNT_USERS_FOR_SESSION_EXCLUDE_USER, new Object[] { toolSessionId, excludeUserId }); if (list == null || list.size() == 0) { @@ -103,7 +103,7 @@ @Override @SuppressWarnings("rawtypes") - public int getCountUsersBySession(final Long toolSessionId) { + public int getCountUsersBySession(final Long toolSessionId) { List list = find(GET_COUNT_USERS_FOR_SESSION, new Object[] { toolSessionId }); if (list == null || list.size() == 0) { @@ -128,36 +128,35 @@ query.setParameter("session_uid", session.getUid()).setParameter("tool_session_id", session.getSessionId()); return query.executeUpdate(); } - + // column order is very important. The potential itemId must be first, followed by rating.*, // and the user's name and portrait id must be the last two columns or the DTO conversion will fail. // See PeerreviewServiceImpl.getUsersRatingsCommentsByCriteriaId private static final String FIND_USER_RATINGS_COMMENTS_SELECT = "SELECT user.user_id, rating.*, CONCAT(user.first_name, \" \", user.last_name) "; - private static final String FIND_USER_RATINGS_COMMENTS1 = " FROM tl_laprev11_peerreview p " + private static final String FIND_USER_RATINGS_COMMENTS1 = " FROM tl_laprev11_peerreview p " + " JOIN tl_laprev11_session sess ON p.content_id = :toolContentId AND p.uid = sess.peerreview_uid AND sess.session_id = :toolSessionId " + " JOIN tl_laprev11_user user ON user.session_uid = sess.uid AND user.hidden = 0 "; - private static final String FIND_USER_RATINGS_COMMENTS2 = " LEFT JOIN ( "; + private static final String FIND_USER_RATINGS_COMMENTS2 = " LEFT JOIN ( "; private static final String FIND_USER_RATINGS_COMMENTS3 = " ) rating ON user.user_id = rating.item_id "; - + private void buildNameSearch(String searchString, StringBuilder sqlBuilder, boolean whereDone) { if (!StringUtils.isBlank(searchString)) { String[] tokens = searchString.trim().split("\\s+"); for (String token : tokens) { String escToken = StringEscapeUtils.escapeSql(token); - sqlBuilder.append(whereDone ? " AND ( " : " WHERE ( ") - .append("user.first_name LIKE '%").append(escToken) - .append("%' OR user.last_name LIKE '%").append(escToken).append("%' OR user.login_name LIKE '%") - .append(escToken).append("%') "); + sqlBuilder.append(whereDone ? " AND ( " : " WHERE ( ").append("user.first_name LIKE '%") + .append(escToken).append("%' OR user.last_name LIKE '%").append(escToken) + .append("%' OR user.login_name LIKE '%").append(escToken).append("%') "); } } } @SuppressWarnings("unchecked") @Override - public List getRatingsComments(Long toolContentId, Long toolSessionId, RatingCriteria criteria, Long userId, Integer page, - Integer size, int sorting, String searchString, boolean getByUser, IRatingService coreRatingService, - IUserManagementService userManagementService) { - + public List getRatingsComments(Long toolContentId, Long toolSessionId, RatingCriteria criteria, + Long userId, Integer page, Integer size, int sorting, String searchString, boolean getByUser, + IRatingService coreRatingService, IUserManagementService userManagementService) { + String sortingOrder = ""; switch (sorting) { case PeerreviewConstants.SORT_BY_NO: @@ -170,52 +169,52 @@ sortingOrder = " ORDER BY user.first_name DESC"; break; case PeerreviewConstants.SORT_BY_AVERAGE_RESULT_ASC: - if ( criteria.isCommentRating() ) { - sortingOrder = " ORDER BY rating.comment ASC" ; + if (criteria.isCommentRating()) { + sortingOrder = " ORDER BY rating.comment ASC"; } else { sortingOrder = " ORDER BY rating.average_rating ASC, rating.comment ASC "; } break; case PeerreviewConstants.SORT_BY_AVERAGE_RESULT_DESC: - if ( criteria.isCommentRating() ) { - sortingOrder = " ORDER BY rating.comment DESC" ; + if (criteria.isCommentRating()) { + sortingOrder = " ORDER BY rating.comment DESC"; } else { sortingOrder = " ORDER BY rating.average_rating DESC, rating.comment ASC "; } break; } String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); - - StringBuilder bldr = new StringBuilder(FIND_USER_RATINGS_COMMENTS_SELECT); - bldr.append(portraitStrings[0]); - bldr.append(FIND_USER_RATINGS_COMMENTS1); - bldr.append(portraitStrings[1]); - bldr.append(FIND_USER_RATINGS_COMMENTS2); - bldr.append(coreRatingService.getRatingSelectJoinSQL(criteria.getRatingStyle(), getByUser)); - bldr.append(FIND_USER_RATINGS_COMMENTS3); - if ( ! getByUser) - bldr.append("WHERE user.user_id = :userId "); - - buildNameSearch(searchString, bldr, ! getByUser); - bldr.append(sortingOrder); - + StringBuilder bldr = new StringBuilder(FIND_USER_RATINGS_COMMENTS_SELECT); + bldr.append(portraitStrings[0]); + bldr.append(FIND_USER_RATINGS_COMMENTS1); + bldr.append(portraitStrings[1]); + bldr.append(FIND_USER_RATINGS_COMMENTS2); + bldr.append(coreRatingService.getRatingSelectJoinSQL(criteria.getRatingStyle(), getByUser)); + bldr.append(FIND_USER_RATINGS_COMMENTS3); + if (!getByUser) { + bldr.append("WHERE user.user_id = :userId "); + } + + buildNameSearch(searchString, bldr, !getByUser); + + bldr.append(sortingOrder); + String queryString = bldr.toString(); - NativeQuery query = getSession().createNativeQuery(queryString) - .setParameter("toolContentId", toolContentId) + NativeQuery query = getSession().createNativeQuery(queryString).setParameter("toolContentId", toolContentId) .setParameter("toolSessionId", toolSessionId) .setParameter("ratingCriteriaId", criteria.getRatingCriteriaId()); - if ( queryString.contains(":userId") ) { - query.setParameter("userId", userId); + if (queryString.contains(":userId")) { + query.setParameter("userId", userId); } - if ( page != null && size != null ) { + if (page != null && size != null) { query.setFirstResult(page * size).setMaxResults(size); } return (List) query.list(); } - // Part of this and the next method should be moved out to RatingDAO in common but not sure on usage at present so leave it here for now. The code is + // Part of this and the next method should be moved out to RatingDAO in common but not sure on usage at present so leave it here for now. The code is // used in peer review monitoring and probably wouldn't be used by other tools. // when joining to comments, item_id = :itemId picks up the comments for star and comment styles, while item_id = rating_criteria_id // picks up the justification comments left for hedging (which is one comment per user for all ratings for this criteria) @@ -227,28 +226,28 @@ + " WHERE rating_criteria_id = :ratingCriteriaId AND item_id = :itemId) r ON r.user_id = user.user_id " + " LEFT JOIN ( SELECT rc.item_id, rc.comment, rc.user_id FROM lams_rating_comment rc " + " JOIN lams_rating_criteria criteria ON criteria.rating_criteria_id = :ratingCriteriaId " - + " WHERE rc.rating_criteria_id = :ratingCriteriaId AND (rc.item_id = :itemId || (rc.item_id = rc.rating_criteria_id AND criteria.rating_style=3)) ) rc ON rc.user_id = user.user_id " + + " WHERE rc.rating_criteria_id = :ratingCriteriaId AND (rc.item_id = :itemId || (rc.item_id = rc.rating_criteria_id AND criteria.rating_style=3)) ) rc ON rc.user_id = user.user_id " + " WHERE r.rating IS NOT NULL OR rc.comment IS NOT NULL"; + @SuppressWarnings("unchecked") @Override - public List getDetailedRatingsComments(Long toolContentId, Long toolSessionId, Long criteriaId, Long itemId ) { + public List getDetailedRatingsComments(Long toolContentId, Long toolSessionId, Long criteriaId, + Long itemId) { NativeQuery query = getSession().createNativeQuery(SELECT_ALL_RATINGS_COMMENTS_LEFT_FOR_ITEM) - .setParameter("toolContentId", toolContentId) - .setParameter("toolSessionId", toolSessionId) - .setParameter("ratingCriteriaId", criteriaId) - .setParameter("itemId", itemId); + .setParameter("toolContentId", toolContentId).setParameter("toolSessionId", toolSessionId) + .setParameter("ratingCriteriaId", criteriaId).setParameter("itemId", itemId); return (List) query.list(); } private static final String COUNT_COMMENTS_FOR_SESSION_SELECT = "SELECT user.user_id, rating.comment_count, CONCAT(user.first_name, \" \", user.last_name) "; private static final String COUNT_COMMENTS_FOR_SESSION_FROM = " FROM tl_laprev11_peerreview p " + " JOIN tl_laprev11_session sess ON p.content_id = :toolContentId AND p.uid = sess.peerreview_uid AND sess.session_id = :toolSessionId " + " JOIN tl_laprev11_user user ON user.session_uid = sess.uid AND user.hidden = 0 "; - private static final String COUNT_COMMENTS_FOR_SESSION_RATING_JOIN = " LEFT JOIN ( " - + " SELECT r.item_id, count(r.comment) comment_count " - + " FROM lams_rating_comment r " + private static final String COUNT_COMMENTS_FOR_SESSION_RATING_JOIN = " LEFT JOIN ( " + + " SELECT r.item_id, count(r.comment) comment_count " + " FROM lams_rating_comment r " + " WHERE r.rating_criteria_id = :ratingCriteriaId " + " GROUP BY r.item_id ) rating ON user.user_id = rating.item_id "; + @SuppressWarnings("unchecked") @Override public List getCommentsCounts(Long toolContentId, Long toolSessionId, RatingCriteria criteria, @@ -274,20 +273,17 @@ String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); - StringBuilder bldr = new StringBuilder(COUNT_COMMENTS_FOR_SESSION_SELECT) - .append(portraitStrings[0]) - .append(COUNT_COMMENTS_FOR_SESSION_FROM) - .append(portraitStrings[1]) - .append(COUNT_COMMENTS_FOR_SESSION_RATING_JOIN); - buildNameSearch(searchString, bldr, false); - bldr.append(sortingOrder); - + StringBuilder bldr = new StringBuilder(COUNT_COMMENTS_FOR_SESSION_SELECT).append(portraitStrings[0]) + .append(COUNT_COMMENTS_FOR_SESSION_FROM).append(portraitStrings[1]) + .append(COUNT_COMMENTS_FOR_SESSION_RATING_JOIN); + buildNameSearch(searchString, bldr, false); + bldr.append(sortingOrder); + String queryString = bldr.toString(); - NativeQuery query = getSession().createNativeQuery(queryString) - .setParameter("toolContentId", toolContentId) + NativeQuery query = getSession().createNativeQuery(queryString).setParameter("toolContentId", toolContentId) .setParameter("toolSessionId", toolSessionId) .setParameter("ratingCriteriaId", criteria.getRatingCriteriaId()); - if ( page != null && size != null ) { + if (page != null && size != null) { query.setFirstResult(page * size).setMaxResults(size); } return (List) query.list(); @@ -298,8 +294,9 @@ /** * 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, IUserManagementService userManagementService) { + public List getUserNotebookEntriesForTablesorter(final Long toolSessionId, int page, int size, + int sorting, String searchString, ICoreNotebookService coreNotebookService, + IUserManagementService userManagementService) { String sortingOrder; switch (sorting) { @@ -321,48 +318,44 @@ } String[] notebookEntryStrings = coreNotebookService.getNotebookEntrySQLStrings(toolSessionId.toString(), - PeerreviewConstants.TOOL_SIGNATURE, "user.user_id", true); - + 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 ") + 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); + buildNameSearch(searchString, queryText, false); // Now specify the sort based on the switch statement above. queryText.append(sortingOrder); NativeQuery query = getSession().createNativeQuery(queryText.toString()); - query.addScalar("user_id", LongType.INSTANCE) - .addScalar("first_name", StringType.INSTANCE) - .addScalar("last_name", StringType.INSTANCE) - .addScalar("portraitId", LongType.INSTANCE) + query.addScalar("user_id", LongType.INSTANCE).addScalar("first_name", StringType.INSTANCE) + .addScalar("last_name", StringType.INSTANCE).addScalar("portraitId", StringType.INSTANCE) .addScalar("notebookEntry", StringType.INSTANCE) .addScalar("notebookModifiedDate", TimestampType.INSTANCE) - .setParameter("toolSessionId", toolSessionId.longValue()) - .setFirstResult(page * size).setMaxResults(size); + .setParameter("toolSessionId", toolSessionId.longValue()).setFirstResult(page * size) + .setMaxResults(size); return query.list(); } - + @SuppressWarnings("unchecked") @Override public List getPagedUsers(Long toolSessionId, Integer page, Integer size, int sorting, String searchString) { String GET_USERS_FOR_SESSION = "SELECT user.uid, user.hidden, CONCAT(user.firstName, ' ', user.lastName) FROM " + PeerreviewUser.class.getName() + " user WHERE user.session.sessionId = :toolSessionId "; - + String sortingOrder = ""; switch (sorting) { case PeerreviewConstants.SORT_BY_NO: @@ -376,7 +369,7 @@ break; } - StringBuilder bldr = new StringBuilder(GET_USERS_FOR_SESSION); + StringBuilder bldr = new StringBuilder(GET_USERS_FOR_SESSION); if (!StringUtils.isBlank(searchString)) { String[] tokens = searchString.trim().split("\\s+"); for (String token : tokens) { @@ -386,14 +379,13 @@ .append(escToken).append("%') "); } } - bldr.append(sortingOrder); - + bldr.append(sortingOrder); + String queryString = bldr.toString(); - Query query = getSession().createQuery(queryString) - .setParameter("toolSessionId", toolSessionId); - if ( page != null && size != null ) { + Query query = getSession().createQuery(queryString).setParameter("toolSessionId", toolSessionId); + if (page != null && size != null) { query.setFirstResult(page * size).setMaxResults(size); } - return (List) query.list(); + return query.list(); } } Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java =================================================================== diff -u -r3317bc79e858810750b2d6aacbcb4a0a6d36b841 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 3317bc79e858810750b2d6aacbcb4a0a6d36b841) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -82,10 +82,9 @@ @Autowired @Qualifier("peerreviewService") private IPeerreviewService service; - + @RequestMapping("/summary") - public String summary(HttpServletRequest request, - HttpServletResponse response) { + public String summary(HttpServletRequest request, HttpServletResponse response) { // initial Session Map SessionMap sessionMap = new SessionMap<>(); request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); @@ -113,8 +112,7 @@ @RequestMapping("/criteria") @SuppressWarnings("unchecked") - public String criteria(HttpServletRequest request, - HttpServletResponse response) { + public String criteria(HttpServletRequest request, HttpServletResponse response) { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() @@ -147,14 +145,13 @@ } return null; } - - /** + + /** * Refreshes user list. */ @RequestMapping("/getUsers") @ResponseBody - public String getUsers(HttpServletRequest request, - HttpServletResponse res) throws IOException, ServletException { + public String getUsers(HttpServletRequest request, HttpServletResponse res) throws IOException, ServletException { Long toolContentId = WebUtil.readLongParam(request, "toolContentId"); Long toolSessionId = WebUtil.readLongParam(request, "toolSessionId"); @@ -282,8 +279,7 @@ @RequestMapping("/getSubgridData") @ResponseBody - public String getSubgridData(HttpServletRequest request, - HttpServletResponse response) throws IOException { + public String getSubgridData(HttpServletRequest request, HttpServletResponse response) throws IOException { Long itemId = WebUtil.readLongParam(request, "itemId"); Long toolContentId = WebUtil.readLongParam(request, "toolContentId"); @@ -304,8 +300,8 @@ if (ratingDetails[2] != null) { ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(i); - userData.add((String)ratingDetails[4]); - userData.add((String)ratingDetails[2]); + userData.add((String) ratingDetails[4]); + userData.add((String) ratingDetails[2]); userData.add(title); ObjectNode userRow = JsonNodeFactory.instance.objectNode(); @@ -326,7 +322,7 @@ || (criteria.isHedgeStyleRating() && ratingDetails[2] != null))) { ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(i); - userData.add((String)ratingDetails[4]); + userData.add((String) ratingDetails[4]); String commentText = HtmlUtils.htmlEscape(comment); commentText = StringUtils.replace(commentText, "<BR>", "
"); userData.add(commentText); @@ -352,8 +348,7 @@ } @RequestMapping("/statistic") - public String statistic(HttpServletRequest request, - HttpServletResponse response) { + public String statistic(HttpServletRequest request, HttpServletResponse response) { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); Long toolContentId = WebUtil.readLongParam(request, PeerreviewConstants.ATTR_TOOL_CONTENT_ID); request.setAttribute("summaryList", service.getStatistics(toolContentId)); @@ -363,8 +358,7 @@ @RequestMapping("/reflections") @SuppressWarnings("unchecked") - public String reflections(HttpServletRequest request, - HttpServletResponse response) { + public String reflections(HttpServletRequest request, HttpServletResponse response) { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() @@ -381,8 +375,7 @@ @RequestMapping("/getReflections") @ResponseBody @SuppressWarnings("unchecked") - public String getReflections(HttpServletRequest request, - HttpServletResponse response) throws IOException { + public String getReflections(HttpServletRequest request, HttpServletResponse response) throws IOException { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() @@ -439,8 +432,8 @@ ArrayNode userData = JsonNodeFactory.instance.arrayNode(); userData.add(asLong(nbEntry[0])); // user id userData.add((String) nbEntry[2]); // user name - - Date entryTime = (Date) nbEntry[5]; // when.... + + Date entryTime = (Date) nbEntry[5]; // when.... if (entryTime == null) { userData.add(""); } else { @@ -450,7 +443,7 @@ userData.add(nameField.toString()); } - userData.add(asLong(nbEntry[3])); + userData.add((String) nbEntry[3]); userData.add(HtmlUtils.htmlEscape((String) nbEntry[4])); ObjectNode userRow = JsonNodeFactory.instance.objectNode(); @@ -468,8 +461,7 @@ @RequestMapping("/previewResultsToUser") @SuppressWarnings("unchecked") - public String previewResultsToUser(HttpServletRequest request, - HttpServletResponse response) throws IOException { + public String previewResultsToUser(HttpServletRequest request, HttpServletResponse response) throws IOException { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() @@ -491,8 +483,8 @@ @RequestMapping("/sendPreviewedResultsToUser") @ResponseBody @SuppressWarnings("unchecked") - public String sendPreviewedResultsToUser(HttpServletRequest request, - HttpServletResponse response) throws IOException { + public String sendPreviewedResultsToUser(HttpServletRequest request, HttpServletResponse response) + throws IOException { // if we regenerate the results, it is more work for the server and the results may change. if we want to // just send what the monitor already sees, get it back from the sessionMap, check that it should be the // same email (ie check the parameters) and if all good then send. @@ -530,8 +522,8 @@ @RequestMapping("/sendResultsToSessionUsers") @ResponseBody @SuppressWarnings("unchecked") - public String sendResultsToSessionUsers(HttpServletRequest request, - HttpServletResponse response) throws IOException { + public String sendResultsToSessionUsers(HttpServletRequest request, HttpServletResponse response) + throws IOException { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() @@ -593,8 +585,7 @@ @RequestMapping("/manageUsers") @SuppressWarnings("unchecked") - public String manageUsers(HttpServletRequest request, - HttpServletResponse response) throws ServletException { + public String manageUsers(HttpServletRequest request, HttpServletResponse response) throws ServletException { String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() @@ -610,8 +601,8 @@ */ @RequestMapping("/getManageUsers") @ResponseBody - public String getManageUsers(HttpServletRequest request, - HttpServletResponse res) throws IOException, ServletException { + public String getManageUsers(HttpServletRequest request, HttpServletResponse res) + throws IOException, ServletException { Long toolSessionId = WebUtil.readLongParam(request, "toolSessionId"); @@ -661,8 +652,7 @@ @RequestMapping("/setUserHidden") @ResponseBody - public String setUserHidden(HttpServletRequest request, - HttpServletResponse response) { + public String setUserHidden(HttpServletRequest request, HttpServletResponse response) { Long toolContentId = WebUtil.readLongParam(request, PeerreviewConstants.ATTR_TOOL_CONTENT_ID); Long userUid = WebUtil.readLongParam(request, "userUid"); @@ -672,5 +662,4 @@ return ""; } - } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitUserDAO.java =================================================================== diff -u -r7694dd245cc58c5b7beb2348aaefb2762c47dc8d -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitUserDAO.java (.../SubmitUserDAO.java) (revision 7694dd245cc58c5b7beb2348aaefb2762c47dc8d) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitUserDAO.java (.../SubmitUserDAO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -21,8 +21,6 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.sbmt.dao.hibernate; import java.util.List; @@ -127,15 +125,13 @@ } String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); - + // Basic select for the user records StringBuilder queryText = new StringBuilder(); - queryText.append("SELECT user.* ") - .append(portraitStrings[0]) - .append(", COUNT(details.submission_id) numFiles, COALESCE(SUM(details.removed),0) numFilesRemoved, count(report.marks) numFilesMarked ") + queryText.append("SELECT user.* ").append(portraitStrings[0]).append( + ", COUNT(details.submission_id) numFiles, COALESCE(SUM(details.removed),0) numFilesRemoved, count(report.marks) numFilesMarked ") .append(notebookEntryStrings != null ? notebookEntryStrings[0] : ", NULL notebookEntry") - .append(" FROM tl_lasbmt11_user user ") - .append(portraitStrings[1]) + .append(" FROM tl_lasbmt11_user user ").append(portraitStrings[1]) .append(" LEFT JOIN tl_lasbmt11_submission_details details ON user.uid = details.learner_id ") .append(" LEFT JOIN tl_lasbmt11_report report ON details.submission_id = report.report_id "); @@ -156,12 +152,11 @@ queryText.append(" ORDER BY " + sortingOrder); NativeQuery query = getSession().createNativeQuery(queryText.toString()); - query.addEntity("user", SubmitUser.class) - .addScalar("portraitId", IntegerType.INSTANCE) + query.addEntity("user", SubmitUser.class).addScalar("portraitId", StringType.INSTANCE) .addScalar("numFiles", IntegerType.INSTANCE).addScalar("numFilesRemoved", IntegerType.INSTANCE) .addScalar("numFilesMarked", IntegerType.INSTANCE).addScalar("notebookEntry", StringType.INSTANCE) .setParameter("sessionId", sessionId.longValue()).setFirstResult(page * size).setMaxResults(size); - return query.list(); + return query.list(); } private void buildNameSearch(String searchString, StringBuilder sqlBuilder) { @@ -203,52 +198,51 @@ NativeQuery query = getSession().createNativeQuery(GET_STATISTICS); query.addScalar("sessionId", LongType.INSTANCE).addScalar("sessionName", StringType.INSTANCE) .addScalar("totalUploadedFiles", IntegerType.INSTANCE).addScalar("markedCount", IntegerType.INSTANCE) - .setParameter("contentId", contentId).setResultTransformer(Transformers.aliasToBean(StatisticDTO.class)); + .setParameter("contentId", contentId) + .setResultTransformer(Transformers.aliasToBean(StatisticDTO.class)); List list = query.list(); for (StatisticDTO dto : list) { dto.setNotMarkedCount(dto.getTotalUploadedFiles() - dto.getMarkedCount()); } return list; } - - + private static final String GET_LEADER_STATISTICS = "SELECT session.session_id sessionId, session.session_name sessionName, " + " COUNT(detail.submission_id) totalUploadedFiles, COUNT(report.marks) markedCount" + " FROM tl_lasbmt11_session session, tl_lasbmt11_submission_details detail, tl_lasbmt11_report report " + " WHERE session.content_id = :contentId and detail.session_id = session.session_id " - + " AND detail.submission_id = report.report_id AND session.group_leader_uid= detail.learner_id" + " GROUP BY session.session_id"; + + " AND detail.submission_id = report.report_id AND session.group_leader_uid= detail.learner_id" + + " GROUP BY session.session_id"; @Override @SuppressWarnings("unchecked") public List getLeaderStatisticsBySession(final Long contentId) { NativeQuery query = getSession().createNativeQuery(GET_LEADER_STATISTICS); query.addScalar("sessionId", LongType.INSTANCE).addScalar("sessionName", StringType.INSTANCE) .addScalar("totalUploadedFiles", IntegerType.INSTANCE).addScalar("markedCount", IntegerType.INSTANCE) - .setParameter("contentId", contentId).setResultTransformer(Transformers.aliasToBean(StatisticDTO.class)); + .setParameter("contentId", contentId) + .setResultTransformer(Transformers.aliasToBean(StatisticDTO.class)); List list = query.list(); for (StatisticDTO dto : list) { dto.setNotMarkedCount(dto.getTotalUploadedFiles() - dto.getMarkedCount()); } return list; } - - + private static final String GET_GROUP_REPORTS = "SELECT report.report_id reportId " + " FROM tl_lasbmt11_submission_details detail, tl_lasbmt11_report report " - + " WHERE detail.session_id = :sessionId " - + " AND detail.submission_id = report.report_id " - + " AND detail.uuid = (SELECT uuid from tl_lasbmt11_submission_details " + + " WHERE detail.session_id = :sessionId " + " AND detail.submission_id = report.report_id " + + " AND detail.uuid = (SELECT uuid from tl_lasbmt11_submission_details " + " WHERE submission_id = :reportId); "; - + @Override @SuppressWarnings("unchecked") public List getReportsForGroup(final Long sessionId, final Long reportId) { NativeQuery query = getSession().createNativeQuery(GET_GROUP_REPORTS); - query.addScalar("reportId", LongType.INSTANCE) - .setParameter("sessionId", sessionId) - .setParameter("reportId", reportId); + query.addScalar("reportId", LongType.INSTANCE).setParameter("sessionId", sessionId).setParameter("reportId", + reportId); return query.list(); } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/MonitoringController.java =================================================================== diff -u -rfea3637199c74851ed7a8fa620da1ccb898be819 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/MonitoringController.java (.../MonitoringController.java) (revision fea3637199c74851ed7a8fa620da1ccb898be819) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -209,7 +209,7 @@ responseRow.put(SbmtConstants.ATTR_USER_FULLNAME, HtmlUtils.htmlEscape(user.getFullName())); if (userAndReflection.length > 2) { - responseRow.put(SbmtConstants.ATTR_PORTRAIT_ID, (Integer) userAndReflection[1]); + responseRow.put(SbmtConstants.ATTR_PORTRAIT_ID, (String) userAndReflection[1]); } if (userAndReflection.length > 3) { Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/dao/hibernate/SpreadsheetUserDAOHibernate.java =================================================================== diff -u -rc8d42fdc11b1c7cf274fafac0319b4a2c3bdd505 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/dao/hibernate/SpreadsheetUserDAOHibernate.java (.../SpreadsheetUserDAOHibernate.java) (revision c8d42fdc11b1c7cf274fafac0319b4a2c3bdd505) +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/dao/hibernate/SpreadsheetUserDAOHibernate.java (.../SpreadsheetUserDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -28,7 +28,6 @@ import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.query.NativeQuery; -import org.hibernate.type.IntegerType; import org.hibernate.type.StringType; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; @@ -116,7 +115,7 @@ queryText.append( " JOIN tl_lasprd10_session session ON user.session_uid = session.uid and session.session_id = :sessionId"); queryText.append(portraitStrings[1]); - + // If sorting by mark then join to mark if (sorting == SpreadsheetConstants.SORT_BY_MARKED_ASC || sorting == SpreadsheetConstants.SORT_BY_MARKED_DESC) { queryText.append( @@ -138,8 +137,8 @@ @SuppressWarnings("unchecked") NativeQuery query = getSession().createNativeQuery(queryText.toString()); query.addEntity("user", SpreadsheetUser.class).addScalar("notebookEntry", StringType.INSTANCE) - .addScalar("portraitId", IntegerType.INSTANCE) - .setParameter("sessionId", sessionId).setFirstResult(page * size).setMaxResults(size); + .addScalar("portraitId", StringType.INSTANCE).setParameter("sessionId", sessionId) + .setFirstResult(page * size).setMaxResults(size); return query.list(); } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dao/hibernate/SurveyUserDAOHibernate.java =================================================================== diff -u -rceb74e3b4097cf6461280448f904fa21a176aaa4 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dao/hibernate/SurveyUserDAOHibernate.java (.../SurveyUserDAOHibernate.java) (revision ceb74e3b4097cf6461280448f904fa21a176aaa4) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dao/hibernate/SurveyUserDAOHibernate.java (.../SurveyUserDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -114,11 +114,9 @@ String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); // Basic select for the user records - StringBuilder queryText = new StringBuilder(FIND_USER_ANSWERS_BY_SESSION_ID_SELECT) - .append(portraitStrings[0]) - .append(FIND_USER_ANSWERS_BY_SESSION_ID_FROM) - .append(portraitStrings[1]); - + StringBuilder queryText = new StringBuilder(FIND_USER_ANSWERS_BY_SESSION_ID_SELECT).append(portraitStrings[0]) + .append(FIND_USER_ANSWERS_BY_SESSION_ID_FROM).append(portraitStrings[1]); + // If filtering by name add a name based where clause buildNameSearch(searchString, queryText); @@ -127,9 +125,9 @@ NativeQuery query = getSession().createNativeQuery(queryText.toString()); query.addEntity("user", SurveyUser.class).addScalar("answerChoices", StringType.INSTANCE) - .addScalar("answerText", StringType.INSTANCE).addScalar("portraitId", IntegerType.INSTANCE) - .setParameter("sessionId", sessionId.longValue()) - .setParameter("questionId", questionId.longValue()).setFirstResult(page * size).setMaxResults(size); + .addScalar("answerText", StringType.INSTANCE).addScalar("portraitId", StringType.INSTANCE) + .setParameter("sessionId", sessionId.longValue()).setParameter("questionId", questionId.longValue()) + .setFirstResult(page * size).setMaxResults(size); return query.list(); } @@ -154,8 +152,8 @@ " JOIN tl_lasurv11_session session ON user.session_uid = session.uid and session.session_id = :sessionId"); buildNameSearch(searchString, queryText); - List list = getSession().createNativeQuery(queryText.toString()).setParameter("sessionId", sessionId.longValue()) - .list(); + List list = getSession().createNativeQuery(queryText.toString()) + .setParameter("sessionId", sessionId.longValue()).list(); if (list == null || list.size() == 0) { return 0; } @@ -169,7 +167,8 @@ * String (notebook entry)]> */ public List getUserReflectionsForTablesorter(final Long sessionId, int page, int size, int sorting, - String searchString, ICoreNotebookService coreNotebookService, IUserManagementService userManagementService) { + String searchString, ICoreNotebookService coreNotebookService, + IUserManagementService userManagementService) { String sortingOrder; switch (sorting) { case SurveyConstants.SORT_BY_NAME_ASC: @@ -209,8 +208,8 @@ NativeQuery query = getSession().createNativeQuery(queryText.toString()); query.addEntity("user", SurveyUser.class).addScalar("notebookEntry", StringType.INSTANCE) - .addScalar("portraitId", IntegerType.INSTANCE) - .setParameter("sessionId", sessionId.longValue()).setFirstResult(page * size).setMaxResults(size); + .addScalar("portraitId", StringType.INSTANCE).setParameter("sessionId", sessionId.longValue()) + .setFirstResult(page * size).setMaxResults(size); return query.list(); } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/MonitoringController.java =================================================================== diff -u -r3a68c970297a965f73cc4bda061a05c69a2818de -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 3a68c970297a965f73cc4bda061a05c69a2818de) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -64,8 +64,8 @@ import org.lamsfoundation.lams.web.util.SessionMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.http.MediaType; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -224,7 +224,7 @@ responseRow.put("answerText", answer); } if (userAndAnswers.length > 3 && userAndAnswers[3] != null) { - responseRow.put(SurveyConstants.ATTR_PORTRAIT_ID, ((Number) userAndAnswers[3]).longValue()); + responseRow.put(SurveyConstants.ATTR_PORTRAIT_ID, (String) userAndAnswers[3]); } rows.add(responseRow); } @@ -283,7 +283,7 @@ } if (userAndReflection.length > 2 && userAndReflection[2] != null) { - responseRow.put(SurveyConstants.ATTR_PORTRAIT_ID, ((Number) userAndReflection[2]).longValue()); + responseRow.put(SurveyConstants.ATTR_PORTRAIT_ID, (String) userAndReflection[2]); } rows.add(responseRow); Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dao/hibernate/TaskListUserDAOHibernate.java =================================================================== diff -u -rceb74e3b4097cf6461280448f904fa21a176aaa4 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dao/hibernate/TaskListUserDAOHibernate.java (.../TaskListUserDAOHibernate.java) (revision ceb74e3b4097cf6461280448f904fa21a176aaa4) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dao/hibernate/TaskListUserDAOHibernate.java (.../TaskListUserDAOHibernate.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -81,16 +81,16 @@ } public static final String LOAD_USERS_SELECT = "SELECT user.uid, CONCAT(user.last_name, ' ', user.first_name), user.is_verified_by_monitor, visitLog.taskList_item_uid"; - public static final String LOAD_USERS_FROM = " FROM tl_latask10_user user"; + public static final String LOAD_USERS_FROM = " FROM tl_latask10_user user"; public static final String LOAD_USERS_JOINS = " INNER JOIN tl_latask10_session session" - + " ON user.session_uid=session.uid" + + + " ON user.session_uid=session.uid" + - " LEFT OUTER JOIN tl_latask10_item_log visitLog " + " ON visitLog.user_uid = user.uid" - + " AND visitLog.complete = 1" + + " LEFT OUTER JOIN tl_latask10_item_log visitLog " + " ON visitLog.user_uid = user.uid" + + " AND visitLog.complete = 1" + - " WHERE session.session_id = :sessionId " - + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " - + " ORDER BY CONCAT(user.last_name, ' ', user.first_name) "; + " WHERE session.session_id = :sessionId " + + " AND (CONCAT(user.last_name, ' ', user.first_name) LIKE CONCAT('%', :searchString, '%')) " + + " ORDER BY CONCAT(user.last_name, ' ', user.first_name) "; @Override @SuppressWarnings({ "unchecked", "rawtypes", "deprecation" }) @@ -99,13 +99,9 @@ String[] portraitStrings = userManagementService.getPortraitSQL("user.user_id"); - StringBuilder bldr = new StringBuilder(LOAD_USERS_SELECT) - .append(portraitStrings[0]) - .append(LOAD_USERS_FROM) - .append(portraitStrings[1]) - .append(LOAD_USERS_JOINS) - .append(sortOrder); - + StringBuilder bldr = new StringBuilder(LOAD_USERS_SELECT).append(portraitStrings[0]).append(LOAD_USERS_FROM) + .append(portraitStrings[1]).append(LOAD_USERS_JOINS).append(sortOrder); + NativeQuery query = getSession().createNativeQuery(bldr.toString()); query.setParameter("sessionId", sessionId); // support for custom search from a toolbar @@ -116,15 +112,15 @@ List list = query.list(); //group by userId as long as it returns all completed visitLogs for each user - HashMap userIdToUserDto = new LinkedHashMap(); + HashMap userIdToUserDto = new LinkedHashMap<>(); if (list != null && list.size() > 0) { for (Object[] element : list) { Long userId = ((Number) element[0]).longValue(); String fullName = (String) element[1]; - boolean isVerifiedByMonitor = element[2] == null ? false : (Boolean) element[2]; + boolean isVerifiedByMonitor = element[2] == null ? false : (Boolean) element[2]; Long completedTaskUid = element[3] == null ? 0 : ((Number) element[3]).longValue(); - Long portraitId = element[4] == null ? null : ((Number) element[4]).longValue(); + String portraitId = (String) element[4]; TaskListUserDTO userDto = (userIdToUserDto.get(userId) == null) ? new TaskListUserDTO() : userIdToUserDto.get(userId); @@ -171,7 +167,7 @@ query.setMaxResults(size); List list = query.list(); - Collection userDtos = new LinkedList(); + Collection userDtos = new LinkedList<>(); if (list != null && list.size() > 0) { for (Object[] element : list) { Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dto/TaskListUserDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dto/TaskListUserDTO.java (.../TaskListUserDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dto/TaskListUserDTO.java (.../TaskListUserDTO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -6,11 +6,11 @@ public class TaskListUserDTO { private Long userId; - private Long portraitId; + private String portraitId; private String fullName; private boolean verifiedByMonitor; - private Set completedTaskUids = new LinkedHashSet(); + private Set completedTaskUids = new LinkedHashSet<>(); private boolean completed; // item complete date. Used in monitoring summary page private Date accessDate; @@ -63,12 +63,12 @@ this.accessDate = accessDate; } - public Long getPortraitId() { - return portraitId; + public String getPortraitId() { + return portraitId; } - public void setPortraitId(Long portraitId) { - this.portraitId = portraitId; + public void setPortraitId(String portraitId) { + this.portraitId = portraitId; } } Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/hibernate/VoteUsrAttemptDAO.java =================================================================== diff -u -r374f1e3729c3892074184bbd480ae87bce110cfd -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/hibernate/VoteUsrAttemptDAO.java (.../VoteUsrAttemptDAO.java) (revision 374f1e3729c3892074184bbd480ae87bce110cfd) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dao/hibernate/VoteUsrAttemptDAO.java (.../VoteUsrAttemptDAO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -319,7 +319,7 @@ NativeQuery query = getSession().createSQLQuery(queryText.toString()); query.addScalar("user_id", IntegerType.INSTANCE).addScalar("username", StringType.INSTANCE) .addScalar("fullname", StringType.INSTANCE).addScalar("attemptTime", TimestampType.INSTANCE) - .addScalar("portraitId", IntegerType.INSTANCE).setParameter("questionUid", questionUid) + .addScalar("portraitId", StringType.INSTANCE).setParameter("questionUid", questionUid) .setFirstResult(page * size).setMaxResults(size); if (sessionUid != null) { query.setParameter("sessionUid", sessionUid); @@ -431,7 +431,7 @@ NativeQuery query = getSession().createSQLQuery(queryText.toString()); query.addScalar("user_id", IntegerType.INSTANCE).addScalar("username", StringType.INSTANCE) .addScalar("fullname", StringType.INSTANCE).addScalar("notebookEntry", StringType.INSTANCE) - .addScalar("portraitId", IntegerType.INSTANCE).setParameter("sessionUid", sessionUid) + .addScalar("portraitId", StringType.INSTANCE).setParameter("sessionUid", sessionUid) .setFirstResult(page * size).setMaxResults(size); return query.list(); @@ -512,7 +512,7 @@ query.addScalar("userUid", LongType.INSTANCE).addScalar("login", StringType.INSTANCE) .addScalar("fullName", StringType.INSTANCE).addScalar("userEntryUid", LongType.INSTANCE) .addScalar("userEntry", StringType.INSTANCE).addScalar("attemptTime", TimestampType.INSTANCE) - .addScalar("visible", BooleanType.INSTANCE).addScalar("portraitId", LongType.INSTANCE) + .addScalar("visible", BooleanType.INSTANCE).addScalar("portraitId", StringType.INSTANCE) .setFirstResult(page * size).setMaxResults(size) .setResultTransformer(Transformers.aliasToBean(OpenTextAnswerDTO.class)); Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dto/OpenTextAnswerDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dto/OpenTextAnswerDTO.java (.../OpenTextAnswerDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dto/OpenTextAnswerDTO.java (.../OpenTextAnswerDTO.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -37,7 +37,7 @@ protected String userEntry; protected Date attemptTime; protected Boolean visible; - protected Long portraitId; + protected String portraitId; @Override public String toString() { @@ -102,12 +102,12 @@ this.visible = visible; } - public Long getPortraitId() { - return portraitId; + public String getPortraitId() { + return portraitId; } - public void setPortraitId(Long portraitId) { - this.portraitId = portraitId; + public void setPortraitId(String portraitId) { + this.portraitId = portraitId; } } Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/controller/MonitoringController.java =================================================================== diff -u -r7b3ea39ddf6e10186cf9916562121c205bb0e5ad -r217f8e388f47a0c4edb2249f99ca7096294d96f2 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 7b3ea39ddf6e10186cf9916562121c205bb0e5ad) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 217f8e388f47a0c4edb2249f99ca7096294d96f2) @@ -175,7 +175,7 @@ DateUtil.convertToStringForJSON((Date) userAndAnswers[3], request.getLocale())); responseRow.put(VoteAppConstants.ATTR_ATTEMPT_TIME_TIMEAGO, DateUtil.convertToStringForTimeagoJSON((Date) userAndAnswers[3])); - responseRow.put(VoteAppConstants.ATTR_PORTRAIT_ID, (Integer) userAndAnswers[4]); + responseRow.put(VoteAppConstants.ATTR_PORTRAIT_ID, (String) userAndAnswers[4]); rows.add(responseRow); } responseJSON.set("rows", rows); @@ -217,7 +217,7 @@ responseRow.put(VoteAppConstants.NOTEBOOK, reflection.replaceAll("\n", "
")); } if (userAndReflection.length > 4) { - responseRow.put(VoteAppConstants.ATTR_PORTRAIT_ID, (Integer) userAndReflection[4]); + responseRow.put(VoteAppConstants.ATTR_PORTRAIT_ID, (String) userAndReflection[4]); } rows.add(responseRow); } @@ -321,7 +321,7 @@ } voteContent.setSubmissionDeadline(tzSubmissionDeadline); voteService.updateVote(voteContent); - + return formattedDate; } @@ -331,7 +331,7 @@ VoteGeneralMonitoringDTO voteGeneralMonitoringDTO = new VoteGeneralMonitoringDTO(); request.setAttribute(VoteAppConstants.VOTE_GENERAL_AUTHORING_DTO, voteGeneralAuthoringDTO); request.setAttribute(VoteAppConstants.VOTE_GENERAL_MONITORING_DTO, voteGeneralMonitoringDTO); - + request.setAttribute(AttributeNames.PARAM_CONTENT_FOLDER_ID, WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID)); @@ -396,7 +396,7 @@ sessionMap.put(VoteAppConstants.ACTIVITY_INSTRUCTIONS_KEY, voteContent.getInstructions()); request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); - List listQuestionDTO = new LinkedList(); + List listQuestionDTO = new LinkedList<>(); Iterator queIterator = voteContent.getVoteQueContents().iterator(); while (queIterator.hasNext()) { @@ -428,7 +428,7 @@ } public static Map convertToVoteMonitoredUserDTOMap(List list) { - Map map = new TreeMap(new VoteComparator()); + Map map = new TreeMap<>(new VoteComparator()); Iterator listIterator = list.iterator(); Long mapIndex = new Long(1);