boolean isFromFragment() { return constraint.getBundle().getHost() != null; }
boolean isFromFragment() { return constraint.getBundle().getHost() != null; }
boolean isFromFragment() { return constraint.getBundle().getHost() != null; }
boolean isFromFragment() { return constraint.getBundle().getHost() != null; }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace) { ResolverHook hook = beginHook(constraint.getBundle().getContainingState(), Arrays.asList(new BundleRevision[] {constraint.getBundle()})); try { return isBundleConstraintResolvable(constraint, namespace, hook); } finally { if (hook != null) hook.end(); } }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace) { ResolverHook hook = beginHook(constraint.getBundle().getContainingState(), Arrays.asList(new BundleRevision[] {constraint.getBundle()})); try { return isBundleConstraintResolvable(constraint, namespace, hook); } finally { if (hook != null) hook.end(); } }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace) { ResolverHook hook = beginHook(constraint.getBundle().getContainingState(), Arrays.asList(new BundleRevision[] {constraint.getBundle()})); try { return isBundleConstraintResolvable(constraint, namespace, hook); } finally { if (hook != null) hook.end(); } }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace) { ResolverHook hook = beginHook(constraint.getBundle().getContainingState(), Arrays.asList(new BundleRevision[] {constraint.getBundle()})); try { return isBundleConstraintResolvable(constraint, namespace, hook); } finally { if (hook != null) hook.end(); } }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace, ResolverHook hook) { BundleDescription[] availableBundles = constraint.getBundle().getContainingState().getBundles(constraint.getName()); return getPossibleCandidates(constraint, availableBundles, namespace, hook, true).size() > 0; }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace, ResolverHook hook) { BundleDescription[] availableBundles = constraint.getBundle().getContainingState().getBundles(constraint.getName()); return getPossibleCandidates(constraint, availableBundles, namespace, hook, true).size() > 0; }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace, ResolverHook hook) { BundleDescription[] availableBundles = constraint.getBundle().getContainingState().getBundles(constraint.getName()); return getPossibleCandidates(constraint, availableBundles, namespace, hook, true).size() > 0; }
private boolean isBundleConstraintResolvable(VersionConstraint constraint, String namespace, ResolverHook hook) { BundleDescription[] availableBundles = constraint.getBundle().getContainingState().getBundles(constraint.getName()); return getPossibleCandidates(constraint, availableBundles, namespace, hook, true).size() > 0; }
private void checkUsesConstraints(ResolverBundle[] bundles, Dictionary<Object, Object>[] platformProperties) { List<ResolverConstraint> conflictingConstraints = findBestCombination(bundles, platformProperties); if (conflictingConstraints == null) return; Set<ResolverBundle> conflictedBundles = null; for (ResolverConstraint conflict : conflictingConstraints) { if (conflict.isOptional()) { conflict.clearPossibleSuppliers(); continue; } if (conflictedBundles == null) conflictedBundles = new HashSet<ResolverBundle>(conflictingConstraints.size()); ResolverBundle conflictedBundle; if (conflict.isFromFragment()) conflictedBundle = bundleMapping.get(conflict.getVersionConstraint().getBundle()); else conflictedBundle = conflict.getBundle(); if (conflictedBundle != null) { if (DEBUG_USES) System.out.println("Found conflicting constraint: " + conflict + " in bundle " + conflictedBundle); //$NON-NLS-1$//$NON-NLS-2$ conflictedBundles.add(conflictedBundle); int type = conflict instanceof ResolverImport ? ResolverError.IMPORT_PACKAGE_USES_CONFLICT : ResolverError.REQUIRE_BUNDLE_USES_CONFLICT; state.addResolverError(conflictedBundle.getBundleDescription(), type, conflict.getVersionConstraint().toString(), conflict.getVersionConstraint()); conflictedBundle.setResolvable(false); // We pass false for keepFragmentsAttached because we need to redo the attachments (bug 272561) setBundleUnresolved(conflictedBundle, false, false); } } reResolveBundles(conflictedBundles, bundles, platformProperties); }
private void checkUsesConstraints(ResolverBundle[] bundles, Dictionary<Object, Object>[] platformProperties) { List<ResolverConstraint> conflictingConstraints = findBestCombination(bundles, platformProperties); if (conflictingConstraints == null) return; Set<ResolverBundle> conflictedBundles = null; for (ResolverConstraint conflict : conflictingConstraints) { if (conflict.isOptional()) { conflict.clearPossibleSuppliers(); continue; } if (conflictedBundles == null) conflictedBundles = new HashSet<>(conflictingConstraints.size()); ResolverBundle conflictedBundle; if (conflict.isFromFragment()) conflictedBundle = bundleMapping.get(conflict.getVersionConstraint().getBundle()); else conflictedBundle = conflict.getBundle(); if (conflictedBundle != null) { if (DEBUG_USES) System.out.println("Found conflicting constraint: " + conflict + " in bundle " + conflictedBundle); //$NON-NLS-1$//$NON-NLS-2$ conflictedBundles.add(conflictedBundle); int type = conflict instanceof ResolverImport ? ResolverError.IMPORT_PACKAGE_USES_CONFLICT : ResolverError.REQUIRE_BUNDLE_USES_CONFLICT; state.addResolverError(conflictedBundle.getBundleDescription(), type, conflict.getVersionConstraint().toString(), conflict.getVersionConstraint()); conflictedBundle.setResolvable(false); // We pass false for keepFragmentsAttached because we need to redo the attachments (bug 272561) setBundleUnresolved(conflictedBundle, false, false); } } reResolveBundles(conflictedBundles, bundles, platformProperties); }
private void checkUsesConstraints(ResolverBundle[] bundles, Dictionary<Object, Object>[] platformProperties) { List<ResolverConstraint> conflictingConstraints = findBestCombination(bundles, platformProperties); if (conflictingConstraints == null) return; Set<ResolverBundle> conflictedBundles = null; for (ResolverConstraint conflict : conflictingConstraints) { if (conflict.isOptional()) { conflict.clearPossibleSuppliers(); continue; } if (conflictedBundles == null) conflictedBundles = new HashSet<ResolverBundle>(conflictingConstraints.size()); ResolverBundle conflictedBundle; if (conflict.isFromFragment()) conflictedBundle = bundleMapping.get(conflict.getVersionConstraint().getBundle()); else conflictedBundle = conflict.getBundle(); if (conflictedBundle != null) { if (DEBUG_USES) System.out.println("Found conflicting constraint: " + conflict + " in bundle " + conflictedBundle); //$NON-NLS-1$//$NON-NLS-2$ conflictedBundles.add(conflictedBundle); int type = conflict instanceof ResolverImport ? ResolverError.IMPORT_PACKAGE_USES_CONFLICT : ResolverError.REQUIRE_BUNDLE_USES_CONFLICT; state.addResolverError(conflictedBundle.getBundleDescription(), type, conflict.getVersionConstraint().toString(), conflict.getVersionConstraint()); conflictedBundle.setResolvable(false); // We pass false for keepFragmentsAttached because we need to redo the attachments (bug 272561) setBundleUnresolved(conflictedBundle, false, false); } } reResolveBundles(conflictedBundles, bundles, platformProperties); }
private void checkUsesConstraints(ResolverBundle[] bundles, Dictionary<Object, Object>[] platformProperties) { List<ResolverConstraint> conflictingConstraints = findBestCombination(bundles, platformProperties); if (conflictingConstraints == null) return; Set<ResolverBundle> conflictedBundles = null; for (ResolverConstraint conflict : conflictingConstraints) { if (conflict.isOptional()) { conflict.clearPossibleSuppliers(); continue; } if (conflictedBundles == null) conflictedBundles = new HashSet<ResolverBundle>(conflictingConstraints.size()); ResolverBundle conflictedBundle; if (conflict.isFromFragment()) conflictedBundle = bundleMapping.get(conflict.getVersionConstraint().getBundle()); else conflictedBundle = conflict.getBundle(); if (conflictedBundle != null) { if (DEBUG_USES) System.out.println("Found conflicting constraint: " + conflict + " in bundle " + conflictedBundle); //$NON-NLS-1$//$NON-NLS-2$ conflictedBundles.add(conflictedBundle); int type = conflict instanceof ResolverImport ? ResolverError.IMPORT_PACKAGE_USES_CONFLICT : ResolverError.REQUIRE_BUNDLE_USES_CONFLICT; state.addResolverError(conflictedBundle.getBundleDescription(), type, conflict.getVersionConstraint().toString(), conflict.getVersionConstraint()); conflictedBundle.setResolvable(false); // We pass false for keepFragmentsAttached because we need to redo the attachments (bug 272561) setBundleUnresolved(conflictedBundle, false, false); } } reResolveBundles(conflictedBundles, bundles, platformProperties); }
if (oldImports[i].getVersionConstraint().getBundle() != detachedFragment.getBundleDescription()) continue; // the constraint is not from the detached fragment for (int j = 0; j < remainingFragImports.length; j++) { if (oldRequires[i].getVersionConstraint().getBundle() != detachedFragment.getBundleDescription()) continue; // the constraint is not from the detached fragment for (int j = 0; j < remainingFragRequires.length; j++) {
private boolean resolveOSGiEE(ResolverBundle bundle) { GenericConstraint[] requirements = bundle.getGenericRequires(); for (GenericConstraint requirement : requirements) { if (!(StateImpl.OSGI_EE_NAMESPACE.equals(requirement.getNameSpace()) || requirement.isEffective())) continue; { if (!resolveGenericReq(requirement, new ArrayList<ResolverBundle>(0))) { if (DEBUG || DEBUG_GENERICS) ResolverImpl.log("** GENERICS " + requirement.getVersionConstraint().getName() + "[" + requirement.getBundleDescription() + "] failed to resolve"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ state.addResolverError(requirement.getVersionConstraint().getBundle(), ResolverError.MISSING_GENERIC_CAPABILITY, requirement.getVersionConstraint().toString(), requirement.getVersionConstraint()); if (!developmentMode) { // fail fast; otherwise we want to attempt to resolver other constraints in dev mode return false; } } else { VersionSupplier supplier = requirement.getSelectedSupplier(); Integer ee = supplier == null ? null : (Integer) ((GenericDescription) supplier.getBaseDescription()).getAttributes().get(ExportPackageDescriptionImpl.EQUINOX_EE); if (ee != null && ((BundleDescriptionImpl) bundle.getBaseDescription()).getEquinoxEE() < 0) ((BundleDescriptionImpl) bundle.getBundleDescription()).setEquinoxEE(ee); } } } return true; }
private boolean resolveOSGiEE(ResolverBundle bundle) { GenericConstraint[] requirements = bundle.getGenericRequires(); for (GenericConstraint requirement : requirements) { if (!(StateImpl.OSGI_EE_NAMESPACE.equals(requirement.getNameSpace()) || requirement.isEffective())) continue; { if (!resolveGenericReq(requirement, new ArrayList<ResolverBundle>(0))) { if (DEBUG || DEBUG_GENERICS) ResolverImpl.log("** GENERICS " + requirement.getVersionConstraint().getName() + "[" + requirement.getBundleDescription() + "] failed to resolve"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ state.addResolverError(requirement.getVersionConstraint().getBundle(), ResolverError.MISSING_GENERIC_CAPABILITY, requirement.getVersionConstraint().toString(), requirement.getVersionConstraint()); if (!developmentMode) { // fail fast; otherwise we want to attempt to resolver other constraints in dev mode return false; } } else { VersionSupplier supplier = requirement.getSelectedSupplier(); Integer ee = supplier == null ? null : (Integer) ((GenericDescription) supplier.getBaseDescription()).getAttributes().get(ExportPackageDescriptionImpl.EQUINOX_EE); if (ee != null && ((BundleDescriptionImpl) bundle.getBaseDescription()).getEquinoxEE() < 0) ((BundleDescriptionImpl) bundle.getBundleDescription()).setEquinoxEE(ee); } } } return true; }
private boolean resolveOSGiEE(ResolverBundle bundle) { GenericConstraint[] requirements = bundle.getGenericRequires(); for (GenericConstraint requirement : requirements) { if (!(StateImpl.OSGI_EE_NAMESPACE.equals(requirement.getNameSpace()) || requirement.isEffective())) continue; { if (!resolveGenericReq(requirement, new ArrayList<ResolverBundle>(0))) { if (DEBUG || DEBUG_GENERICS) ResolverImpl.log("** GENERICS " + requirement.getVersionConstraint().getName() + "[" + requirement.getBundleDescription() + "] failed to resolve"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ state.addResolverError(requirement.getVersionConstraint().getBundle(), ResolverError.MISSING_GENERIC_CAPABILITY, requirement.getVersionConstraint().toString(), requirement.getVersionConstraint()); if (!developmentMode) { // fail fast; otherwise we want to attempt to resolver other constraints in dev mode return false; } } else { VersionSupplier supplier = requirement.getSelectedSupplier(); Integer ee = supplier == null ? null : (Integer) ((GenericDescription) supplier.getBaseDescription()).getAttributes().get(ExportPackageDescriptionImpl.EQUINOX_EE); if (ee != null && ((BundleDescriptionImpl) bundle.getBaseDescription()).getEquinoxEE() < 0) ((BundleDescriptionImpl) bundle.getBundleDescription()).setEquinoxEE(ee); } } } return true; }