private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<ExportPackageDescription>(imports.length); List<StateWire> importWires = new ArrayList<StateWire>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<>(imports.length); List<StateWire> importWires = new ArrayList<>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<ExportPackageDescription>(imports.length); List<StateWire> importWires = new ArrayList<StateWire>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
private static ExportPackageDescription[] getExportsWiredTo(ResolverBundle rb, Map<String, List<StateWire>> stateWires) { // Gather exports that have been wired to ResolverImport[] imports = rb.getImportPackages(); List<ExportPackageDescription> exportsWiredTo = new ArrayList<ExportPackageDescription>(imports.length); List<StateWire> importWires = new ArrayList<StateWire>(imports.length); for (int i = 0; i < imports.length; i++) if (imports[i].getSelectedSupplier() != null) { ExportPackageDescription supplier = (ExportPackageDescription) imports[i].getSelectedSupplier().getBaseDescription(); exportsWiredTo.add(supplier); StateWire wire = newStateWire(rb.getBundleDescription(), imports[i].getVersionConstraint(), supplier.getExporter(), supplier); importWires.add(wire); } if (stateWires != null && !importWires.isEmpty()) stateWires.put(BundleRevision.PACKAGE_NAMESPACE, importWires); return exportsWiredTo.toArray(new ExportPackageDescription[exportsWiredTo.size()]); }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
boolean isSatisfiedBy(VersionSupplier vs) { if (vs.getResolverBundle().isUninstalled() || !bundle.getResolver().getPermissionChecker().checkPermission(constraint, vs.getBaseDescription())) return false; return vs.getSubstitute() == null && constraint.isSatisfiedBy(vs.getBaseDescription()); }
public int compare(V vs1, V vs2) { // if the selection policy is set then use that if (resolver.getSelectionPolicy() != null) return resolver.getSelectionPolicy().compare(vs1.getBaseDescription(), vs2.getBaseDescription()); if (preferSystemPackages) { String systemBundle = resolver.getSystemBundle(); if (systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && !systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return -1; else if (!systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return 1; } if (vs1.getBundleDescription().isResolved() != vs2.getBundleDescription().isResolved()) return vs1.getBundleDescription().isResolved() ? -1 : 1; int versionCompare = -(vs1.getVersion().compareTo(vs2.getVersion())); if (versionCompare != 0) return versionCompare; return vs1.getBundleDescription().getBundleId() <= vs2.getBundleDescription().getBundleId() ? -1 : 1; } }
public int compare(V vs1, V vs2) { // if the selection policy is set then use that if (resolver.getSelectionPolicy() != null) return resolver.getSelectionPolicy().compare(vs1.getBaseDescription(), vs2.getBaseDescription()); if (preferSystemPackages) { String systemBundle = resolver.getSystemBundle(); if (systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && !systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return -1; else if (!systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return 1; } if (vs1.getBundleDescription().isResolved() != vs2.getBundleDescription().isResolved()) return vs1.getBundleDescription().isResolved() ? -1 : 1; int versionCompare = -(vs1.getVersion().compareTo(vs2.getVersion())); if (versionCompare != 0) return versionCompare; return vs1.getBundleDescription().getBundleId() <= vs2.getBundleDescription().getBundleId() ? -1 : 1; } }
public int compare(V vs1, V vs2) { // if the selection policy is set then use that if (resolver.getSelectionPolicy() != null) return resolver.getSelectionPolicy().compare(vs1.getBaseDescription(), vs2.getBaseDescription()); if (preferSystemPackages) { String systemBundle = resolver.getSystemBundle(); if (systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && !systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return -1; else if (!systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return 1; } if (vs1.getBundleDescription().isResolved() != vs2.getBundleDescription().isResolved()) return vs1.getBundleDescription().isResolved() ? -1 : 1; int versionCompare = -(vs1.getVersion().compareTo(vs2.getVersion())); if (versionCompare != 0) return versionCompare; return vs1.getBundleDescription().getBundleId() <= vs2.getBundleDescription().getBundleId() ? -1 : 1; } }
public int compare(V vs1, V vs2) { // if the selection policy is set then use that if (resolver.getSelectionPolicy() != null) return resolver.getSelectionPolicy().compare(vs1.getBaseDescription(), vs2.getBaseDescription()); if (preferSystemPackages) { String systemBundle = resolver.getSystemBundle(); if (systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && !systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return -1; else if (!systemBundle.equals(vs1.getBundleDescription().getSymbolicName()) && systemBundle.equals(vs2.getBundleDescription().getSymbolicName())) return 1; } if (vs1.getBundleDescription().isResolved() != vs2.getBundleDescription().isResolved()) return vs1.getBundleDescription().isResolved() ? -1 : 1; int versionCompare = -(vs1.getVersion().compareTo(vs2.getVersion())); if (versionCompare != 0) return versionCompare; return vs1.getBundleDescription().getBundleId() <= vs2.getBundleDescription().getBundleId() ? -1 : 1; } }
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; }
private void stateResolveConstraints(ResolverBundle rb) { ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { ResolverExport export = (ResolverExport) imports[i].getSelectedSupplier(); BaseDescription supplier = export == null ? null : export.getExportPackageDescription(); state.resolveConstraint(imports[i].getVersionConstraint(), supplier); } BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { ResolverBundle bundle = (ResolverBundle) requires[i].getSelectedSupplier(); BaseDescription supplier = bundle == null ? null : bundle.getBundleDescription(); state.resolveConstraint(requires[i].getVersionConstraint(), supplier); } GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) { VersionSupplier[] matchingCapabilities = genericRequires[i].getMatchingCapabilities(); if (matchingCapabilities == null) state.resolveConstraint(genericRequires[i].getVersionConstraint(), null); else for (int j = 0; j < matchingCapabilities.length; j++) state.resolveConstraint(genericRequires[i].getVersionConstraint(), matchingCapabilities[j].getBaseDescription()); } }
private void stateResolveConstraints(ResolverBundle rb) { ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { ResolverExport export = (ResolverExport) imports[i].getSelectedSupplier(); BaseDescription supplier = export == null ? null : export.getExportPackageDescription(); state.resolveConstraint(imports[i].getVersionConstraint(), supplier); } BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { ResolverBundle bundle = (ResolverBundle) requires[i].getSelectedSupplier(); BaseDescription supplier = bundle == null ? null : bundle.getBundleDescription(); state.resolveConstraint(requires[i].getVersionConstraint(), supplier); } GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) { VersionSupplier[] matchingCapabilities = genericRequires[i].getMatchingCapabilities(); if (matchingCapabilities == null) state.resolveConstraint(genericRequires[i].getVersionConstraint(), null); else for (int j = 0; j < matchingCapabilities.length; j++) state.resolveConstraint(genericRequires[i].getVersionConstraint(), matchingCapabilities[j].getBaseDescription()); } }
private void stateResolveConstraints(ResolverBundle rb) { ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { ResolverExport export = (ResolverExport) imports[i].getSelectedSupplier(); BaseDescription supplier = export == null ? null : export.getExportPackageDescription(); state.resolveConstraint(imports[i].getVersionConstraint(), supplier); } BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { ResolverBundle bundle = (ResolverBundle) requires[i].getSelectedSupplier(); BaseDescription supplier = bundle == null ? null : bundle.getBundleDescription(); state.resolveConstraint(requires[i].getVersionConstraint(), supplier); } GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) { VersionSupplier[] matchingCapabilities = genericRequires[i].getMatchingCapabilities(); if (matchingCapabilities == null) state.resolveConstraint(genericRequires[i].getVersionConstraint(), null); else for (int j = 0; j < matchingCapabilities.length; j++) state.resolveConstraint(genericRequires[i].getVersionConstraint(), matchingCapabilities[j].getBaseDescription()); } }
private void stateResolveConstraints(ResolverBundle rb) { ResolverImport[] imports = rb.getImportPackages(); for (int i = 0; i < imports.length; i++) { ResolverExport export = (ResolverExport) imports[i].getSelectedSupplier(); BaseDescription supplier = export == null ? null : export.getExportPackageDescription(); state.resolveConstraint(imports[i].getVersionConstraint(), supplier); } BundleConstraint[] requires = rb.getRequires(); for (int i = 0; i < requires.length; i++) { ResolverBundle bundle = (ResolverBundle) requires[i].getSelectedSupplier(); BaseDescription supplier = bundle == null ? null : bundle.getBundleDescription(); state.resolveConstraint(requires[i].getVersionConstraint(), supplier); } GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) { VersionSupplier[] matchingCapabilities = genericRequires[i].getMatchingCapabilities(); if (matchingCapabilities == null) state.resolveConstraint(genericRequires[i].getVersionConstraint(), null); else for (int j = 0; j < matchingCapabilities.length; j++) state.resolveConstraint(genericRequires[i].getVersionConstraint(), matchingCapabilities[j].getBaseDescription()); } }
private void stateResolveFragConstraints(ResolverBundle rb) { ResolverBundle host = (ResolverBundle) rb.getHost().getSelectedSupplier(); ImportPackageSpecification[] imports = rb.getBundleDescription().getImportPackages(); for (int i = 0; i < imports.length; i++) { ResolverImport hostImport = host == null ? null : host.getImport(imports[i].getName()); ResolverExport export = (ResolverExport) (hostImport == null ? null : hostImport.getSelectedSupplier()); BaseDescription supplier = export == null ? null : export.getExportPackageDescription(); state.resolveConstraint(imports[i], supplier); } BundleSpecification[] requires = rb.getBundleDescription().getRequiredBundles(); for (int i = 0; i < requires.length; i++) { BundleConstraint hostRequire = host == null ? null : host.getRequire(requires[i].getName()); ResolverBundle bundle = (ResolverBundle) (hostRequire == null ? null : hostRequire.getSelectedSupplier()); BaseDescription supplier = bundle == null ? null : bundle.getBundleDescription(); state.resolveConstraint(requires[i], supplier); } GenericConstraint[] genericRequires = rb.getGenericRequires(); for (int i = 0; i < genericRequires.length; i++) { VersionSupplier[] matchingCapabilities = genericRequires[i].getMatchingCapabilities(); if (matchingCapabilities == null) state.resolveConstraint(genericRequires[i].getVersionConstraint(), null); else for (int j = 0; j < matchingCapabilities.length; j++) state.resolveConstraint(genericRequires[i].getVersionConstraint(), matchingCapabilities[j].getBaseDescription()); } }