From: <sc...@hy...> - 2009-03-12 20:07:13
|
Author: scottmf Date: 2009-03-12 13:06:49 -0700 (Thu, 12 Mar 2009) New Revision: 12746 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=12746 Modified: branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementDAO.java branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementManagerEJBImpl.java Log: added checks to ignore resources in async delete state Modified: branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementDAO.java =================================================================== --- branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementDAO.java 2009-03-12 19:12:47 UTC (rev 12745) +++ branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementDAO.java 2009-03-12 20:06:49 UTC (rev 12746) @@ -301,7 +301,7 @@ } public List findEnabledByResource(Resource resource) { - if (resource.isInAsyncDeleteState()) { + if (resource == null || resource.isInAsyncDeleteState()) { return Collections.EMPTY_LIST; } String sql = Modified: branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementManagerEJBImpl.java =================================================================== --- branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementManagerEJBImpl.java 2009-03-12 19:12:47 UTC (rev 12745) +++ branches/HQ_4_1/src/org/hyperic/hq/measurement/server/session/MeasurementManagerEJBImpl.java 2009-03-12 20:06:49 UTC (rev 12746) @@ -487,8 +487,11 @@ * @ejb:interface-method */ public int getEnabledMetricsCount(AuthzSubject subject, AppdefEntityID id) { - List mcol = - getMeasurementDAO().findEnabledByResource(getResource(id)); + final Resource res = getResource(id); + if (res == null || res.isInAsyncDeleteState()) { + return 0; + } + final List mcol = getMeasurementDAO().findEnabledByResource(res); return mcol.size(); } @@ -772,12 +775,10 @@ AppdefEntityID aeid = r.getEntityId(); resource = resMan.findResource(aeid); } - final ResourceType type = resource.getResourceType(); - if (type == null) { - // if type is null that means the resource was asynchronously - // deleted. Just ignore. + if (resource == null || resource.isInAsyncDeleteState()) { continue; } + final ResourceType type = resource.getResourceType(); if (type.getId().equals(AuthzConstants.authzGroup)) { final ResourceGroupManagerLocal resGrpMan = ResourceGroupManagerEJBImpl.getOne(); |