Author: davidb Date: Tue Dec 8 18:43:13 2015 New Revision: 1718670 URL: http://svn.apache.org/viewvc?rev=1718670&view=rev Log: FELIX-5112 ClassCastException when deploying an OBR Resource already present in the runtime
More code cleanup Committed on behalf of @skahmann with many thanks. Contributed via https://github.com/apache/felix/pull/44 Modified: felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java Modified: felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java?rev=1718670&r1=1718669&r2=1718670&view=diff ============================================================================== --- felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java (original) +++ felix/trunk/bundlerepository/src/main/java/org/apache/felix/bundlerepository/impl/ResolverImpl.java Tue Dec 8 18:43:13 2015 @@ -347,11 +347,13 @@ public class ResolverImpl implements Res for (Resource aResourceSet : resourceSet) { checkInterrupt(); Capability[] caps = aResourceSet.getCapabilities(); - for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++) { - if (req.isSatisfied(caps[capIdx])) { - // The requirement is already satisfied an existing - // resource, return the resource. - return aResourceSet; + if (caps != null) { + for (Capability cap : caps) { + if (req.isSatisfied(cap)) { + // The requirement is already satisfied an existing + // resource, return the resource. + return aResourceSet; + } } } } @@ -369,18 +371,17 @@ public class ResolverImpl implements Res { List<ResourceCapability> matchingCapabilities = new ArrayList<ResourceCapability>(); - for (int resIdx = 0; (resources != null) && (resIdx < resources.length); resIdx++) - { - checkInterrupt(); - // We don't need to look at resources we've already looked at. - if (!m_failedSet.contains(resources[resIdx])) - { - Capability[] caps = resources[resIdx].getCapabilities(); - for (int capIdx = 0; (caps != null) && (capIdx < caps.length); capIdx++) - { - if (req.isSatisfied(caps[capIdx])) - { - matchingCapabilities.add(new ResourceCapabilityImpl(resources[resIdx], caps[capIdx])); + if (resources != null) { + for (Resource resource : resources) { + checkInterrupt(); + // We don't need to look at resources we've already looked at. + if (!m_failedSet.contains(resource)) { + Capability[] caps = resource.getCapabilities(); + if (caps != null) { + for (Capability cap : caps) { + if (req.isSatisfied(cap)) + matchingCapabilities.add(new ResourceCapabilityImpl(resource, cap)); + } } } }