Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java
===================================================================
diff -u -r397d1cb93863e4c87bb705dd22b8f579ffdbf42b -rff20896b171dd911f58f729fcb3e2ed1e9f53ed8
--- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java (.../LearningAction.java) (revision 397d1cb93863e4c87bb705dd22b8f579ffdbf42b)
+++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java (.../LearningAction.java) (revision ff20896b171dd911f58f729fcb3e2ed1e9f53ed8)
@@ -24,44 +24,48 @@
package org.lamsfoundation.lams.tool.chat.web.actions;
+import java.io.IOException;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
-import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.lamsfoundation.lams.tool.ToolAccessMode;
-import org.lamsfoundation.lams.tool.chat.dao.hibernate.ChatUserDAO;
+import org.lamsfoundation.lams.tool.ToolSessionManager;
import org.lamsfoundation.lams.tool.chat.model.ChatSession;
import org.lamsfoundation.lams.tool.chat.model.ChatUser;
import org.lamsfoundation.lams.tool.chat.service.ChatServiceProxy;
import org.lamsfoundation.lams.tool.chat.service.IChatService;
import org.lamsfoundation.lams.tool.chat.util.ChatConstants;
import org.lamsfoundation.lams.tool.chat.util.ChatException;
+import org.lamsfoundation.lams.tool.exception.DataMissingException;
+import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.action.LamsDispatchAction;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
/**
* @author
* @version
*
- * @struts.action path="/learning"
+ * @struts.action path="/learning" parameter="dispatch"
* @struts.action-forward name="success" path="tiles:/learning/main"
*/
-public class LearningAction extends Action {
+public class LearningAction extends LamsDispatchAction {
private static Logger log = Logger.getLogger(LearningAction.class);
private static final boolean MODE_OPTIONAL = false;
private IChatService chatService;
-public ActionForward execute(ActionMapping mapping, ActionForm form,
+public ActionForward unspecified(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 'toolSessionID' and 'mode' paramters are expected to be present.
@@ -97,6 +101,9 @@
request.setAttribute("CONFERENCEROOM", chatSession.getJabberRoom());
request.setAttribute("NICK", chatUser.getLoginName());
+ request.setAttribute("chatTitle", chatSession.getChat().getTitle());
+ request.setAttribute("chatInstructions", chatSession.getChat().getInstructions());
+
return mapping.findForward("success");
} private ChatUser getCurrentUser(Long toolSessionId) {
@@ -115,4 +122,32 @@
return chatUser;
}
+
+ public ActionForward finishActivity (ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
+
+ ToolSessionManager sessionMgrService = ChatServiceProxy
+ .getChatSessionManager(getServlet().getServletContext());
+
+ // get back login user DTO
+ // get session from shared session.
+
+ HttpSession ss = SessionManager.getSession();
+ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
+ Long userID = new Long(user.getUserID().longValue());
+
+ String nextActivityUrl;
+ try {
+ nextActivityUrl = sessionMgrService.leaveToolSession(new Long(1),
+ userID);
+ response.sendRedirect(nextActivityUrl);
+ } catch (DataMissingException e) {
+ throw new ChatException(e);
+ } catch (ToolException e) {
+ throw new ChatException(e);
+ } catch (IOException e) {
+ throw new ChatException(e);
+ }
+
+ return null; // TODO need to return proper page.
+ }
}
Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java
===================================================================
diff -u -r7e567347ce87404a986c1f44e040feb623ac3f3d -rff20896b171dd911f58f729fcb3e2ed1e9f53ed8
--- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 7e567347ce87404a986c1f44e040feb623ac3f3d)
+++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision ff20896b171dd911f58f729fcb3e2ed1e9f53ed8)
@@ -144,6 +144,9 @@
request.setAttribute("CONFERENCEROOM", chatSession.getJabberRoom());
request.setAttribute("NICK", chatUser.getLoginName());
request.setAttribute("MODE", "teacher");
+
+ request.setAttribute("chatTitle", chatSession.getChat().getTitle());
+ request.setAttribute("chatInstructions", chatSession.getChat().getInstructions());
return mapping.findForward("chat_client");
}
Index: lams_tool_chat/web/WEB-INF/struts/tiles-defs.xml
===================================================================
diff -u -rb12cb57275e44b7354b0ed0b68b9a179aa9d0576 -rff20896b171dd911f58f729fcb3e2ed1e9f53ed8
--- lams_tool_chat/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision b12cb57275e44b7354b0ed0b68b9a179aa9d0576)
+++ lams_tool_chat/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision ff20896b171dd911f58f729fcb3e2ed1e9f53ed8)
@@ -91,13 +91,13 @@
-
+
-
+
Index: lams_tool_chat/web/chat_client/chat_ui.jsp
===================================================================
diff -u -rde8021aaecd7e02c31b9297045f028992d903c80 -rff20896b171dd911f58f729fcb3e2ed1e9f53ed8
--- lams_tool_chat/web/chat_client/chat_ui.jsp (.../chat_ui.jsp) (revision de8021aaecd7e02c31b9297045f028992d903c80)
+++ lams_tool_chat/web/chat_client/chat_ui.jsp (.../chat_ui.jsp) (revision ff20896b171dd911f58f729fcb3e2ed1e9f53ed8)
@@ -32,6 +32,10 @@