Index: lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java =================================================================== diff -u -r84a82bbd94bae1c8d2ae196805f033712b726711 -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java (.../IndexUtils.java) (revision 84a82bbd94bae1c8d2ae196805f033712b726711) +++ lams_central/src/java/org/lamsfoundation/lams/util/IndexUtils.java (.../IndexUtils.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u -r89403052c08187d7d7c341b07b21529411e2cef6 -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java (.../DisplayGroupAction.java) (revision 89403052c08187d7d7c341b07b21529411e2cef6) +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java (.../DisplayGroupAction.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u -rbac4acc8d0726e9e6ef6e2b50e388c6511e3d888 -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java (.../IndexAction.java) (revision bac4acc8d0726e9e6ef6e2b50e388c6511e3d888) +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java (.../IndexAction.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 e76fd654d97033acef2c7bbe4c0def48e37f79f3 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 e76fd654d97033acef2c7bbe4c0def48e37f79f3 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 e76fd654d97033acef2c7bbe4c0def48e37f79f3 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 =================================================================== diff -u -r84a82bbd94bae1c8d2ae196805f033712b726711 -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java (.../ProfileAction.java) (revision 84a82bbd94bae1c8d2ae196805f033712b726711) +++ lams_central/src/java/org/lamsfoundation/lams/web/ProfileAction.java (.../ProfileAction.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/index/IndexLessonBean.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexLessonBean.java (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/index/IndexLinkBean.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexLinkBean.java (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/index/IndexOrgBean.java (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u -r240222cfb186fccf09aaac380409fb256d3d613d -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java (.../ILessonService.java) (revision 240222cfb186fccf09aaac380409fb256d3d613d) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java (.../ILessonService.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u -r240222cfb186fccf09aaac380409fb256d3d613d -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java (.../LessonService.java) (revision 240222cfb186fccf09aaac380409fb256d3d613d) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java (.../LessonService.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u -r89403052c08187d7d7c341b07b21529411e2cef6 -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java (.../ICoreLearnerService.java) (revision 89403052c08187d7d7c341b07b21529411e2cef6) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java (.../ICoreLearnerService.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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 =================================================================== diff -u -r89403052c08187d7d7c341b07b21529411e2cef6 -re76fd654d97033acef2c7bbe4c0def48e37f79f3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 89403052c08187d7d7c341b07b21529411e2cef6) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision e76fd654d97033acef2c7bbe4c0def48e37f79f3) @@ -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; - } }