Index: lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java,v diff -u -r1.1 -r1.2 --- lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java 4 Jan 2008 04:41:07 -0000 1.1 +++ lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java 8 Jan 2008 07:02:32 -0000 1.2 @@ -28,7 +28,7 @@ import java.util.List; import java.util.Map; -import org.lamsfoundation.lams.web.IndexLessonBean; +import org.lamsfoundation.lams.index.IndexLessonBean; /** * @author jliew Index: lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java,v diff -u -r1.8 -r1.9 --- lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java 8 Jan 2008 06:03:41 -0000 1.8 +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java 8 Jan 2008 07:02:32 -0000 1.9 @@ -40,8 +40,11 @@ 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.index.IndexLessonBean; +import org.lamsfoundation.lams.index.IndexLinkBean; +import org.lamsfoundation.lams.index.IndexOrgBean; import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.lesson.service.LessonService; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationState; import org.lamsfoundation.lams.usermanagement.OrganisationType; @@ -66,7 +69,7 @@ private static Logger log = Logger.getLogger(DisplayGroupAction.class); private static IUserManagementService service; - private static ICoreLearnerService learnerService; + private static LessonService lessonService; private Integer stateId = OrganisationState.ACTIVE; @SuppressWarnings({"unchecked"}) @@ -204,7 +207,7 @@ throws SQLException, NamingException { // iterate through user's lessons where they are learner - Map map = getLearnerService().getLessonsByOrgAndUserWithCompletedFlag(userId, orgId, false); + Map map = getLessonService().getLessonsByOrgAndUserWithCompletedFlag(userId, orgId, false); for (IndexLessonBean bean : map.values()) { List lessonLinks = new ArrayList(); String url = null; @@ -229,7 +232,7 @@ } // iterate through user's lessons where they are staff, and add staff links to the beans in the map. - Map staffMap = getLearnerService().getLessonsByOrgAndUserWithCompletedFlag(userId, orgId, true); + Map staffMap = getLessonService().getLessonsByOrgAndUserWithCompletedFlag(userId, orgId, true); for (IndexLessonBean bean : staffMap.values()) { if (map.containsKey(bean.getId())) { bean = map.get(bean.getId()); @@ -270,12 +273,12 @@ return service; } - private ICoreLearnerService getLearnerService(){ - if(learnerService==null){ + private LessonService getLessonService(){ + if(lessonService==null){ WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - learnerService = (ICoreLearnerService) ctx.getBean("learnerService"); + lessonService = (LessonService) ctx.getBean("lessonService"); } - return learnerService; + return lessonService; } } \ No newline at end of file Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java,v diff -u -r1.41 -r1.42 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 6 Dec 2007 01:59:01 -0000 1.41 +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java 8 Jan 2008 07:02:32 -0000 1.42 @@ -34,6 +34,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.index.IndexLinkBean; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; Fisheye: Tag 1.10 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/IndexLessonBean.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.4 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/IndexLinkBean.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.8 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/IndexOrgBean.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java,v diff -u -r1.13 -r1.14 --- lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java 4 Jan 2008 04:41:08 -0000 1.13 +++ lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java 8 Jan 2008 07:02:32 -0000 1.14 @@ -37,6 +37,8 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; 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.lesson.dto.LessonDTO; import org.lamsfoundation.lams.usermanagement.Organisation; Index: lams_common/src/java/org/lamsfoundation/lams/index/IndexLessonBean.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/index/IndexLessonBean.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexLessonBean.java 8 Jan 2008 07:02:33 -0000 1.1 @@ -0,0 +1,126 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +package org.lamsfoundation.lams.index; + +import java.util.List; + +/** + * @version + * + *

+ * View Source + *

+ * + * @author Fei Yang + * + * Created at 10:13:43 on 14/06/2006 + */ +public class IndexLessonBean implements Comparable{ + private Long id; + private String name; + private String description; + private String url; + private Integer state; + private boolean completed; + private List links; + + public IndexLessonBean(String name, String url) { + this.name = name; + this.url = url; + } + + public IndexLessonBean(Long id, String name, String description, Integer state, boolean completed) { + this.id = id; + this.name = name; + this.description = description; + this.state = state; + this.completed = completed; + } + + public IndexLessonBean(Long id, String name, String description, String url, Integer state, boolean completed, List links) { + this.id = id; + this.name = name; + this.description = description; + this.url = url; + this.state = state; + this.completed = completed; + this.links = links; + } + /** + * @return Returns the links. + */ + public List getLinks() { + return links; + } + /** + * @param links The links to set. + */ + public void setLinks(List links) { + this.links = links; + } + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + /** + * @return Returns the name. + */ + public String getName() { + return name; + } + /** + * @param name The name to set. + */ + public void setName(String name) { + this.name = name; + } + public int compareTo(Object o) { + return name.compareTo(((IndexLessonBean)o).getName()); + } + public String getDescription() { + return description; + } + public void setDescription(String description) { + this.description = description; + } + public String getUrl() { + return url; + } + public void setUrl(String url) { + this.url = url; + } + public Integer getState() { + return state; + } + public void setState(Integer state) { + this.state = state; + } + public boolean getCompleted() { + return completed; + } + public void setCompleted(boolean completed) { + this.completed = completed; + } +} Index: lams_common/src/java/org/lamsfoundation/lams/index/IndexLinkBean.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/index/IndexLinkBean.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexLinkBean.java 8 Jan 2008 07:02:33 -0000 1.1 @@ -0,0 +1,86 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +package org.lamsfoundation.lams.index; + +/** + * @version + * + *

+ * View Source + *

+ * + * @author Fei Yang + * + * Created at 10:12:09 on 14/06/2006 + */ +public class IndexLinkBean { + + private String name; + private String url; + private String style; + + public IndexLinkBean(String name, String url, String style) { + super(); + this.name = name; + this.url = url; + this.style = style; + } + + public IndexLinkBean(String name, String url) { + this.name = name; + this.url = url; + } + /** + * @return Returns the name. + */ + public String getName() { + return name; + } + /** + * @param name The name to set. + */ + public void setName(String name) { + this.name = name; + } + /** + * @return Returns the url. + */ + public String getUrl() { + return url; + } + /** + * @param url The url to set. + */ + public void setUrl(String url) { + this.url = url; + } + + public String getStyle() { + return style; + } + + public void setStyle(String style) { + this.style = style; + } + +} Index: lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java 8 Jan 2008 07:02:33 -0000 1.1 @@ -0,0 +1,167 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +package org.lamsfoundation.lams.index; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.apache.commons.lang.builder.EqualsBuilder; + +/** + * @version + * + *

+ * View Source + *

+ * + * @author Fei Yang + * + * Created at 10:01:23 on 14/06/2006 + */ +public class IndexOrgBean implements Comparable { + + private Integer id; + private String name; + private Date archivedDate; + private Integer type; + private List links; + private List lessons; + private List childIndexOrgBeans; + + + public IndexOrgBean(Integer id, String name, Integer type) { + this.id = id; + this.name = name; + this.type = type; + this.links = new ArrayList(); + this.lessons = new ArrayList(); + this.childIndexOrgBeans = new ArrayList(); + } + /** + * @return Returns the childIndexOrgBeans. + */ + public List getChildIndexOrgBeans() { + return childIndexOrgBeans; + } + /** + * @param childIndexOrgBeans The childIndexOrgBeans to set. + */ + public void setChildIndexOrgBeans(List childIndexOrgBeans) { + this.childIndexOrgBeans = childIndexOrgBeans; + } + /** + * @return Returns the lessons. + */ + public List getLessons() { + return lessons; + } + /** + * @param lessons The lessons to set. + */ + public void setLessons(List lessons) { + this.lessons = lessons; + } + /** + * @return Returns the links. + */ + public List getLinks() { + return links; + } + /** + * @param links The links to set. + */ + public void setLinks(List links) { + this.links = links; + } + /** + * @return Returns the id. + */ + public Integer getId() { + return id; + } + /** + * @param id The id to set. + */ + public void setId(Integer id) { + this.id = id; + } + /** + * @return Returns the name. + */ + public String getName() { + return name; + } + /** + * @param name The name to set. + */ + public void setName(String name) { + this.name = name; + } + /** + * @return Returns the type. + */ + public Integer getType() { + return type; + } + /** + * @param type The type to set. + */ + public void setType(Integer type) { + this.type = type; + } + /** + * @return Returns the archived date. + */ + public Date getArchivedDate() { + return archivedDate; + } + /** + * @param type The archived date to set. + */ + public void setArchivedDate(Date archivedDate) { + this.archivedDate = archivedDate; + } + + public int compareTo(Object indexOrgBean){ + IndexOrgBean b = (IndexOrgBean)indexOrgBean; + return name.compareTo(b.getName()); + } + + public boolean equals(Object other) { + if ( !(other instanceof IndexOrgBean) ) return false; + IndexOrgBean castOther = (IndexOrgBean) other; + return new EqualsBuilder() + .append(this.getId(), castOther.getId()) + .isEquals(); + } + + public void addLesson(IndexLessonBean lesson) { + lessons.add(lesson); + } + + public void addChildOrgBean(IndexOrgBean orgBean) { + childIndexOrgBeans.add(orgBean); + } + +} Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java,v diff -u -r1.16 -r1.17 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java 10 Oct 2007 07:14:16 -0000 1.16 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java 8 Jan 2008 07:02:33 -0000 1.17 @@ -26,7 +26,9 @@ import java.util.Collection; import java.util.List; +import java.util.Map; +import org.lamsfoundation.lams.index.IndexLessonBean; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.Grouping; @@ -256,4 +258,13 @@ * system activities such as branching. */ public Integer getCountLearnersHaveCompletedActivity(Activity activity) throws LessonServiceException; + + /** + * Returns map of lessons in an organisation for a particular learner or staff user. + * @param userId user's id + * @param orgId org's id + * @param isStaff return lessons where user is staff, or where user is learner + * @return map of lesson beans used in the index page + */ + public Map getLessonsByOrgAndUserWithCompletedFlag(Integer userId, Integer orgId, boolean isStaff); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java,v diff -u -r1.21 -r1.22 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java 10 Oct 2007 07:14:17 -0000 1.21 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java 8 Jan 2008 07:02:33 -0000 1.22 @@ -25,13 +25,16 @@ package org.lamsfoundation.lams.lesson.service; import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import org.apache.log4j.Logger; import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.index.IndexLessonBean; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.Grouper; @@ -47,8 +50,6 @@ import org.lamsfoundation.lams.lesson.dao.ILessonDAO; import org.lamsfoundation.lams.lesson.dto.LessonDTO; import org.lamsfoundation.lams.lesson.dto.LessonDetailsDTO; -import org.lamsfoundation.lams.tool.ToolSession; -import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.util.MessageService; @@ -637,4 +638,27 @@ public Integer getCountLearnersHaveCompletedActivity(Activity activity) throws LessonServiceException { return learnerProgressDAO.getNumUsersCompletedActivity(activity); } + + public Map getLessonsByOrgAndUserWithCompletedFlag(Integer userId, Integer orgId, boolean isStaff) { + HashMap map = new HashMap(); + List list = this.lessonDAO.getLessonsByOrgAndUserWithCompletedFlag(userId, orgId, isStaff); + if (list != null) { + Iterator iterator = list.iterator(); + while (iterator.hasNext()) { + Object[] tuple = (Object[])iterator.next(); + Long lessonId = (Long)tuple[0]; + String lessonName = (String)tuple[1]; + String lessonDescription = (String)tuple[2]; + Integer lessonState = (Integer)tuple[3]; + Boolean lessonCompleted = (Boolean)tuple[4]; + IndexLessonBean bean = new IndexLessonBean( + lessonId, lessonName, lessonDescription, lessonState, ( + lessonCompleted == null ? false : lessonCompleted.booleanValue() + ) + ); + map.put(new Long(lessonId), bean); + } + } + return map; + } } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java,v diff -u -r1.11 -r1.12 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java 8 Jan 2008 06:03:42 -0000 1.11 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java 8 Jan 2008 07:02:34 -0000 1.12 @@ -25,7 +25,6 @@ package org.lamsfoundation.lams.learning.service; import java.util.List; -import java.util.Map; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.BranchingActivity; @@ -39,7 +38,6 @@ import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; -import org.lamsfoundation.lams.web.IndexLessonBean; /** * * All Learner service methods that are available within the core. These methods may require @@ -280,13 +278,4 @@ * @throws LearnerServiceException */ public SequenceActivity selectBranch(Lesson lesson, BranchingActivity branchingActivity, Integer learnerId, Long branchId) throws LearnerServiceException; - - /** - * Returns map of lessons in an organisation for a particular learner or staff user. - * @param userId user's id - * @param orgId org's id - * @param isStaff return lessons where user is staff, or where user is learner - * @return map of lesson beans used in the index page - */ - public Map getLessonsByOrgAndUserWithCompletedFlag(Integer userId, Integer orgId, boolean isStaff); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java,v diff -u -r1.72 -r1.73 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 8 Jan 2008 06:03:42 -0000 1.72 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 8 Jan 2008 07:02:34 -0000 1.73 @@ -68,7 +68,6 @@ import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; -import org.lamsfoundation.lams.web.IndexLessonBean; /** * This class is a facade over the Learning middle tier. * @author chris, Jacky Fang @@ -940,30 +939,5 @@ public void setProgressEngine(ProgressEngine progressEngine) { this.progressEngine = progressEngine; } - - - public Map getLessonsByOrgAndUserWithCompletedFlag(Integer userId, Integer orgId, boolean isStaff) - { - HashMap map = new HashMap(); - List list = this.lessonDAO.getLessonsByOrgAndUserWithCompletedFlag(userId, orgId, isStaff); - if (list != null) { - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - Object[] tuple = (Object[])iterator.next(); - Long lessonId = (Long)tuple[0]; - String lessonName = (String)tuple[1]; - String lessonDescription = (String)tuple[2]; - Integer lessonState = (Integer)tuple[3]; - Boolean lessonCompleted = (Boolean)tuple[4]; - IndexLessonBean bean = new IndexLessonBean( - lessonId, lessonName, lessonDescription, lessonState, ( - lessonCompleted == null ? false : lessonCompleted.booleanValue() - ) - ); - map.put(new Long(lessonId), bean); - } - } - return map; - } }