Index: lams_build/lib/lams/lams-learning.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams-learning.jar,v diff -u -r1.17 -r1.18 Binary files differ Index: lams_learning/conf/xdoclet/taglibs.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/xdoclet/taglibs.xml,v diff -u -r1.3 -r1.4 --- lams_learning/conf/xdoclet/taglibs.xml 9 Nov 2005 06:57:24 -0000 1.3 +++ lams_learning/conf/xdoclet/taglibs.xml 7 Dec 2005 05:12:39 -0000 1.4 @@ -86,3 +86,11 @@ tags-xml_rt /WEB-INF/jstl/tlds/x-rt.tld + + + + + + tags-lams + /WEB-INF/lams.tld + \ No newline at end of file Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DummyLearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/Attic/DummyLearnerAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DummyLearnerAction.java 7 Dec 2005 05:12:39 -0000 1.1 @@ -0,0 +1,118 @@ +/* +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +USA + +http://www.gnu.org/licenses/gpl.txt +*/ + +package org.lamsfoundation.lams.learning.web.action; + +import java.io.IOException; + +import javax.servlet.ServletException; +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.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.service.ILearnerService; +import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; +import org.lamsfoundation.lams.lesson.dto.LessonDTO; +import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.action.LamsDispatchAction; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; + + +/** + * + *

The action servlet that interacts with the dummy learner interface. Based + * on LearnerAction. To be removed when the Flash interface is built.

+ * + * ----------------XDoclet Tags-------------------- + * + * @struts:action path="/dummylearner" + * parameter="method" + * validate="false" + * @struts.action-exception key="error.system.learner" scope="request" + * type="org.lamsfoundation.lams.learning.service.LearnerServiceException" + * path=".systemError" + * handler="org.lamsfoundation.lams.learning.util.CustomStrutsExceptionHandler" + * @struts:action-forward name="controlActivity" path="/controlBottomFrame.jsp" + * + * ----------------XDoclet Tags-------------------- + * + */ +public class DummyLearnerAction extends LamsDispatchAction +{ + //--------------------------------------------------------------------- + // Instance variables + //--------------------------------------------------------------------- + private static Logger log = Logger.getLogger(DummyLearnerAction.class); + + //--------------------------------------------------------------------- + // Class level constants - Struts forward + //--------------------------------------------------------------------- + private static final String CONTROL_ACTIVITY = "controlActivity"; + + // Session attributes + private static final String PARAM_LESSONS = "lessons"; + + /** + *

The Struts dispatch method that retrieves all active lessons for a + * requested user.

+ * + * @param mapping An ActionMapping class that will be used by the Action class to tell + * the ActionServlet where to send the end-user. + * + * @param form The ActionForm class that will contain any data submitted + * by the end-user via a form. + * @param request A standard Servlet HttpServletRequest class. + * @param response A standard Servlet HttpServletResponse class. + * @return An ActionForward class that will be returned to the ActionServlet indicating where + * the user is to go next. + * @throws IOException + * @throws ServletException + */ + public ActionForward getActiveLessons(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, + ServletException + { + //initialize service object + ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + + //get learner. + User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); + if(log.isDebugEnabled()) + log.debug("Getting active lessons for leaner:"+learner.getFullName()+"["+learner.getUserId()+"]"); + + LessonDTO [] lessons = learnerService.getActiveLessonsFor(learner); + request.getSession().setAttribute(PARAM_LESSONS, lessons); + + return mapping.findForward(CONTROL_ACTIVITY); + } + + + +} \ No newline at end of file Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java,v diff -u -r1.6 -r1.7 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java 16 Nov 2005 05:25:03 -0000 1.6 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java 7 Dec 2005 05:12:39 -0000 1.7 @@ -155,7 +155,7 @@ //get current user and lesson data via http. It ensures they are availabe //in the http session. If not, we assume parameters are coming from //request or falsh and we can create learner and lesson objects. - User learner = LearningWebUtil.getUserData(request,getServlet().getServletContext()); + User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); Lesson lesson = LearningWebUtil.getLessonData(request,getServlet().getServletContext()); Activity groupingActivity = LearningWebUtil.getActivityFromRequest(request,learnerService); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java,v diff -u -r1.10 -r1.11 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java 14 Sep 2005 01:00:39 -0000 1.10 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java 7 Dec 2005 05:12:39 -0000 1.11 @@ -124,7 +124,7 @@ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); //get learner. - User learner = LearningWebUtil.getUserData(request, getServlet().getServletContext()); + User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); if(log.isDebugEnabled()) log.debug("Getting active lessons for leaner:"+learner.getFullName()+"["+learner.getUserId()+"]"); @@ -169,7 +169,7 @@ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); //get user and lesson based on request. - User learner = LearningWebUtil.getUserData(request, getServlet().getServletContext()); + User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); Lesson lesson = LearningWebUtil.getLessonData(request,getServlet().getServletContext()); @@ -343,7 +343,7 @@ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); //getting requested object according to coming parameters - User learner = LearningWebUtil.getUserData(request, getServlet().getServletContext()); + User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); Activity requestedActivity = learnerService.getActivity(new Long(activityId)); //preparing tranfer object for flash Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java,v diff -u -r1.5 -r1.6 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java 16 Nov 2005 05:25:04 -0000 1.5 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java 7 Dec 2005 05:12:39 -0000 1.6 @@ -24,6 +24,7 @@ import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.lamsfoundation.lams.learning.service.ILearnerService; @@ -34,7 +35,10 @@ import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; /** @@ -59,35 +63,29 @@ public static final String PARAM_PROGRESS_ID = "progressId"; /** - * Helper method to retrieve the user data. We always load up from http - * session first to optimize the performance. If no session cache available, - * we load it from data source. + * Helper method to retrieve the user data. Gets the id from the user details + * in the session then retrieves the real user object. + * * @param request A standard Servlet HttpServletRequest class. * @param servletContext the servlet container that has all resources * @param surveyService the service facade of survey tool * @return the user data value object */ - public static User getUserData(HttpServletRequest request, ServletContext servletContext) + public static User getUserData(ServletContext servletContext) { - //retrieve complete user data from http session - User currentUser = (User) request.getSession() - .getAttribute(ATTR_USER_DATA); - if(log.isDebugEnabled()&¤tUser!=null) - log.debug("user retrieved from http session:"+currentUser.getUserId()); - + HttpSession ss = SessionManager.getSession(); + UserDTO learner = (UserDTO) ss.getAttribute(AttributeNames.USER); + //if no session cache available, retrieve it from data source - if (currentUser == null) - { - int userId = WebUtil.readIntParam(request,PARAM_USER_ID); - currentUser = LearnerServiceProxy.getUserManagementService(servletContext) - .getUserById(new Integer(userId)); - if(log.isDebugEnabled()&¤tUser!=null) - log.debug("user retrieved from database:"+currentUser.getUserId()); - - //create session cache - request.getSession().setAttribute(ATTR_USER_DATA, currentUser); + if ( learner != null ) { + User currentUser = LearnerServiceProxy.getUserManagementService(servletContext) + .getUserById(learner.getUserID()); + if(log.isDebugEnabled()&¤tUser!=null) + log.debug("user retrieved from database:"+currentUser.getUserId()); + + return currentUser; } - return currentUser; + return null; } /** @@ -130,7 +128,7 @@ //initialize service object ILearnerService learnerService = LearnerServiceProxy.getLearnerService(servletContext); - User currentLearner = getUserData(request, servletContext); + User currentLearner = getUserData(servletContext); Lesson lesson = getLessonData(request,servletContext); LearnerProgress progress = learnerService.getProgress(currentLearner,lesson); bean = new SessionBean(currentLearner,lesson,progress); @@ -179,7 +177,7 @@ //initialize service object ILearnerService learnerService = LearnerServiceProxy.getLearnerService(servletContext); - User currentLearner = getUserData(request, servletContext); + User currentLearner = getUserData(servletContext); Lesson lesson = getLessonData(request,servletContext); learnerProgress = learnerService.getProgress(currentLearner,lesson); Index: lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestGateAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/Attic/TestGateAction.java,v diff -u -r1.3 -r1.4 --- lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestGateAction.java 30 Aug 2005 04:52:10 -0000 1.3 +++ lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestGateAction.java 7 Dec 2005 05:12:39 -0000 1.4 @@ -130,15 +130,15 @@ */ private void initializeUserMap(boolean singleUser) { - User testUser = LearningWebUtil.getUserData(request,context); + User testUser = LearningWebUtil.getUserData(context); Lesson lesson = LearningWebUtil.getLessonData(request,context); LessonLearnerDataManager.cacheLessonUser(context,lesson,testUser); if(!singleUser) { request.getSession().removeAttribute("user"); addRequestParameter(LearningWebUtil.PARAM_USER_ID, "1"); - User testUser2 = LearningWebUtil.getUserData(request,context); + User testUser2 = LearningWebUtil.getUserData(context); LessonLearnerDataManager.cacheLessonUser(context,lesson,testUser2); } Index: lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestGroupingAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/Attic/TestGroupingAction.java,v diff -u -r1.7 -r1.8 --- lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestGroupingAction.java 16 Nov 2005 05:25:04 -0000 1.7 +++ lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestGroupingAction.java 7 Dec 2005 05:12:39 -0000 1.8 @@ -148,7 +148,7 @@ */ private void initializeUserMap() { - User testUser = LearningWebUtil.getUserData(request,context); + User testUser = LearningWebUtil.getUserData(context); Lesson lesson = LearningWebUtil.getLessonData(request,context); LessonLearnerDataManager.cacheLessonUser(context,lesson,testUser); Index: lams_learning/web/controlBottomFrame.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/Attic/controlBottomFrame.jsp,v diff -u -r1.2 -r1.3 --- lams_learning/web/controlBottomFrame.jsp 9 Nov 2005 06:57:23 -0000 1.2 +++ lams_learning/web/controlBottomFrame.jsp 7 Dec 2005 05:12:39 -0000 1.3 @@ -23,12 +23,14 @@ <%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-core" prefix="c"%> <%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + - + Learner :: LAMS
- +
-
- -
+

Index: lams_learning/web/main.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/main.jsp,v diff -u -r1.5 -r1.6 --- lams_learning/web/main.jsp 9 Nov 2005 06:57:23 -0000 1.5 +++ lams_learning/web/main.jsp 7 Dec 2005 05:12:39 -0000 1.6 @@ -24,16 +24,17 @@ <%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-core" prefix="c"%> <%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="tags-lams" prefix="lams" %> - + Learner :: LAMS - Index: lams_learning/web/welcome.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/welcome.jsp,v diff -u -r1.4 -r1.5 --- lams_learning/web/welcome.jsp 9 Nov 2005 06:57:23 -0000 1.4 +++ lams_learning/web/welcome.jsp 7 Dec 2005 05:12:39 -0000 1.5 @@ -9,11 +9,4 @@
- - - - Join a started Lesson - - - Index: lams_learning/web/WEB-INF/lams.tld =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/WEB-INF/Attic/lams.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/web/WEB-INF/lams.tld 7 Dec 2005 05:12:38 -0000 1.1 @@ -0,0 +1,48 @@ + + + + + + 1.0 + 1.1 + lams + + + + + + LAMSURL + org.lamsfoundation.lams.web.tag.LAMSURLTag + + + + + + user + org.lamsfoundation.lams.web.tag.UserTag + + + + property + true + true + + + + + + + css + org.lamsfoundation.lams.web.tag.CssTag + + + + + + WebAppURL + org.lamsfoundation.lams.web.tag.WebAppURLTag + + + + + Index: lams_learning/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/WEB-INF/Attic/web.xml,v diff -u -r1.16 -r1.17 --- lams_learning/web/WEB-INF/web.xml 17 Nov 2005 23:08:35 -0000 1.16 +++ lams_learning/web/WEB-INF/web.xml 7 Dec 2005 05:12:38 -0000 1.17 @@ -40,6 +40,7 @@ classpath:/org/lamsfoundation/lams/tool/noticeboard/applicationContext.xml classpath:/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml classpath:/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml + classpath:/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml @@ -189,6 +190,12 @@ Export Portfolio Download Page org.lamsfoundation.lams.learning.export.web.action.ExportDownloadServlet + + exportNotSupported + Export Portfolio Unavailable + Tool does not support portfolio exports + org.lamsfoundation.lams.learning.export.web.action.ExportNotSupportedServlet + + + + + tags-lams + /WEB-INF/lams.tld + + Index: lams_learning/web/WEB-INF/struts/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/WEB-INF/struts/Attic/struts-config.xml,v diff -u -r1.18 -r1.19 --- lams_learning/web/WEB-INF/struts/struts-config.xml 31 Oct 2005 05:24:57 -0000 1.18 +++ lams_learning/web/WEB-INF/struts/struts-config.xml 7 Dec 2005 05:12:39 -0000 1.19 @@ -14,14 +14,14 @@ - + @@ -86,8 +86,10 @@ - - + + + + + + + + + - + + + - - - - -