private IProvidedCapability getBundleCapability(IInstallableUnit unit) { for (IProvidedCapability capability : unit.getProvidedCapabilities()) { if (BundlesAction.CAPABILITY_NS_OSGI_BUNDLE.equals(capability.getNamespace())) { return capability; } } return null; }
public Collection<IProvidedCapability> getProvidedCapabilities() { Collection<IProvidedCapability> originalCapabilities = original.getProvidedCapabilities(); if (fragments.length == 0) return originalCapabilities; ArrayList<IProvidedCapability> result = new ArrayList<IProvidedCapability>(originalCapabilities); for (int i = 0; i < fragments.length; i++) result.addAll(fragments[i].getProvidedCapabilities()); return result; }
private List<IProvidedCapability> getPackageCapabilities(IInstallableUnit unit) { Collection<IProvidedCapability> allCapabilities = unit.getProvidedCapabilities(); List<IProvidedCapability> packageCapabilities = new ArrayList<>(allCapabilities.size()); for (IProvidedCapability capability : allCapabilities) { if (PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE.equals(capability.getNamespace())) { packageCapabilities.add(capability); } } return packageCapabilities; }
private boolean providesJavaPackages(IInstallableUnit iu) { for (IProvidedCapability capability : iu.getProvidedCapabilities()) { if ("java.package".equals(capability.getNamespace())) { return true; } } return false; }
private String getCapability(IInstallableUnit iu, String namespace) { for (Iterator<?> i = iu.getProvidedCapabilities().iterator(); i.hasNext();) { IProvidedCapability capability = (IProvidedCapability) i.next(); if (capability.getNamespace().equals(namespace)) return capability.getName(); } return null; }
private boolean isBundleOrFragmentWithId(IInstallableUnit iu, String id) { for (IProvidedCapability provided : iu.getProvidedCapabilities()) { if (BundlesAction.CAPABILITY_NS_OSGI_BUNDLE.equals(provided.getNamespace())) { return id.equals(provided.getName()); } } return false; }
private String getFeatureId(IInstallableUnit iu) { for (IProvidedCapability provided : iu.getProvidedCapabilities()) { if (PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE.equals(provided.getNamespace())) { return provided.getName(); } } return null; }
private Type getType(IInstallableUnit iu) { Optional<IProvidedCapability> cap = iu.getProvidedCapabilities().stream() .filter(p -> p.getNamespace().equals(PublisherHelper.NAMESPACE_ECLIPSE_TYPE)).findAny(); if (!cap.isPresent()) return Type.other; switch (cap.get().getName()) { case "source": return Type.source_bundle; case "bundle": return Type.bundle; case "feature": return Type.feature; default: System.err.println("[WARNING] UNHANDLED " + cap.get()); return Type.other; } }
public CapabilityIndex(Iterator<IInstallableUnit> itor) { HashMap<String, Object> index = new HashMap<String, Object>(300); while (itor.hasNext()) { IInstallableUnit iu = itor.next(); Collection<IProvidedCapability> pcs = iu.getProvidedCapabilities(); for (IProvidedCapability pc : pcs) { String name = pc.getName(); Object prev = index.put(name, iu); if (prev == null || prev == iu) continue; ArrayList<IInstallableUnit> list; if (prev instanceof IInstallableUnit) { list = new ArrayList<IInstallableUnit>(); list.add((IInstallableUnit) prev); } else list = (ArrayList<IInstallableUnit>) prev; list.add(iu); index.put(name, list); } } this.capabilityMap = index; }
@Override public boolean match( IInstallableUnit unit ) { for ( IProvidedCapability cap : unit.getProvidedCapabilities() ) { if ( match( cap.getName() ) ) { return true; } } return false; }
@Override public boolean match( IInstallableUnit unit ) { for ( IProvidedCapability cap : unit.getProvidedCapabilities() ) { if ( CAPABILITY_NS_JAVA_PACKAGE.equals( cap.getNamespace() ) && match( cap.getName() ) ) { return true; } } return false; }
private static IInstallableUnit removeExportedPackages(IInstallableUnit initialUnit) { InstallableUnitDescription iud = new InstallableUnitDescription(); iud.setId(initialUnit.getId()); iud.setVersion(initialUnit.getVersion()); initialUnit.getProvidedCapabilities().stream() .filter(cap -> !PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE.equals(cap.getNamespace())) .map(Collections::singleton).forEach(iud::addProvidedCapabilities); return MetadataFactory.createInstallableUnit(iud); }
private List<SystemCapability> readCapabilities(IInstallableUnit specificationUnit) { List<SystemCapability> result = new ArrayList<>(); for (IProvidedCapability capability : specificationUnit.getProvidedCapabilities()) { String namespace = capability.getNamespace(); String name = capability.getName(); String version = capability.getVersion().toString(); if (JREAction.NAMESPACE_OSGI_EE.equals(namespace)) { result.add(new SystemCapability(Type.OSGI_EE, name, version)); } else if (PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE.equals(namespace)) { result.add(new SystemCapability(Type.JAVA_PACKAGE, name, version)); } else { // ignore } } return result; }
@Override protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException { // TODO clean up this code a bit... IMetadataRepositoryManager manager = P2TargetUtils.getRepoManager(); if (manager == null) throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, Messages.IUBundleContainer_2)); //URI[] knownRepositories = metadataManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL); IQuery<IInstallableUnit> pipedQuery; if (fShowLatestVersionOnly) pipedQuery = QueryUtil.createPipeQuery(query, QueryUtil.createLatestIUQuery()); else pipedQuery = query; Iterator<IInstallableUnit> iter = manager.query(pipedQuery, progressMonitor).iterator(); while (iter.hasNext()) { IInstallableUnit iu = iter.next(); Iterator<IProvidedCapability> pcIter = iu.getProvidedCapabilities().iterator(); while (pcIter.hasNext()) { IProvidedCapability pc = pcIter.next(); if (pc.getNamespace().equals("java.package")) { //$NON-NLS-1$ IUPackage pkg = new IUPackage(pc.getName(), pc.getVersion(), iu); contentProvider.add(pkg, itemsFilter); } } contentProvider.add(iu, itemsFilter); } }
Set<IInstallableUnit> installableUnits = repo.query(QueryUtil.createIUAnyQuery(), new NullProgressMonitor()).toUnmodifiableSet(); for (IInstallableUnit unit : installableUnits) { Collection<IProvidedCapability> capabilities = unit.getProvidedCapabilities(); boolean featureOrBundle = false; for (IProvidedCapability cap : capabilities) {
public static BundleInfo createBundleInfo(File bundleFile, IInstallableUnit unit) { BundleInfo bundleInfo = new BundleInfo(); if (bundleFile != null) bundleInfo.setLocation(bundleFile.toURI()); Collection<IProvidedCapability> capabilities = unit.getProvidedCapabilities(); for (IProvidedCapability capability : capabilities) { String nameSpace = capability.getNamespace(); if (nameSpace.equals("osgi.bundle")) { //$NON-NLS-1$ bundleInfo.setSymbolicName(capability.getName()); bundleInfo.setVersion(capability.getVersion().toString()); } else if (nameSpace.equals("osgi.fragment")) { //$NON-NLS-1$ String fragmentName = capability.getName(); String fragmentHost = getFragmentHost(unit, fragmentName); // shouldn't happen as long as the metadata is well-formed if (fragmentHost == null) LogHelper.log(createError("Unable to find fragment host for IU: " + unit)); //$NON-NLS-1$ else bundleInfo.setFragmentHost(fragmentHost); bundleInfo.setVersion(capability.getVersion().toString()); } } return bundleInfo; }
public static BundleInfo createBundleInfo(File bundleFile, IInstallableUnit unit) { BundleInfo bundleInfo = new BundleInfo(); if (bundleFile != null) bundleInfo.setLocation(bundleFile.toURI()); Collection<IProvidedCapability> capabilities = unit.getProvidedCapabilities(); for (IProvidedCapability capability : capabilities) { String nameSpace = capability.getNamespace(); if (nameSpace.equals("osgi.bundle")) { //$NON-NLS-1$ bundleInfo.setSymbolicName(capability.getName()); bundleInfo.setVersion(capability.getVersion().toString()); } else if (nameSpace.equals("osgi.fragment")) { //$NON-NLS-1$ String fragmentName = capability.getName(); String fragmentHost = getFragmentHost(unit, fragmentName); // shouldn't happen as long as the metadata is well-formed if (fragmentHost == null) LogHelper.log(createError("Unable to find fragment host for IU: " + unit)); //$NON-NLS-1$ else bundleInfo.setFragmentHost(fragmentHost); bundleInfo.setVersion(capability.getVersion().toString()); } } return bundleInfo; }
writeProperties(iu.getProperties()); writeMetaRequirements(iu.getMetaRequirements()); writeProvidedCapabilities(iu.getProvidedCapabilities()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) { Collection<IRequirement> mergedRequirementsAndFragmentHostForPre36Compatibility = new LinkedHashSet<IRequirement>(iu.getRequirements());
writeProperties(iu.getProperties()); writeMetaRequirements(iu.getMetaRequirements()); writeProvidedCapabilities(iu.getProvidedCapabilities()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) { Collection<IRequirement> mergedRequirementsAndFragmentHostForPre36Compatibility = new LinkedHashSet<IRequirement>(iu.getRequirements());
writeProperties(iu.getProperties()); writeMetaRequirements(iu.getMetaRequirements()); writeProvidedCapabilities(iu.getProvidedCapabilities()); if (simpleRequirements && iu instanceof IInstallableUnitFragment) { Collection<IRequirement> mergedRequirementsAndFragmentHostForPre36Compatibility = new LinkedHashSet<IRequirement>(iu.getRequirements());