Index: lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java (.../DisplayGroupAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java (.../DisplayGroupAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -43,7 +43,7 @@ import org.lamsfoundation.lams.index.IndexLessonBean; import org.lamsfoundation.lams.index.IndexLinkBean; import org.lamsfoundation.lams.index.IndexOrgBean; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.service.ILearningDesignService; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.service.LessonService; @@ -70,7 +70,7 @@ private static LessonService lessonService; private static ILearningDesignService learningDesignService; private static ISecurityService securityService; - private static ICoreLearnerService learnerService; + private static ILearnerService learnerService; @Override @SuppressWarnings({ "unchecked" }) @@ -394,11 +394,11 @@ return securityService; } - private ICoreLearnerService getLearnerService() { + private ILearnerService getLearnerService() { if (learnerService == null) { WebApplicationContext ctx = WebApplicationContextUtils .getRequiredWebApplicationContext(getServlet().getServletContext()); - learnerService = (ICoreLearnerService) ctx.getBean("learnerService"); + learnerService = (ILearnerService) ctx.getBean("learnerService"); } return learnerService; } Index: lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupAction.java =================================================================== diff -u -r1aff6aeac19473c0089c0f3ff578a183beb92555 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupAction.java (.../OrganisationGroupAction.java) (revision 1aff6aeac19473c0089c0f3ff578a183beb92555) +++ lams_central/src/java/org/lamsfoundation/lams/web/OrganisationGroupAction.java (.../OrganisationGroupAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -50,7 +50,7 @@ import org.lamsfoundation.lams.contentrepository.exception.InvalidParameterException; import org.lamsfoundation.lams.integration.dto.ExtGroupDTO; import org.lamsfoundation.lams.integration.service.IIntegrationService; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.BranchingActivity; import org.lamsfoundation.lams.learningdesign.Group; @@ -59,7 +59,6 @@ import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.service.ILessonService; -import org.lamsfoundation.lams.monitoring.web.GroupingAJAXAction; import org.lamsfoundation.lams.security.ISecurityService; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationGroup; @@ -82,14 +81,16 @@ private static Logger log = Logger.getLogger(OrganisationGroupAction.class); private static IUserManagementService userManagementService; - private static ICoreLearnerService learnerService; + private static ILearnerService learnerService; private static ILessonService lessonService; private static ISecurityService securityService; private static IIntegrationService integrationService; private static final String MAPPING_VIEW_GROUPINGS = "viewGroupings"; private static final String MAPPING_VIEW_GROUPS = "viewGroups"; private static final String MAPPING_VIEW_EXT_GROUPS = "viewExtGroups"; + + private static final String PARAM_USED_FOR_BRANCHING = "usedForBranching"; /** * Shows course grouping list or redirects to groups if a grouping was already chosen. @@ -142,7 +143,7 @@ // if this grouping is used for branching then it should use groups set in authoring. It will be possible to // remove users from the groups, but not delete groups due to the branching relationships. boolean isUsedForBranching = (grouping != null) && grouping.isUsedForBranching(); - request.setAttribute(GroupingAJAXAction.PARAM_USED_FOR_BRANCHING, isUsedForBranching); + request.setAttribute(PARAM_USED_FOR_BRANCHING, isUsedForBranching); if (OrganisationGroupAction.log.isDebugEnabled()) { OrganisationGroupAction.log @@ -258,7 +259,7 @@ // if this grouping is used for branching then it should use groups set in authoring. It will be possible to // remove users from the groups, but not delete groups due to the branching relationships. boolean isUsedForBranching = (lessonGrouping != null) && lessonGrouping.isUsedForBranching(); - request.setAttribute(GroupingAJAXAction.PARAM_USED_FOR_BRANCHING, isUsedForBranching); + request.setAttribute(PARAM_USED_FOR_BRANCHING, isUsedForBranching); JSONArray orgGroupsJSON = new JSONArray(); Collection learners = null; @@ -636,13 +637,13 @@ return OrganisationGroupAction.userManagementService; } - private ICoreLearnerService getLearnerService() { - if (OrganisationGroupAction.learnerService == null) { + private ILearnerService getLearnerService() { + if (learnerService == null) { WebApplicationContext ctx = WebApplicationContextUtils .getRequiredWebApplicationContext(getServlet().getServletContext()); - OrganisationGroupAction.learnerService = (ICoreLearnerService) ctx.getBean("learnerService"); + learnerService = (ILearnerService) ctx.getBean("learnerService"); } - return OrganisationGroupAction.learnerService; + return learnerService; } private ILessonService getLessonService() { Index: lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java =================================================================== diff -u -r6c8f36f8d99200afab3b0de708f89800cedea6f1 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java (.../ProfileAction.java) (revision 6c8f36f8d99200afab3b0de708f89800cedea6f1) +++ lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java (.../ProfileAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -44,14 +44,13 @@ import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.index.IndexLessonBean; import org.lamsfoundation.lams.index.IndexOrgBean; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.lesson.dto.LessonDTO; import org.lamsfoundation.lams.themes.Theme; import org.lamsfoundation.lams.themes.service.IThemeService; import org.lamsfoundation.lams.timezone.Timezone; import org.lamsfoundation.lams.timezone.dto.TimezoneDTO; import org.lamsfoundation.lams.timezone.service.ITimezoneService; -import org.lamsfoundation.lams.timezone.util.TimezoneDTOComparator; import org.lamsfoundation.lams.timezone.util.TimezoneIDComparator; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; @@ -77,7 +76,7 @@ private static List locales; - private static ICoreLearnerService learnerService; + private static ILearnerService learnerService; private static IThemeService themeService; @@ -263,11 +262,11 @@ return service; } - private ICoreLearnerService getLearnerService() { + private ILearnerService getLearnerService() { if (learnerService == null) { WebApplicationContext ctx = WebApplicationContextUtils .getRequiredWebApplicationContext(getServlet().getServletContext()); - learnerService = (ICoreLearnerService) ctx.getBean("learnerService"); + learnerService = (ILearnerService) ctx.getBean("learnerService"); } return learnerService; } Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterAction.java =================================================================== diff -u -rfebc5ec394566f98439ce776a0be320b34310b0a -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterAction.java (.../RegisterAction.java) (revision febc5ec394566f98439ce776a0be320b34310b0a) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterAction.java (.../RegisterAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -49,7 +49,7 @@ import org.lamsfoundation.lams.integration.security.Authenticator; import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator; import org.lamsfoundation.lams.integration.service.IntegrationService; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.GroupUser; import org.lamsfoundation.lams.learningdesign.dao.IGroupUserDAO; @@ -85,7 +85,7 @@ private static ILessonService lessonService = null; - private static ICoreLearnerService learnerService = null; + private static ILearnerService learnerService = null; private static IGroupUserDAO groupUserDAO = null; @@ -128,7 +128,7 @@ lessonService = (ILessonService) WebApplicationContextUtils .getRequiredWebApplicationContext(getServletContext()).getBean("lessonService"); - learnerService = (ICoreLearnerService) WebApplicationContextUtils + learnerService = (ILearnerService) WebApplicationContextUtils .getRequiredWebApplicationContext(getServletContext()).getBean("learnerService"); groupUserDAO = (IGroupUserDAO) WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext()) Fisheye: Tag cad6ecebe29a61651bdf8c7500a6a17471c65970 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java =================================================================== diff -u -r24e3879be322523d08055711ab6fa8968047782b -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_common/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision 24e3879be322523d08055711ab6fa8968047782b) +++ lams_common/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -23,34 +23,137 @@ package org.lamsfoundation.lams.learning.service; +import java.util.List; +import java.util.Set; + +import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.GateActivity; +import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.dto.ActivityPositionDTO; -import org.lamsfoundation.lams.tool.ToolOutput; +import org.lamsfoundation.lams.learningdesign.dto.ActivityURL; +import org.lamsfoundation.lams.learningdesign.dto.GateActivityDTO; +import org.lamsfoundation.lams.lesson.LearnerProgress; +import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.lesson.dto.LessonDTO; +import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; +import org.lamsfoundation.lams.usermanagement.User; /** - * Learner service methods available to tools. These methods should work fine as long as the web context contains the - * core Spring context files. + * All Learner service methods that are available within the core. */ public interface ILearnerService { + /** - * Marks an tool session as complete and calculates the next activity against the learning design. This method is - * for tools to redirect the client on complete. + * Gets the lesson object for the given key. * - * Do not change learnerId to Integer (to match the other calls) as all the tools expect this to be a Long. + */ + Lesson getLesson(Long lessonID); + + /** + * Joins a User to a a new lesson as a learner * - * @param toolSessionId - * , session ID for completed tool * @param learnerId - * the learner who is completing the tool session. - * @return the URL for the next activity + * the Learner's userID + * @param lessionID + * identifies the Lesson to start * @throws LearnerServiceException * in case of problems. */ - public String completeToolSession(Long toolSessionId, Long learnerId); + LearnerProgress joinLesson(Integer learnerId, Long lessonID); - ToolOutput getToolInput(Long requestingToolContentId, Integer assigmentId, Integer learnerId); + /** + * This method navigate through all the tool activities for the given activity. For each tool activity, we look up + * the database to check up the existance of correspondent tool session. If the tool session doesn't exist, we + * create a new tool session instance. + * + * @param learnerProgress + * the learner progress we are processing. + * @throws LamsToolServiceException + */ + void createToolSessionsIfNecessary(Activity activity, LearnerProgress learnerProgress); + + String completeToolSession(Long toolSessionId, Long learnerId); - ActivityPositionDTO getActivityPosition(Long activityId); + /** + * Returns the current progress data of the User. + * + * @param learnerId + * the Learner's userID + * @param lessonId + * the Lesson to get progress from. + * @return LearnerProgess contains the learner's progress for the lesson. + * @throws LearnerServiceException + * in case of problems. + */ + LearnerProgress getProgress(Integer learnerId, Long lessonId); + /** + * Returns the current progress data, in the DTO format required by the jsp progress screen, of the User. + * + * @param learnerId + * the Learner's userID + * @param lessonId + * the Lesson to get progress from. + * @return Array of two objects. [0] List, [1] Activity ID of the current activity + * @throws LearnerServiceException + * in case of problems. + */ + Object[] getStructuredActivityURLs(Integer learnerId, Long lessonId); + + List getStructuredActivityURLs(Long lessonId); + + /** + * Complete the activity in the progress engine and delegate to the progress engine to calculate the next activity + * in the learning design. It is currently triggered by various progress engine related action classes, which then + * calculate the url to go to next, based on the ActivityMapping class. + */ + void completeActivity(Integer learnerId, Activity activity, Long progressID); + + /** + * Retrieve all lessons that has been started, suspended or finished. All finished but archived lesson should not be + * loaded. + * + * @param learner + * the user who intend to start a lesson + * @return a list of active lessons. + */ + LessonDTO[] getActiveLessonsFor(Integer learnerId); + + /** + * Returns an activity according to the activity id. + * + * @param activityId + * the activity id. + * @return the activity requested. + */ + Activity getActivity(Long activityId); + + /** + * Check up the gate status to go through the gate. This also updates the gate. This method should be used when we + * do have an grouping activity that is already part of the Hibernate session. + * + * @param gate + * the gate that current learner is facing. It could be synch gate, schedule gate or permission gate. + * Don't supply the actual gate from the cached web version as it might be out of date or not attached to + * the session + * @param knocker + * the learner who wants to go through the gate. + * @param forceGate + * if forceGate==true and the lesson is a preview lesson then the gate is opened straight away. + * @return Updated gate details + */ + GateActivityDTO knockGate(GateActivity gateActivity, User knocker, boolean forceGate); + + Set getGroupsForGate(GateActivity gate); + + /** + * Get the lesson for this activity. If the activity is not part of a lesson (ie is from an authoring design then it + * will return null. + */ + Lesson getLessonByActivity(Activity activity); + + boolean isKumaliveDisabledForOrganisation(Integer organisationId); + ActivityPositionDTO getActivityPositionByToolSessionId(Long toolSessionId); void createCommandForLearner(Long lessonId, String userName, String jsonCommand); Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java =================================================================== diff -u -rbbe9589ceab063d62380b9fe3f02648a4581e109 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision bbe9589ceab063d62380b9fe3f02648a4581e109) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -27,9 +27,11 @@ import java.util.Set; import org.lamsfoundation.lams.confidencelevel.ConfidenceLevelDTO; +import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.Tool; +import org.lamsfoundation.lams.tool.ToolOutput; import org.lamsfoundation.lams.tool.ToolSession; import org.lamsfoundation.lams.util.FileUtilException; @@ -66,9 +68,31 @@ Tool getPersistToolBySignature(final String toolSignature); + /** + * Get the tool session object using the toolSessionId + * + * @param toolSessionId + * @return + */ ToolSession getToolSession(Long toolSessionId); /** + * Marks an tool session as complete and calculates the next activity against the learning design. This method is + * for tools to redirect the client on complete. + * + * Do not change learnerId to Integer (to match the other calls) as all the tools expect this to be a Long. + * + * @param toolSessionId + * , session ID for completed tool + * @param learnerId + * the learner who is completing the tool session. + * @return the URL for the next activity + * @throws LearnerServiceException + * in case of problems. + */ + String completeToolSession(Long toolSessionId, Long learnerId); + + /** * Allows the tool to ask whether or not the activity is grouped and therefore it should expect more than one tool * session. * @@ -94,6 +118,12 @@ void setActivityEvaluation(Long toolContentId, String toolOutputDefinition); /** + * Gets the concreted tool output (not the definition) from a tool. This method is called by target tool in order to + * get data from source tool. + */ + ToolOutput getToolInput(Long requestingToolContentId, Integer assigmentId, Integer learnerId); + + /** * Get tool's ActivityEvaluation that has been set in authoring. * * @param toolContentId Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java =================================================================== diff -u -rbbe9589ceab063d62380b9fe3f02648a4581e109 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision bbe9589ceab063d62380b9fe3f02648a4581e109) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -24,8 +24,6 @@ package org.lamsfoundation.lams.tool.service; import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Method; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; @@ -39,26 +37,28 @@ import org.hibernate.proxy.HibernateProxy; import org.lamsfoundation.lams.confidencelevel.ConfidenceLevelDTO; import org.lamsfoundation.lams.gradebook.service.IGradebookService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ActivityEvaluation; +import org.lamsfoundation.lams.learningdesign.DataFlowObject; import org.lamsfoundation.lams.learningdesign.FloatingActivity; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.learningdesign.Transition; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; +import org.lamsfoundation.lams.learningdesign.dao.IDataFlowDAO; import org.lamsfoundation.lams.lesson.CompletedActivityProgress; import org.lamsfoundation.lams.lesson.LearnerProgress; -import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.Tool; -import org.lamsfoundation.lams.tool.ToolContent; import org.lamsfoundation.lams.tool.ToolOutput; import org.lamsfoundation.lams.tool.ToolSession; import org.lamsfoundation.lams.tool.dao.IToolContentDAO; import org.lamsfoundation.lams.tool.dao.IToolDAO; import org.lamsfoundation.lams.tool.dao.IToolSessionDAO; import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.FileUtilException; import org.lamsfoundation.lams.util.audit.IAuditService; @@ -86,6 +86,9 @@ private IGradebookService gradebookService; private ILamsCoreToolService lamsCoreToolService; private ILessonService lessonService; + private ILearnerService learnerService; + private IUserManagementService userManagementService; + private IDataFlowDAO dataFlowDAO; @Override public IToolVO getToolByID(Long toolId) { @@ -130,16 +133,15 @@ toolDAO.saveOrUpdateTool(tool); } - /** - * Get the tool session object using the toolSessionId - * - * @param toolSessionId - * @return - */ @Override public ToolSession getToolSession(Long toolSessionId) { return toolSessionDAO.getToolSession(toolSessionId); } + + @Override + public String completeToolSession(Long toolSessionId, Long learnerId) { + return learnerService.completeToolSession(toolSessionId, learnerId); + } @SuppressWarnings("unchecked") @Override @@ -187,7 +189,20 @@ } } + + @Override + public ToolOutput getToolInput(Long requestingToolContentId, Integer assigmentId, Integer learnerId) { + DataFlowObject dataFlowObject = dataFlowDAO.getAssignedDataFlowObject(requestingToolContentId, + assigmentId); + User learner = (User) userManagementService.findById(User.class, learnerId); + Activity activity = dataFlowObject.getDataTransition().getFromActivity(); + String outputName = dataFlowObject.getName(); + ToolSession session = lamsCoreToolService.getToolSessionByLearner(learner, activity); + ToolOutput output = lamsCoreToolService.getOutputFromTool(outputName, session, learnerId); + return output; + } + @Override public Long getLeaderUserId(Long toolSessionId, Integer learnerId) { Long leaderUserId = null; @@ -428,6 +443,10 @@ ToolSession session = toolSessionDAO.getToolSession(toolSessionId); return session.getLearners().size(); } + + // --------------------------------------------------------------------- + // Inversion of Control Methods - Method injection + // --------------------------------------------------------------------- /** * @param toolDAO @@ -450,7 +469,6 @@ } /** - * * @param toolContentDAO */ public void setToolContentDAO(IToolContentDAO toolContentDAO) { @@ -462,7 +480,6 @@ } /** - * * @param toolContentDAO */ public void setLamsCoreToolService(ILamsCoreToolService lamsCoreToolService) { @@ -472,4 +489,20 @@ public void setLessonService(ILessonService lessonService) { this.lessonService = lessonService; } + + public void setLearnerService(ILearnerService learnerService) { + this.learnerService = learnerService; + } + + /** + * @param userService + * User Management Service + */ + public void setUserManagementService(IUserManagementService userService) { + this.userManagementService = userService; + } + + public void setDataFlowDAO(IDataFlowDAO dataFlowDAO) { + this.dataFlowDAO = dataFlowDAO; + } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/toolApplicationContext.xml =================================================================== diff -u -r2abc3485dc2d24ea02044a64271f3ee0d3b8c11b -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_common/src/java/org/lamsfoundation/lams/toolApplicationContext.xml (.../toolApplicationContext.xml) (revision 2abc3485dc2d24ea02044a64271f3ee0d3b8c11b) +++ lams_common/src/java/org/lamsfoundation/lams/toolApplicationContext.xml (.../toolApplicationContext.xml) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -47,6 +47,9 @@ + + + Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -53,7 +53,7 @@ import org.lamsfoundation.lams.gradebook.util.GradebookUtil; import org.lamsfoundation.lams.gradebook.util.LessonComparator; import org.lamsfoundation.lams.gradebook.util.UserComparator; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ActivityEvaluation; import org.lamsfoundation.lams.learningdesign.ComplexActivity; @@ -124,7 +124,7 @@ private IActivityDAO activityDAO; private MessageService messageService; private IAuditService auditService; - private static ICoreLearnerService learnerService; + private static ILearnerService learnerService; @Override public List getGBActivityRowsForLearner(Long lessonId, Integer userId, TimeZone userTimezone) { @@ -2266,13 +2266,13 @@ return gradebookDAO.getAllMarksForLesson(lessonId); } - private ICoreLearnerService getLearnerService() { - if (GradebookService.learnerService == null) { + private ILearnerService getLearnerService() { + if (learnerService == null) { WebApplicationContext ctx = WebApplicationContextUtils .getWebApplicationContext(SessionManager.getServletContext()); - GradebookService.learnerService = (ICoreLearnerService) ctx.getBean("learnerService"); + learnerService = (ILearnerService) ctx.getBean("learnerService"); } - return GradebookService.learnerService; + return learnerService; } @Override @@ -2353,5 +2353,4 @@ public void setMessageService(MessageService messageService) { this.messageService = messageService; } - // ------------------------------------------------------------------------- } \ No newline at end of file Index: lams_learning/src/java/org/lamsfoundation/lams/learning/command/CommandWebsocketServer.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/command/CommandWebsocketServer.java (.../CommandWebsocketServer.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/command/CommandWebsocketServer.java (.../CommandWebsocketServer.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -17,6 +17,8 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.learning.command.model.Command; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learning.service.LearnerService; import org.lamsfoundation.lams.util.hibernate.HibernateSessionManager; import org.lamsfoundation.lams.web.session.SessionManager; @@ -32,7 +34,7 @@ @ServerEndpoint("/commandWebsocket") public class CommandWebsocketServer { - private static LearnerService learnerService; + private static ILearnerFullService learnerService; /** * A singleton which updates Learners with messages and commands. @@ -157,11 +159,11 @@ lessonWebsockets.remove(login); } - private static LearnerService getLearnerService() { + private static ILearnerFullService getLearnerService() { if (learnerService == null) { WebApplicationContext ctx = WebApplicationContextUtils .getWebApplicationContext(SessionManager.getServletContext()); - learnerService = (LearnerService) ctx.getBean("learnerService"); + learnerService = (ILearnerFullService) ctx.getBean("learnerService"); } return learnerService; } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml =================================================================== diff -u -r24e3879be322523d08055711ab6fa8968047782b -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision 24e3879be322523d08055711ab6fa8968047782b) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -53,7 +53,6 @@ - Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerFullService.java =================================================================== diff -u --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerFullService.java (revision 0) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerFullService.java (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -0,0 +1,181 @@ +package org.lamsfoundation.lams.learning.service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.lamsfoundation.lams.learning.command.model.Command; +import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.BranchingActivity; +import org.lamsfoundation.lams.learningdesign.Grouping; +import org.lamsfoundation.lams.learningdesign.SequenceActivity; +import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; +import org.lamsfoundation.lams.learningdesign.dto.ActivityPositionDTO; +import org.lamsfoundation.lams.learningdesign.dto.GateActivityDTO; +import org.lamsfoundation.lams.lesson.LearnerProgress; +import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; + +/** + * Contains methods intended for internal usage by lams_learning. + * + * @author Andrey Balan + */ +public interface ILearnerFullService extends ILearnerService { + + /** Get the user service. Used when the action needs the real user object, not just the userId */ + IUserManagementService getUserManagementService(); + + /** + * Get the last attempt ID for the given learner and lesson. + */ + Integer getProgressArchiveMaxAttemptID(Integer userId, Long lessonId); + + ActivityPositionDTO getActivityPosition(Long activityId); + + List getCommandsForLesson(Long lessonId, Date laterThan); + + /** + * Return the current progress data against progress id. + * + * @param progressId + * @return + */ + LearnerProgress getProgressById(Long progressId); + + /** + * Marks an activity as attempted. Called when a user selects an OptionsActivity. + * + * @param learnerId + * the Learner's userID + * @param lessonId + * the Lesson to get progress from. + * @param activity + * the activity being attempted. + * @param clearCompletedFlag + * If the lesson is completed but this activity is unstarted, should we mark it as incomplete? Used for + * branching and optional sequences for skipped sequences (e.g. force completed branching) + * @return LearnerProgress + */ + LearnerProgress chooseActivity(Integer learnerId, Long lessonId, Activity activity, Boolean clearCompletedFlag); + + /** + * If specified activity is set to produce ToolOutput, calculates and stores mark to gradebook. + * + * @param toolActivity + * @param progress + */ + void updateGradebookMark(Activity activity, LearnerProgress progress); + + /** + * Perform grouping for the learners who have started the lesson, based on the grouping activity. + * + * @param lessonId + * lesson id + * @param groupingActivityId + * the activity that has create grouping. + * @param learnerId + * the learner who triggers the grouping. + * @param forceGrouping + * if forceGrouping==true and the lesson is a preview lesson then the groupings is done irrespective of + * the grouping type + * @return true if grouping done, false if waiting for grouping to occur + */ + boolean performGrouping(Long lessonId, Long groupingActivityId, Integer learnerId, boolean forceGrouping); + + /** + * Perform grouping for the learner, depending on his/hers choice. + * + * @param lessonId + * lesson id + * @param groupingActivityId + * the activity that create grouping. + * @param groupId + * id of the group chosen by the learner + * @param learnerId + * the learner who triggers the grouping. + * @return true if the learner was successfully added to the group; false if the group was empty + * @throws LearnerServiceException + */ + boolean learnerChooseGroup(Long lessonId, Long groupingActivityId, Long groupId, Integer learnerId) + throws LearnerServiceException; + + /** + * Returns the maximum number of learners per group in learner's choice grouping. + * + * @param lessonId + * id of the lesson + * @param groupingId + * id of the grouping activity + * @return the maximum number of learners per group;null if the requirement for equal number of + * learners in groups was not set + */ + Integer calculateMaxNumberOfLearnersPerGroup(Long lessonId, Grouping grouping); + + Grouping getGrouping(Long groupingId); + + /** + * Check up the gate status to go through the gate. This also updates the gate. This method should be used when we + * do not have an grouping activity that is already part of the Hibernate session. + * + * @param gateid + * the gate that current learner is facing. It could be synch gate, schedule gate or permission gate. + * @param knocker + * the learner who wants to go through the gate. + * @param forceGate + * if forceGate==true and the lesson is a preview lesson then the gate is opened straight away. + * @return Updated gate details + */ + GateActivityDTO knockGate(Long gateActivityId, User knocker, boolean forceGate); + + /** + * + * @param learnerId + * the learner who triggers the move + * @param lessonId + * lesson id + * @param fromActivity + * Activity moving from + * @param toActivity + * Activity moving to (being run) + * @return updated Learner Progress + */ + LearnerProgress moveToActivity(Integer learnerId, Long lessonId, Activity fromActivity, Activity toActivity); + + /** + * Work out which branch to which a user should go. If the current lesson is a preview lesson, it will force the + * user to a branch if at all possible. + * + * @param lesson + * current lesson. + * @param BranchingActivity + * the branching activity + * @param learnerId + * the learner who triggers the grouping. + * @throws LearnerServiceException + */ + SequenceActivity determineBranch(Lesson lesson, BranchingActivity branchingActivity, Integer learnerId) + throws LearnerServiceException; + + /** + * Select a particular branch - we are in preview mode and the author has selected a particular activity. + * + * @param lesson + * current lesson. + * @param BranchingActivity + * the branching activity + * @param learnerId + * the learner who triggers the grouping. + * @return branchId of the desired branch + * @throws LearnerServiceException + */ + SequenceActivity selectBranch(Lesson lesson, BranchingActivity branchingActivity, Integer learnerId, Long branchId) + throws LearnerServiceException; + + /* Added for RepopulateProgressMarksServlet - can be removed later */ + String[] recalcProgressForLearner(Lesson lesson, ArrayList activityList, LearnerProgress learnerProgress, + boolean updateGradebookForAll); + + IActivityDAO getActivityDAO(); +} Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r24e3879be322523d08055711ab6fa8968047782b -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 24e3879be322523d08055711ab6fa8968047782b) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -99,7 +99,7 @@ * * @author chris, Jacky Fang */ -public class LearnerService implements ICoreLearnerService { +public class LearnerService implements ILearnerFullService { // --------------------------------------------------------------------- // Instance variables // --------------------------------------------------------------------- @@ -111,7 +111,6 @@ private IGroupingDAO groupingDAO; private IGroupUserDAO groupUserDAO; private ProgressEngine progressEngine; - private IDataFlowDAO dataFlowDAO; private ICommandDAO commandDAO; private ILamsCoreToolService lamsCoreToolService; private ActivityMapping activityMapping; @@ -553,8 +552,7 @@ * @throws LearnerServiceException * in case of problems. */ - @Override - public void calculateProgress(Activity completedActivity, Integer learnerId, LearnerProgress learnerProgress) { + private void calculateProgress(Activity completedActivity, Integer learnerId, LearnerProgress learnerProgress) { try { progressEngine.calculateProgress(learnerProgress.getUser(), completedActivity, learnerProgress); learnerProgressDAO.updateLearnerProgress(learnerProgress); @@ -564,9 +562,6 @@ } - /** - * @see org.lamsfoundation.lams.learning.service.ILearnerService#completeToolSession(java.lang.Long, java.lang.Long) - */ @Override public String completeToolSession(Long toolSessionId, Long learnerId) { // this method is called by tools, so it mustn't do anything that relies on all the tools' Spring beans @@ -1285,14 +1280,6 @@ this.gradebookService = gradebookService; } - public IDataFlowDAO getDataFlowDAO() { - return dataFlowDAO; - } - - public void setDataFlowDAO(IDataFlowDAO dataFlowDAO) { - this.dataFlowDAO = dataFlowDAO; - } - public ICommandDAO getCommandDAO() { return commandDAO; } @@ -1302,23 +1289,6 @@ } /** - * Gets the concreted tool output (not the definition) from a tool. This method is called by target tool in order to - * get data from source tool. - */ - @Override - public ToolOutput getToolInput(Long requestingToolContentId, Integer assigmentId, Integer learnerId) { - DataFlowObject dataFlowObject = getDataFlowDAO().getAssignedDataFlowObject(requestingToolContentId, - assigmentId); - User learner = (User) getUserManagementService().findById(User.class, learnerId); - Activity activity = dataFlowObject.getDataTransition().getFromActivity(); - String outputName = dataFlowObject.getName(); - ToolSession session = lamsCoreToolService.getToolSessionByLearner(learner, activity); - ToolOutput output = lamsCoreToolService.getOutputFromTool(outputName, session, learnerId); - - return output; - } - - /** * Finds activity position within Learning Design. */ @SuppressWarnings("unchecked") Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerServiceProxy.java =================================================================== diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerServiceProxy.java (.../LearnerServiceProxy.java) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerServiceProxy.java (.../LearnerServiceProxy.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -55,8 +55,8 @@ * the servletContext for current application * @return learner service object. */ - public static final ICoreLearnerService getLearnerService(ServletContext servletContext) { - return (ICoreLearnerService) LearnerServiceProxy.getDomainService(servletContext, "learnerService"); + public static final ILearnerFullService getLearnerService(ServletContext servletContext) { + return (ILearnerFullService) LearnerServiceProxy.getDomainService(servletContext, "learnerService"); } /** Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/ActivityAction.java =================================================================== diff -u -rfd1c6c450376476c752e6be5cb6048a2e370bd42 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/ActivityAction.java (.../ActivityAction.java) (revision fd1c6c450376476c752e6be5cb6048a2e370bd42) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/ActivityAction.java (.../ActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -24,7 +24,7 @@ package org.lamsfoundation.lams.learning.web.action; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.web.action.LamsAction; @@ -36,9 +36,9 @@ public static final String RELEASED_LESSONS_REQUEST_ATTRIBUTE = "releasedLessons"; - private ICoreLearnerService learnerService = null; + private ILearnerFullService learnerService = null; - protected ICoreLearnerService getLearnerService() { + protected ILearnerFullService getLearnerService() { if (learnerService == null) { learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/BranchingActivityAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/BranchingActivityAction.java (.../BranchingActivityAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/BranchingActivityAction.java (.../BranchingActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -35,7 +35,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; @@ -53,22 +53,15 @@ * * @author daveg * - * XDoclet definition: - * - * - * - * - * - * */ public class BranchingActivityAction extends LamsDispatchAction { /** Input parameter. Boolean value */ public static final String PARAM_FORCE_GROUPING = "force"; - private ICoreLearnerService learnerService = null; + private ILearnerFullService learnerService = null; - protected ICoreLearnerService getLearnerService() { + protected ILearnerFullService getLearnerService() { if (learnerService == null) { learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/ChooseActivityAction.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/ChooseActivityAction.java (.../ChooseActivityAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/ChooseActivityAction.java (.../ChooseActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -30,7 +30,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.learningdesign.Activity; @@ -40,11 +40,6 @@ /** * @author daveg - * - * XDoclet definition: - * - * - * */ public class ChooseActivityAction extends ActivityAction { @@ -66,7 +61,7 @@ return mapping.findForward(ActivityMapping.DOUBLE_SUBMIT_ERROR); } - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); // Get learner and lesson details. Integer learnerId = LearningWebUtil.getUserId(); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/CompleteActivityAction.java =================================================================== diff -u -re592c4068d9ae0e9d9ab98bf5cb566b3457508f6 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/CompleteActivityAction.java (.../CompleteActivityAction.java) (revision e592c4068d9ae0e9d9ab98bf5cb566b3457508f6) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/CompleteActivityAction.java (.../CompleteActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -33,7 +33,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.integration.service.IntegrationService; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; @@ -70,7 +70,7 @@ HttpServletResponse response) throws IOException, ServletException { ActivityMapping actionMappings = LearningWebUtil.getActivityMapping(this.getServlet().getServletContext()); - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); Integer learnerId = LearningWebUtil.getUserId(); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayActivityAction.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayActivityAction.java (.../DisplayActivityAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayActivityAction.java (.../DisplayActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -33,7 +33,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; @@ -48,20 +48,6 @@ * * Request values: lessonID (mandatory), InitialDisplay (optional - Set to "true" for normal display, set to "false" * when you want it to assume it is inside parallel frameset. Defaults to true). - * - * XDoclet definition: - * - * - * - * - * - * - * - * - * - * - * - * */ public class DisplayActivityAction extends ActivityAction { @@ -81,7 +67,7 @@ @Override public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException { - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); // UI can only send the lessonID as that is all it has... Integer learnerId = LearningWebUtil.getUserId(); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -35,7 +35,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.web.form.OptionsActivityForm; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; @@ -50,14 +50,6 @@ * Action class to display an OptionsActivity. * * @author daveg - * - * XDoclet definition: - * - * - * - * - * - * */ public class DisplayOptionsActivityAction extends ActivityAction { @@ -71,7 +63,7 @@ OptionsActivityForm form = (OptionsActivityForm) actionForm; ActivityMapping actionMappings = LearningWebUtil.getActivityMapping(this.getServlet().getServletContext()); - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); if (!(activity instanceof OptionsActivity)) { Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayParallelActivityAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayParallelActivityAction.java (.../DisplayParallelActivityAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayParallelActivityAction.java (.../DisplayParallelActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -34,7 +34,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.form.ActivityForm; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; @@ -48,13 +48,7 @@ /** * Action class to display a ParallelActivity. * - * XDoclet definition: - * * @author daveg - * - * - * - * */ public class DisplayParallelActivityAction extends ActivityAction { @@ -66,7 +60,7 @@ HttpServletResponse response) { ActivityForm form = (ActivityForm) actionForm; - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); ActivityMapping actionMappings = LearnerServiceProxy.getActivityMapping(this.getServlet().getServletContext()); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java (.../DisplayToolActivityAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java (.../DisplayToolActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -30,7 +30,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.learningdesign.Activity; @@ -42,11 +42,6 @@ * Action class to forward the user to a Tool. * * @author daveg - * - * XDoclet definition: - * - * - * */ public class DisplayToolActivityAction extends ActivityAction { @@ -59,7 +54,7 @@ //ActivityForm form = (ActivityForm)actionForm; ActivityMapping actionMappings = LearningWebUtil.getActivityMapping(this.getServlet().getServletContext()); - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GateAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GateAction.java (.../GateAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GateAction.java (.../GateAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -37,7 +37,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; @@ -122,7 +122,7 @@ Long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); // initialize service object - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Activity activity = learnerService.getActivity(activityId); ActivityMapping actionMappings = LearningWebUtil.getActivityMapping(this.getServlet().getServletContext()); @@ -188,7 +188,7 @@ // so it is in seconds gateForm.set("startOffset", scheduleGate.getGateStartTimeOffset() * 60); - ICoreLearnerService learnerService = LearnerServiceProxy + ILearnerFullService learnerService = LearnerServiceProxy .getLearnerService(getServlet().getServletContext()); User learner = LearningWebUtil.getUser(learnerService); Date reachTime = ScheduleGateActivityStrategy.getPreviousActivityCompletionDate(scheduleGate, learner); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -38,7 +38,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; @@ -118,7 +118,7 @@ boolean forceGroup = WebUtil.readBooleanParam(request, GroupingAction.PARAM_FORCE_GROUPING, false); // initialize service object - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); if (!(activity instanceof GroupingActivity)) { @@ -186,7 +186,7 @@ // make sure the lesson id is always in the request for the progress bar. if (request.getAttribute(AttributeNames.PARAM_LESSON_ID) == null) { if (learnerProgress == null) { - ICoreLearnerService learnerService = LearnerServiceProxy + ILearnerFullService learnerService = LearnerServiceProxy .getLearnerService(getServlet().getServletContext()); learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService); } @@ -209,7 +209,7 @@ public ActionForward completeActivity(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // initialize service object - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); LearnerProgress progress = LearningWebUtil.getLearnerProgress(request, learnerService); Activity groupingActivity = LearningWebUtil.getActivityFromRequest(request, learnerService); Integer learnerId = LearningWebUtil.getUserId(); @@ -228,7 +228,7 @@ @SuppressWarnings("unchecked") private void prepareGroupData(HttpServletRequest request) { - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); SortedSet groups = new TreeSet(new GroupComparator()); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); @@ -264,7 +264,7 @@ */ public ActionForward learnerChooseGroup(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); Long groupId = WebUtil.readLongParam(request, "groupId"); LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -43,7 +43,7 @@ import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.lams.gradebook.service.IGradebookService; import org.lamsfoundation.lams.learning.presence.PresenceWebsocketServer; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; @@ -141,7 +141,7 @@ public ActionForward joinLesson(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // initialize service object - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Integer learner = null; try { @@ -198,7 +198,7 @@ HttpServletResponse response) throws IOException, ServletException { // fetch necessary parameters long lessonID = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID); - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); User user = LearningWebUtil.getUser(learnerService); Integer userID = user.getUserId(); @@ -274,7 +274,7 @@ responseJSON.put("messages", getProgressBarMessages()); - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Object[] ret = learnerService.getStructuredActivityURLs(learnerId, lessonId); if (ret == null) { response.setStatus(HttpServletResponse.SC_NO_CONTENT); @@ -316,7 +316,7 @@ */ public ActionForward forceMoveRedirect(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Long fromActivityId = WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_ACTIVITY_ID, true); Long toActivityId = WebUtil.readLongParam(request, AttributeNames.PARAM_DEST_ACTIVITY_ID, true); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java (.../LoadToolActivityAction.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java (.../LoadToolActivityAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -32,7 +32,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.form.ActivityForm; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; @@ -47,14 +47,6 @@ * Action class to forward the user to a Tool using an intermediate loading page. Can handle regular tools + grouping * and gates (system tools). Displays the activity that is in the request. This allows it to show any arbitrary * activity, not just the current activity. - * - * XDoclet definition: - * - * - * - * - * - * */ public class LoadToolActivityAction extends ActivityAction { @@ -73,7 +65,7 @@ ActivityForm form = (ActivityForm) actionForm; ActivityMapping actionMappings = LearnerServiceProxy.getActivityMapping(this.getServlet().getServletContext()); - ICoreLearnerService learnerService = getLearnerService(); + ILearnerFullService learnerService = getLearnerService(); LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService); Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/NotebookAction.java =================================================================== diff -u -rb3c871874679a1d784db0d7dfac2fdabe65baf83 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/NotebookAction.java (.../NotebookAction.java) (revision b3c871874679a1d784db0d7dfac2fdabe65baf83) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/NotebookAction.java (.../NotebookAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -35,7 +35,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.lesson.Lesson; @@ -114,7 +114,7 @@ .findById(User.class, userID); // lesson service - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Long lessonID = (Long) notebookForm.get(AttributeNames.PARAM_LESSON_ID); Lesson lesson = learnerService.getLesson(lessonID); @@ -192,7 +192,7 @@ if ( entry.getUser() != null && ! entry.getUser().getUserId().equals(user.getUserId()) ) { // wants to look at someone else's entry - check they are a teacher - ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerFullService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); Lesson lesson = learnerService.getLesson(currentLessonID); if ( ! hasStaffAccessToJournals(user, lesson) ) { throw new UserAccessDeniedException( Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/RepopulateProgressMarksServlet.java =================================================================== diff -u -r34815c1edfbbd510266420e5cfaf4baf290e9a1e -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/RepopulateProgressMarksServlet.java (.../RepopulateProgressMarksServlet.java) (revision 34815c1edfbbd510266420e5cfaf4baf290e9a1e) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/servlet/RepopulateProgressMarksServlet.java (.../RepopulateProgressMarksServlet.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -26,8 +26,6 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Date; -import java.util.Map; import java.util.Set; import javax.servlet.ServletException; @@ -37,34 +35,22 @@ import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; -import org.hibernate.SessionFactory; -import org.lamsfoundation.lams.gradebook.service.IGradebookService; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ComplexActivity; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.LearningDesignProcessor; import org.lamsfoundation.lams.learningdesign.SimpleActivity; -import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; import org.lamsfoundation.lams.learningdesign.exception.LearningDesignProcessorException; -import org.lamsfoundation.lams.lesson.CompletedActivityProgress; import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; -import org.lamsfoundation.lams.lesson.dao.ILearnerProgressDAO; import org.lamsfoundation.lams.lesson.service.ILessonService; -import org.lamsfoundation.lams.tool.Tool; -import org.lamsfoundation.lams.tool.ToolCompletionStatus; -import org.lamsfoundation.lams.tool.ToolSession; -import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; -import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.util.audit.IAuditService; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.orm.hibernate4.SessionHolder; -import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -75,14 +61,14 @@ private static IAuditService auditService; private static ILessonService lessonService; - private static ICoreLearnerService learnerService; + private static ILearnerFullService learnerService; @Override public void init() throws ServletException { WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext()); - RepopulateProgressMarksServlet.auditService = (IAuditService) ctx.getBean("auditService"); - RepopulateProgressMarksServlet.lessonService = (ILessonService) ctx.getBean("lessonService"); - RepopulateProgressMarksServlet.learnerService = (ICoreLearnerService) ctx.getBean("learnerService"); + auditService = (IAuditService) ctx.getBean("auditService"); + lessonService = (ILessonService) ctx.getBean("lessonService"); + learnerService = (ILearnerFullService) ctx.getBean("learnerService"); } @Override Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java =================================================================== diff -u -rfd1c6c450376476c752e6be5cb6048a2e370bd42 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision fd1c6c450376476c752e6be5cb6048a2e370bd42) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -32,7 +32,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ForwardingActionForward; import org.apache.struts.action.RedirectingActionForward; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learning.web.action.DisplayActivityAction; import org.lamsfoundation.lams.learningdesign.Activity; @@ -113,7 +113,7 @@ * @throws UnsupportedEncodingException */ public ActionForward getProgressForward(LearnerProgress progress, boolean redirect, boolean displayParallelFrames, - HttpServletRequest request, ICoreLearnerService learnerService) throws UnsupportedEncodingException { + HttpServletRequest request, ILearnerFullService learnerService) throws UnsupportedEncodingException { ActionForward actionForward = null; if (progress.isComplete()) { Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java =================================================================== diff -u -r24e3879be322523d08055711ab6fa8968047782b -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision 24e3879be322523d08055711ab6fa8968047782b) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -32,7 +32,7 @@ import org.apache.log4j.Logger; import org.apache.struts.action.ActionForward; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learningdesign.Activity; @@ -52,8 +52,6 @@ * * @author Jacky Fang * @since 2005-3-10 - * @version - * */ public class LearningWebUtil { @@ -77,7 +75,7 @@ * Helper method to retrieve the user data. Gets the id from the user details in the shared session then retrieves * the real user object. */ - public static User getUser(ICoreLearnerService learnerService) { + public static User getUser(ILearnerFullService learnerService) { HttpSession ss = SessionManager.getSession(); UserDTO learner = (UserDTO) ss.getAttribute(AttributeNames.USER); return learner != null @@ -93,7 +91,7 @@ * If the learner progress id isn't available, then we have to look it up using activity based on the activity / * activity id in the request. */ - public static LearnerProgress getLearnerProgress(HttpServletRequest request, ICoreLearnerService learnerService) { + public static LearnerProgress getLearnerProgress(HttpServletRequest request, ILearnerFullService learnerService) { LearnerProgress learnerProgress = null; Long learnerProgressId = WebUtil.readLongParam(request, AttributeNames.PARAM_LEARNER_PROGRESS_ID, true); @@ -123,7 +121,7 @@ * @param request * @return */ - public static Activity getActivityFromRequest(HttpServletRequest request, ICoreLearnerService learnerService) { + public static Activity getActivityFromRequest(HttpServletRequest request, ILearnerFullService learnerService) { long activityId = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID); Activity activity = learnerService.getActivity(new Long(activityId)); return activity; @@ -144,7 +142,7 @@ */ public static ActionForward completeActivity(HttpServletRequest request, HttpServletResponse response, ActivityMapping actionMappings, LearnerProgress progress, Activity currentActivity, Integer learnerId, - ICoreLearnerService learnerService, boolean redirect) + ILearnerFullService learnerService, boolean redirect) throws LearnerServiceException, UnsupportedEncodingException { Lesson lesson = progress.getLesson(); @@ -209,7 +207,7 @@ public static ActivityPositionDTO putActivityPositionInRequest(Long activityId, HttpServletRequest request, ServletContext context) { WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(context); - ILearnerService learnerService = (ILearnerService) wac.getBean("learnerService"); + ILearnerFullService learnerService = (ILearnerFullService) wac.getBean("learnerService"); if (learnerService == null) { LearningWebUtil.log.warn("Can not set activity position, no Learner service in servlet context."); return null; Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rf4502360cd44d86d57b095aea5aef7ce663c8b61 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision f4502360cd44d86d57b095aea5aef7ce663c8b61) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -53,7 +53,7 @@ import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.events.EmailNotificationArchive; import org.lamsfoundation.lams.events.dao.EventDAO; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.BranchActivityEntry; import org.lamsfoundation.lams.learningdesign.BranchCondition; @@ -142,7 +142,7 @@ * @since 2/02/2005 * @version 1.1 */ -public class MonitoringService implements IMonitoringService { +public class MonitoringService implements IMonitoringFullService { // --------------------------------------------------------------------- // Instance variables @@ -176,7 +176,7 @@ private IAuthoringService authoringService; - private ICoreLearnerService learnerService; + private ILearnerService learnerService; private ILessonService lessonService; @@ -250,7 +250,7 @@ * * @param learnerService */ - public void setLearnerService(ICoreLearnerService learnerService) { + public void setLearnerService(ILearnerService learnerService) { this.learnerService = learnerService; } @@ -1774,11 +1774,10 @@ break; case MonitoringConstants.COURSE_TYPE_HAVENT_STARTED_ANY_LESSONS: - List allUSers = learnerService.getUserManagementService().getUsersFromOrganisation(orgId); + List allUSers = userManagementService.getUsersFromOrganisation(orgId); Set usersStartedAtLest1Lesson = new TreeSet(); - Organisation org = (Organisation) learnerService.getUserManagementService().findById(Organisation.class, - orgId); + Organisation org = getOrganisation(orgId); Set lessons = org.getLessons(); for (Lesson les : lessons) { Activity firstActivity = les.getLearningDesign().getFirstActivity(); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java =================================================================== diff -u -r3399163940c61c9132223c758d274486e57ff9b7 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java (.../MonitoringServiceProxy.java) (revision 3399163940c61c9132223c758d274486e57ff9b7) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java (.../MonitoringServiceProxy.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -27,7 +27,7 @@ import javax.servlet.ServletContext; import org.lamsfoundation.lams.authoring.service.IAuthoringService; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.springframework.web.context.WebApplicationContext; @@ -67,8 +67,8 @@ * the servletContext for current application * @return learner service object. */ - public static final ICoreLearnerService getLearnerService(ServletContext servletContext) { - return (ICoreLearnerService) MonitoringServiceProxy.getDomainService(servletContext, "learnerService"); + public static final ILearnerService getLearnerService(ServletContext servletContext) { + return (ILearnerService) MonitoringServiceProxy.getDomainService(servletContext, "learnerService"); } public static final IUserManagementService getUserManagementService(ServletContext servletContext) { Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java =================================================================== diff -u -r001b71e1b6da336c4adb6376c31ba95d4ace7b28 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java (.../EmailNotificationsAction.java) (revision 001b71e1b6da336c4adb6376c31ba95d4ace7b28) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java (.../EmailNotificationsAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -52,7 +52,7 @@ import org.lamsfoundation.lams.events.EmailNotificationArchive; import org.lamsfoundation.lams.events.IEventNotificationService; import org.lamsfoundation.lams.gradebook.util.GradebookConstants; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.util.LessonComparator; @@ -127,7 +127,7 @@ return null; } - ICoreLearnerService learnerService = MonitoringServiceProxy.getLearnerService(getServlet().getServletContext()); + ILearnerService learnerService = MonitoringServiceProxy.getLearnerService(getServlet().getServletContext()); Lesson lesson = learnerService.getLesson(lessonId); if (!lesson.getEnableLessonNotifications()) { getAuditService().log(MonitoringConstants.MONITORING_MODULE_NAME, @@ -156,10 +156,10 @@ return null; } - ICoreLearnerService learnerService = MonitoringServiceProxy.getLearnerService(getServlet().getServletContext()); + IMonitoringService monitoringService = MonitoringServiceProxy.getMonitoringService(getServlet().getServletContext()); // getting the organisation - Organisation org = (Organisation) learnerService.getUserManagementService().findById(Organisation.class, orgId); + Organisation org = monitoringService.getOrganisation(orgId); // sort and filter lesson list Set lessons = new TreeSet(new LessonComparator()); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java =================================================================== diff -u -r225d293907a5e2976e367ee3aa790239bad38699 -rcad6ecebe29a61651bdf8c7500a6a17471c65970 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision 225d293907a5e2976e367ee3aa790239bad38699) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision cad6ecebe29a61651bdf8c7500a6a17471c65970) @@ -46,7 +46,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; -import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.ScheduleGateActivity; @@ -80,15 +80,6 @@ * * @author Jacky Fang * @since 2005-4-15 - * @version 1.1 - * - * - * - * - * - * - * - * */ public class GateAction extends LamsDispatchAction { // --------------------------------------------------------------------- @@ -97,7 +88,7 @@ // private static Logger log = Logger.getLogger(GateAction.class); private IMonitoringService monitoringService; - private ICoreLearnerService learnerService; + private ILearnerService learnerService; private ILessonService lessonService; // --------------------------------------------------------------------- // Class level constants - Struts forward