Fisheye: Tag 3a932581b82347c4b65a2255dce5bf19d8e63c0a refers to a dead (removed) revision in file `lams_tool_scribe/conf/hibernate/mappings/org/lamsfoundation/lams/tool/scribe/model/Scribe.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3a932581b82347c4b65a2255dce5bf19d8e63c0a refers to a dead (removed) revision in file `lams_tool_scribe/conf/hibernate/mappings/org/lamsfoundation/lams/tool/scribe/model/ScribeHeading.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3a932581b82347c4b65a2255dce5bf19d8e63c0a refers to a dead (removed) revision in file `lams_tool_scribe/conf/hibernate/mappings/org/lamsfoundation/lams/tool/scribe/model/ScribeReportEntry.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3a932581b82347c4b65a2255dce5bf19d8e63c0a refers to a dead (removed) revision in file `lams_tool_scribe/conf/hibernate/mappings/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3a932581b82347c4b65a2255dce5bf19d8e63c0a refers to a dead (removed) revision in file `lams_tool_scribe/conf/hibernate/mappings/org/lamsfoundation/lams/tool/scribe/model/ScribeUser.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/Scribe.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/Scribe.java (.../Scribe.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/Scribe.java (.../Scribe.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -29,64 +29,78 @@ import java.util.Iterator; import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.OneToMany; +import javax.persistence.OrderBy; +import javax.persistence.Table; + import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.scribe.service.ScribeService; -/** - * - */ - +@Entity +@Table(name = "tl_lascrb11_scribe") public class Scribe implements java.io.Serializable, Cloneable { - /** - * - */ - private static final long serialVersionUID = 579733009969321015L; + private static final long serialVersionUID = 579733009969321015L; static Logger log = Logger.getLogger(ScribeService.class.getName()); - // Fields - /** - * - */ + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @Column(name = "create_date") private Date createDate; + @Column(name = "update_date") private Date updateDate; + @Column(name = "create_by") private Long createBy; + @Column private String title; + @Column private String instructions; + @Column(name = "lock_on_finished") private boolean lockOnFinished; + @Column(name = "reflect_on_activity") private boolean reflectOnActivity; + @Column(name = "reflect_instructions") private String reflectInstructions; + @Column(name = "content_in_use") private boolean contentInUse; + @Column(name = "define_later") private boolean defineLater; + @Column(name = "auto_select_scribe") private boolean autoSelectScribe; + @Column(name = "tool_content_id") private Long toolContentId; - private Set scribeSessions; + @OneToMany(mappedBy = "scribe") + private Set scribeSessions; - private Set scribeHeadings; + @OneToMany(mappedBy = "scribe", cascade = CascadeType.ALL, orphanRemoval = true) + @OrderBy("displayOrder") + private Set scribeHeadings; + @Column(name = "aggregated_reports") private boolean showAggregatedReports; - // Property accessors - /** - * - * - */ - public Long getUid() { return this.uid; } @@ -95,11 +109,6 @@ this.uid = uid; } - /** - * - * - */ - public Date getCreateDate() { return this.createDate; } @@ -108,11 +117,6 @@ this.createDate = createDate; } - /** - * - * - */ - public Date getUpdateDate() { return this.updateDate; } @@ -121,11 +125,6 @@ this.updateDate = updateDate; } - /** - * - * - */ - public Long getCreateBy() { return this.createBy; } @@ -134,11 +133,6 @@ this.createBy = createBy; } - /** - * - * - */ - public String getTitle() { return this.title; } @@ -147,11 +141,6 @@ this.title = title; } - /** - * - * - */ - public String getInstructions() { return this.instructions; } @@ -160,11 +149,6 @@ this.instructions = instructions; } - /** - * - * - */ - public boolean isLockOnFinished() { return this.lockOnFinished; } @@ -173,10 +157,6 @@ this.lockOnFinished = lockOnFinished; } - /** - * - * - */ public boolean isAutoSelectScribe() { return autoSelectScribe; } @@ -185,9 +165,6 @@ this.autoSelectScribe = autoSelectScribe; } - /** - * - */ public boolean isReflectOnActivity() { return reflectOnActivity; } @@ -196,9 +173,6 @@ this.reflectOnActivity = reflectOnActivity; } - /** - * - */ public String getReflectInstructions() { return reflectInstructions; } @@ -207,11 +181,6 @@ this.reflectInstructions = reflectInstructions; } - /** - * - * - */ - public boolean isContentInUse() { return this.contentInUse; } @@ -220,11 +189,6 @@ this.contentInUse = contentInUse; } - /** - * - * - */ - public boolean isDefineLater() { return this.defineLater; } @@ -233,11 +197,6 @@ this.defineLater = defineLater; } - /** - * - * - */ - public Long getToolContentId() { return this.toolContentId; } @@ -246,39 +205,22 @@ this.toolContentId = toolContentId; } - /** - * - * - * - * - */ - - public Set getScribeSessions() { + public Set getScribeSessions() { return this.scribeSessions; } - public void setScribeSessions(Set scribeSessions) { + public void setScribeSessions(Set scribeSessions) { this.scribeSessions = scribeSessions; } - /** - * - * - * - */ - public Set getScribeHeadings() { + public Set getScribeHeadings() { return scribeHeadings; } - public void setScribeHeadings(Set scribeHeadings) { + public void setScribeHeadings(Set scribeHeadings) { this.scribeHeadings = scribeHeadings; } - /** - * - * - */ - public boolean isShowAggregatedReports() { return this.showAggregatedReports; } @@ -287,11 +229,6 @@ this.showAggregatedReports = showAggregatedReports; } - /** - * toString - * - * @return String - */ @Override public String toString() { StringBuffer buffer = new StringBuffer(); Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeHeading.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeHeading.java (.../ScribeHeading.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeHeading.java (.../ScribeHeading.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -21,9 +21,17 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.scribe.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.log4j.Logger; /** @@ -32,19 +40,27 @@ * * */ +@Entity +@Table(name = "tl_lascrb11_heading") public class ScribeHeading implements java.io.Serializable, Comparable, Cloneable { private static final long serialVersionUID = -5643334348072895714L; private static final Logger log = Logger.getLogger(ScribeHeading.class); - // Properties + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @ManyToOne + @JoinColumn(name = "scribe_uid") private Scribe scribe; + @Column(name = "heading") private String headingText; + @Column(name = "display_order") private int displayOrder; public ScribeHeading() { @@ -54,11 +70,6 @@ this.displayOrder = displayOrder; } - // Getters / Setters - - /** - * - */ public String getHeadingText() { return headingText; } @@ -67,11 +78,6 @@ this.headingText = headingText; } - /** - * - * - * - */ public Scribe getScribe() { return scribe; } @@ -80,10 +86,6 @@ this.scribe = scribe; } - /** - * - * - */ public Long getUid() { return uid; } @@ -92,10 +94,6 @@ this.uid = uid; } - /** - * - * - */ public int getDisplayOrder() { return displayOrder; } Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeReportEntry.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeReportEntry.java (.../ScribeReportEntry.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeReportEntry.java (.../ScribeReportEntry.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -21,37 +21,47 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.scribe.model; import java.io.Serializable; +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 Anthony Sukkar * * * */ +@Entity +@Table(name = "tl_lascrb11_report_entry") public class ScribeReportEntry implements Serializable { - /** - * TODO problems generating serialVersionUID - */ private static final long serialVersionUID = 1L; + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @Column(name = "entry_text") private String entryText; + @ManyToOne + @JoinColumn(name = "scribe_heading_uid") private ScribeHeading scribeHeading; + @ManyToOne + @JoinColumn(name = "scribe_session_uid") private ScribeSession scribeSession; - // Getters / Setters - - /** - * - */ public String getEntryText() { return entryText; } @@ -60,10 +70,6 @@ this.entryText = entryText; } - /** - * - * - */ public ScribeHeading getScribeHeading() { return scribeHeading; } @@ -72,9 +78,6 @@ this.scribeHeading = scribeHeading; } - /** - * - */ public Long getUid() { return uid; } @@ -83,10 +86,6 @@ this.uid = uid; } - /** - * - * - */ public ScribeSession getScribeSession() { return scribeSession; } Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.java (.../ScribeSession.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeSession.java (.../ScribeSession.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -27,6 +27,17 @@ import java.util.HashSet; import java.util.Set; +import javax.persistence.CascadeType; +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.Table; + import org.apache.log4j.Logger; /** @@ -36,47 +47,62 @@ * */ +@Entity +@Table(name = "tl_lascrb11_session") public class ScribeSession implements java.io.Serializable { private static Logger log = Logger.getLogger(ScribeSession.class); - /** - * - */ + private static final long serialVersionUID = 4407078136514639026L; - // Fields + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @Column(name = "session_end_date") private Date sessionEndDate; + @Column(name = "session_start_date") private Date sessionStartDate; + @Column private Integer status; + @Column(name = "session_id") private Long sessionId; + @Column(name = "session_name") private String sessionName; + @ManyToOne + @JoinColumn(name = "scribe_uid") private Scribe scribe; - private Set scribeUsers; + @OneToMany(mappedBy = "scribeSession") + private Set scribeUsers; - private Set scribeReportEntries; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "scribe_session_uid") + private Set scribeReportEntries; + @ManyToOne + @JoinColumn(name = "appointed_scribe_uid") private ScribeUser appointedScribe; + @Column(name = "force_complete") private boolean forceComplete; + @Column(name = "report_submitted") private boolean reportSubmitted; - // Constructors /** default constructor */ public ScribeSession() { } /** full constructor */ public ScribeSession(Date sessionEndDate, Date sessionStartDate, Integer status, Long sessionId, String sessionName, - Scribe scribe, Set scribeUsers) { + Scribe scribe, Set scribeUsers) { this.sessionEndDate = sessionEndDate; this.sessionStartDate = sessionStartDate; this.status = status; @@ -86,11 +112,6 @@ this.scribeUsers = scribeUsers; } - // Property accessors - /** - * - */ - public Long getUid() { return this.uid; } @@ -99,10 +120,6 @@ this.uid = uid; } - /** - * - */ - public Date getSessionEndDate() { return this.sessionEndDate; } @@ -111,10 +128,6 @@ this.sessionEndDate = sessionEndDate; } - /** - * - */ - public Date getSessionStartDate() { return this.sessionStartDate; } @@ -123,10 +136,6 @@ this.sessionStartDate = sessionStartDate; } - /** - * - */ - public Integer getStatus() { return this.status; } @@ -135,10 +144,6 @@ this.status = status; } - /** - * - */ - public Long getSessionId() { return this.sessionId; } @@ -147,10 +152,6 @@ this.sessionId = sessionId; } - /** - * - */ - public String getSessionName() { return this.sessionName; } @@ -159,11 +160,6 @@ this.sessionName = sessionName; } - /** - * - * - */ - public Scribe getScribe() { return this.scribe; } @@ -172,36 +168,22 @@ this.scribe = scribe; } - /** - * - * - * - */ - public Set getScribeUsers() { + public Set getScribeUsers() { return this.scribeUsers; } - public void setScribeUsers(Set scribeUsers) { + public void setScribeUsers(Set scribeUsers) { this.scribeUsers = scribeUsers; } - /** - * - * - * - */ - public Set getScribeReportEntries() { + public Set getScribeReportEntries() { return scribeReportEntries; } - public void setScribeReportEntries(Set scribeReportEntries) { + public void setScribeReportEntries(Set scribeReportEntries) { this.scribeReportEntries = scribeReportEntries; } - /** - * - * - */ public ScribeUser getAppointedScribe() { return appointedScribe; } @@ -210,9 +192,6 @@ this.appointedScribe = appointedScribe; } - /** - * - */ public boolean isForceComplete() { return forceComplete; } @@ -221,9 +200,6 @@ this.forceComplete = forceComplete; } - /** - * - */ public boolean isReportSubmitted() { return reportSubmitted; } @@ -232,11 +208,6 @@ this.reportSubmitted = reportSubmitted; } - /** - * toString - * - * @return String - */ @Override public String toString() { StringBuffer buffer = new StringBuffer(); @@ -282,7 +253,7 @@ ScribeSession session = null; try { session = (ScribeSession) super.clone(); - session.scribeUsers = new HashSet(); + session.scribeUsers = new HashSet(); } catch (CloneNotSupportedException e) { log.error("When clone " + ScribeSession.class + " failed"); } Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeUser.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeUser.java (.../ScribeUser.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/model/ScribeUser.java (.../ScribeUser.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -21,9 +21,17 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.scribe.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.dto.UserDTO; /** @@ -35,34 +43,42 @@ * */ +@Entity +@Table(name = "tl_lascrb11_user") public class ScribeUser implements java.io.Serializable { - /** - * - */ private static final long serialVersionUID = -3701664859818409197L; - // Fields + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + @Column(name = "user_id") private Long userId; + @Column(name = "last_name") private String lastName; + @Column(name = "first_name") private String firstName; + @Column(name = "login_name") private String loginName; + @ManyToOne + @JoinColumn(name = "scribe_session_uid") private ScribeSession scribeSession; + @Column private boolean finishedActivity; + @Column(name = "report_approved") private boolean reportApproved; + @Column(name = "started_activity") private boolean startedActivity; - // Constructors - /** default constructor */ public ScribeUser() { } @@ -85,10 +101,6 @@ this.scribeSession = scribeSession; } - // Property accessors - /** - * - */ public Long getUid() { return this.uid; } @@ -97,10 +109,6 @@ this.uid = uid; } - /** - * - * - */ public Long getUserId() { return this.userId; } @@ -109,10 +117,6 @@ this.userId = userId; } - /** - * - * - */ public String getLastName() { return this.lastName; } @@ -121,10 +125,6 @@ this.lastName = lastName; } - /** - * - * - */ public String getLoginName() { return loginName; } @@ -133,10 +133,6 @@ this.loginName = loginName; } - /** - * - * - */ public String getFirstName() { return this.firstName; } @@ -145,9 +141,6 @@ this.firstName = firstName; } - /** - * - */ public boolean isFinishedActivity() { return finishedActivity; } @@ -156,11 +149,6 @@ this.finishedActivity = finishedActivity; } - /** - * - * - * - */ public ScribeSession getScribeSession() { return this.scribeSession; } @@ -169,9 +157,6 @@ this.scribeSession = scribeSession; } - /** - * - */ public boolean isReportApproved() { return reportApproved; } @@ -180,9 +165,6 @@ this.reportApproved = reportApproved; } - /** - * - */ public boolean isStartedActivity() { return startedActivity; } @@ -191,11 +173,6 @@ this.startedActivity = startedActivity; } - /** - * toString - * - * @return String - */ @Override public String toString() { StringBuffer buffer = new StringBuffer(); Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/IScribeService.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/IScribeService.java (.../IScribeService.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/IScribeService.java (.../IScribeService.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -27,6 +27,8 @@ import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.scribe.model.Scribe; import org.lamsfoundation.lams.tool.scribe.model.ScribeSession; import org.lamsfoundation.lams.tool.scribe.model.ScribeUser; @@ -148,4 +150,8 @@ void submitReport(Long toolSessionId, String userName, ObjectNode requestJSON); public void deleteHeading(Long headingUid); -} \ No newline at end of file + + /** Copied from ToolServiceManager */ + public String leaveToolSession(Long toolSessionId, Long learnerId) throws DataMissingException, ToolException; + + } \ No newline at end of file Fisheye: Tag 3a932581b82347c4b65a2255dce5bf19d8e63c0a refers to a dead (removed) revision in file `lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeServiceProxy.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningController.java =================================================================== diff -u -r2b381314f275480d99d5487ab8827fdf4ed0c1e5 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningController.java (.../LearningController.java) (revision 2b381314f275480d99d5487ab8827fdf4ed0c1e5) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningController.java (.../LearningController.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -34,7 +34,6 @@ import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; -import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.scribe.dto.ScribeDTO; @@ -44,7 +43,6 @@ import org.lamsfoundation.lams.tool.scribe.model.ScribeSession; import org.lamsfoundation.lams.tool.scribe.model.ScribeUser; import org.lamsfoundation.lams.tool.scribe.service.IScribeService; -import org.lamsfoundation.lams.tool.scribe.service.ScribeServiceProxy; import org.lamsfoundation.lams.tool.scribe.util.ScribeConstants; import org.lamsfoundation.lams.tool.scribe.util.ScribeException; import org.lamsfoundation.lams.tool.scribe.util.ScribeUtils; @@ -218,17 +216,14 @@ .error("finishActivity(): couldn't find ScribeUser with uid: " + learningform.getScribeUserUID()); } - ToolSessionManager sessionMgrService = ScribeServiceProxy - .getScribeSessionManager(applicationContext.getServletContext()); - HttpSession ss = SessionManager.getSession(); UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); Long userID = new Long(user.getUserID().longValue()); Long toolSessionID = scribeUser.getScribeSession().getSessionId(); String nextActivityUrl; try { - nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, userID); + nextActivityUrl = scribeService.leaveToolSession(toolSessionID, userID); response.sendRedirect(nextActivityUrl); } catch (DataMissingException e) { throw new ScribeException(e); Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningWebsocketServer.java =================================================================== diff -u -rb7b682644cd1d20e061092b1411eeb679a1f9fb2 -r3a932581b82347c4b65a2255dce5bf19d8e63c0a --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision b7b682644cd1d20e061092b1411eeb679a1f9fb2) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision 3a932581b82347c4b65a2255dce5bf19d8e63c0a) @@ -19,19 +19,17 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; - - - import org.lamsfoundation.lams.tool.scribe.model.ScribeReportEntry; import org.lamsfoundation.lams.tool.scribe.model.ScribeSession; import org.lamsfoundation.lams.tool.scribe.model.ScribeUser; import org.lamsfoundation.lams.tool.scribe.service.IScribeService; -import org.lamsfoundation.lams.tool.scribe.service.ScribeServiceProxy; import org.lamsfoundation.lams.tool.scribe.util.ScribeUtils; import org.lamsfoundation.lams.util.JsonUtil; 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 org.springframework.web.util.HtmlUtils; import com.fasterxml.jackson.core.JsonProcessingException; @@ -109,7 +107,6 @@ /** * Feeds websockets with reports and votes. */ - @SuppressWarnings("unchecked") private static void send(Long toolSessionId, Session newWebsocket) throws IOException { ObjectNode responseJSON = JsonNodeFactory.instance.objectNode(); ScribeSessionCache sessionCache = LearningWebsocketServer.cache.get(toolSessionId); @@ -334,8 +331,9 @@ private static IScribeService getScribeService() { if (LearningWebsocketServer.scribeService == null) { - LearningWebsocketServer.scribeService = ScribeServiceProxy - .getScribeService(SessionManager.getServletContext()); + WebApplicationContext wac = WebApplicationContextUtils + .getRequiredWebApplicationContext(SessionManager.getServletContext()); + LearningWebsocketServer.scribeService = (IScribeService) wac.getBean("lascrbScribeService"); } return LearningWebsocketServer.scribeService; }