Examples of BundleDescription


Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

                }
        }
    }

    private void initialize() {
        BundleDescription description = new BundleDescription(bundle.getHeaders());
        List<BundleDescription.ImportPackage> imports = description.getExternalImports();
        for (BundleDescription.ImportPackage packageImport : imports) {
            String packageName = packageImport.getName();
            ExportedPackage[] exports = packageAdmin.getExportedPackages(packageName);
            Bundle wiredBundle = isWired(bundle, exports);
            if (wiredBundle != null) {
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

    public void addProviderImports(BundleContext containerContext,
                                   Bundle persistenceBundle,
                                   ServiceReference providerReference) {
        if (persistenceBundle.getState() == Bundle.INSTALLED && providerReference != null) {
            Bundle providerBundle = providerReference.getBundle();
            BundleDescription providerDescription = new BundleDescription(providerBundle.getHeaders());           
            if (needsProviderImports(persistenceBundle, providerDescription)) {
               
                StringBuilder providerConstraint = new StringBuilder()
                providerConstraint.append(";");
                providerConstraint.append(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE);
                providerConstraint.append("=\"").append(providerBundle.getSymbolicName()).append("\"");
                providerConstraint.append(";");
                providerConstraint.append(Constants.BUNDLE_VERSION_ATTRIBUTE);
                String exportVersion = providerBundle.getVersion().toString();
                providerConstraint.append("=\"[").append(exportVersion).append(",").append(exportVersion).append("]\"");
               
                if (BundleHelper.isBundleExtenderSet()) {
                    LOG.debug("Adding DynamicImport-Package for persistence bundle {}", persistenceBundle.getSymbolicName());
                   
                    StringBuilder packageList = new StringBuilder();
                    Iterator<ExportPackage> iterator = providerDescription.getExportPackage().iterator();
                    while (iterator.hasNext()) {
                        ExportPackage exportPackage = iterator.next();
                        packageList.append(exportPackage.getName()).append(providerConstraint);
                        if (iterator.hasNext()) {
                            packageList.append(",");
                        }
                    }
                                       
                    BundleHelper.addDynamicImportPackage(persistenceBundle.getBundleId(), packageList.toString());
                } else {
                    LOG.debug("Generating JPA fragment for persistence bundle {}", persistenceBundle.getSymbolicName());
                   
                    FragmentBuilder builder = new FragmentBuilder(persistenceBundle, ".jpa.fragment", "JPA Fragment");                   
                    for (ExportPackage exportPackage : providerDescription.getExportPackage()) {
                        builder.addImports(exportPackage.getName() + providerConstraint);
                    }
                   
                    Bundle fragment;
                    try {
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

        }
    }
   

    private boolean needsProviderImports(Bundle persistenceBundle, BundleDescription providerDescription) {
        BundleDescription description = new BundleDescription(persistenceBundle.getHeaders());
       
        for (HeaderEntry importPackage : description.getDynamicImportPackage()) {
            if ("*".equals(importPackage.getName())) {
                LOG.debug("Persistence bundle {} can load any class.",
                          persistenceBundle.getSymbolicName());
                return false;
            }
        }
       
        for (ImportPackage importPackage : description.getImportPackage()) {
            for (ExportPackage exportPackage : providerDescription.getExportPackage()) {
                if (importPackage.getName().equals(exportPackage.getName())
                    && importPackage.getVersionRange().isInRange(exportPackage.getVersion())) {
                    LOG.debug("Persistence bundle {} already imports at least one package from JPA provider bundle.",
                              persistenceBundle.getSymbolicName());
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

            if (mf == null) {
                continue;
            }

            BundleDescription desc = new BundleDescription(mf);
            ResourceBuilder builder = new ResourceBuilder(desc);

            Resource resource = null;
            try {
                resource = builder.createResource();
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

            Collections.sort(packageInfos);
        }
    }
   
    private Set<PackageBundlePair> getImportingPairs(PackageAdmin packageAdmin, Bundle bundle) {
        BundleDescription description = new BundleDescription(bundle.getHeaders());
       
        Set<PackageBundlePair> importingPairs = new HashSet<PackageBundlePair>();


        // description.getExternalImports() only shows the packages from other bundles. This will exclude the packages
        // which are exported by itself, but may actually import from others during resolve.
        List<BundleDescription.ImportPackage> imports = description.getImportPackage();
        for (BundleDescription.ImportPackage packageImport : imports) {
            //find the packages that we are importing
            ExportedPackage[] exportedPackages = packageAdmin.getExportedPackages(packageImport.getName());
            if (exportedPackages!=null){
                for (ExportedPackage exportedPackage : exportedPackages) {
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

    private Set<PackageBundlePair> getRequireBundlesImportingPairs(PackageAdmin packageAdmin, Bundle bundle) {
       
        Set<PackageBundlePair> requireBundlesImportingPairs = new HashSet<PackageBundlePair>();
       
        BundleDescription description = new BundleDescription(bundle.getHeaders());
       
        List<BundleDescription.RequireBundle> requireBundles = description.getRequireBundle();
        if (!requireBundles.isEmpty()) {

            Map<String, VersionRange> requireBundlesMap = new HashMap<String, VersionRange>();

            for (BundleDescription.RequireBundle requireBundle : requireBundles) {
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

   
    }
   
   
    private Set<PackageBundlePair> getDynamicImportingPairs(PackageAdmin packageAdmin, Bundle bundle, Set<PackageBundlePair> explicitImportingPairs) {
        BundleDescription description = new BundleDescription(bundle.getHeaders());
       
        Set<PackageBundlePair> dynamicImportingPairs = new HashSet<PackageBundlePair>();
       
        if (!description.getDynamicImportPackage().isEmpty()) {
            for (Bundle b : bundle.getBundleContext().getBundles()) {
               
                // find the packages that importing from the bundle
                ExportedPackage[] exportedPackages = packageAdmin.getExportedPackages(b);
                if (exportedPackages != null) {
View Full Code Here

Examples of org.apache.xbean.osgi.bundle.util.BundleDescription

                }
        }
    }

    private void initialize() {
        BundleDescription description = new BundleDescription(bundle.getHeaders());
        List<BundleDescription.ImportPackage> imports = description.getExternalImports();
        for (BundleDescription.ImportPackage packageImport : imports) {
            String packageName = packageImport.getName();
            ExportedPackage[] exports = packageAdmin.getExportedPackages(packageName);
            Bundle wiredBundle = isWired(bundle, exports);
            if (wiredBundle != null) {
View Full Code Here

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

    {
        int size = Platform.getPlatformAdmin().getState().getBundles().length;
        Bundle[] bundles = new Bundle[size];
        for( int i=0; i<size; i++)
        {
            BundleDescription bd = Platform.getPlatformAdmin().getState().getBundles()[i];
            bundles[i] = new Bundle(bd.getSymbolicName(),bd.getSymbolicName(), bd.getSupplier().getName(), bd.getVersion().toString(), null);
            BundleSpecification[] bs = bd.getRequiredBundles();
            List requiredBundles = new ArrayList();
            for( int j=0; j<bs.length; j++)
            {
                requiredBundles.add(getBundleDescription(bs[j]));
            }
View Full Code Here

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

  public Version getVersion() {
    return exportedPackage.getVersion();
  }

  public boolean isRemovalPending() {
    BundleDescription exporter = exportedPackage.getExporter();
    if (exporter != null)
      return exporter.isRemovalPending();
    return true;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.