Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LogEventController.java =================================================================== diff -u -r48b7b344ad0171dfa0ebdacdf742560366d5d1dc -r2bb52ab8f2f28c23846f513e944591a354b526ae --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LogEventController.java (.../LogEventController.java) (revision 48b7b344ad0171dfa0ebdacdf742560366d5d1dc) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LogEventController.java (.../LogEventController.java) (revision 2bb52ab8f2f28c23846f513e944591a354b526ae) @@ -32,7 +32,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.hibernate.ObjectNotFoundException; import org.lamsfoundation.lams.logevent.LogEvent; import org.lamsfoundation.lams.logevent.LogEventType; import org.lamsfoundation.lams.logevent.dto.LogEventTypeDTO; @@ -180,34 +179,34 @@ responseRow.put("activityId", event.getActivityId()); } - User user = event.getUser(); - if (user != null) { - Integer userId = user.getUserId(); - try { + Integer userId = event.getUserId(); + if (userId != null) { + responseRow.put("userId", userId); + User user = userManagementService.getUserById(userId); + if (user == null) { + responseRow.put("userName", + messageService.getMessage("label.event.user.deleted", new Object[] { userId })); + } else { responseRow.put("userPortraitId", user.getPortraitUuid() == null ? null : user.getPortraitUuid().toString()); - responseRow.put("userId", user.getUserId()); responseRow.put("userName", user.getLogin()); - } catch (ObjectNotFoundException e) { - responseRow.put("userId", userId); - responseRow.put("userName", - messageService.getMessage("label.event.user.deleted", new Object[] { userId })); } } - User targetUser = event.getTargetUser(); - if (targetUser != null) { - Integer userId = targetUser.getUserId(); - try { + + Integer targetUserId = event.getTargetUserId(); + if (targetUserId != null) { + responseRow.put("targetUserId", targetUserId); + User targetUser = userManagementService.getUserById(targetUserId); + if (targetUser == null) { + responseRow.put("targetUserName", + messageService.getMessage("label.event.user.deleted", new Object[] { targetUserId })); + } else { responseRow.put("targetUserPortraitId", targetUser.getPortraitUuid() == null ? null : targetUser.getPortraitUuid().toString()); - responseRow.put("targetUserId", targetUser.getUserId()); responseRow.put("targetUserName", targetUser.getLogin()); - } catch (ObjectNotFoundException e) { - responseRow.put("targetUserId", userId); - responseRow.put("targetUserName", - messageService.getMessage("label.event.user.deleted", new Object[] { userId })); } } + if (eventDetails.length > 1 && eventDetails[1] != null) { responseRow.put("lessonName", JsonUtil.toString(eventDetails[1])); } Index: lams_common/src/java/org/lamsfoundation/lams/logevent/LogEvent.java =================================================================== diff -u -r0483acb3c9e3b07f42d9511bbfea3708029438e8 -r2bb52ab8f2f28c23846f513e944591a354b526ae --- lams_common/src/java/org/lamsfoundation/lams/logevent/LogEvent.java (.../LogEvent.java) (revision 0483acb3c9e3b07f42d9511bbfea3708029438e8) +++ lams_common/src/java/org/lamsfoundation/lams/logevent/LogEvent.java (.../LogEvent.java) (revision 2bb52ab8f2f28c23846f513e944591a354b526ae) @@ -27,16 +27,11 @@ import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; 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; - /** * Base class for all activities. If you add another subclass, you must update * ActivityDAO.getActivityByActivityId() and add a ACTIVITY_TYPE constant. @@ -90,18 +85,15 @@ @Column(name = "log_event_type_id") private Integer logEventTypeId; - //TODO perhaps make this field possible to be null - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "user_id") - private User user; + @Column(name = "user_id") + private Integer userId; /** Date this activity was created */ @Column(name = "occurred_date_time") private Date occurredDateTime; - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "target_user_id") - private User targetUser; + @Column(name = "target_user_id") + private Integer targetUserId; @Column(name = "lesson_id") private Long lessonId; @@ -139,14 +131,6 @@ this.logEventTypeId = logEventTypeId; } - public User getUser() { - return this.user; - } - - public void setUser(User user) { - this.user = user; - } - public Date getOccurredDateTime() { return occurredDateTime; } @@ -156,14 +140,6 @@ this.occurredDateTime = occurredDateTime != null ? occurredDateTime : new Date(); } - public User getTargetUser() { - return targetUser; - } - - public void setTargetUser(User targetUser) { - this.targetUser = targetUser; - } - public Long getLessonId() { return lessonId; } @@ -187,4 +163,20 @@ public void setDescription(String description) { this.description = description; } -} + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getTargetUserId() { + return targetUserId; + } + + public void setTargetUserId(Integer targetUserId) { + this.targetUserId = targetUserId; + } +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java =================================================================== diff -u -r603269d5aab112e1179448fbb5596550ab39f009 -r2bb52ab8f2f28c23846f513e944591a354b526ae --- lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java (.../LogEventService.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) +++ lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java (.../LogEventService.java) (revision 2bb52ab8f2f28c23846f513e944591a354b526ae) @@ -32,7 +32,6 @@ import org.lamsfoundation.lams.logevent.LogEvent; import org.lamsfoundation.lams.logevent.LogEventType; import org.lamsfoundation.lams.logevent.dao.ILogEventDAO; -import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; @@ -96,13 +95,10 @@ @Override public void logEvent(Integer logEventTypeId, Integer userId, Integer targetUserId, Long lessonId, Long activityId, String description, Date eventDate) { - User user = (userId != null) ? (User) userManagementService.findById(User.class, userId) : null; - User targetUser = (targetUserId != null) ? (User) userManagementService.findById(User.class, targetUserId) - : null; LogEvent logEvent = new LogEvent(); logEvent.setLogEventTypeId(logEventTypeId); - logEvent.setUser(user); - logEvent.setTargetUser(targetUser); + logEvent.setUserId(userId); + logEvent.setTargetUserId(targetUserId); logEvent.setLessonId(lessonId); logEvent.setActivityId(activityId); logEvent.setDescription(description);