Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java =================================================================== diff -u -r9209fbea485f8b0f28a7374629d7cd3d3398cf41 -r4d45967cbfe2e48757cf6a4a1b2f9ba49576427f --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java (.../IWorkspaceManagementService.java) (revision 9209fbea485f8b0f28a7374629d7cd3d3398cf41) +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java (.../IWorkspaceManagementService.java) (revision 4d45967cbfe2e48757cf6a4a1b2f9ba49576427f) @@ -318,10 +318,10 @@ * Retrieves the list of organisations in which the user has the specified role. * in WDDX format * @param userID - * @param role + * @param roles * @return */ - public String getOrganisationsByUserRole(Integer userID, String role) throws IOException; + public String getOrganisationsByUserRole(Integer userID, String[] roles) throws IOException; /** * Returns the users within the Organisation with organisationID Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== diff -u -r49a1384329e9dcfd94a634df8a3e515e3d4a2e8b -r4d45967cbfe2e48757cf6a4a1b2f9ba49576427f --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java (.../WorkspaceManagementService.java) (revision 49a1384329e9dcfd94a634df8a3e515e3d4a2e8b) +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java (.../WorkspaceManagementService.java) (revision 4d45967cbfe2e48757cf6a4a1b2f9ba49576427f) @@ -31,6 +31,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.HashSet; import java.util.SortedSet; import java.util.Vector; @@ -1399,20 +1400,25 @@ /** * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#getOrganisationsByUserRole(Integer, String) */ - public String getOrganisationsByUserRole(Integer userID, String role) throws IOException + public String getOrganisationsByUserRole(Integer userID, String[] roles) throws IOException { User user = userDAO.getUserById(userID); - Vector organisations = new Vector(); + Set organisations = new HashSet(); + if (user!=null) { + for(int i=0; i orgs = new Vector(organisations); - while (iterator.hasNext()) { - Organisation organisation = (Organisation) iterator.next(); - organisations.add(organisation.getOrganisationDTO()); - } flashMessage = new FlashMessage( - MSG_KEY_ORG_BY_ROLE, organisations); + MSG_KEY_ORG_BY_ROLE, orgs); } else flashMessage = FlashMessage.getNoSuchUserExists( MSG_KEY_ORG_BY_ROLE, userID); @@ -1424,9 +1430,9 @@ /** * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#getUsersFromOrganisationByRole(Integer, String) */ - public String getUsersFromOrganisationByRole(Integer organisationID, String role) throws IOException + public String getUsersFromOrganisationByRole(Integer organisationID, String roleName) throws IOException { - return userMgmtService.getUsersFromOrganisationByRole(organisationID, role); + return userMgmtService.getUsersFromOrganisationByRole(organisationID, roleName); }