Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/comments/Comment.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/comments/CommentLike.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/comments/CommentSession.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/rating/Rating.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/rating/RatingComment.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/rating/RatingCriteria.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/comments/Comment.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/comments/Comment.java (.../Comment.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/comments/Comment.java (.../Comment.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -26,6 +26,16 @@ import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.persistence.Transient; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @@ -35,36 +45,76 @@ * @author Fiona Malikoff * */ +@Entity +@Table(name = "lams_comment") public class Comment implements Cloneable { // message types - initially just one, the tool type. public static final int EXTERNAL_TYPE_TOOL = 1; // externalId will be a toolSessionId + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @Column private String body; + @Column(name = "create_date") private Date created; + + @ManyToOne + @JoinColumn(name = "create_by") private User createdBy; + + @Column(name = "update_date") private Date updated; + + @ManyToOne + @JoinColumn(name = "update_by") private User updatedBy; + @Column(name = "last_reply_date") private Date lastReplyDate; + + @Column(name = "reply_number") private int replyNumber; + + @Column(name = "hide_flag") private boolean hideFlag; + + @Column private boolean sticky; + + @Column private boolean monitor; + + @Column private boolean anonymous; + @ManyToOne + @JoinColumn(name = "root_comment_uid") private Comment rootComment; + + @ManyToOne + @JoinColumn(name = "thread_comment_uid") private Comment threadComment; + + @Column(name = "comment_level") private short commentLevel; + @ManyToOne + @JoinColumn(name = "parent_uid") private Comment parent; + + @ManyToOne + @JoinColumn(name = "session_id") private CommentSession session; /** Read only fields - calculated when loaded from the database */ + @Transient private Integer likeCount; + @Transient private Integer vote; public Comment() { Index: lams_common/src/java/org/lamsfoundation/lams/comments/CommentLike.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/comments/CommentLike.java (.../CommentLike.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/comments/CommentLike.java (.../CommentLike.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,18 +25,39 @@ package org.lamsfoundation.lams.comments; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + /** * @author Fiona.Malikoff * */ +@Entity +@Table(name = "lams_comment_likes") public class CommentLike { public static int LIKE = 1; public static int DISLIKE = -1; + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + + @ManyToOne + @JoinColumn(name = "comment_uid") private Comment comment; + + @Column(name = "user_id") private Integer userId; + + @Column private int vote; public Long getUid() { Index: lams_common/src/java/org/lamsfoundation/lams/comments/CommentSession.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/comments/CommentSession.java (.../CommentSession.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/comments/CommentSession.java (.../CommentSession.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -23,16 +23,36 @@ package org.lamsfoundation.lams.comments; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + /** * @author Fiona Malikoff * */ +@Entity +@Table(name = "lams_comment_session") public class CommentSession implements Cloneable { + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + + @Column(name = "external_id") private Long externalId; + + @Column(name = "external_id_type") private Integer externalIdType; + + @Column(name = "external_signature") private String externalSignature; + + @Column(name = "external_secondary_id") private Long externalSecondaryId; public CommentSession() { Index: lams_common/src/java/org/lamsfoundation/lams/comments/dao/hibernate/CommentDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/comments/dao/hibernate/CommentDAO.java (.../CommentDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/comments/dao/hibernate/CommentDAO.java (.../CommentDAO.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -31,7 +31,7 @@ import java.util.SortedSet; import java.util.TreeSet; -import org.hibernate.SQLQuery; +import org.hibernate.query.NativeQuery; import org.hibernate.type.IntegerType; import org.lamsfoundation.lams.comments.Comment; import org.lamsfoundation.lams.comments.dao.ICommentDAO; @@ -73,13 +73,13 @@ @SuppressWarnings("rawtypes") List list = null; if (externalSecondaryId == null) - list = getSession().createQuery(SQL_QUERY_FIND_ROOT_TOPICS).setLong("externalId", externalId) - .setInteger("externalIdType", externalIdType).setString("externalSignature", externalSignature) + list = getSession().createQuery(SQL_QUERY_FIND_ROOT_TOPICS).setParameter("externalId", externalId) + .setParameter("externalIdType", externalIdType).setParameter("externalSignature", externalSignature) .list(); else - list = getSession().createQuery(SQL_QUERY_FIND_ROOT_TOPICS_EXTRA_ID).setLong("externalId", externalId) - .setLong("externalSecondaryId", externalSecondaryId).setInteger("externalIdType", externalIdType) - .setString("externalSignature", externalSignature).list(); + list = getSession().createQuery(SQL_QUERY_FIND_ROOT_TOPICS_EXTRA_ID).setParameter("externalId", externalId) + .setParameter("externalSecondaryId", externalSecondaryId).setParameter("externalIdType", externalIdType) + .setParameter("externalSignature", externalSignature).list(); if (list != null && list.size() > 0) { return (Comment) list.get(0); @@ -99,10 +99,10 @@ @Override @SuppressWarnings("unchecked") public SortedSet getThreadByThreadId(Long threadCommentId, Integer sortBy, Integer userId) { - SQLQuery query = getSession().createSQLQuery(SQL_QUERY_GET_COMPLETE_THREAD); + NativeQuery query = getSession().createNativeQuery(SQL_QUERY_GET_COMPLETE_THREAD); query.addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("userId", userId != null ? userId : 0) - .setLong("threadId", threadCommentId); + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("userId", userId != null ? userId : 0) + .setParameter("threadId", threadCommentId); List results = query.list(); return upgradeComments(results, sortBy); } @@ -155,16 +155,16 @@ List threadUidList = null; if (previousThreadMessageId == null || previousThreadMessageId == 0L) { threadUidList = getSession().createSQLQuery(SQL_QUERY_FIND_FIRST_THREAD_TOP_BY_UID) - .setLong("rootUid", rootTopicId).setMaxResults(numberOfThreads).list(); + .setParameter("rootUid", rootTopicId).setMaxResults(numberOfThreads).list(); } else { - threadUidList = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_TOP).setLong("rootUid", rootTopicId) - .setLong("lastUid", previousThreadMessageId).setMaxResults(numberOfThreads).list(); + threadUidList = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_TOP).setParameter("rootUid", rootTopicId) + .setParameter("lastUid", previousThreadMessageId).setMaxResults(numberOfThreads).list(); } if (threadUidList != null && threadUidList.size() > 0) { - SQLQuery query = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES); + NativeQuery query = getSession().createNativeQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES); query.addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("userId", userId != null ? userId : 0) + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("userId", userId != null ? userId : 0) .setParameterList("threadIds", threadUidList); List results = query.list(); return upgradeComments(results, sortBy); @@ -201,15 +201,15 @@ if (previousThreadMessageId == null || previousThreadMessageId == 0L) { topThreadObjects = getSession().createSQLQuery(SQL_QUERY_FIND_FIRST_THREAD_TOP_BY_LIKES) .addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("rootUid", rootTopicId) - .setLong("userId", userId != null ? userId : 0).setMaxResults(numberOfThreads).list(); + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("rootUid", rootTopicId) + .setParameter("userId", userId != null ? userId : 0).setMaxResults(numberOfThreads).list(); } else { // get more entries with the same number of likes or less likes topThreadObjects = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_TOP_BY_LIKE) .addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("rootUid", rootTopicId) - .setLong("lastUid", previousThreadMessageId).setString("like", extraSortParam) - .setLong("userId", userId != null ? userId : 0).setMaxResults(numberOfThreads).list(); + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("rootUid", rootTopicId) + .setParameter("lastUid", previousThreadMessageId).setParameter("like", extraSortParam) + .setParameter("userId", userId != null ? userId : 0).setMaxResults(numberOfThreads).list(); } if (topThreadObjects != null && topThreadObjects.size() > 0) { // build the list of uids @@ -218,9 +218,9 @@ Comment comment = (Comment) rawObject[0]; threadUidList.add(comment.getUid()); } - SQLQuery query = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES_REPLIES_ONLY); + NativeQuery query = getSession().createNativeQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES_REPLIES_ONLY); query.addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("userId", userId != null ? userId : 0) + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("userId", userId != null ? userId : 0) .setParameterList("threadIds", threadUidList); List results = query.list(); topThreadObjects.addAll(results); @@ -249,13 +249,13 @@ // the search to get to the top level is quite light, so get just the uids // then build a complete set. - List threadUidList = getSession().createSQLQuery(SQL_QUERY_FIND_STICKY_BY_UID) - .setLong("rootUid", rootTopicId).list(); + List threadUidList = getSession().createNativeQuery(SQL_QUERY_FIND_STICKY_BY_UID) + .setParameter("rootUid", rootTopicId).list(); if (threadUidList != null && threadUidList.size() > 0) { - SQLQuery query = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES); + NativeQuery query = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES); query.addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("userId", userId != null ? userId : 0) + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("userId", userId != null ? userId : 0) .setParameterList("threadIds", threadUidList); List results = query.list(); return upgradeComments(results, sortBy); @@ -273,10 +273,10 @@ private SortedSet getStickyByThreadIdLikes(final Long rootTopicId, Integer sortBy, String extraSortParam, Integer userId) { - List topThreadObjects = getSession().createSQLQuery(SQL_QUERY_FIND_STICKY_BY_LIKES) + List topThreadObjects = getSession().createNativeQuery(SQL_QUERY_FIND_STICKY_BY_LIKES) .addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("rootUid", rootTopicId) - .setLong("userId", userId != null ? userId : 0).list(); + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("rootUid", rootTopicId) + .setParameter("userId", userId != null ? userId : 0).list(); if (topThreadObjects != null && topThreadObjects.size() > 0) { // build the list of uids @@ -285,9 +285,9 @@ Comment comment = (Comment) rawObject[0]; threadUidList.add(comment.getUid()); } - SQLQuery query = getSession().createSQLQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES_REPLIES_ONLY); + NativeQuery query = getSession().createNativeQuery(SQL_QUERY_FIND_NEXT_THREAD_MESSAGES_REPLIES_ONLY); query.addEntity("comment", Comment.class).addScalar("likes_total", IntegerType.INSTANCE) - .addScalar("user_vote", IntegerType.INSTANCE).setLong("userId", userId != null ? userId : 0) + .addScalar("user_vote", IntegerType.INSTANCE).setParameter("userId", userId != null ? userId : 0) .setParameterList("threadIds", threadUidList); List results = query.list(); topThreadObjects.addAll(results); Index: lams_common/src/java/org/lamsfoundation/lams/comments/dao/hibernate/CommentLikeDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/comments/dao/hibernate/CommentLikeDAO.java (.../CommentLikeDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/comments/dao/hibernate/CommentLikeDAO.java (.../CommentLikeDAO.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -34,7 +34,7 @@ @Override public boolean addLike(Long commentUid, Integer userId, Integer vote) { - int status = getSession().createSQLQuery(INSERT_LIKE).setParameter("comment", commentUid) + int status = getSession().createNativeQuery(INSERT_LIKE).setParameter("comment", commentUid) .setParameter("user", userId).setParameter("vote", vote).executeUpdate(); return status == 1; } Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== diff -u -rcbe532f585efe39250986f20d58cbef855115cf3 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision cbe532f585efe39250986f20d58cbef855115cf3) +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -24,6 +24,7 @@ + org.lamsfoundation.lams.comments org.lamsfoundation.lams.config org.lamsfoundation.lams.contentrepository org.lamsfoundation.lams.gradebook Index: lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java =================================================================== diff -u -rb3b03858efeef1c37e36993757f56374a9f2b9f3 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java (.../EventDAOHibernate.java) (revision b3b03858efeef1c37e36993757f56374a9f2b9f3) +++ lams_common/src/java/org/lamsfoundation/lams/events/dao/hibernate/EventDAOHibernate.java (.../EventDAOHibernate.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -3,7 +3,7 @@ import java.security.InvalidParameterException; import java.util.List; -import org.hibernate.Query; +import org.hibernate.query.Query; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.events.DeliveryMethodNotification; import org.lamsfoundation.lams.events.EmailNotificationArchive; @@ -23,15 +23,15 @@ + " AS e WHERE e.failTime IS NOT NULL"; private static final String GET_LESSON_EVENT_SUBSCRIPTIONS = "FROM " + Subscription.class.getName() - + " AS s WHERE s.userId = ? AND s.event.scope LIKE 'LESSON_%'"; + + " AS s WHERE s.userId = :userId AND s.event.scope LIKE 'LESSON_%'"; private static final String COUNT_PENDING_NOTIFICATIONS = "SELECT COUNT(*) FROM " + Subscription.class.getName() + " AS s WHERE (s.lastOperationMessage IS NULL OR s.lastOperationMessage != '" + DeliveryMethodNotification.LAST_OPERATION_SEEN + "') AND s.userId = :userId AND s.event.scope LIKE 'LESSON_%'"; private static final String GET_ARCHIVED_EMAIL_NOTIFICATION_RECIPIENTS = "SELECT u FROM " + User.class.getName() + " AS u, " + EmailNotificationArchive.class.getName() - + " AS e WHERE e.uid = ? AND u.userId IN ELEMENTS(e.recipients) ORDER BY u.firstName, u.lastName"; + + " AS e WHERE e.uid = :emailNotificationUid AND u.userId IN ELEMENTS(e.recipients) ORDER BY u.firstName, u.lastName"; @Override @SuppressWarnings("unchecked") @@ -59,17 +59,17 @@ Integer limit, Integer offset) { String query = EventDAOHibernate.GET_LESSON_EVENT_SUBSCRIPTIONS; if (lessonId != null) { - query += " AND s.event.eventSessionId = ?"; + query += " AND s.event.eventSessionId = :lessonId"; } if (pendingOnly) { query += " AND (s.lastOperationMessage IS NULL OR s.lastOperationMessage != '" + DeliveryMethodNotification.LAST_OPERATION_SEEN + "')"; } query += " ORDER BY ISNULL(s.lastOperationMessage) DESC, uid DESC"; Query queryObject = getSession().createQuery(query); - queryObject.setInteger(0, userId); + queryObject.setParameter("userId", userId); if (lessonId != null) { - queryObject.setLong(1, lessonId); + queryObject.setParameter("lessonId", lessonId); } if (limit != null) { queryObject.setMaxResults(limit); @@ -87,9 +87,9 @@ query += " AND s.event.eventSessionId = :lessonId"; } Query queryObject = getSession().createQuery(query); - queryObject.setInteger("userId", userId); + queryObject.setParameter("userId", userId); if (lessonId != null) { - queryObject.setLong("lessonId", lessonId); + queryObject.setParameter("lessonId", lessonId); } return (Long) queryObject.uniqueResult(); } @@ -98,7 +98,7 @@ @SuppressWarnings("unchecked") public List getArchivedEmailNotificationRecipients(Long emailNotificationUid, Integer limit, Integer offset) { Query queryObject = getSession().createQuery(EventDAOHibernate.GET_ARCHIVED_EMAIL_NOTIFICATION_RECIPIENTS); - queryObject.setLong(0, emailNotificationUid); + queryObject.setParameter("emailNotificationUid", emailNotificationUid); if (limit != null) { queryObject.setMaxResults(limit); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/LearningDesignDAO.java =================================================================== diff -u -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/LearningDesignDAO.java (.../LearningDesignDAO.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/LearningDesignDAO.java (.../LearningDesignDAO.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -42,10 +42,10 @@ private static final String TABLENAME = "lams_learning_design"; private static final String VALID_IN_FOLDER = "from " + TABLENAME + " in class " + LearningDesign.class.getName() - + " where valid_design_flag=true AND workspace_folder_id=? AND removed=0"; + + " where valid_design_flag=true AND workspace_folder_id=:workspace_folder_id AND removed=0"; private static final String ALL_IN_FOLDER = "from " + TABLENAME + " in class " + LearningDesign.class.getName() - + " where workspace_folder_id=? AND removed=0"; + + " where workspace_folder_id=:workspace_folder_id AND removed=0"; private static final String FIND_BY_ORIGINAL = "from " + TABLENAME + " in class " + LearningDesign.class.getName() + " where original_learning_design_id=? AND removed=0"; @@ -72,7 +72,7 @@ */ @Override public List getAllValidLearningDesignsInFolder(Integer workspaceFolderID) { - return this.doFind(VALID_IN_FOLDER, workspaceFolderID); + return getSession().createQuery(VALID_IN_FOLDER).setParameter("workspace_folder_id", workspaceFolderID).list(); } /** @@ -82,7 +82,7 @@ */ @Override public List getAllLearningDesignsInFolder(Integer workspaceFolderID) { - return this.doFind(ALL_IN_FOLDER, workspaceFolderID); + return getSession().createQuery(ALL_IN_FOLDER).setParameter("workspace_folder_id", workspaceFolderID).list(); } /** @@ -117,8 +117,8 @@ public List getAllPagedLearningDesigns(Integer workspaceFolderID, Integer page, Integer size, String sortName, String sortDate) { String sortingOrder = setupSortString(sortName, sortDate); - Query query = getSession().createQuery(ALL_IN_FOLDER + sortingOrder).setParameter(0, - workspaceFolderID.longValue()); + Query query = getSession().createQuery(ALL_IN_FOLDER + sortingOrder).setParameter("workspace_folder_id", + workspaceFolderID); if (page != null && size != null) { query.setFirstResult(page * size).setMaxResults(size); } @@ -131,8 +131,8 @@ public List getValidPagedLearningDesigns(Integer workspaceFolderID, Integer page, Integer size, String sortName, String sortDate) { String sortingOrder = setupSortString(sortName, sortDate); - Query query = getSession().createQuery(VALID_IN_FOLDER + sortingOrder).setParameter(0, - workspaceFolderID.longValue()); + Query query = getSession().createQuery(VALID_IN_FOLDER + sortingOrder).setParameter("workspace_folder_id", + workspaceFolderID); if (page != null && size != null) { query.setFirstResult(page * size).setMaxResults(size); } Index: lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java (.../RatingCommentDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java (.../RatingCommentDAO.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -67,7 +67,8 @@ public List getCommentsByCriteriaAndItems(Long ratingCriteriaId, Long toolSessionId, Collection itemIds) { List results = getSession().createQuery(FIND_COMMENTS_BY_CRITERIA_AND_ITEMS) - .setLong("ratingCriteriaId", ratingCriteriaId).setLong("toolSessionId", toolSessionId).setParameterList("itemIds", itemIds).list(); + .setParameter("ratingCriteriaId", ratingCriteriaId).setParameter("toolSessionId", toolSessionId) + .setParameterList("itemIds", itemIds).list(); return convertIntoCommentDtos(results); } @@ -77,8 +78,8 @@ Integer userId) { List results = getSession().createQuery(FIND_COMMENTS_BY_CRITERIA_AND_ITEMS_AND_USER) - .setLong("ratingCriteriaId", ratingCriteriaId).setParameterList("itemIds", itemIds) - .setInteger("userId", userId).list(); + .setParameter("ratingCriteriaId", ratingCriteriaId).setParameterList("itemIds", itemIds) + .setParameter("userId", userId).list(); return convertIntoCommentDtos(results); } @@ -94,8 +95,8 @@ @Override public List getRelatedCommentByCriteriaAndUser(Long ratingCriteriaId, Integer userId) { List results = getSession().createQuery(FIND_RELATED_COMMENT_BY_CRITERIA_AND_USER) - .setLong("ratingCriteriaId", ratingCriteriaId) - .setInteger("userId", userId).list(); + .setParameter("ratingCriteriaId", ratingCriteriaId) + .setParameter("userId", userId).list(); return convertIntoCommentDtos(results); } Index: lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingDAO.java (.../RatingDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingDAO.java (.../RatingDAO.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -183,8 +183,8 @@ @SuppressWarnings("unchecked") @Override public List getRatingAverageByContentAndItems(Long contentId, Long toolSessionId, Collection itemIds) { - return getSession().createQuery(FIND_RATING_AVERAGE_BY_CONTENT_AND_ITEMS).setLong("contentId", contentId) - .setLong("toolSessionId", toolSessionId) + return getSession().createQuery(FIND_RATING_AVERAGE_BY_CONTENT_AND_ITEMS).setParameter("contentId", contentId) + .setParameter("toolSessionId", toolSessionId) .setParameterList("itemIds", itemIds).list(); } @@ -217,10 +217,10 @@ + " WHERE comment.ratingCriteria.toolContentId = :toolContentId AND comment.learner.userId =:userId AND comment.ratingCriteria.commentsEnabled IS TRUE"; List ratedItemIds = this.getSession().createQuery(FIND_ITEM_IDS_RATED_BY_USER) - .setLong("toolContentId", toolContentId).setInteger("userId", userId).list(); + .setParameter("toolContentId", toolContentId).setParameter("userId", userId).list(); List commentedItemIds = this.getSession().createQuery(FIND_ITEM_IDS_COMMENTED_BY_USER) - .setLong("toolContentId", toolContentId).setInteger("userId", userId).list(); + .setParameter("toolContentId", toolContentId).setParameter("userId", userId).list(); Set unionItemIds = new HashSet(ratedItemIds); unionItemIds.addAll(commentedItemIds); @@ -241,10 +241,10 @@ + " WHERE comment.ratingCriteria.ratingCriteriaId = :criteriaId AND comment.learner.userId =:userId AND comment.ratingCriteria.commentsEnabled IS TRUE"; List ratedItemIds = this.getSession().createQuery(FIND_ITEM_IDS_RATED_BY_USER) - .setLong("criteriaId", criteriaId).setInteger("userId", userId).list(); + .setParameter("criteriaId", criteriaId).setParameter("userId", userId).list(); List commentedItemIds = this.getSession().createQuery(FIND_ITEM_IDS_COMMENTED_BY_USER) - .setLong("criteriaId", criteriaId).setInteger("userId", userId).list(); + .setParameter("criteriaId", criteriaId).setParameter("userId", userId).list(); Set unionItemIds = new HashSet(ratedItemIds); unionItemIds.addAll(commentedItemIds); @@ -274,10 +274,11 @@ + " AND comment.toolSessionId=:toolSessionId"; List ratedItemObjs = getSession().createQuery(FIND_ITEMID_USERID_PAIRS_BY_CONTENT_AND_ITEMS) - .setLong("contentId", contentId).setLong("toolSessionId", toolSessionId).setParameterList("itemIds", itemIds).list(); + .setParameter("contentId", contentId).setParameter("toolSessionId", toolSessionId).setParameterList("itemIds", itemIds).list(); - List commentedItemObjs = getSession().createQuery(FIND_ITEMID_USERID_COMMENT_PAIRS_BY_CONTENT_AND_ITEMS).setLong("contentId", contentId) - .setParameterList("itemIds", itemIds).setLong("toolSessionId", toolSessionId).list(); + List commentedItemObjs = getSession() + .createQuery(FIND_ITEMID_USERID_COMMENT_PAIRS_BY_CONTENT_AND_ITEMS).setParameter("contentId", contentId) + .setParameterList("itemIds", itemIds).setParameter("toolSessionId", toolSessionId).list(); return createUsersRatedEachItem(itemIds, excludeUserId, itemIdToRatedUsersCountMap, ratedItemObjs, commentedItemObjs); @@ -307,11 +308,12 @@ List ratedItemObjs = getSession().createQuery(FIND_ITEMID_USERID_PAIRS_BY_CONTENT_AND_ITEMS) - .setLong("criteriaId", criteriaId).setLong("toolSessionId", toolSessionId).setParameterList("itemIds", itemIds).list(); + .setParameter("criteriaId", criteriaId).setParameter("toolSessionId", toolSessionId) + .setParameterList("itemIds", itemIds).list(); List commentedItemObjs = getSession() - .createQuery(FIND_ITEMID_USERID_COMMENT_PAIRS_BY_CONTENT_AND_ITEMS).setLong("criteriaId", criteriaId) - .setParameterList("itemIds", itemIds).setLong("toolSessionId", toolSessionId).list(); + .createQuery(FIND_ITEMID_USERID_COMMENT_PAIRS_BY_CONTENT_AND_ITEMS).setParameter("criteriaId", criteriaId) + .setParameterList("itemIds", itemIds).setParameter("toolSessionId", toolSessionId).list(); return createUsersRatedEachItem(itemIds, excludeUserId, itemIdToRatedUsersCountMap, ratedItemObjs, commentedItemObjs); @@ -367,7 +369,6 @@ /** * Get all the raw ratings for a combination of criteria and item ids. Used by Peer Review to do SPA analysis. */ - @SuppressWarnings("unchecked") public List getRatingsByCriteriasAndItems(Collection ratingCriteriaIds, Collection itemIds) { return getSession().createQuery(FIND_RATINGS_BY_ITEM_CRITERIA) .setParameterList("ratingCriteriaIds", ratingCriteriaIds) Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/AuthoredItemRatingCriteria.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/AuthoredItemRatingCriteria.java (.../AuthoredItemRatingCriteria.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/AuthoredItemRatingCriteria.java (.../AuthoredItemRatingCriteria.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,10 +25,18 @@ import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + import org.apache.commons.lang.builder.ToStringBuilder; +@SuppressWarnings("serial") +@Entity +@DiscriminatorValue("2") public class AuthoredItemRatingCriteria extends ToolActivityRatingCriteria implements Cloneable, Serializable { /** Holds value of property itemId. */ + @Column(name = "item_id") private Long itemId; @Override Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/LearnerItemRatingCriteria.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/LearnerItemRatingCriteria.java (.../LearnerItemRatingCriteria.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/LearnerItemRatingCriteria.java (.../LearnerItemRatingCriteria.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,8 +25,14 @@ import java.io.Serializable; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + import org.apache.commons.lang.builder.ToStringBuilder; +@SuppressWarnings("serial") +@Entity +@DiscriminatorValue("3") public class LearnerItemRatingCriteria extends ToolActivityRatingCriteria implements Cloneable, Serializable { @Override Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/LessonRatingCriteria.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/LessonRatingCriteria.java (.../LessonRatingCriteria.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/LessonRatingCriteria.java (.../LessonRatingCriteria.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,11 +25,22 @@ import java.io.Serializable; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; + import org.apache.commons.lang.builder.ToStringBuilder; import org.lamsfoundation.lams.lesson.Lesson; +@SuppressWarnings("serial") +@Entity +@DiscriminatorValue("4") public class LessonRatingCriteria extends RatingCriteria implements Cloneable, Serializable { + /** Holds value of property lessonId. */ + @ManyToOne + @JoinColumn(name = "lesson_id") private Lesson lesson; @Override Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/Rating.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/Rating.java (.../Rating.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/Rating.java (.../Rating.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,24 +25,46 @@ package org.lamsfoundation.lams.rating.model; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + import org.lamsfoundation.lams.usermanagement.User; /** + * The actual rating left by a user */ +@Entity +@Table(name = "lams_rating") public class Rating implements java.io.Serializable, Cloneable { private static final long serialVersionUID = 4831819420875651676L; + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @ManyToOne + @JoinColumn(name = "rating_criteria_id") private RatingCriteria ratingCriteria; + @Column(name = "item_id") private Long itemId; + @ManyToOne + @JoinColumn(name = "user_id") private User learner; + @Column private Float rating; + @Column(name = "tool_session_id") private Long toolSessionId; public Rating() { @@ -63,8 +85,6 @@ this.rating = rating; } - /** - */ public Long getUid() { return uid; } @@ -73,8 +93,6 @@ this.uid = uid; } - /** - */ public Long getItemId() { return itemId; } @@ -83,8 +101,6 @@ this.itemId = itemId; } - /** - */ public RatingCriteria getRatingCriteria() { return ratingCriteria; } @@ -93,8 +109,6 @@ this.ratingCriteria = ratingCriteria; } - /** - */ public User getLearner() { return learner; } @@ -103,8 +117,6 @@ this.learner = learner; } - /** - */ public void setRating(Float rating) { this.rating = rating; } Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/RatingComment.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/RatingComment.java (.../RatingComment.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/RatingComment.java (.../RatingComment.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,26 +25,49 @@ import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + import org.lamsfoundation.lams.usermanagement.User; /** + * The actual comment left by a user */ +@Entity +@Table(name = "lams_rating_comment") public class RatingComment implements java.io.Serializable, Cloneable { private static final long serialVersionUID = 4831819420875651676L; + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @ManyToOne + @JoinColumn(name = "rating_criteria_id") private RatingCriteria ratingCriteria; + @Column(name = "item_id") private Long itemId; - private User learner; + @ManyToOne + @JoinColumn(name = "user_id") + private User learner; + @Column private String comment; + @Column(name = "posted_date") private Date postedDate; + @Column(name = "tool_session_id") private Long toolSessionId; public RatingComment() { Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/RatingCriteria.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/RatingCriteria.java (.../RatingCriteria.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/RatingCriteria.java (.../RatingCriteria.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -26,6 +26,17 @@ import java.io.Serializable; import java.util.Date; +import javax.persistence.Column; +import javax.persistence.DiscriminatorColumn; +import javax.persistence.DiscriminatorType; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; +import javax.persistence.Table; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @@ -54,6 +65,11 @@ * That is, for Hedging a reviewer makes one justification comment, whereas in Star the reviewer makes one comment for each user/item being reviewed. * */ + +@Entity +@Table(name = "lams_rating_criteria") +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "rating_criteria_type_id", discriminatorType = DiscriminatorType.INTEGER) public abstract class RatingCriteria implements Serializable, Nullable, Comparable, Cloneable { private static final Logger log = Logger.getLogger(RatingCriteria.class); @@ -104,30 +120,41 @@ // Instance variables // --------------------------------------------------------------------- - /** identifier field */ + @Id + @Column(name = "rating_criteria_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long ratingCriteriaId; /** Title of the ratingCriteria */ + @Column private String title; /** * Indicates the order in which the activities appear inside complex activities. Starts from 0, 1 and so on. */ + @Column(name = "order_id") private Integer orderId; /** The type of ratingCriteria */ + @Column(name = "rating_criteria_type_id", insertable = false, updatable = false) private Integer ratingCriteriaTypeId; + @Column(name = "comments_enabled") private boolean commentsEnabled; // comments for RATING_STYLE_COMMENT, RATING_STYLE_STAR justification for RATING_STYLE_HEDGING + @Column(name = "comments_min_words_limit") private int commentsMinWordsLimit; + @Column(name = "rating_style") private Integer ratingStyle; // see comments above for RATING_STYLE + @Column(name = "max_rating") private Integer maxRating; // see comments above for RATING_STYLE + @Column(name = "minimum_rates") private Integer minimumRates; // Minimum number of people for whom one user may rate this criteria. Used for RATING_STYLE_STAR. + @Column(name = "maximum_rates") private Integer maximumRates; // Minimum number of people for whom one user may rate this criteria. Used for RATING_STYLE_STAR. Index: lams_common/src/java/org/lamsfoundation/lams/rating/model/ToolActivityRatingCriteria.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_common/src/java/org/lamsfoundation/lams/rating/model/ToolActivityRatingCriteria.java (.../ToolActivityRatingCriteria.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/rating/model/ToolActivityRatingCriteria.java (.../ToolActivityRatingCriteria.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,14 +25,21 @@ import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + import org.apache.commons.lang.builder.ToStringBuilder; /** */ +@Entity +@DiscriminatorValue("1") public class ToolActivityRatingCriteria extends RatingCriteria implements Serializable, Cloneable { private static final long serialVersionUID = 6459453751049962314L; /** Holds value of property toolContentId. */ + @Column(name="tool_content_id") private Long toolContentId; @Override Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/model/ImageGallery.java =================================================================== diff -u -r230b4867ed4f106ca02b646ea23b36469452de3c -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/model/ImageGallery.java (.../ImageGallery.java) (revision 230b4867ed4f106ca02b646ea23b36469452de3c) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/model/ImageGallery.java (.../ImageGallery.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.tool.imageGallery.model; +import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; @@ -50,7 +51,7 @@ */ @Entity @Table(name = "tl_laimag10_imagegallery") -public class ImageGallery implements Cloneable { +public class ImageGallery implements Serializable, Cloneable { private static final Logger log = Logger.getLogger(ImageGallery.class); @Id @@ -98,7 +99,7 @@ @OneToMany(cascade = CascadeType.ALL) @OrderBy("order_id ASC") - @JoinColumn(name = "tool_content_id") + @JoinColumn(name = "tool_content_id", referencedColumnName = "content_id") private Set ratingCriterias = new HashSet<>(); @Column(name = "reflect_on_activity") Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServiceProxy.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapServiceProxy.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningWebsocketServer.java =================================================================== diff -u -rebe9a494826fab1aebb345e6801ad512abb52416 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision ebe9a494826fab1aebb345e6801ad512abb52416) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -24,10 +24,11 @@ import org.lamsfoundation.lams.tool.mindmap.model.MindmapSession; import org.lamsfoundation.lams.tool.mindmap.model.MindmapUser; import org.lamsfoundation.lams.tool.mindmap.service.IMindmapService; -import org.lamsfoundation.lams.tool.mindmap.service.MindmapServiceProxy; import org.lamsfoundation.lams.util.hibernate.HibernateSessionManager; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.JsonNodeFactory; @@ -282,8 +283,9 @@ private static IMindmapService getMindmapService() { if (LearningWebsocketServer.mindmapService == null) { - LearningWebsocketServer.mindmapService = MindmapServiceProxy - .getMindmapService(SessionManager.getServletContext()); + WebApplicationContext wac = WebApplicationContextUtils + .getRequiredWebApplicationContext(SessionManager.getServletContext()); + LearningWebsocketServer.mindmapService = (IMindmapService) wac.getBean("mindmapService"); } return LearningWebsocketServer.mindmapService; } Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_preview/conf/hibernate/mappings/hibernate.cfg.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_preview/conf/hibernate/mappings/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_preview/conf/hibernate/mappings/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewSession.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_preview/conf/hibernate/mappings/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.java (.../Peerreview.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.java (.../Peerreview.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -23,67 +23,107 @@ package org.lamsfoundation.lams.tool.peerreview.model; +import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.OrderBy; +import javax.persistence.Table; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; +import org.hibernate.annotations.Cascade; +import org.hibernate.annotations.CascadeType; import org.lamsfoundation.lams.rating.model.LearnerItemRatingCriteria; /** * Peerreview * * @author Dapeng Ni */ -public class Peerreview implements Cloneable { +@Entity +@Table(name = "tl_laprev11_peerreview") +public class Peerreview implements Serializable, Cloneable { + private static final long serialVersionUID = 39313222633921144L; + private static final Logger log = Logger.getLogger(Peerreview.class); - // key + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; - // tool contentID + @Column(name = "content_id") private Long contentId; + @Column private String title; + @Column private String instructions; + @Column(name = "maximum_rates") private int maximumRates; + @Column(name = "minimum_rates") private int minimumRates; + @OneToMany + @Cascade(CascadeType.ALL) + @JoinColumn(name = "tool_content_id", referencedColumnName = "content_id") + @OrderBy("orderId asc") private Set ratingCriterias; - // advance - + @Column(name = "lock_on_finished") private boolean lockWhenFinished; + @Column(name = "define_later") private boolean defineLater; + @Column(name = "content_in_use") private boolean contentInUse; - // general infomation + @Column(name = "create_date") private Date created; + @Column(name = "update_date") private Date updated; + @ManyToOne + @Cascade(CascadeType.SAVE_UPDATE) + @JoinColumn(name = "create_by") private PeerreviewUser createdBy; + @Column(name = "maximum_rates_per_user") private int maximumRatesPerUser; + @Column(name = "show_ratings_left_for_user") private boolean showRatingsLeftForUser; + @Column(name = "show_ratings_left_by_user") private boolean showRatingsLeftByUser; + @Column(name = "reflect_on_activity") private boolean reflectOnActivity; + @Column(name = "reflect_instructions") private String reflectInstructions; + @Column(name = "self_review") private boolean selfReview; + @Column(name = "notify_users_of_results") private boolean notifyUsersOfResults; // ********************************************************** Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewSession.java =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewSession.java (.../PeerreviewSession.java) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewSession.java (.../PeerreviewSession.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -25,6 +25,15 @@ import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + /** * Peerreview Session * @@ -33,17 +42,33 @@ * * */ +@Entity +@Table(name = "tl_laprev11_session") public class PeerreviewSession { -// private static Logger log = Logger.getLogger(PeerreviewSession.class); - + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + + @Column(name = "session_id") private Long sessionId; + + @Column(name = "session_name") private String sessionName; + + @ManyToOne + @JoinColumn(name = "peerreview_uid") private Peerreview peerreview; + + @Column(name = "session_start_date") private Date sessionStartDate; + + @Column(name = "session_end_date") private Date sessionEndDate; + // finish or not + @Column private int status; // ********************************************************** Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r96068ffc66514c1d25e9adeb96acfa164ab29dd5 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.java (.../PeerreviewUser.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/PeerreviewUser.java (.../PeerreviewUser.java) (revision 96068ffc66514c1d25e9adeb96acfa164ab29dd5) @@ -23,6 +23,15 @@ package org.lamsfoundation.lams.tool.peerreview.model; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.log4j.Logger; @@ -34,20 +43,42 @@ * * @author Dapeng Ni */ +@Entity +@Table(name = "tl_laprev11_user") public class PeerreviewUser implements Cloneable { private static final long serialVersionUID = -7043502180037866257L; private static Logger log = Logger.getLogger(PeerreviewUser.class); + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + + @Column(name = "user_id") private Long userId; + + @Column(name = "first_name") private String firstName; + + @Column(name = "last_name") private String lastName; + + @Column(name = "login_name") private String loginName; + + @Column(name = "session_finished") private boolean sessionFinished; + //status set by monitor to indicate users that shouldn't be rated + @Column private boolean hidden; + @ManyToOne + @JoinColumn(name = "session_uid") private PeerreviewSession session; + + @ManyToOne + @JoinColumn(name = "peerreview_uid") private Peerreview peerreview; public PeerreviewUser() { Fisheye: Tag 96068ffc66514c1d25e9adeb96acfa164ab29dd5 refers to a dead (removed) revision in file `lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceProxy.java'. Fisheye: No comparison available. Pass `N' to diff?