Package org.osgi.service.packageadmin

Examples of org.osgi.service.packageadmin.ExportedPackage


     */
    @Test public void testLoading() throws Exception {
        final Sequence sequence = this.context.sequence("load-sequence");
        final BundleContext bundleContext = this.context.mock(BundleContext.class);
        final PackageAdmin packageAdmin = this.context.mock(PackageAdmin.class);
        final ExportedPackage ep = this.context.mock(ExportedPackage.class);
        final Bundle bundle = this.context.mock(Bundle.class);
        this.context.checking(new Expectations() {{
            allowing(bundleContext).createFilter(with(any(String.class)));
            will(returnValue(null));
            allowing(bundleContext).addServiceListener(with(any(ServiceListener.class)), with(any(String.class)));
View Full Code Here


     * Find the bundle for a given package.
     * @param pckName The package name.
     * @return The bundle or <code>null</code>
     */
    private Bundle findBundleForPackage(final String pckName) {
        final ExportedPackage exportedPackage = this.packageAdmin.getExportedPackage(pckName);
        Bundle bundle = null;
        if (exportedPackage != null && !exportedPackage.isRemovalPending() ) {
            bundle = exportedPackage.getExportingBundle();
            if ( !this.isBundleActive(bundle) ) {
                bundle = null;
            }
        }
        return bundle;
View Full Code Here

        {
            final Bundle bundle = bundles[i];
            final ExportedPackage[] bundleExports = pa.getExportedPackages(bundle);
            for (int j = 0; bundleExports != null && j < bundleExports.length; j++)
            {
                final ExportedPackage exportedPackage = bundleExports[j];
                Set/*<ExportedPackage>*/exportSet = (Set) exports.get(exportedPackage.getName());
                if (exportSet == null)
                {
                    exportSet = new TreeSet/*<ExportedPackage>*/(
                        EXPORT_PACKAGE_COMPARATOR);
                    exports.put(exportedPackage.getName(), exportSet);
                }
                exportSet.add(exportedPackage);
            }
        }

View Full Code Here

            {
                final JSONObject container = new JSONObject();
                ret.put(container);
                for (Iterator packageIter = exportSet.iterator(); packageIter.hasNext();)
                {
                    ExportedPackage exportedPackage = (ExportedPackage) packageIter.next();
                    final JSONObject json = toJSON(exportedPackage);
                    container//
                    .put("name", exportedPackage.getName()) //$NON-NLS-1$
                    .append("entries", json); //$NON-NLS-1$
                }
            }
        }
        return ret;
View Full Code Here

    {
        final JSONObject ret = new JSONObject();
        final ExportedPackage[] exports = pa.getExportedPackages(packageName);
        for (int i = 0; exports != null && i < exports.length; i++)
        {
            final ExportedPackage x = exports[i];
            ret.append("exporters", toJSON(x)); //$NON-NLS-1$
            exportingBundles.add(x.getExportingBundle());
        }
        return ret.put("name", packageName); //$NON-NLS-1$
    }
View Full Code Here

final class ExportedPackageComparator implements Comparator/*<ExportedPackage>*/
{

    public int compare(Object _o1, Object _o2)
    {
        ExportedPackage o1 = (ExportedPackage) _o1;
        ExportedPackage o2 = (ExportedPackage) _o2;
        if (o1 == o2)
        {
            return 0;
        }

        int name = o1.getName().compareTo(o2.getName());
        if (name != 0)
        {
            return name;
        }

        int version = o1.getVersion().compareTo(o2.getVersion());
        if (version != 0)
        {
            return version;
        }

        final long o1bid = o1.getExportingBundle().getBundleId();
        final long o2bid = o2.getExportingBundle().getBundleId();
        return (o1bid < o2bid ? -1 : (o1bid == o2bid ? 0 : 1));
    }
View Full Code Here

            if (exportSet.size() > 1)
            {
                String firstCol = (String) exportEntry.getKey();
                for (Iterator packageIter = exportSet.iterator(); packageIter.hasNext();)
                {
                    ExportedPackage exportedPackage = (ExportedPackage) packageIter.next();
                    final Bundle[] importers = exportedPackage.getImportingBundles();
                    final String secondCol = "version=" + exportedPackage.getVersion()
                        + ", Bundle " + exportedPackage.getExportingBundle();
                    if (importers != null && importers.length > 0)
                    {
                        boolean first = true;
                        for (int j = 0; j < importers.length; j++)
                        {
View Full Code Here

            } );

            JSONArray val = new JSONArray();
            for ( int j = 0; j < exports.length; j++ )
            {
                ExportedPackage export = exports[j];
                collectExport( val, export.getName(), export.getVersion() );
                Bundle[] ubList = export.getImportingBundles();
                if ( ubList != null )
                {
                    for ( int i = 0; i < ubList.length; i++ )
                    {
                        Bundle ub = ubList[i];
                        String name = ub.getSymbolicName();
                        if (name == null) name = ub.getLocation();
                        usingBundles.put( name, ub );
                    }
                }
            }
            WebConsoleUtil.keyVal( jw, "Exported Packages", val );
        }
        else
        {
            WebConsoleUtil.keyVal( jw, "Exported Packages", "---" );
        }

        exports = packageAdmin.getExportedPackages( ( Bundle ) null );
        if ( exports != null && exports.length > 0 )
        {
            // collect import packages first
            final List imports = new ArrayList();
            for ( int i = 0; i < exports.length; i++ )
            {
                final ExportedPackage ep = exports[i];
                final Bundle[] importers = ep.getImportingBundles();
                for ( int j = 0; importers != null && j < importers.length; j++ )
                {
                    if ( importers[j].getBundleId() == bundle.getBundleId() )
                    {
                        imports.add( ep );

                        break;
                    }
                }
            }
            // now sort
            JSONArray val = new JSONArray();
            if ( imports.size() > 0 )
            {
                final ExportedPackage[] packages = ( ExportedPackage[] ) imports.toArray( new ExportedPackage[imports
                    .size()] );
                Arrays.sort( packages, new Comparator()
                {
                    public int compare( ExportedPackage p1, ExportedPackage p2 )
                    {
                        return p1.getName().compareTo( p2.getName() );
                    }


                    public int compare( Object o1, Object o2 )
                    {
                        return compare( ( ExportedPackage ) o1, ( ExportedPackage ) o2 );
                    }
                } );
                // and finally print out
                for ( int i = 0; i < packages.length; i++ )
                {
                    ExportedPackage ep = packages[i];
                    collectImport( val, ep.getName(), ep.getVersion(), false, ep, pluginRoot );
                }
            }
            else
            {
                // add description if there are no imports
View Full Code Here

                    if ( exports != null && exports.length > 0 )
                    {

                        for ( int i = 0; i < exports.length; i++ )
                        {
                            final ExportedPackage ep = exports[i];

                            Clause imp = ( Clause ) imports.get( ep.getName() );
                            if ( imp != null && isSatisfied( imp, ep ) )
                            {
                                candidates.put( ep.getName(), ep );
                            }
                        }
                    }
                }

                // now sort
                JSONArray val = new JSONArray();
                if ( imports.size() > 0 )
                {
                    for ( Iterator ii = imports.values().iterator(); ii.hasNext(); )
                    {
                        Clause r4Import = ( Clause ) ii.next();
                        ExportedPackage ep = ( ExportedPackage ) candidates.get( r4Import.getName() );

                        // if there is no matching export, check whether this
                        // bundle has the package, ignore the entry in this case
                        if ( ep == null )
                        {
View Full Code Here

          Bundle b=allBundles[i];
            ExportedPackage[] eps=ac.getPackageadmin()
            .getExportedPackages(b);
            if(eps==null) continue;
            exported: for (int j=0;j<eps.length;j++) {
              ExportedPackage ep = eps[j];
                Bundle[] imp=ep.getImportingBundles();
                if(imp==null) continue;
                for (int k=0;k<imp.length;k++) {
                  Bundle b2 =imp[k];
                    if (b2.getBundleId() == bundle.getBundleId()) {
                        imported.add(ep);
View Full Code Here

TOP

Related Classes of org.osgi.service.packageadmin.ExportedPackage

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.