[ https://issues.apache.org/jira/browse/FELIX-2851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet resolved FELIX-2851. ------------------------------------ Resolution: Fixed Fix Version/s: framework-3.0.9 > Resolution problems after a fragment can't be resolved > ------------------------------------------------------ > > Key: FELIX-2851 > URL: https://issues.apache.org/jira/browse/FELIX-2851 > Project: Felix > Issue Type: Bug > Components: Framework > Reporter: Guillaume Nodet > Assignee: Guillaume Nodet > Fix For: framework-3.0.9 > > > When a fragment can't be resolved correctly, his removal isn't properly > handled. > The following patch seems to fix the problem: > {code} > diff --git > a/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java > b/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java > index 534d56f..ca74100 100644 > --- > a/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java > +++ > b/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java > @@ -157,8 +157,9 @@ public class FelixResolverState implements > Resolver.ResolverState > > public void detachFragment(Module host, Module fragment) > { > - List<Module> fragments = ((ModuleImpl) host).getFragments(); > + List<Module> fragments = new ArrayList<Module>(((ModuleImpl) > host).getFragments()); > fragments.remove(fragment); > + removeFragment(fragment); > try > { > ((ModuleImpl) host).attachFragments(fragments); > {code} > The first line is needed as the attachFragments() processing is screwed > because the original list of modified. > The second line will actually remove packages exported by the fragment from > the capabilities set. > I'd like to apply that on to the 3.0.x branch and trunk (eventually), so > please review. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira