Author: jtravis Date: 2008-03-31 13:05:59 -0700 (Mon, 31 Mar 2008) New Revision: 8602 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=8602 Modified: trunk/src/org/hyperic/hq/appdef/server/session/AppdefGroupManagerEJBImpl.java trunk/src/org/hyperic/hq/appdef/server/session/PlatformManagerEJBImpl.java trunk/src/org/hyperic/hq/appdef/server/session/ServerManagerEJBImpl.java trunk/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java trunk/src/org/hyperic/hq/appdef/shared/AppdefResourceValue.java trunk/src/org/hyperic/hq/authz/server/session/ResourceDAO.java trunk/src/org/hyperic/hq/authz/server/session/ResourceGroup.java trunk/src/org/hyperic/hq/authz/server/session/ResourceGroupManagerEJBImpl.java trunk/src/org/hyperic/hq/authz/server/session/ResourceManagerEJBImpl.java trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java trunk/src/org/hyperic/hq/grouping/server/session/GroupManagerEJBImpl.java trunk/src/org/hyperic/hq/ui/action/resource/hub/RemoveResourceAction.java Log: Remove group deletion, changeGroupOwner() from AppdefGroupManager, GroupManager, Platform/server/serviceManager. Modified: trunk/src/org/hyperic/hq/appdef/server/session/AppdefGroupManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/AppdefGroupManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/appdef/server/session/AppdefGroupManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -807,88 +807,6 @@ } } - /** - * Removes a group corresponding to the provided group id. - * @param subject value. - * @param entityId entity id - * @throw AppdefGroupNotFoundException when group cannot be found. - * @throw PermissionException when group access is not authorized. - * @ejb:interface-method - */ - public void deleteGroup(AuthzSubject subject, AppdefEntityID entityId) - throws AppdefGroupNotFoundException, PermissionException, VetoException - { - deleteGroup(subject, entityId.getId()); - } - - /** - * Removes a group corresponding to the provided group id. - * @throw AppdefGroupNotFoundException when group cannot be found. - * @throw PermissionException when group access is not authorized. - * @ejb:interface-method - */ - public void deleteGroup(AuthzSubject subject, Integer groupId) - throws AppdefGroupNotFoundException, PermissionException, VetoException - { - try { - GroupManagerLocal manager = getGroupManager(); - AppdefGroupValue gv = findGroup(subject,groupId); - - if (gv.getGroupType() == - AppdefEntityConstants.APPDEF_TYPE_GROUP_COMPAT_SVC && - gv.getClusterId() != CLUSTER_UNDEFINED) { - removeServiceCluster (subject, gv.getClusterId()); - } - manager.deleteGroup(subject, groupId ); - - // Send resource delete event - ResourceDeletedZevent zevent = - new ResourceDeletedZevent(subject.getAuthzSubjectValue(), - new AppdefEntityID(AppdefEntityConstants.APPDEF_TYPE_GROUP, - groupId)); - ZeventManager.getInstance().enqueueEventAfterCommit(zevent); - } catch (GroupNotFoundException e) { - throw new AppdefGroupNotFoundException ("caught group not " + - "found exc looking for:" + groupId); - } catch (VetoException e) { - throw e; - } catch (Exception e) { - throw new RuntimeException("Unable to delete group", e); - } - } - - /** - * Change group owner - * @param subject value of caller. - * @param groupId id to effect change. - * @param newOwner subject of the new owner. - * @throw AppdefGroupNotFoundException when group cannot be found. - * @throw PermissionException when group access is not authorized. - * @ejb:interface-method - */ - public AppdefGroupValue changeGroupOwner(AuthzSubject subject, - Integer groupId, - AuthzSubject newOwner) - throws AppdefGroupNotFoundException, PermissionException { - try { - GroupManagerLocal manager = getGroupManager(); - - // first lookup the group to test permissions - AppdefGroupValue agv; - agv = findGroup(subject, groupId); - - // now change the owner. - manager.changeGroupOwner(subject, agv, newOwner); - - return agv; - } - catch (GroupNotFoundException e) { - log.error("Caught group not found exc looking for:" + groupId); - throw new AppdefGroupNotFoundException ("Caught group not " + - "found exc looking for:" + groupId); - } - } - // Page out the collection, applying any filters in the process. private PageList getPageList (Collection coll, PageControl pc, AppdefPagerFilter[] filters) { Modified: trunk/src/org/hyperic/hq/appdef/server/session/PlatformManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/PlatformManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/appdef/server/session/PlatformManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -75,11 +75,14 @@ import org.hyperic.hq.authz.server.session.AuthzSubject; import org.hyperic.hq.authz.server.session.AuthzSubjectManagerEJBImpl; import org.hyperic.hq.authz.server.session.Resource; +import org.hyperic.hq.authz.server.session.ResourceGroup; +import org.hyperic.hq.authz.server.session.ResourceGroupManagerEJBImpl; import org.hyperic.hq.authz.server.session.ResourceManagerEJBImpl; import org.hyperic.hq.authz.server.session.ResourceType; import org.hyperic.hq.authz.shared.AuthzConstants; import org.hyperic.hq.authz.shared.AuthzSubjectValue; import org.hyperic.hq.authz.shared.PermissionException; +import org.hyperic.hq.authz.shared.ResourceGroupManagerLocal; import org.hyperic.hq.authz.shared.ResourceManagerLocal; import org.hyperic.hq.authz.shared.ResourceValue; import org.hyperic.hq.common.ApplicationException; @@ -1234,38 +1237,19 @@ public void deletePlatformType(PlatformType pt) throws VetoException, RemoveException { - AppdefGroupManagerLocal grpMgr = AppdefGroupManagerEJBImpl.getOne(); + ResourceGroupManagerLocal resGroupMan = + ResourceGroupManagerEJBImpl.getOne(); + ResourceManagerLocal resMan = ResourceManagerEJBImpl.getOne(); + Resource proto = + resMan.findResourcePojoByInstanceId(AuthzConstants.authzPlatformProto, + pt.getId()); AuthzSubject overlord = getOverlord(); try { _log.debug("Removing PlatformType: " + pt.getName()); - // Find resource groups of this type and remove - int groupEntType = AppdefEntityConstants.APPDEF_TYPE_PLATFORM; - int groupEntResType = pt.getId().intValue(); + resGroupMan.removeGroupsCompatibleWith(proto); - List groups = grpMgr.findAllGroups(overlord, - PageControl.PAGE_ALL, - new AppdefPagerFilter[0]); - for (Iterator i = groups.iterator(); i.hasNext(); ) { - try { - AppdefGroupValue grp = (AppdefGroupValue) i.next(); - if (grp.isGroupCompat() && - grp.getGroupEntType() == groupEntType && - grp.getGroupEntResType() == groupEntResType) - { - grpMgr.deleteGroup(overlord, grp.getId()); - } - } catch (AppdefGroupNotFoundException e) { - /* assert false : - "Delete based on a group should not " + - "result in AppdefGroupNotFoundException";*/ - } catch (VetoException e) { - // Why can't we delete? - log.error("Cannot delete group", e); - } - } - // Remove all platforms for (Iterator i= pt.getPlatforms().iterator(); i.hasNext();) { Platform platform = (Platform) i.next(); @@ -1280,7 +1264,9 @@ } catch (PermissionException e) { assert false : "Overlord should not run into PermissionException"; } - + + // TODO: Need to remove the Resource prototype associated with this + // platform. getPlatformTypeDAO().remove(pt); } Modified: trunk/src/org/hyperic/hq/appdef/server/session/ServerManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/ServerManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/appdef/server/session/ServerManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -64,11 +64,14 @@ import org.hyperic.hq.authz.server.session.AuthzSubject; import org.hyperic.hq.authz.server.session.AuthzSubjectManagerEJBImpl; import org.hyperic.hq.authz.server.session.Resource; +import org.hyperic.hq.authz.server.session.ResourceGroupManagerEJBImpl; import org.hyperic.hq.authz.server.session.ResourceManagerEJBImpl; import org.hyperic.hq.authz.server.session.ResourceType; import org.hyperic.hq.authz.shared.AuthzConstants; import org.hyperic.hq.authz.shared.AuthzSubjectValue; import org.hyperic.hq.authz.shared.PermissionException; +import org.hyperic.hq.authz.shared.ResourceGroupManagerLocal; +import org.hyperic.hq.authz.shared.ResourceManagerLocal; import org.hyperic.hq.authz.shared.ResourceValue; import org.hyperic.hq.common.SystemException; import org.hyperic.hq.common.VetoException; @@ -1210,44 +1213,25 @@ AuthzSubject overlord = AuthzSubjectManagerEJBImpl.getOne().getOverlordPojo(); - AppdefGroupManagerLocal grpMgr = AppdefGroupManagerEJBImpl.getOne(); + ResourceGroupManagerLocal resGroupMan = + ResourceGroupManagerEJBImpl.getOne(); + ResourceManagerLocal resMan = ResourceManagerEJBImpl.getOne(); + for (Iterator i = curServers.iterator(); i.hasNext();) { ServerType stlocal = (ServerType) i.next(); String serverName = stlocal.getName(); ServerTypeInfo sinfo = (ServerTypeInfo) infoMap.remove(serverName); - // See if this exists if (sinfo == null) { log.debug("Removing ServerType: " + serverName); + Integer typeId = AuthzConstants.authzServerProto; + Resource proto = + resMan.findResourcePojoByInstanceId(typeId, + stlocal.getId()); - int groupEntType = AppdefEntityConstants.APPDEF_TYPE_SERVER; - int groupEntResType = stlocal.getId().intValue(); - try { - List groups = grpMgr - .findAllGroups(overlord, PageControl.PAGE_ALL, - new AppdefPagerFilter[0]); - for (Iterator grpIt = groups.iterator(); - grpIt.hasNext(); ) { - try { - AppdefGroupValue grp = - (AppdefGroupValue) grpIt.next(); - if (grp.isGroupCompat() && - grp.getGroupEntType() == groupEntType && - grp.getGroupEntResType() == groupEntResType) - { - grpMgr.deleteGroup(overlord, grp.getId()); - } - } catch (AppdefGroupNotFoundException e) { - assert false : - "Delete based on a group should not " + - "result in AppdefGroupNotFoundException"; - } catch (VetoException e) { - // Why can't we delete? - log.error("Cannot delete group", e); - } - } + resGroupMan.removeGroupsCompatibleWith(proto); // Remove all services for (Iterator svrIt = stlocal.getServers().iterator(); Modified: trunk/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/appdef/server/session/ServiceManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -69,11 +69,13 @@ import org.hyperic.hq.authz.server.session.AuthzSubjectManagerEJBImpl; import org.hyperic.hq.authz.server.session.Resource; import org.hyperic.hq.authz.server.session.ResourceGroup; +import org.hyperic.hq.authz.server.session.ResourceGroupManagerEJBImpl; import org.hyperic.hq.authz.server.session.ResourceManagerEJBImpl; import org.hyperic.hq.authz.server.session.ResourceType; import org.hyperic.hq.authz.shared.AuthzConstants; import org.hyperic.hq.authz.shared.AuthzSubjectValue; import org.hyperic.hq.authz.shared.PermissionException; +import org.hyperic.hq.authz.shared.ResourceGroupManagerLocal; import org.hyperic.hq.authz.shared.ResourceManagerLocal; import org.hyperic.hq.authz.shared.ResourceValue; import org.hyperic.hq.common.SystemException; @@ -1378,7 +1380,10 @@ HashMap serverTypes = new HashMap(); ServiceTypeDAO stLHome = getServiceTypeDAO(); - AppdefGroupManagerLocal grpMgr = AppdefGroupManagerEJBImpl.getOne(); + ResourceGroupManagerLocal resGroupMan = + ResourceGroupManagerEJBImpl.getOne(); + ResourceManagerLocal resMan = ResourceManagerEJBImpl.getOne(); + try { Collection curServices = stLHome.findByPlugin(plugin); ServerTypeDAO stHome = getServerTypeDAO(); @@ -1396,35 +1401,14 @@ // See if this exists if (sinfo == null) { - int groupEntType = AppdefEntityConstants.APPDEF_TYPE_SERVICE; - int groupEntResType = stlocal.getId().intValue(); + Integer typeId = AuthzConstants.authzServiceProto; + Resource proto = + resMan.findResourcePojoByInstanceId(typeId, + stlocal.getId()); try { - // Delete compatible groups of this type. - List groups = grpMgr - .findAllGroups(overlord, PageControl.PAGE_ALL, - new AppdefPagerFilter[0]); - for (Iterator grpIt = groups.iterator(); - grpIt.hasNext(); ) { - try { - AppdefGroupValue grp = - (AppdefGroupValue) grpIt.next(); - - if (grp.isGroupCompat() && - grp.getGroupEntType() == groupEntType && - grp.getGroupEntResType() == groupEntResType) - { - grpMgr.deleteGroup(overlord, grp.getId()); - } - } catch (AppdefGroupNotFoundException e) { - assert false : - "Delete based on a group should not " + - "result in AppdefGroupNotFoundException"; - } catch (VetoException e) { - // Why can't we delete? - log.error("Cannot delete group", e); - } - } + // Delete compatible groups of this type. + resGroupMan.removeGroupsCompatibleWith(proto); // Remove all services for (Iterator svcIt = stlocal.getServices().iterator(); Modified: trunk/src/org/hyperic/hq/appdef/shared/AppdefResourceValue.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/shared/AppdefResourceValue.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/appdef/shared/AppdefResourceValue.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -25,7 +25,6 @@ package org.hyperic.hq.appdef.shared; -import org.hyperic.hq.appdef.shared.AppdefGroupValue; import org.hyperic.hq.appdef.shared.ApplicationValue; import org.hyperic.hq.appdef.shared.PlatformLightValue; import org.hyperic.hq.appdef.shared.PlatformValue; Modified: trunk/src/org/hyperic/hq/authz/server/session/ResourceDAO.java =================================================================== --- trunk/src/org/hyperic/hq/authz/server/session/ResourceDAO.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/authz/server/session/ResourceDAO.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -179,7 +179,7 @@ return q.executeUpdate(); } - public int deleteByInstances(AppdefEntityID[] ids) { + int deleteByInstances(AppdefEntityID[] ids) { ResourceStartupListener.getCallbackObj().preAppdefResourcesDelete(ids); new ResourceEdgeDAO(DAOFactory.getDAOFactory()).deleteEdges(ids); Modified: trunk/src/org/hyperic/hq/authz/server/session/ResourceGroup.java =================================================================== --- trunk/src/org/hyperic/hq/authz/server/session/ResourceGroup.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/authz/server/session/ResourceGroup.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -223,6 +223,24 @@ _resourcePrototype = r; } + /** + * Checks if this group is compatable with the passed resource. + * + * @param resource A resource prototype. Note that this is NOT an + * instance of the prototype. + * + * @return false if this is not a compatable group, or if the passed + * resource is not an instace of this.getResourcePrototype() + */ + public boolean isCompatableWith(Resource resource) { + return _resourcePrototype != null && + _resourcePrototype.equals(resource); + } + + /** + * If the group is compatable, this method returns the prototype for all + * resources contained within. + */ public Resource getResourcePrototype() { return _resourcePrototype; } Modified: trunk/src/org/hyperic/hq/authz/server/session/ResourceGroupManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/authz/server/session/ResourceGroupManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/authz/server/session/ResourceGroupManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -38,6 +38,7 @@ import javax.ejb.SessionBean; import javax.naming.NamingException; +import org.hyperic.hq.appdef.server.session.ResourceDeletedZevent; import org.hyperic.hq.appdef.shared.AppdefEntityID; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; import org.hyperic.hq.authz.server.session.Resource; @@ -58,6 +59,7 @@ import org.hyperic.hq.authz.shared.RoleValue; import org.hyperic.hq.common.SystemException; import org.hyperic.hq.common.VetoException; +import org.hyperic.hq.zevents.ZeventManager; import org.hyperic.util.pager.PageControl; import org.hyperic.util.pager.PageList; import org.hyperic.util.pager.Pager; @@ -234,13 +236,40 @@ } /** + * Remove all groups compatable with the specified resource prototype. + * + * @throws VetoException if another subsystem cannot allow it (for + * constraint reasons) + * @ejb:interface-method + */ + public void removeGroupsCompatibleWith(Resource proto) + throws VetoException + { + AuthzSubject overlord = + AuthzSubjectManagerEJBImpl.getOne().getOverlordPojo(); + + for (Iterator i=getAllResourceGroups().iterator(); i.hasNext(); ) { + ResourceGroup group = (ResourceGroup)i.next(); + + if (group.isCompatableWith(proto)) { + try { + removeResourceGroup(overlord, group); + } catch(PermissionException exc) { + log.warn("Perm denied while deleting group [" + + group.getName() + " id=" + group.getId() + "]", + exc); + } + } + } + } + + /** * Delete the specified ResourceGroup. * @param whoami The current running user. * @param group The group to delete. * @ejb:interface-method */ - public void removeResourceGroup(AuthzSubject whoami, - ResourceGroupValue group) + public void removeResourceGroup(AuthzSubject whoami, ResourceGroup group) throws PermissionException, VetoException { ResourceGroupDAO dao = getResourceGroupDAO(); @@ -253,6 +282,13 @@ GroupingStartupListener.getCallbackObj().preGroupDelete(resGrp); dao.remove(resGrp); + + // Send resource delete event + ResourceDeletedZevent zevent = + new ResourceDeletedZevent(whoami.getAuthzSubjectValue(), + new AppdefEntityID(AppdefEntityConstants.APPDEF_TYPE_GROUP, + group.getId())); + ZeventManager.getInstance().enqueueEventAfterCommit(zevent); } /** @@ -723,6 +759,22 @@ } /** + * Change owner of a group. + * + * @ejb:interface-method + * @ejb:transaction type="REQUIRED" + */ + public void changeGroupOwner(AuthzSubject subject, ResourceGroup group, + AuthzSubject newOwner) + throws PermissionException + { + ResourceManagerEJBImpl.getOne().setResourceOwner(subject, + group.getResource(), + newOwner); + group.setModifiedBy(newOwner.getName()); + } + + /** * Get a ResourceGroup owner's AuthzSubjectValue * @param gid The group id * @exception NamingException - JNDI failure Modified: trunk/src/org/hyperic/hq/authz/server/session/ResourceManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/authz/server/session/ResourceManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/authz/server/session/ResourceManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -426,19 +426,30 @@ */ public void setResourceOwner(AuthzSubject whoami, ResourceValue res, AuthzSubject newOwner) - throws PermissionException { + throws PermissionException + { Resource resource = lookupResourcePojo(res); + setResourceOwner(whoami, resource, newOwner); + } + + /** + * @ejb:interface-method + */ + public void setResourceOwner(AuthzSubject whoami, Resource resource, + AuthzSubject newOwner) + throws PermissionException + { PermissionManager pm = PermissionManagerFactory.getInstance(); if (pm.hasAdminPermission(whoami.getId()) || getResourceDAO().isOwner(resource, whoami.getId())) { resource.setOwner(newOwner); - } - else { + } else { throw new PermissionException("Only an owner or admin may " + "reassign ownership."); } } + /** * Get all the resource types Modified: trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -1866,7 +1866,9 @@ .changeApplicationOwner(caller, id, newOwner); return findApplicationById(sessionId, id); case AppdefEntityConstants.APPDEF_TYPE_GROUP: - getAppdefGroupManager().changeGroupOwner(caller, id, newOwner); + ResourceGroup g = + getResourceGroupManager().findResourceGroupById(caller, id); + getResourceGroupManager().changeGroupOwner(caller, g, newOwner); return findGroup(sessionId, eid.getId()); default: throw new InvalidAppdefTypeException("Unknown type: " + @@ -2728,17 +2730,14 @@ * @ejb:interface-method */ public void deleteGroup(int sessionId, Integer groupId) - throws AppdefGroupNotFoundException, SessionTimeoutException, - SessionNotFoundException, PermissionException, - VetoException + throws SessionException, PermissionException, VetoException, + FinderException { - try { - AuthzSubject subject = manager.getSubjectPojo(sessionId); - getAppdefGroupManager().deleteGroup(subject,groupId); - } catch (AppdefGroupNotFoundException e) { - log.debug("Unable to locate group for removal"); - throw e; - } + AuthzSubject subject = manager.getSubjectPojo(sessionId); + ResourceGroupManagerLocal groupMan = getResourceGroupManager(); + ResourceGroup group = groupMan.findResourceGroupById(subject, groupId); + + groupMan.removeResourceGroup(subject, group); } /** @@ -2778,6 +2777,8 @@ throws FinderException, UpdateException, PermissionException, AppdefEntityNotFoundException { + ResourceGroupManagerLocal groupMan = getResourceGroupManager(); + try { // first look up the appdef resources by owner ResourceValue[] resources @@ -2814,16 +2815,10 @@ overlord); } if(resType.equals(AuthzConstants.groupResType)) { - try { - // change group owner - getAppdefGroupManager() - .changeGroupOwner(overlord, aRes.getInstanceId(), - overlord); - } catch (AppdefGroupNotFoundException e) { - // Group may not be an appdef group - log.info("Group " + aRes.getInstanceId() + - " not appdef group, ownership unchanged"); - } + ResourceGroup g = + groupMan.findResourceGroupById(overlord, + aRes.getInstanceId()); + groupMan.changeGroupOwner(overlord, g, overlord); } } } catch (CreateException e) { Modified: trunk/src/org/hyperic/hq/grouping/server/session/GroupManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/grouping/server/session/GroupManagerEJBImpl.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/grouping/server/session/GroupManagerEJBImpl.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -423,51 +423,6 @@ return false; } - /** - * Removes a group specified by id. - * - * @throws PermissionException when consumer is not owner or priv'd. - * @ejb:interface-method - * @ejb:transaction type="Required" - */ - public void deleteGroup (AuthzSubject subject, Integer groupId) - throws GroupNotFoundException, PermissionException, VetoException - { - ResourceGroupManagerLocal rgmLoc = getResourceGroupManager(); - - ResourceGroupValue rgVo = new ResourceGroupValue(); - rgVo.setId(groupId); - rgmLoc.removeResourceGroup(subject,rgVo); - } - - /** - * Change owner of a group. - * - * @ejb:interface-method - * @ejb:transaction type="REQUIRED" - */ - public GroupValue changeGroupOwner(AuthzSubject subject, - GroupValue groupVo, - AuthzSubject newOwner) - throws GroupNotFoundException, PermissionException - { - try { - ResourceValue authzRes = - getResourceByInstanceId(AuthzConstants.groupResourceTypeName, - groupVo.getId()); - getResourceManager().setResourceOwner(subject, authzRes, newOwner); - getResourceGroupManager().setGroupModifiedBy(subject, - groupVo.getId()); - groupVo.setOwner(newOwner.getName()); - groupVo.setModifiedBy(subject.getName()); - } catch (FinderException e) { - log.error("Unable to find resource group to change owner."); - throw new GroupNotFoundException ("Unable to lookup ResourceGroup" + - " for ownership change"); - } - return groupVo; - } - /* Get the authz resource type value */ protected ResourceType getResourceType(String resType) throws FinderException Modified: trunk/src/org/hyperic/hq/ui/action/resource/hub/RemoveResourceAction.java =================================================================== --- trunk/src/org/hyperic/hq/ui/action/resource/hub/RemoveResourceAction.java 2008-03-31 18:03:05 UTC (rev 8601) +++ trunk/src/org/hyperic/hq/ui/action/resource/hub/RemoveResourceAction.java 2008-03-31 20:05:59 UTC (rev 8602) @@ -30,6 +30,7 @@ import java.util.Iterator; import java.util.List; +import javax.ejb.FinderException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -157,7 +158,7 @@ boss.deleteGroup(sessionId.intValue(), resourceId.getId()); deleted++; - } catch (AppdefEntityNotFoundException e) { + } catch (FinderException e) { log.trace("Removing resource " + resourceId + " failed"); } catch (Exception e) { |