Package org.eclipse.osgi.service.resolver

Examples of org.eclipse.osgi.service.resolver.BundleDescription


  }

  protected synchronized BundleLoaderProxy getLoaderProxy() {
    if (proxy != null)
      return proxy;
    BundleDescription bundleDescription = getBundleDescription();
    if (bundleDescription == null)
      return null;
    proxy = new BundleLoaderProxy(this, bundleDescription);
    bundleDescription.setUserObject(proxy);
    return proxy;
  }
View Full Code Here


    if (loader != null)
      loader.close();
    proxy.setStale();
    // if proxy is not null then make sure to unset user object
    // associated with the proxy in the state
    BundleDescription description = proxy.getBundleDescription();
    description.setUserObject(null);
  }
View Full Code Here

       
    }
   
    private boolean hasMultipleDifferentExporters(Set<PackageNode> versions) {
        if (versions.size() > 1) {
            BundleDescription exporter = null;
            for (PackageNode version : versions) {
                if (exporter == null) {
                    exporter = version.getExportPackage().getExporter();
                } else if (exporter != version.getExportPackage().getExporter()) {
                    return true;
View Full Code Here

        }
        node = graph.addNode(exportedPackage, startImportPackage);
       
        String[] uses = (String[]) exportedPackage.getDirective("uses");
        if (uses != null) {
            BundleDescription bundle = exportedPackage.getExporter();
            for (String usePackageName : uses) {
                // see uses clause points to import or export package
                ImportPackageSpecification useImportPackage = findImportPackage(usePackageName, bundle.getImportPackages());
                if (useImportPackage == null) {
                    ExportPackageDescription useExportPackage = findExportPackage(usePackageName, bundle.getExportPackages());
                    if (useExportPackage == null) {
                        // Ignore bad package in "uses" directive
                        // throw new RuntimeException("No import or export package for an 'uses' package " + usePackageName + " in " + Utils.bundleToString(bundle));
                    } else {
                        PackageEdge edge = new PackageEdge(processExportPackage(graph, useExportPackage, startImportPackage));
View Full Code Here

        try {
            PlatformAdmin platformAdmin = (PlatformAdmin) bundleContext.getService(ref);
            State systemState = platformAdmin.getState(false);
            List<BundleDescription> bundleDescriptions = new ArrayList<BundleDescription>(bundles.size());
            for (Bundle bundle : bundles) {
                BundleDescription bundleDescription = systemState.getBundle(bundle.getBundleId());
                if (bundleDescription != null) {
                    bundleDescriptions.add(bundleDescription);
                }
            }
            for (BundleDescription bundleDescription : bundleDescriptions) {
View Full Code Here

        int size = packageExportList.size();
        if (size == 0) {
            errorDetail.add("Package " + packageName + " is not exported by any bundle.");
        } else if (size == 1) {
            ExportPackageDescription packageExport = packageExportList.get(0);
            BundleDescription exporter = packageExport.getExporter();
            errorDetail.add("Bundle " + bundleToString(exporter) + " exports " + exportToString(packageExport) + " package which does not satisfy the dependency.");
        } else {
            for (ExportPackageDescription packageExport : packageExportList) {
                BundleDescription exporter = packageExport.getExporter();
                if (exporter.isResolved() &&
                    !isSelectedExportPackage(packageExport) &&
                    importPackage.isSatisfiedBy(packageExport)) {
                    // export is not selected but it does satisfy the import
                    errorDetail.add("Bundle " + bundleToString(exporter) + " exports " + exportToString(packageExport) + " package which satisfies the dependency but is unselected.");
                } else {
View Full Code Here

            }
        }
    }
   
    private boolean isSelectedExportPackage(ExportPackageDescription exportedPackage) {
        BundleDescription exporter = exportedPackage.getExporter();
        ExportPackageDescription[] selectedExportPackages = exporter.getSelectedExports();
        if (selectedExportPackages != null) {
            for (ExportPackageDescription selectedExportedPackage : selectedExportPackages) {
                if (exportedPackage.equals(selectedExportedPackage)) {
                    return true;
                }
View Full Code Here

                log.error(e.getMessage(), e);
            }
        }
       
        stateController.resolveState();
        BundleDescription b = stateController.getBundleDescription(targetDir);               
        if (b != null) {
            log.info("Resolving OSGi bundle: " + b.getSymbolicName());
            try {
                stateController.assertResolved(b);
                log.info("OSGi bundle is resolved: " + b.getSymbolicName());
            } catch (BundleException e) {
                stateController.analyzeErrors(b);
                if (failOnError) {
                    throw new MojoExecutionException("OSGi bundle resolution failed");
                }
View Full Code Here

            stateController.addBundle(target);
        } catch (BundleException e) {
            log.error(e.getMessage(), e);
        }       
        stateController.resolveState();
        BundleDescription b = stateController.getBundleDescription(target);               
        if (b != null) {
            displayManifest(b);
        }   
    }
View Full Code Here

    }

    private BundleDescription addBundle(Dictionary enhancedManifest, File bundleLocation, boolean override)
        throws BundleException {

        BundleDescription descriptor =
            factory.createBundleDescription(state, enhancedManifest, bundleLocation.getAbsolutePath(), getNextId());

        setUserProperty(descriptor, PROP_MANIFEST, enhancedManifest);
        if (override) {
            BundleDescription[] conflicts = state.getBundles(descriptor.getSymbolicName());
            if (conflicts != null) {
                for (BundleDescription conflict : conflicts) {
                    state.removeBundle(conflict);
                    logger
                        .warn(conflict.toString() + " has been replaced by another bundle with the same symbolic name "
                            + descriptor.toString());
                }
            }
        }

        state.addBundle(descriptor);
View Full Code Here

TOP

Related Classes of org.eclipse.osgi.service.resolver.BundleDescription

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.