Index: lams_common/src/java/org/lamsfoundation/lams/tool/GroupedToolSession.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -ra8055d3709a546b47686e6e42c417ec223dff996 --- lams_common/src/java/org/lamsfoundation/lams/tool/GroupedToolSession.java (.../GroupedToolSession.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/GroupedToolSession.java (.../GroupedToolSession.java) (revision a8055d3709a546b47686e6e42c417ec223dff996) @@ -24,10 +24,13 @@ package org.lamsfoundation.lams.tool; import java.util.Date; +import java.util.HashSet; +import java.util.Set; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.usermanagement.User; /** @@ -76,4 +79,14 @@ public void setSessionGroup(Group sessionGroup) { this.sessionGroup = sessionGroup; } + + /** Get all the learners who may be part of this tool session. */ + public Set getLearners() { + HashSet users = new HashSet(); + if ( sessionGroup != null ) { + users.addAll(sessionGroup.getUsers()); + } + return users; + } + } Index: lams_common/src/java/org/lamsfoundation/lams/tool/NonGroupedToolSession.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -ra8055d3709a546b47686e6e42c417ec223dff996 --- lams_common/src/java/org/lamsfoundation/lams/tool/NonGroupedToolSession.java (.../NonGroupedToolSession.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/NonGroupedToolSession.java (.../NonGroupedToolSession.java) (revision a8055d3709a546b47686e6e42c417ec223dff996) @@ -24,6 +24,8 @@ package org.lamsfoundation.lams.tool; import java.util.Date; +import java.util.HashSet; +import java.util.Set; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.lesson.Lesson; @@ -69,4 +71,14 @@ public void setUser(User user) { this.user = user; } + + /** Get all the learners who may be part of this tool session. */ + public Set getLearners() { + HashSet users = new HashSet(); + if ( user != null ) { + users.add(user); + } + return users; + } + } Index: lams_common/src/java/org/lamsfoundation/lams/tool/ToolSession.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -ra8055d3709a546b47686e6e42c417ec223dff996 --- lams_common/src/java/org/lamsfoundation/lams/tool/ToolSession.java (.../ToolSession.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/ToolSession.java (.../ToolSession.java) (revision a8055d3709a546b47686e6e42c417ec223dff996) @@ -23,14 +23,16 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool; -import org.lamsfoundation.lams.learningdesign.ToolActivity; -import org.lamsfoundation.lams.lesson.Lesson; - import java.io.Serializable; import java.util.Date; +import java.util.Set; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; +import org.lamsfoundation.lams.learningdesign.ToolActivity; +import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.usermanagement.User; /** @@ -70,6 +72,9 @@ private Lesson lesson; + /** Get all the learners who may be part of this tool session. */ + public abstract Set getLearners(); + /** full constructor */ public ToolSession(Long toolSessionId, ToolActivity toolActivity, Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -ra8055d3709a546b47686e6e42c417ec223dff996 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision a8055d3709a546b47686e6e42c417ec223dff996) @@ -22,10 +22,11 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool.service; -import java.util.List; +import java.util.Set; import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; +import org.lamsfoundation.lams.usermanagement.User; /** @@ -49,7 +50,7 @@ * @return a List of all the Learners who are scheduled to use the content. * @exception in case of any problems. */ - public List getAllPotentialLearners(long toolContentID) throws LamsToolServiceException; + public Set getAllPotentialLearners(long toolSessionID) throws LamsToolServiceException; public IToolVO getToolBySignature(final String toolSignature); Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -ra8055d3709a546b47686e6e42c417ec223dff996 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision a8055d3709a546b47686e6e42c417ec223dff996) @@ -23,12 +23,17 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool.service; -import java.util.List; +import java.util.HashSet; +import java.util.Set; +import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.Tool; +import org.lamsfoundation.lams.tool.ToolSession; import org.lamsfoundation.lams.tool.dao.IToolDAO; +import org.lamsfoundation.lams.tool.dao.IToolSessionDAO; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; +import org.lamsfoundation.lams.usermanagement.User; /** @@ -42,14 +47,24 @@ */ public class LamsToolService implements ILamsToolService { + private static Logger log = Logger.getLogger(LamsToolService.class); + public IToolDAO toolDAO; + public IToolSessionDAO toolSessionDAO; + /** - * TODO Implement me! * @see org.lamsfoundation.lams.tool.service.ILamsCoreToolService#getAllPotentialLearners(long) */ - public List getAllPotentialLearners(long toolContentID) throws LamsToolServiceException + public Set getAllPotentialLearners(long toolSessionId) throws LamsToolServiceException { - return null; + + ToolSession session = toolSessionDAO.getToolSession(toolSessionId); + if ( session != null ) { + return session.getLearners(); + } else { + log.error("No tool session found for "+toolSessionId+". No potential learners being returned."); + return new HashSet(); + } } public IToolVO getToolBySignature(final String toolSignature) @@ -75,4 +90,12 @@ public void setToolDAO(IToolDAO toolDAO) { this.toolDAO = toolDAO; } + + public IToolSessionDAO getToolSessionDAO() { + return toolSessionDAO; + } + + public void setToolSessionDAO(IToolSessionDAO toolSessionDAO) { + this.toolSessionDAO = toolSessionDAO; + } }