Index: lams_tool_scratchie/conf/xdoclet/struts-actions.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/conf/xdoclet/struts-actions.xml,v diff -u -r1.3 -r1.4 --- lams_tool_scratchie/conf/xdoclet/struts-actions.xml 31 Aug 2012 15:22:54 -0000 1.3 +++ lams_tool_scratchie/conf/xdoclet/struts-actions.xml 3 Sep 2012 13:39:42 -0000 1.4 @@ -181,6 +181,7 @@ type="org.lamsfoundation.lams.tool.scratchie.web.action.LearningAction" parameter="start" > + Index: lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql,v diff -u -r1.4 -r1.5 --- lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql 31 Aug 2012 15:22:55 -0000 1.4 +++ lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql 3 Sep 2012 13:39:42 -0000 1.5 @@ -80,6 +80,7 @@ first_name varchar(255), login_name varchar(255), session_finished smallint, + scratching_finished smallint, session_uid bigint, scratchie_uid bigint, primary key (uid) Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml,v diff -u -r1.3 -r1.4 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml 31 Aug 2012 15:22:54 -0000 1.3 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml 3 Sep 2012 13:39:42 -0000 1.4 @@ -121,7 +121,7 @@ PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception + PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception PROPAGATION_REQUIRED,-java.lang.Exception Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/model/ScratchieUser.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/model/ScratchieUser.java,v diff -u -r1.1 -r1.2 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/model/ScratchieUser.java 19 Jul 2012 19:20:13 -0000 1.1 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/model/ScratchieUser.java 3 Sep 2012 13:39:42 -0000 1.2 @@ -46,6 +46,7 @@ private String lastName; private String loginName; private boolean sessionFinished; + private boolean scratchingFinished; private ScratchieSession session; private Scratchie scratchie; @@ -203,7 +204,21 @@ public void setSessionFinished(boolean sessionFinished) { this.sessionFinished = sessionFinished; } + + /** + * Indicates whether user pressed Submit button in learning. + * + * @hibernate.property column="scratching_finished" + * @return + */ + public boolean isScratchingFinished() { + return scratchingFinished; + } + public void setScratchingFinished(boolean scratchingFinished) { + this.scratchingFinished = scratchingFinished; + } + public boolean equals(Object obj) { if (this == obj) return true; Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java,v diff -u -r1.5 -r1.6 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java 31 Aug 2012 15:22:54 -0000 1.5 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java 3 Sep 2012 13:39:42 -0000 1.6 @@ -175,12 +175,12 @@ int getUserMark(Long sessionId, Long userId); /** - * Mark user session as finished so that user can't continue scratching after this. + * Mark user as ScratchingFinished so that user can't continue scratching after this. * * @param toolSessionId * @param userId */ - void setUserFinished(Long toolSessionId, Long userId); + void setScratchingFinished(Long toolSessionId, Long userId); /** * If success return next activity's url, otherwise return null. Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java,v diff -u -r1.6 -r1.7 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 31 Aug 2012 15:22:54 -0000 1.6 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 3 Sep 2012 13:39:42 -0000 1.7 @@ -406,15 +406,19 @@ return (ScratchieAnswer) userManagementService.findById(ScratchieAnswer.class, answerUid); } - public void setUserFinished(Long toolSessionId, Long userId) { + public void setScratchingFinished(Long toolSessionId, Long userId) { ScratchieUser user = scratchieUserDao.getUserByUserIDAndSessionID(userId, toolSessionId); - user.setSessionFinished(true); + user.setScratchingFinished(true); scratchieUserDao.saveObject(user); } public String finishToolSession(Long toolSessionId, Long userId) throws ScratchieApplicationException { String nextUrl = null; try { + ScratchieUser user = scratchieUserDao.getUserByUserIDAndSessionID(userId, toolSessionId); + user.setSessionFinished(true); + scratchieUserDao.saveObject(user); + nextUrl = this.leaveToolSession(toolSessionId, userId); } catch (DataMissingException e) { throw new ScratchieApplicationException(e); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java,v diff -u -r1.5 -r1.6 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java 31 Aug 2012 15:22:54 -0000 1.5 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java 3 Sep 2012 13:39:42 -0000 1.6 @@ -43,6 +43,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionRedirect; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.lams.notebook.model.NotebookEntry; @@ -196,7 +197,15 @@ sessionMap.put(ScratchieConstants.ATTR_ITEM_LIST, items); sessionMap.put(ScratchieConstants.ATTR_SCRATCHIE, scratchie); - return mapping.findForward(ScratchieConstants.SUCCESS); + boolean isScratchingFinished = scratchieUser != null && scratchieUser.isScratchingFinished(); + if (isScratchingFinished) { + ActionRedirect redirect = new ActionRedirect(mapping.findForwardConfig("showResults")); + redirect.addParameter(ScratchieConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); + return redirect; + } else { + return mapping.findForward(ScratchieConstants.SUCCESS); + } + } /** @@ -266,7 +275,7 @@ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); Long userId = new Long(user.getUserID().longValue()); - service.setUserFinished(toolSessionId, userId); + service.setScratchingFinished(toolSessionId, userId); Set items = service.populateItemsResults(toolSessionId, userId); request.setAttribute(ScratchieConstants.ATTR_ITEM_LIST, items); @@ -298,7 +307,6 @@ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); Long userID = new Long(user.getUserID().longValue()); - service.setUserFinished(toolSessionId, userID); nextActivityUrl = service.finishToolSession(toolSessionId, userID); request.setAttribute(ScratchieConstants.ATTR_NEXT_ACTIVITY_URL, nextActivityUrl); } catch (ScratchieApplicationException e) { Fisheye: Tag 1.2 refers to a dead (removed) revision in file `lams_tool_scratchie/web/pages/learning/success.jsp'. Fisheye: No comparison available. Pass `N' to diff?