Index: lams_admin/src/java/org/lamsfoundation/lams/admin/service/AdminServiceProxy.java =================================================================== diff -u -r485064fba50450c1d59b1ca9137aa9846f6147d7 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/service/AdminServiceProxy.java (.../AdminServiceProxy.java) (revision 485064fba50450c1d59b1ca9137aa9846f6147d7) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/service/AdminServiceProxy.java (.../AdminServiceProxy.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -25,8 +25,10 @@ import javax.servlet.ServletContext; +import org.lamsfoundation.lams.integration.service.IIntegrationService; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; +import org.lamsfoundation.lams.util.audit.IAuditService; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -39,6 +41,8 @@ private static IUserManagementService manageService; private static MessageService messageService; + private static IIntegrationService integrationService; + private static IAuditService auditService; public static final IUserManagementService getService(ServletContext servletContext){ if (manageService == null) { @@ -57,4 +61,20 @@ return messageService; } } + + public static final IIntegrationService getIntegrationService(ServletContext servletContext){ + if(integrationService == null){ + WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); + integrationService = (IIntegrationService)ctx.getBean("integrationService"); + } + return integrationService; + } + + public static final IAuditService getAuditService(ServletContext servletContext){ + if(auditService==null){ + WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); + auditService = (IAuditService)ctx.getBean("auditService"); + } + return auditService; + } } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/DisabledUserManageAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/DisabledUserManageAction.java (.../DisabledUserManageAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/DisabledUserManageAction.java (.../DisabledUserManageAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -34,12 +34,9 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; -import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.MessageService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author jliew @@ -51,8 +48,6 @@ public class DisabledUserManageAction extends Action { private static final Logger log = Logger.getLogger(DisabledUserManageAction.class); - private static IUserManagementService service; - private static MessageService messageService; public ActionForward execute(ActionMapping mapping, ActionForm form, @@ -61,30 +56,19 @@ if (!request.isUserInRole(Role.SYSADMIN)) { request.setAttribute("errorName","UserAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.need.sysadmin")); + request.setAttribute("errorMessage",AdminServiceProxy + .getMessageService(getServlet().getServletContext()) + .getMessage("error.need.sysadmin")); return mapping.findForward("error"); } - List users = getService().findByProperty(User.class, "disabledFlag", true); + List users = AdminServiceProxy + .getService(getServlet().getServletContext()) + .findByProperty(User.class, "disabledFlag", true); log.debug("got "+users.size()+" disabled users"); request.setAttribute("users", users); return mapping.findForward("disabledlist"); } - private IUserManagementService getService() { - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } - - private MessageService getMessageService(){ - if(messageService==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService)ctx.getBean("adminMessageService"); - } - return messageService; - } } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java (.../OrgSaveAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java (.../OrgSaveAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -37,6 +37,7 @@ import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.admin.AdminConstants; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationState; import org.lamsfoundation.lams.usermanagement.OrganisationType; @@ -88,6 +89,7 @@ HttpServletRequest request, HttpServletResponse response) throws Exception{ + service = AdminServiceProxy.getService(getServlet().getServletContext()); DynaActionForm orgForm = (DynaActionForm)form; if(isCancelled(request)){ @@ -104,24 +106,24 @@ HttpSession ss = SessionManager.getSession(); UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - SupportedLocale locale = (SupportedLocale)getService().findById(SupportedLocale.class,(Byte)orgForm.get("localeId")); - OrganisationState state = (OrganisationState)getService().findById(OrganisationState.class,(Integer)orgForm.get("stateId")); + SupportedLocale locale = (SupportedLocale)service.findById(SupportedLocale.class,(Byte)orgForm.get("localeId")); + OrganisationState state = (OrganisationState)service.findById(OrganisationState.class,(Integer)orgForm.get("stateId")); if(orgId!=0){ - org = (Organisation)getService().findById(Organisation.class,orgId); + org = (Organisation)service.findById(Organisation.class,orgId); writeAuditLog(org, orgForm, state, locale); BeanUtils.copyProperties(org,orgForm); }else{ org = new Organisation(); BeanUtils.copyProperties(org,orgForm); - org.setParentOrganisation((Organisation)getService().findById(Organisation.class,(Integer)orgForm.get("parentId"))); - org.setOrganisationType((OrganisationType)getService().findById(OrganisationType.class,(Integer)orgForm.get("typeId"))); + org.setParentOrganisation((Organisation)service.findById(Organisation.class,(Integer)orgForm.get("parentId"))); + org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,(Integer)orgForm.get("typeId"))); writeAuditLog(org, orgForm, org.getOrganisationState(), org.getLocale()); } org.setLocale(locale); org.setOrganisationState(state); log.debug("orgId:"+org.getOrganisationId()+" locale:"+org.getLocale()+" create date:"+org.getCreateDate()); - org = getService().saveOrganisation(org, user.getUserID()); + org = service.saveOrganisation(org, user.getUserID()); request.setAttribute("org",orgForm.get("parentId")); return mapping.findForward("orglist"); @@ -216,13 +218,5 @@ auditService.log(AdminConstants.MODULE_NAME, message); } } - - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } - + } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/RegisterAction.java =================================================================== diff -u -r29551b741b1aec1a353848c10813385d7d72c3c8 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/RegisterAction.java (.../RegisterAction.java) (revision 29551b741b1aec1a353848c10813385d7d72c3c8) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/RegisterAction.java (.../RegisterAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -22,40 +22,28 @@ */ package org.lamsfoundation.lams.admin.web; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import org.apache.log4j.Logger; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.beanutils.BeanUtils; +import org.apache.log4j.Logger; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.admin.service.AdminServiceProxy; -import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.usermanagement.Organisation; -import org.lamsfoundation.lams.usermanagement.OrganisationState; import org.lamsfoundation.lams.usermanagement.OrganisationType; -import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; import org.lamsfoundation.lams.usermanagement.Role; - +import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; -import org.lamsfoundation.lams.util.MessageService; -import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * ConfigAction @@ -75,7 +63,6 @@ private static final Logger log = Logger.getLogger(RegisterAction.class); private static IUserManagementService service; - private static MessageService messageService; public ActionForward unspecified(ActionMapping mapping, ActionForm form, @@ -85,7 +72,8 @@ // check permission if(!request.isUserInRole(Role.SYSADMIN)){ request.setAttribute("errorName","RegisterAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.authorisation")); + request.setAttribute("errorMessage",AdminServiceProxy.getMessageService(getServlet().getServletContext()) + .getMessage("error.authorisation")); return mapping.findForward("error"); } @@ -142,20 +130,5 @@ return mapping.findForward("sysadmin"); } - - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } - - private MessageService getMessageService(){ - if(messageService==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService)ctx.getBean("adminMessageService"); - } - return messageService; - } + } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerListAction.java =================================================================== diff -u -r9335a453f7ca971051430105a3462fb587931363 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerListAction.java (.../ServerListAction.java) (revision 9335a453f7ca971051430105a3462fb587931363) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerListAction.java (.../ServerListAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -32,10 +32,8 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.integration.ExtServerOrgMap; -import org.lamsfoundation.lams.integration.service.IIntegrationService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** *

@@ -54,24 +52,17 @@ */ public class ServerListAction extends Action { - private static IIntegrationService service; - @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ - List list = getService().getAllExtServerOrgMaps(); + List list = AdminServiceProxy + .getIntegrationService(getServlet().getServletContext()) + .getAllExtServerOrgMaps(); Collections.sort(list); request.setAttribute("servers", list); return mapping.findForward("serverlist"); } - - private IIntegrationService getService(){ - if(service == null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IIntegrationService)ctx.getBean("integrationService"); - } - return service; - } + } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerMaintainAction.java =================================================================== diff -u -r9335a453f7ca971051430105a3462fb587931363 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerMaintainAction.java (.../ServerMaintainAction.java) (revision 9335a453f7ca971051430105a3462fb587931363) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerMaintainAction.java (.../ServerMaintainAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -36,6 +36,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.service.IIntegrationService; import org.lamsfoundation.lams.integration.service.IntegrationService; @@ -63,41 +64,20 @@ */ public class ServerMaintainAction extends LamsDispatchAction { - private static IIntegrationService service; - - private static MessageService messageService; - - private MessageService getMessageService() { - if (messageService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService) ctx.getBean("adminMessageService"); - - } - return messageService; - } - - private IIntegrationService getService(){ - if(service == null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IIntegrationService)ctx.getBean("integrationService"); - } - return service; - } - @SuppressWarnings("unchecked") public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ - IUserManagementService userManagementService = ((IntegrationService)getService()).getService(); Map properties = new HashMap(); properties.put("organisationType.organisationTypeId", 1); properties.put("organisationState.organisationStateId", 1); - List list = userManagementService.findByProperties(Organisation.class, properties); + List list = AdminServiceProxy.getService(getServlet().getServletContext()) + .findByProperties(Organisation.class, properties); Organisation dummy = new Organisation(); dummy.setOrganisationId(-1); - dummy.setName(getMessageService().getMessage("sysadmin.organisation.select")); + dummy.setName(AdminServiceProxy.getMessageService(getServlet().getServletContext()) + .getMessage("sysadmin.organisation.select")); if(list == null){ list = new ArrayList(); } @@ -107,7 +87,8 @@ DynaActionForm serverOrgMapForm = (DynaActionForm)form; Integer sid = WebUtil.readIntParam(request,"sid",true); if(sid != null){ - ExtServerOrgMap map = getService().getExtServerOrgMap(sid); + ExtServerOrgMap map = AdminServiceProxy.getIntegrationService(getServlet().getServletContext()) + .getExtServerOrgMap(sid); BeanUtils.copyProperties(serverOrgMapForm,map); serverOrgMapForm.set("orgId", map.getOrganisation().getOrganisationId()); } @@ -118,21 +99,23 @@ ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ + IIntegrationService service = AdminServiceProxy.getIntegrationService(getServlet().getServletContext()); Integer sid = WebUtil.readIntParam(request, "sid", false); - ExtServerOrgMap map = getService().getExtServerOrgMap(sid); + ExtServerOrgMap map = service.getExtServerOrgMap(sid); map.setDisabled(true); - getService().saveExtServerOrgMap(map); + service.saveExtServerOrgMap(map); return mapping.findForward("serverlist"); } public ActionForward enable(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ + IIntegrationService service = AdminServiceProxy.getIntegrationService(getServlet().getServletContext()); Integer sid = WebUtil.readIntParam(request, "sid", false); - ExtServerOrgMap map = getService().getExtServerOrgMap(sid); + ExtServerOrgMap map = service.getExtServerOrgMap(sid); map.setDisabled(false); - getService().saveExtServerOrgMap(map); + service.saveExtServerOrgMap(map); return mapping.findForward("serverlist"); } @@ -141,7 +124,7 @@ HttpServletRequest request, HttpServletResponse response) throws Exception{ Integer sid = WebUtil.readIntParam(request, "sid", false); - ((IntegrationService)getService()).getService().deleteById(ExtServerOrgMap.class,sid); + AdminServiceProxy.getService(getServlet().getServletContext()).deleteById(ExtServerOrgMap.class,sid); return mapping.findForward("serverlist"); } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java =================================================================== diff -u -r6ed3a2d80b1f6bb914d36fce3f5a5c0225e2c976 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java (.../ServerSaveAction.java) (revision 6ed3a2d80b1f6bb914d36fce3f5a5c0225e2c976) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java (.../ServerSaveAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -39,9 +39,9 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.integration.ExtServerOrgMap; import org.lamsfoundation.lams.integration.service.IIntegrationService; -import org.lamsfoundation.lams.integration.service.IntegrationService; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationState; import org.lamsfoundation.lams.usermanagement.OrganisationType; @@ -53,8 +53,6 @@ import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** *

@@ -73,28 +71,9 @@ public class ServerSaveAction extends Action { private static IIntegrationService service; - + private static IUserManagementService userService; private static MessageService messageService; - private IIntegrationService getService() { - if (service == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IIntegrationService) ctx.getBean("integrationService"); - } - return service; - } - - private MessageService getMessageService() { - if (messageService == null) { - WebApplicationContext ctx = WebApplicationContextUtils - .getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService) ctx.getBean("adminMessageService"); - - } - return messageService; - } - @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -103,55 +82,58 @@ return mapping.findForward("success"); } + service = AdminServiceProxy.getIntegrationService(getServlet().getServletContext()); + userService = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + DynaActionForm serverOrgMapForm = (DynaActionForm) form; ActionMessages errors = new ActionMessages(); String[] requiredFields = { "serverid", "serverkey", "servername", "prefix", "userinfoUrl", "timeoutUrl" }; for (String requiredField : requiredFields) { if (StringUtils.trimToNull(serverOrgMapForm.getString(requiredField)) == null) { - errors.add(requiredField, new ActionMessage("error.required", getMessageService().getMessage("sysadmin."+requiredField))); + errors.add(requiredField, new ActionMessage("error.required", messageService.getMessage("sysadmin."+requiredField))); } } Organisation org = null; - IUserManagementService userManagementService = ((IntegrationService)getService()).getService(); UserDTO user = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER); if((Boolean)serverOrgMapForm.get("newOrg")){ String orgName = serverOrgMapForm.getString("orgName"); if(StringUtils.trimToNull(orgName)==null){ - errors.add("orgId",new ActionMessage("error.required", getMessageService().getMessage("sysadmin.organisation"))); + errors.add("orgId",new ActionMessage("error.required", messageService.getMessage("sysadmin.organisation"))); }else{ org = new Organisation(); org.setName(orgName); - org.setParentOrganisation(userManagementService.getRootOrganisation()); - org.setOrganisationType((OrganisationType)userManagementService.findById(OrganisationType.class,OrganisationType.ROOT_TYPE)); - org.setOrganisationState((OrganisationState)userManagementService.findById(OrganisationState.class,OrganisationState.ACTIVE)); + org.setParentOrganisation(userService.getRootOrganisation()); + org.setOrganisationType((OrganisationType)userService.findById(OrganisationType.class,OrganisationType.ROOT_TYPE)); + org.setOrganisationState((OrganisationState)userService.findById(OrganisationState.class,OrganisationState.ACTIVE)); String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE); - SupportedLocale locale = userManagementService.getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3)); + SupportedLocale locale = userService.getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3)); org.setLocale(locale); - userManagementService.saveOrganisation(org, user.getUserID()); + userService.saveOrganisation(org, user.getUserID()); serverOrgMapForm.set("orgId", org.getOrganisationId()); serverOrgMapForm.set("newOrg", false); serverOrgMapForm.set("orgName", null); } }else{ Integer orgId = (Integer)serverOrgMapForm.get("orgId"); if(orgId.equals(-1)){ - errors.add("orgId",new ActionMessage("error.required", getMessageService().getMessage("sysadmin.organisation"))); + errors.add("orgId",new ActionMessage("error.required", messageService.getMessage("sysadmin.organisation"))); }else{ - org = (Organisation)((IntegrationService)getService()).getService().findById(Organisation.class, orgId); + org = (Organisation)userService.findById(Organisation.class, orgId); } } Integer sid = (Integer) serverOrgMapForm.get("sid"); if(errors.isEmpty()){//check duplication String[] uniqueFields = {"serverid","prefix"}; for(String uniqueField : uniqueFields){ - List list = userManagementService.findByProperty(ExtServerOrgMap.class,uniqueField,serverOrgMapForm.get(uniqueField)); + List list = userService.findByProperty(ExtServerOrgMap.class,uniqueField,serverOrgMapForm.get(uniqueField)); if(list!=null && list.size()>0){ if(sid.equals(-1)){//new map - errors.add(uniqueField, new ActionMessage("error.not.unique", getMessageService().getMessage("sysadmin."+uniqueField) )); + errors.add(uniqueField, new ActionMessage("error.not.unique", messageService.getMessage("sysadmin."+uniqueField) )); }else{ ExtServerOrgMap map = (ExtServerOrgMap)list.get(0); if(!map.getSid().equals(sid)){ - errors.add(uniqueField, new ActionMessage("error.not.unique", getMessageService().getMessage("sysadmin."+uniqueField) )); + errors.add(uniqueField, new ActionMessage("error.not.unique", messageService.getMessage("sysadmin."+uniqueField) )); } } @@ -165,21 +147,21 @@ BeanUtils.copyProperties(map, serverOrgMapForm); map.setSid(null); } else { - map = getService().getExtServerOrgMap(sid); + map = service.getExtServerOrgMap(sid); BeanUtils.copyProperties(map, serverOrgMapForm); } map.setOrganisation(org); - getService().saveExtServerOrgMap(map); + service.saveExtServerOrgMap(map); return mapping.findForward("success"); } else { saveErrors(request, errors); Map properties = new HashMap(); properties.put("organisationType.organisationTypeId", 1); properties.put("organisationState.organisationStateId", 1); - List list = userManagementService.findByProperties(Organisation.class, properties); + List list = userService.findByProperties(Organisation.class, properties); Organisation dummy = new Organisation(); dummy.setOrganisationId(-1); - dummy.setName(getMessageService().getMessage("sysadmin.organisation.select")); + dummy.setName(messageService.getMessage("sysadmin.organisation.select")); if(list == null){ list = new ArrayList(); } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java =================================================================== diff -u -r4f56321977918371b2e388d017c1f3d5769979b3 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java (.../UserAction.java) (revision 4f56321977918371b2e388d017c1f3d5769979b3) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java (.../UserAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -37,6 +37,7 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.admin.AdminConstants; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; @@ -47,10 +48,7 @@ import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.util.audit.IAuditService; import org.lamsfoundation.lams.web.action.LamsDispatchAction; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author Jun-Dir Liew @@ -76,14 +74,20 @@ private static Logger log = Logger.getLogger(UserAction.class); private static IUserManagementService service; private static MessageService messageService; - private static IAuditService auditService; private static List locales; public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + if (locales==null) { + locales = service.findAll(SupportedLocale.class); + Collections.sort(locales); + } + DynaActionForm userForm = (DynaActionForm)form; Integer orgId = WebUtil.readIntParam(request,"orgId",true); Integer userId = WebUtil.readIntParam(request,"userId",true); @@ -92,25 +96,25 @@ Organisation org = null; Boolean requestorHasRole = false; if (orgId!=null) { - org = (Organisation)getService().findById(Organisation.class,orgId); + org = (Organisation)service.findById(Organisation.class,orgId); OrganisationType orgType = org.getOrganisationType(); Integer orgIdOfCourse = (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) ? org.getParentOrganisation().getOrganisationId() : orgId; - User requestor = (User)getService().getUserByLogin(request.getRemoteUser()); - requestorHasRole = getService().isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_ADMIN) - || getService().isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_MANAGER); + User requestor = (User)service.getUserByLogin(request.getRemoteUser()); + requestorHasRole = service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_ADMIN) + || service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_MANAGER); } Boolean isSysadmin = request.isUserInRole(Role.SYSADMIN); if (!(requestorHasRole || isSysadmin)) { request.setAttribute("errorName", "UserAction"); - request.setAttribute("errorMessage", getMessageService().getMessage("error.authorisation")); + request.setAttribute("errorMessage", messageService.getMessage("error.authorisation")); return mapping.findForward("error"); } // editing a user if (userId!=null && userId!=0) { - User user = (User)getService().findById(User.class, userId); + User user = (User)service.findById(User.class, userId); log.debug("got userid to edit: "+userId); BeanUtils.copyProperties(userForm, user); userForm.set("password", null); @@ -120,7 +124,7 @@ try { String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE); log.debug("using defaultLocale: "+defaultLocale); - SupportedLocale locale = getService().getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3)); + SupportedLocale locale = service.getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3)); userForm.set("localeId", locale.getLocaleId()); } catch(Exception e) { log.debug(e); @@ -138,17 +142,20 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + if (!request.isUserInRole(Role.SYSADMIN)) { request.setAttribute("errorName","UserAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.need.sysadmin")); + request.setAttribute("errorMessage",messageService.getMessage("error.need.sysadmin")); return mapping.findForward("error"); } Integer orgId = WebUtil.readIntParam(request,"orgId",true); Integer userId = WebUtil.readIntParam(request,"userId"); - User user = (User)getService().findById(User.class,userId); + User user = (User)service.findById(User.class,userId); - Boolean hasData = getService().userHasData(user); + Boolean hasData = service.userHasData(user); request.setAttribute("method", (hasData?"disable":"delete")); request.setAttribute("orgId",orgId); @@ -160,20 +167,22 @@ ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { + + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); if (!request.isUserInRole(Role.SYSADMIN)) { request.setAttribute("errorName","UserAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.need.sysadmin")); + request.setAttribute("errorMessage",messageService.getMessage("error.need.sysadmin")); return mapping.findForward("error"); } Integer orgId = WebUtil.readIntParam(request,"orgId",true); Integer userId = WebUtil.readIntParam(request,"userId"); - getService().disableUser(userId); + AdminServiceProxy.getService(getServlet().getServletContext()).disableUser(userId); String[] args = new String[1]; args[0] = userId.toString(); - String message = getMessageService().getMessage("audit.user.disable", args); - getAuditService().log(AdminConstants.MODULE_NAME, message); + String message = messageService.getMessage("audit.user.disable", args); + AdminServiceProxy.getAuditService(getServlet().getServletContext()).log(AdminConstants.MODULE_NAME, message); if (orgId==null || orgId==0) { return mapping.findForward("usersearch"); @@ -188,25 +197,27 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + if (!request.isUserInRole(Role.SYSADMIN)) { request.setAttribute("errorName","UserAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.need.sysadmin")); + request.setAttribute("errorMessage",messageService.getMessage("error.need.sysadmin")); return mapping.findForward("error"); } Integer orgId = WebUtil.readIntParam(request,"orgId",true); Integer userId = WebUtil.readIntParam(request,"userId"); try { - getService().removeUser(userId); + AdminServiceProxy.getService(getServlet().getServletContext()).removeUser(userId); } catch (Exception e) { request.setAttribute("errorName","UserAction"); request.setAttribute("errorMessage",e.getMessage()); return mapping.findForward("error"); } String[] args = new String[1]; args[0] = userId.toString(); - String message = getMessageService().getMessage("audit.user.delete", args); - getAuditService().log(AdminConstants.MODULE_NAME, message); + String message = messageService.getMessage("audit.user.delete", args); + AdminServiceProxy.getAuditService(getServlet().getServletContext()).log(AdminConstants.MODULE_NAME, message); if (orgId==null || orgId==0) { return mapping.findForward("usersearch"); @@ -222,48 +233,23 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + if (!request.isUserInRole(Role.SYSADMIN)) { request.setAttribute("errorName","UserAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.need.sysadmin")); + request.setAttribute("errorMessage",messageService.getMessage("error.need.sysadmin")); return mapping.findForward("error"); } Integer userId = WebUtil.readIntParam(request,"userId",true); - User user = (User)getService().findById(User.class,userId); + User user = (User)service.findById(User.class,userId); log.debug("enabling user: "+userId); user.setDisabledFlag(false); - getService().save(user); + service.save(user); return mapping.findForward("disabledlist"); } - - @SuppressWarnings("unchecked") - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - locales = service.findAll(SupportedLocale.class); - Collections.sort(locales); - //rolelist = service.findAll(Role.class); - //Collections.sort(rolelist); - } - return service; - } - - private MessageService getMessageService(){ - if(messageService==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService)ctx.getBean("adminMessageService"); - } - return messageService; - } - - private IAuditService getAuditService(){ - if(auditService==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - auditService = (IAuditService)ctx.getBean("auditService"); - } - return auditService; - } + } \ No newline at end of file Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java (.../UserManageAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java (.../UserManageAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -24,33 +24,28 @@ /* $Id$ */ package org.lamsfoundation.lams.admin.web; -import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.beanutils.BeanUtils; import org.apache.log4j.Logger; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; -import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.dto.UserManageBean; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author Jun-Dir Liew @@ -79,23 +74,26 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + // get id of org to list users for Integer orgId = WebUtil.readIntParam(request,"org",true); if(orgId==null){ orgId = (Integer)request.getAttribute("org"); } if((orgId==null)||(orgId<=0)){ request.setAttribute("errorName","UserManageAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.org.invalid")); + request.setAttribute("errorMessage",messageService.getMessage("error.org.invalid")); return mapping.findForward("error"); } log.debug("orgId: "+orgId); // get org name - Organisation organisation = (Organisation)getService().findById(Organisation.class,orgId); + Organisation organisation = (Organisation)service.findById(Organisation.class,orgId); if(organisation==null) { request.setAttribute("errorName","UserManageAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.org.invalid")); + request.setAttribute("errorMessage",messageService.getMessage("error.org.invalid")); return mapping.findForward("error"); } String orgName = organisation.getName(); @@ -118,39 +116,24 @@ if(request.isUserInRole(Role.SYSADMIN)){ userManageForm.setCourseAdminCanAddNewUsers(true); userManageForm.setCourseAdminCanBrowseAllUsers(true); - }else if(getService().isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_ADMIN) - || getService().isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_MANAGER)){ + }else if(service.isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_ADMIN) + || service.isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_MANAGER)){ userManageForm.setCourseAdminCanAddNewUsers(orgOfCourseAdmin.getCourseAdminCanAddNewUsers()); userManageForm.setCourseAdminCanBrowseAllUsers(orgOfCourseAdmin.getCourseAdminCanBrowseAllUsers()); }else{ request.setAttribute("errorName","UserManageAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.authorisation")); + request.setAttribute("errorMessage",messageService.getMessage("error.authorisation")); return mapping.findForward("error"); } userManageForm.setOrgId(orgId); userManageForm.setOrgName(orgName); - List userManageBeans = getService().getUserManageBeans(orgId); + List userManageBeans = service.getUserManageBeans(orgId); Collections.sort(userManageBeans); userManageForm.setUserManageBeans(userManageBeans); request.setAttribute("UserManageForm", userManageForm); return mapping.findForward("userlist"); } - - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } - - private MessageService getMessageService(){ - if(messageService==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService)ctx.getBean("adminMessageService"); - } - return messageService; - } + } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgAction.java (.../UserOrgAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgAction.java (.../UserOrgAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -36,8 +36,8 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; @@ -48,8 +48,6 @@ import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author Jun-Dir Liew @@ -78,15 +76,18 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { - ActionMessages errors = new ActionMessages(); + service = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + + //ActionMessages errors = new ActionMessages(); Integer orgId = WebUtil.readIntParam(request,"orgId",true); log.debug("orgId: "+orgId); // get org name - Organisation organisation = (Organisation)getService().findById(Organisation.class,orgId); + Organisation organisation = (Organisation)service.findById(Organisation.class,orgId); if((orgId==null)||(orgId<=0)||organisation==null){ request.setAttribute("errorName","UserOrgAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.org.invalid")); + request.setAttribute("errorMessage",messageService.getMessage("error.org.invalid")); return mapping.findForward("error"); } @@ -105,19 +106,19 @@ List users = new ArrayList(); Organisation orgOfCourseAdmin = (orgType.equals(OrganisationType.CLASS_TYPE)) ? parentOrg : organisation; if(request.isUserInRole(Role.SYSADMIN)){ - users = getService().findAll(User.class); - }else if(getService().isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_ADMIN) - || getService().isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_MANAGER)){ + users = service.findAll(User.class); + }else if(service.isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_ADMIN) + || service.isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_MANAGER)){ if(orgOfCourseAdmin.getCourseAdminCanBrowseAllUsers()){ - users = getService().findAll(User.class); + users = service.findAll(User.class); }else if(orgType.equals(OrganisationType.CLASS_TYPE)){ - users = getService().getUsersFromOrganisation(parentOrg.getOrganisationId()); + users = service.getUsersFromOrganisation(parentOrg.getOrganisationId()); }else if(orgType.equals(OrganisationType.COURSE_TYPE)){ - users = getService().getUsersFromOrganisation(orgId); + users = service.getUsersFromOrganisation(orgId); } }else{ request.setAttribute("errorName","UserOrgAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.authorisation")); + request.setAttribute("errorMessage",messageService.getMessage("error.authorisation")); return mapping.findForward("error"); } users = removeDisabledUsers(users); @@ -130,7 +131,7 @@ userOrgForm.set("orgName",orgName); // create list of userids, members of this org - List memberUsers = getService().getUsersFromOrganisation(orgId); + List memberUsers = service.getUsersFromOrganisation(orgId); String[] userIds = new String[memberUsers.size()]; for(int i=0; i)Arrays.asList(roleIds)); + service.setRolesForUserOrganisation(user, organisation, (List)Arrays.asList(roleIds)); if (organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) { - if (getService().getUserOrganisation(bean.getUserId(), organisation.getParentOrganisation().getOrganisationId())==null) { - getService().setRolesForUserOrganisation(user, organisation.getParentOrganisation(), (List)Arrays.asList(roleIds)); + if (service.getUserOrganisation(bean.getUserId(), organisation.getParentOrganisation().getOrganisationId())==null) { + service.setRolesForUserOrganisation(user, organisation.getParentOrganisation(), (List)Arrays.asList(roleIds)); } } } return mapping.findForward("userlist"); } - - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java (.../UserOrgSaveAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgSaveAction.java (.../UserOrgSaveAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -39,14 +39,13 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.UserOrganisation; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author Jun-Dir Liew @@ -79,6 +78,7 @@ ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { + DynaActionForm userOrgForm = (DynaActionForm)form; Integer orgId = (Integer)userOrgForm.get("orgId"); @@ -88,7 +88,10 @@ return mapping.findForward("userlist"); } - Organisation organisation = (Organisation)getService().findById(Organisation.class, orgId); + service = AdminServiceProxy.getService(getServlet().getServletContext()); + if (rolelist==null) rolelist = service.findAll(Role.class); + + Organisation organisation = (Organisation)service.findById(Organisation.class, orgId); Set uos = organisation.getUserOrganisations(); String[] userIds = (String[])userOrgForm.get("userIds"); @@ -102,7 +105,7 @@ Integer userId = uo.getUser().getUserId(); if(userIdList.indexOf(userId.toString())<0){ iter.remove(); - User user = (User)getService().findById(User.class, userId); + User user = (User)service.findById(User.class, userId); Set userUos = user.getUserOrganisations(); userUos.remove(uo); user.setUserOrganisations(userUos); @@ -123,14 +126,14 @@ } } if(!alreadyInOrg){ - User user = (User)getService().findById(User.class,userId); + User user = (User)service.findById(User.class,userId); UserOrganisation uo = new UserOrganisation(user,organisation); newUserOrganisations.add(uo); } } organisation.setUserOrganisations(uos); - getService().save(organisation); + service.save(organisation); // if no new users, then finish; otherwise forward to where roles can be assigned for new users. if(newUserOrganisations.isEmpty()){ @@ -160,14 +163,5 @@ } return allRoles; } - - @SuppressWarnings("unchecked") - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - rolelist = getService().findAll(Role.class); - } - return service; - } + } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserRolesAction.java =================================================================== diff -u -r9fd77272f7d794bf7318b82da12a6a1dc097b162 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserRolesAction.java (.../UserRolesAction.java) (revision 9fd77272f7d794bf7318b82da12a6a1dc097b162) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserRolesAction.java (.../UserRolesAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -40,6 +40,7 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; @@ -49,8 +50,6 @@ import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author jliew @@ -71,11 +70,19 @@ private static MessageService messageService; private static List rolelist; + @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + messageService = AdminServiceProxy.getMessageService(getServlet().getServletContext()); + if (rolelist==null) { + rolelist = service.findAll(Role.class); + Collections.sort(rolelist); + } + ActionMessages errors = new ActionMessages(); DynaActionForm userRolesForm = (DynaActionForm)form; Integer orgId = WebUtil.readIntParam(request,"orgId",true); @@ -97,19 +104,19 @@ log.debug("editing roles for userId: "+userId+" and orgId: "+orgId); // test requestor's permission - Organisation org = (Organisation)getService().findById(Organisation.class,orgId); - User user = (User)getService().findById(User.class, userId); + Organisation org = (Organisation)service.findById(Organisation.class,orgId); + User user = (User)service.findById(User.class, userId); OrganisationType orgType = org.getOrganisationType(); Integer orgIdOfCourse = (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) ? org.getParentOrganisation().getOrganisationId() : orgId; Boolean isSysadmin = request.isUserInRole(Role.SYSADMIN); - User requestor = (User)getService().getUserByLogin(request.getRemoteUser()); - Boolean requestorHasRole = getService().isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_ADMIN) - || getService().isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_MANAGER); + User requestor = (User)service.getUserByLogin(request.getRemoteUser()); + Boolean requestorHasRole = service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_ADMIN) + || service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.COURSE_MANAGER); if (!(requestorHasRole || isSysadmin)) { request.setAttribute("errorName","UserRolesAction"); - request.setAttribute("errorMessage",getMessageService().getMessage("error.authorisation")); + request.setAttribute("errorMessage",messageService.getMessage("error.authorisation")); return mapping.findForward("error"); } @@ -121,7 +128,7 @@ request.setAttribute("orgName", org.getName()); String[] roles = null; - UserOrganisation uo = getService().getUserOrganisation(userId, orgId); + UserOrganisation uo = service.getUserOrganisation(userId, orgId); if (uo != null) { Iterator iter2 = uo.getUserOrganisationRoles().iterator(); roles = new String[uo.getUserOrganisationRoles().size()]; @@ -158,23 +165,5 @@ } return allRoles; } - - @SuppressWarnings("unchecked") - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - rolelist = service.findAll(Role.class); - Collections.sort(rolelist); - } - return service; - } - private MessageService getMessageService(){ - if(messageService==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - messageService = (MessageService)ctx.getBean("adminMessageService"); - } - return messageService; - } } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserRolesSaveAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserRolesSaveAction.java (.../UserRolesSaveAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserRolesSaveAction.java (.../UserRolesSaveAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -40,13 +40,12 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author jliew @@ -71,6 +70,12 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + if (rolelist==null) { + rolelist = service.findAll(Role.class); + Collections.sort(rolelist); + } + ActionMessages errors = new ActionMessages(); DynaActionForm userRolesForm = (DynaActionForm) form; Integer orgId = (Integer) userRolesForm.get("orgId"); @@ -84,8 +89,8 @@ } log.debug("userId: "+userId+", orgId: "+orgId+" will have "+roles.length+" roles"); - Organisation org = (Organisation)getService().findById(Organisation.class, orgId); - User user = (User)getService().findById(User.class, userId); + Organisation org = (Organisation)service.findById(Organisation.class, orgId); + User user = (User)service.findById(User.class, userId); // user must have at least 1 role if (roles.length < 1) { @@ -103,11 +108,11 @@ OrganisationType orgType = org.getOrganisationType(); Organisation parentOrg = org.getParentOrganisation(); if (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE) - && getService().getUserOrganisation(userId, parentOrg.getOrganisationId())==null) { + && service.getUserOrganisation(userId, parentOrg.getOrganisationId())==null) { orgs.add(parentOrg); } for (Organisation o : orgs) { - getService().setRolesForUserOrganisation(user, o, (List)Arrays.asList(roles)); + service.setRolesForUserOrganisation(user, o, (List)Arrays.asList(roles)); } return mapping.findForward("userlist"); @@ -129,15 +134,5 @@ } return allRoles; } - - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - rolelist = service.findAll(Role.class); - Collections.sort(rolelist); - } - return service; - } } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java =================================================================== diff -u -r56856bd68b40ca6b0bdf1e13c6812ed23063fb25 -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java (.../UserSaveAction.java) (revision 56856bd68b40ca6b0bdf1e13c6812ed23063fb25) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java (.../UserSaveAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -43,6 +43,7 @@ import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.admin.AdminConstants; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.themes.CSSThemeVisualElement; import org.lamsfoundation.lams.usermanagement.AuthenticationMethod; import org.lamsfoundation.lams.usermanagement.SupportedLocale; @@ -51,10 +52,6 @@ import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.HashUtil; -import org.lamsfoundation.lams.util.MessageService; -import org.lamsfoundation.lams.util.audit.IAuditService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author Jun-Dir Liew @@ -83,6 +80,8 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { + service = AdminServiceProxy.getService(getServlet().getServletContext()); + // action input ActionMessages errors = new ActionMessages(); DynaActionForm userForm = (DynaActionForm) form; @@ -92,7 +91,7 @@ log.debug("orgId: " + orgId); Boolean edit = false; Boolean passwordChanged = true; - SupportedLocale locale = (SupportedLocale)getService().findById(SupportedLocale.class, (Byte)userForm.get("localeId")); + SupportedLocale locale = (SupportedLocale)service.findById(SupportedLocale.class, (Byte)userForm.get("localeId")); log.debug("locale: " + locale); if (isCancelled(request)) { @@ -136,7 +135,7 @@ if (errors.isEmpty()) { if (edit) { // edit user log.debug("editing userId: " + userId); - user = (User)getService().findById(User.class, userId); + user = (User)service.findById(User.class, userId); // hash the new password if necessary, and audit the fact if (passwordChanged) { writeAuditLog(user, new String[1]); @@ -151,30 +150,30 @@ userForm.set("password", HashUtil.sha1((String)userForm.get("password"))); BeanUtils.copyProperties(user, userForm); log.debug("creating user... new login: " + user.getLogin()); - if (getService().getUserByLogin(user.getLogin()) != null) { + if (service.getUserByLogin(user.getLogin()) != null) { errors.add("login", new ActionMessage("error.login.unique")); } if (errors.isEmpty()) { // TODO set flash/html themes according to user input instead of server default. String flashName = Configuration.get(ConfigurationKeys.DEFAULT_FLASH_THEME); - List list = getService().findByProperty(CSSThemeVisualElement.class, "name", flashName); + List list = service.findByProperty(CSSThemeVisualElement.class, "name", flashName); if (list!=null) { CSSThemeVisualElement flashTheme = (CSSThemeVisualElement)list.get(0); user.setFlashTheme(flashTheme); } String htmlName = Configuration.get(ConfigurationKeys.DEFAULT_HTML_THEME); - list = getService().findByProperty(CSSThemeVisualElement.class, "name", htmlName); + list = service.findByProperty(CSSThemeVisualElement.class, "name", htmlName); if (list!=null) { CSSThemeVisualElement htmlTheme = (CSSThemeVisualElement)list.get(0); user.setHtmlTheme(htmlTheme); } user.setDisabledFlag(false); user.setCreateDate(new Date()); - user.setAuthenticationMethod((AuthenticationMethod)getService().findByProperty(AuthenticationMethod.class, + user.setAuthenticationMethod((AuthenticationMethod)service.findByProperty(AuthenticationMethod.class, "authenticationMethodName","LAMS-Database").get(0)); user.setUserId(null); user.setLocale(locale); - getService().save(user); + service.save(user); // make 'create user' audit log entry writeAuditLog(user, new String[2]); @@ -205,29 +204,20 @@ } private void writeAuditLog(User user, String[] args) { - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - IAuditService auditService = (IAuditService) ctx.getBean("auditService"); - MessageService messageService = (MessageService)ctx.getBean("adminMessageService"); - if (args.length==1) { // password changed args[0] = user.getLogin()+"("+user.getUserId()+")"; - String message = messageService.getMessage("audit.user.password.change",args); - auditService.log(AdminConstants.MODULE_NAME, message); + String message = AdminServiceProxy.getMessageService(getServlet().getServletContext()) + .getMessage("audit.user.password.change",args); + AdminServiceProxy.getAuditService(getServlet().getServletContext()) + .log(AdminConstants.MODULE_NAME, message); } else if (args.length==2) { // user created args[0] = user.getLogin()+"("+user.getUserId()+")"; args[1] = user.getFullName(); - String message = messageService.getMessage("audit.user.create", args); - auditService.log(AdminConstants.MODULE_NAME, message); + String message = AdminServiceProxy.getMessageService(getServlet().getServletContext()) + .getMessage("audit.user.create", args); + AdminServiceProxy.getAuditService(getServlet().getServletContext()) + .log(AdminConstants.MODULE_NAME, message); } } - @SuppressWarnings("unchecked") - private IUserManagementService getService() { - if (service == null) { - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } - } Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSearchAction.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r622101803252450b96cc9882a17ae20de4f6e431 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSearchAction.java (.../UserSearchAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSearchAction.java (.../UserSearchAction.java) (revision 622101803252450b96cc9882a17ae20de4f6e431) @@ -40,6 +40,7 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; +import org.lamsfoundation.lams.admin.service.AdminServiceProxy; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; @@ -82,6 +83,7 @@ return mapping.findForward("usersearchlist"); } + service = AdminServiceProxy.getService(getServlet().getServletContext()); DynaActionForm userSearchForm = (DynaActionForm)form; String userId = ((String)userSearchForm.get("sUserId")).trim(); @@ -100,14 +102,14 @@ if(login.length()>0) stringProperties.put("login","%"+login+"%"); if(firstName.length()>0) stringProperties.put("firstName","%"+firstName+"%"); if(lastName.length()>0) stringProperties.put("lastName","%"+lastName+"%"); - if(!stringProperties.isEmpty()) userList = getService().searchByStringProperties(User.class,stringProperties); + if(!stringProperties.isEmpty()) userList = service.searchByStringProperties(User.class,stringProperties); }else{ Map objectProperties = new HashMap(); objectProperties.put("userId",userId); if(login.length()>0) objectProperties.put("login",login); if(firstName.length()>0) objectProperties.put("firstName",firstName); if(lastName.length()>0) objectProperties.put("lastName",lastName); - if(!objectProperties.isEmpty()) userList = getService().findByProperties(User.class,objectProperties); + if(!objectProperties.isEmpty()) userList = service.findByProperties(User.class,objectProperties); } if(userList.isEmpty() && (Boolean)userSearchForm.get("searched")){ @@ -134,12 +136,4 @@ return filteredList; } - private IUserManagementService getService(){ - if(service==null){ - WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - service = (IUserManagementService) ctx.getBean("userManagementServiceTarget"); - } - return service; - } - }