Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2006-05-05 13:31:33 +0000
committerThomas Watson2006-05-05 13:31:33 +0000
commit43c885c5afa22ebe2a17a3fc38ea39cbc27c936b (patch)
treeb7169210cb68e5c9e44d7370af6ddf802d6ca789
parent95a066dff705733e91216dd916dc80b4b89c409d (diff)
downloadrt.equinox.framework-43c885c5afa22ebe2a17a3fc38ea39cbc27c936b.tar.gz
rt.equinox.framework-43c885c5afa22ebe2a17a3fc38ea39cbc27c936b.tar.xz
rt.equinox.framework-43c885c5afa22ebe2a17a3fc38ea39cbc27c936b.zip
Bug 140285 Resolver: Changing platform properties doesn't change result of getPrerequisites()v20060505
-rw-r--r--bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateImpl.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateImpl.java b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateImpl.java
index 7c6c6cc4a..2fed95a99 100644
--- a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateImpl.java
+++ b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateImpl.java
@@ -270,9 +270,12 @@ public abstract class StateImpl implements State {
GenericSpecification[] genericRequires = bundle.getGenericRequires();
if (genericRequires.length > 0) {
ArrayList genericSuppliers = new ArrayList(genericRequires.length);
- for (int i = 0; i < genericRequires.length; i++)
- if (genericRequires[i].getSupplier() != null)
- genericSuppliers.add(genericRequires[i].getSupplier());
+ for (int i = 0; i < genericRequires.length; i++) {
+ GenericDescription[] suppliers = genericRequires[i].getSuppliers();
+ if (suppliers != null)
+ for (int j = 0; j < suppliers.length; j++)
+ genericSuppliers.add(suppliers[j]);
+ }
bundle.addDependencies((BaseDescription[]) genericSuppliers.toArray(new BaseDescription[genericSuppliers.size()]));
}
}
@@ -286,6 +289,11 @@ public abstract class StateImpl implements State {
bundle.setResolvedImports(null);
bundle.setResolvedRequires(null);
+ // remove suppliers for generics
+ GenericSpecification[] genericRequires = bundle.getGenericRequires();
+ if (genericRequires.length > 0)
+ for (int i = 0; i < genericRequires.length; i++)
+ ((GenericSpecificationImpl) genericRequires[i]).setSupplers(null);
bundle.removeDependencies();
}

Back to the top