getUnsatisfiedReason(state, importPackageSpecification, errorDetail);
errorList.add(errorDetail);
}
break;
case MISSING_REQUIRE_BUNDLE:
BundleSpecification bundleSpecification = (BundleSpecification) constraint;
if (bundleSpecification.isOptional()) {
// don't care about unsatisfied optional require-bundle
continue;
}
if (isSatisfied(bundleSpecification, bundleDescriptions) == null) {
errorList.add(new ErrorDetail("The bundle dependency " + versionToString(bundleSpecification) + " required by bundle " + bundleToString(bundle) + " cannot be satisfied."));
}
break;
case MISSING_FRAGMENT_HOST:
HostSpecification hostSpecification = (HostSpecification) constraint;
if (isSatisfied(hostSpecification, bundleDescriptions) == null) {
errorList.add(new ErrorDetail("The host bundle dependency " + versionToString(hostSpecification) + " required by bundle " + bundleToString(bundle) + " cannot be satisfied."));
}
break;
case IMPORT_PACKAGE_USES_CONFLICT:
ImportPackageSpecification usesImportPackageSpecification = (ImportPackageSpecification) constraint;
errorList.add(new ErrorDetail("The package dependency " + versionToString(usesImportPackageSpecification) + " required by bundle " + bundleToString(bundle) + " cannot be resolved due to uses directive conflict."));
break;
case REQUIRE_BUNDLE_USES_CONFLICT:
BundleSpecification usesBundleSpecification = (BundleSpecification) constraint;
errorList.add(new ErrorDetail("The bundle dependency " + versionToString(usesBundleSpecification) + " required by bundle " + bundleToString(bundle) + " cannot be resolved due to uses directive conflict."));
break;
default:
errorList.add(new ErrorDetail(error.toString()));
break;