Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rd1a98424aa3c52686aef4076dc258b905ac96870 -r320bc5b2ac74965748f2a03e31b3a3c6c6c547fd Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java =================================================================== diff -u -r0ad005fccfb4565f26a51ccd1bb1c24d0666aa6e -r320bc5b2ac74965748f2a03e31b3a3c6c6c547fd --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 0ad005fccfb4565f26a51ccd1bb1c24d0666aa6e) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 320bc5b2ac74965748f2a03e31b3a3c6c6c547fd) @@ -102,6 +102,15 @@ * @return */ Long getLeaderUserId(Long toolSessionId, Integer learnerId); + + /** + * Returns all leaders available in the nearest leader selection tool (that is all leaders in all sessions). + * + * @param toolSessionId + * @param learnerId + * @return + */ + Set getAllLeaderUserIds(Long toolSessionId, Integer learnerId); /** * Returns leaders' userIds for all tool sessions from the given Leader Selection Tool. Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java =================================================================== diff -u -r0ad005fccfb4565f26a51ccd1bb1c24d0666aa6e -r320bc5b2ac74965748f2a03e31b3a3c6c6c547fd --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 0ad005fccfb4565f26a51ccd1bb1c24d0666aa6e) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 320bc5b2ac74965748f2a03e31b3a3c6c6c547fd) @@ -237,7 +237,24 @@ return leaderUserId; } + + @Override + public Set getAllLeaderUserIds(Long toolSessionId, Integer learnerId) { + Set leaderUserIds = null; + ToolSession toolSession = this.getToolSession(toolSessionId); + ToolActivity specifiedActivity = toolSession.getToolActivity(); + Activity leaderSelectionActivity = getNearestLeaderSelectionActivity(specifiedActivity, learnerId, + toolSession.getLesson().getLessonId()); + + // check if there is leaderSelectionTool available + if (leaderSelectionActivity != null) { + leaderUserIds = getLeaderUserId(leaderSelectionActivity.getActivityId()); + } + + return leaderUserIds; + } + @Override @SuppressWarnings("unchecked") public Set getLeaderUserId(Long leaderSelectionActivityId) {