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 @@
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" %> +
-
-
+ |