1 16 package com.blandware.atleap.webapp.action.core.group; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.*; 20 import com.blandware.atleap.service.core.GroupManager; 21 import com.blandware.atleap.webapp.action.core.BaseAction; 22 import com.blandware.atleap.webapp.form.GroupForm; 23 import com.blandware.atleap.webapp.acegi.UserManagerDaoImpl; 24 import com.blandware.atleap.webapp.util.core.CacheUtil; 25 import org.apache.commons.validator.GenericValidator; 26 import org.apache.struts.action.ActionForm; 27 import org.apache.struts.action.ActionForward; 28 import org.apache.struts.action.ActionMapping; 29 import org.apache.struts.action.ActionMessage; 30 import org.apache.struts.action.ActionMessages; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import java.util.List ; 35 import java.util.ArrayList ; 36 37 57 public final class DeleteGroupAction extends BaseAction { 58 67 public ActionForward execute(ActionMapping mapping, ActionForm form, 68 HttpServletRequest request, HttpServletResponse response) throws Exception { 69 70 GroupForm groupForm = (GroupForm) form; 71 String groupName = null; 72 if ( !GenericValidator.isBlankOrNull(groupForm.getName()) ) { 73 groupName = groupForm.getName(); 74 } else { 75 if ( log.isWarnEnabled() ) { 76 log.warn("Missing group name. Returning to list..."); 77 } 78 return mapping.findForward("listGroups"); 79 } 80 81 GroupManager groupManager = (GroupManager) getBean(Constants.GROUP_MANAGER_BEAN); 82 Group group = groupManager.retrieveGroup(groupName); 83 84 if ( group == null ) { 85 ActionMessages errors = new ActionMessages(); 87 errors.add("groupNotFound", new ActionMessage("core.group.errors.notFound")); 88 saveErrors(request, errors); 89 return mapping.findForward("listGroups"); 90 } 91 92 if ( group.getFixed().booleanValue() ) { 93 ActionMessages errors = new ActionMessages(); 94 errors.add("groupIsFixed", new ActionMessage("core.group.errors.isFixed")); 95 saveErrors(request, errors); 96 return mapping.findForward("listGroups"); 97 } 98 99 List users = new ArrayList (group.getUsers()); 100 UserManagerDaoImpl userManagerDaoImpl = (UserManagerDaoImpl) getBean(Constants.USER_DETAILS_SERVICE_BEAN); 101 102 groupManager.deleteGroup(groupName); 103 104 for (int i = 0; i < users.size(); i++) { 105 User user = (User) users.get(i); 106 if (user.getName().equals(request.getRemoteUser())) { 107 userManagerDaoImpl.updateUser(user); 108 } 109 } 110 111 CacheUtil cacheUtil = CacheUtil.getInstance(request); 115 cacheUtil.flushContentPageCache(); 116 117 return mapping.findForward("listGroups"); 118 } 119 } 120 | Popular Tags |