diff options
author | Jeff McAffer | 2008-02-27 04:46:00 +0000 |
---|---|---|
committer | Jeff McAffer | 2008-02-27 04:46:00 +0000 |
commit | 43db829d409281d665cdf69a7faac4c76a6347f6 (patch) | |
tree | c0114582e3491a6edd9ef6be3a7ba5d25a1f80a1 | |
parent | d22bf5b9a9f68cfa188de36714a38923cfe70a1c (diff) | |
download | rt.equinox.p2-43db829d409281d665cdf69a7faac4c76a6347f6.tar.gz rt.equinox.p2-43db829d409281d665cdf69a7faac4c76a6347f6.tar.xz rt.equinox.p2-43db829d409281d665cdf69a7faac4c76a6347f6.zip |
fix NPE in the case of unmet optional constraintsv20080227
-rw-r--r-- | bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java index b5583fd5a..d7b24fd92 100644 --- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java +++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java @@ -489,7 +489,11 @@ public class EquinoxBundlesState implements BundlesState { ImportPackageSpecification[] imports = bundle.getImportPackages(); for (int i = 0; i < imports.length; i++) { BaseDescription supplier = imports[i].getSupplier(); - set.add(supplier.getSupplier()); + if (supplier == null) { + if (!imports[i].getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_OPTIONAL)) + throw new IllegalStateException("Internal error: import supplier should not be null"); + } else + set.add(supplier.getSupplier()); // System.out.println(supplier.getSupplier()); } BundleDescription[] requires = bundle.getResolvedRequires(); |