Index: lams_tool_scratchie/conf/xdoclet/struts-actions.xml
===================================================================
diff -u -r9465560dcbea622e2f3a01e334400f2005ce2ed3 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 9465560dcbea622e2f3a01e334400f2005ce2ed3)
+++ lams_tool_scratchie/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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
===================================================================
diff -u -r9465560dcbea622e2f3a01e334400f2005ce2ed3 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql (.../create_lams_tool_scratchie.sql) (revision 9465560dcbea622e2f3a01e334400f2005ce2ed3)
+++ lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql (.../create_lams_tool_scratchie.sql) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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/model/ScratchieUser.java
===================================================================
diff -u -r6aaee4b2fe2caa08b0c63a0de11f05042d5a3e18 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/model/ScratchieUser.java (.../ScratchieUser.java) (revision 6aaee4b2fe2caa08b0c63a0de11f05042d5a3e18)
+++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/model/ScratchieUser.java (.../ScratchieUser.java) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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/scratchieApplicationContext.xml
===================================================================
diff -u -r9465560dcbea622e2f3a01e334400f2005ce2ed3 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml (.../scratchieApplicationContext.xml) (revision 9465560dcbea622e2f3a01e334400f2005ce2ed3)
+++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/scratchieApplicationContext.xml (.../scratchieApplicationContext.xml) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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/service/IScratchieService.java
===================================================================
diff -u -r9465560dcbea622e2f3a01e334400f2005ce2ed3 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision 9465560dcbea622e2f3a01e334400f2005ce2ed3)
+++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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
===================================================================
diff -u -r9465560dcbea622e2f3a01e334400f2005ce2ed3 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 9465560dcbea622e2f3a01e334400f2005ce2ed3)
+++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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
===================================================================
diff -u -r9465560dcbea622e2f3a01e334400f2005ce2ed3 -rae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a
--- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java (.../LearningAction.java) (revision 9465560dcbea622e2f3a01e334400f2005ce2ed3)
+++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java (.../LearningAction.java) (revision ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a)
@@ -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 ae0ac03f3bac4dadd58a6d0f57b85ad9ce8a719a refers to a dead (removed) revision in file `lams_tool_scratchie/web/pages/learning/success.jsp'.
Fisheye: No comparison available. Pass `N' to diff?