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
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