Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java,v
diff -u -r1.3 -r1.4
--- lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java 17 Jan 2006 06:29:59 -0000 1.3
+++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/IWorkspaceManagementService.java 18 Jan 2006 01:03:11 -0000 1.4
@@ -359,5 +359,23 @@
* @throws IOException
*/
public String getWorkspace(Integer userID) throws IOException;
+
+ /**
+ * Retrieves the list of organisations in which the user has the specified role.
+ * in WDDX format
+ * @param userID
+ * @param role
+ * @return
+ */
+ public String getOrganisationsByUserRole(Integer userID, String role) throws IOException;
+
+ /**
+ * Returns the users within the Organisation with organisationID
+ * and role
in WDDX format
+ * @param organisationID
+ * @param role
+ * @return
+ */
+ public String getUsersFromOrganisationByRole(Integer organisationID, String role) throws IOException;
}
Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java,v
diff -u -r1.4 -r1.5
--- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 17 Jan 2006 06:29:59 -0000 1.4
+++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 18 Jan 2006 01:03:11 -0000 1.5
@@ -49,6 +49,7 @@
import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials;
import org.lamsfoundation.lams.learningdesign.LearningDesign;
import org.lamsfoundation.lams.learningdesign.dao.ILearningDesignDAO;
+import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.Role;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
@@ -61,6 +62,7 @@
import org.lamsfoundation.lams.usermanagement.dao.IWorkspaceDAO;
import org.lamsfoundation.lams.usermanagement.dao.IWorkspaceFolderDAO;
import org.lamsfoundation.lams.usermanagement.dto.UserAccessFoldersDTO;
+import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
import org.lamsfoundation.lams.usermanagement.exception.UserException;
import org.lamsfoundation.lams.usermanagement.exception.WorkspaceFolderException;
import org.lamsfoundation.lams.util.wddx.FlashMessage;
@@ -91,6 +93,7 @@
protected IAuthoringService authoringService;
protected IRepositoryService repositoryService;
+ protected IUserManagementService userMgmtService;
/**
* @param workspaceFolderContentDAO The workspaceFolderContentDAO to set.
@@ -142,6 +145,11 @@
public void setUserOrganisationDAO(IUserOrganisationDAO userOrganisationDAO) {
this.userOrganisationDAO = userOrganisationDAO;
}
+
+ public void setUserMgmtService(IUserManagementService userMgmtService) {
+ this.userMgmtService = userMgmtService;
+ }
+
/**
* (non-Javadoc)
* @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#deleteFolder(java.lang.Integer, java.lang.Integer)
@@ -988,4 +996,37 @@
return flashMessage.serializeMessage();
}
+ /**
+ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#getOrganisationsByUserRole(Integer, String)
+ */
+ public String getOrganisationsByUserRole(Integer userID, String role) throws IOException
+ {
+ User user = userDAO.getUserById(userID);
+ Vector organisations = new Vector();
+ if (user!=null) {
+
+ Iterator iterator = userMgmtService.getOrganisationsForUserByRole(user, role).iterator();
+
+ while (iterator.hasNext()) {
+ Organisation organisation = (Organisation) iterator.next();
+ organisations.add(organisation.getOrganisationDTO());
+ }
+ flashMessage = new FlashMessage(
+ "getOrganisationsByUserRole", organisations);
+ } else
+ flashMessage = FlashMessage.getNoSuchUserExists(
+ "getOrganisationsByUserRole", userID);
+
+ return flashMessage.serializeMessage();
+
+ }
+
+ /**
+ * @see org.lamsfoundation.lams.workspace.service.IWorkspaceManagementService#getUsersFromOrganisationByRole(Integer, String)
+ */
+ public String getUsersFromOrganisationByRole(Integer organisationID, String role) throws IOException
+ {
+ return userMgmtService.getUsersFromOrganisationByRole(organisationID, role);
+ }
+
}
Index: lams_central/src/java/org/lamsfoundation/lams/workspace/web/WorkspaceAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/web/WorkspaceAction.java,v
diff -u -r1.4 -r1.5
--- lams_central/src/java/org/lamsfoundation/lams/workspace/web/WorkspaceAction.java 17 Jan 2006 06:30:57 -0000 1.4
+++ lams_central/src/java/org/lamsfoundation/lams/workspace/web/WorkspaceAction.java 18 Jan 2006 01:03:23 -0000 1.5
@@ -459,6 +459,29 @@
String wddxPacket = workspaceManagementService.deleteContentWithVersion(uuID,versionID,folderContentID);
return outputPacket(mapping, request, response, wddxPacket, "details");
}
+
+
+ public ActionForward getOrganisationsByUserRole(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response)throws Exception{
+ Integer userID = new Integer(WebUtil.readIntParam(request,"userID"));
+ String role = WebUtil.readStrParam(request, "role");
+ IWorkspaceManagementService workspaceManagementService = getWorkspaceManagementService();
+ String wddxPacket = workspaceManagementService.getOrganisationsByUserRole(userID, role);
+ return outputPacket(mapping, request, response, wddxPacket, "details");
+ }
+
+ public ActionForward getUsersFromOrganisationByRole(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response)throws Exception{
+ Integer organisationID = new Integer(WebUtil.readIntParam(request,"organisationID"));
+ String role = WebUtil.readStrParam(request, "role");
+ IWorkspaceManagementService workspaceManagementService = getWorkspaceManagementService();
+ String wddxPacket = workspaceManagementService.getUsersFromOrganisationByRole(organisationID, role);
+ return outputPacket(mapping, request, response, wddxPacket, "details");
+ }
}