Package org.osgi.service.packageadmin

Examples of org.osgi.service.packageadmin.PackageAdmin


      StringBuffer sb = new StringBuffer();

      startFont(sb);
      ServiceReference sr = Activator
        .getTargetBC_getServiceReference(PackageAdmin.class.getName());
      PackageAdmin pkgAdmin
        = (PackageAdmin) Activator.getTargetBC_getService(sr);
      if(pkgAdmin == null) {
        sb.append("No PackageAdmin service found");
      } else {

        Bundle[] bl = getBundleArray();

        Set pkgClosure = new TreeSet(Util.bundleIdComparator);

        for(int i = 0; i < targets.length; i++) {
          pkgClosure.addAll(Util.getPackageClosure(Activator.desktop.pm,
                                                   targets[i],
                                                   null));
        }

        // remove myself
        //        pkgClosure.remove(b);

        if(pkgClosure.size() == 0) {
          sb.append("No package dependencies");
        } else {

          sb.append("<b>Static dependencies via packages</b><br>");
          for(Iterator it = pkgClosure.iterator(); it.hasNext();) {
            Bundle depB = (Bundle)it.next();

            sb.append("&nbsp;&nbsp;");
            Util.bundleLink(sb, depB);
            sb.append("<br>");
          }
        }

        sb.append("<br>");

        Set serviceClosure = new TreeSet(Util.bundleIdComparator);

        for(int i = 0; i < targets.length; i++) {
          serviceClosure.addAll(Util.getServiceClosure(targets[i], null));
        }

        // remove myself
        //        serviceClosure.remove(b);

        if(serviceClosure.size() == 0) {
          sb.append("No service dependencies");
        } else {
          sb.append("<b>Runtime dependencies via services</b><br>");

          for(Iterator it = serviceClosure.iterator(); it.hasNext();) {
            Bundle depB = (Bundle)it.next();

            sb.append("&nbsp;&nbsp;");
            Util.bundleLink(sb, depB);
            sb.append("<br>");
          }
        }

        sb.append("<br>");

        Set fragments = new TreeSet(Util.bundleIdComparator);
        for(int i = 0; i < targets.length; i++) {
          Bundle[] fragmentBundles = pkgAdmin.getFragments(targets[i]);
          if (fragmentBundles != null) {
            for (int b = 0; b < fragmentBundles.length; b++) {
              fragments.add(fragmentBundles[b]);
            }
          }
        }
        if(fragments.size() == 0) {
          sb.append("No fragments");
        } else {
          sb.append("<b>Fragments</b><br>");
          for(Iterator it = fragments.iterator(); it.hasNext();) {
            Bundle depB = (Bundle)it.next();
            sb.append("&nbsp;&nbsp;");
            Util.bundleLink(sb, depB);
            sb.append("<br>");
          }
        }

        sb.append("<br>");

        Set hosts = new TreeSet(Util.bundleIdComparator);
        for(int i = 0; i < targets.length; i++) {
          Bundle[] hostBundles = pkgAdmin.getHosts(targets[i]);
          if (hostBundles != null) {
            for (int b = 0; b < hostBundles.length; b++) {
              hosts.add(hostBundles[b]);
            }
          }
        }
        if(hosts.size() == 0) {
          sb.append("No host");
        } else {
          sb.append("<b>Host</b><br>");
          for(Iterator it = hosts.iterator(); it.hasNext();) {
            Bundle depB = (Bundle)it.next();
            sb.append("&nbsp;&nbsp;");
            Util.bundleLink(sb, depB);
            sb.append("<br>");
          }
        }

        sb.append("<br>");

        Set required = new TreeSet(Util.bundleIdComparator);
        Set requiredBy = new TreeSet(Util.bundleIdComparator);

try { // untested code
        RequiredBundle[] requiredBundles = pkgAdmin.getRequiredBundles(null);
        if (requiredBundles != null) {
          for (int rb = 0; rb < requiredBundles.length; rb++) {
            for (int t = 0; t < targets.length; t++) {
              Bundle[] requiringBundles = requiredBundles[rb].getRequiringBundles();
              if (requiringBundles != null) {
View Full Code Here


    int ix = base.lastIndexOf(".");
    if(ix != -1) {
      base = base.substring(0, ix);
    }

    final PackageAdmin pkgAdmin = (PackageAdmin) pkgTracker.getService();
    if(pkgAdmin == null) {
      Activator.log.error("No pkg admin available for save");
      return;
    }
View Full Code Here

  void refreshBundle(final Bundle[] b) {
    final ServiceReference sr
      = Activator.getTargetBC_getServiceReference(PackageAdmin.class.getName());

    if(sr != null) {
      final PackageAdmin packageAdmin = (PackageAdmin)
        Activator.getTargetBC_getService(sr);

      if(packageAdmin != null) {
        final boolean refreshAll = b==null || 0==b.length;
        // Must not call refreshPackages() from the EDT, since that
        // will may the EDT.

        final StringBuffer sb = new StringBuffer("Desktop-RefreshPackages ");
        if (refreshAll) {
          sb.append("all packages pending removal");
        } else {
          sb.append("bundle packages for ");
          for (int i=0; i<b.length; i++) {
            if (i>0) {
              sb.append(", ");
            }
            sb.append(b[i].getBundleId());
          }
        }

        new Thread(sb.toString())
        {
          public void run()
          {
            try {
              packageAdmin.refreshPackages( refreshAll ? null : b);
            } catch (Exception e) {
              showErr(sb.toString() + " failed to refresh bundles: "+e , e);
            } finally {
              Activator.getTargetBC().ungetService(sr);
            }
View Full Code Here

  void resolveBundles(final Bundle[] b) {
    final ServiceReference sr = Activator.getTargetBC()
      .getServiceReference(PackageAdmin.class.getName());

    if(sr != null) {
      final PackageAdmin packageAdmin = (PackageAdmin)
        Activator.getTargetBC().getService(sr);

      if(packageAdmin != null) {
        final boolean resolveAll = b==null || 0==b.length;
        // Must not call resolve() from the EDT, since that will block
        // the EDT.

        final StringBuffer sb = new StringBuffer("Desktop-ResolveBundles: ");
        if (resolveAll) {
          sb.append("all bundles needing to be resolved ");
        } else {
          sb.append("selected bundle(s) ");
          for (int i=0; i<b.length; i++) {
            if (i>0) {
              sb.append(", ");
            }
            sb.append(b[i].getBundleId());
          }
        }

        new Thread(sb.toString())
        {
          public void run()
          {
            try {
              if (!packageAdmin.resolveBundles( resolveAll ? null : b)) {
                showErr(sb.toString() + "; could not resolve all of them.",
                        null);
              }
            } catch (Exception e) {
              showErr(sb.toString() + " failed to resolve bundles: "+e , e);
View Full Code Here

      ServiceReference ref = m_context.getServiceReference("org.osgi.service.packageadmin.PackageAdmin");
      if (ref == null) {
        return false;
      }

      PackageAdmin pa = (PackageAdmin) m_context.getService(ref);
      if (pa == null) {
        return false;
      }

      ExportedPackage[] exports = pa.getExportedPackages((Bundle)null);
      if (exports != null) {
        for (int i = 0; (exports != null) && (i < exports.length); i++) {
          PackageDeclaration source =
            new PackageDeclaration(exports[i].getName(),
                                   exports[i].getVersion());
View Full Code Here

  {
    if (0<updatedBundles.size()) {
      synchronized(updatedBundles) {
        log("Bundles has been updated; refreshing "+updatedBundles);

        final PackageAdmin pkgAdmin = (PackageAdmin)
          Activator.packageAdminTracker.getService();

        final Bundle[] bundles = (Bundle[])
          updatedBundles.toArray(new Bundle[updatedBundles.size()]);
        pkgAdmin.refreshPackages(bundles);
        // Refresh request sent, clear before reliasing monitor.
        updatedBundles.clear();
        // Wait for the package refresh to finish.
        try {
          updatedBundles.wait();
View Full Code Here

  }

  static final Bundle[] EMPTY_BUNDLES = new Bundle[0];

  public Bundle[] getHosts(final Bundle b) {
    final PackageAdmin pkgAdmin = getPackageAdmin();
    final Bundle[] bl = null!=pkgAdmin ? pkgAdmin.getHosts(b) : null;
    return bl != null ? bl : EMPTY_BUNDLES;
  }
View Full Code Here

    final Bundle[] bl = null!=pkgAdmin ? pkgAdmin.getHosts(b) : null;
    return bl != null ? bl : EMPTY_BUNDLES;
  }

  public Bundle[] getFragments(final Bundle b) {
    final PackageAdmin pkgAdmin = getPackageAdmin();
    final Bundle[] bl = null!=pkgAdmin ? pkgAdmin.getFragments(b) : null;
    return bl != null ? bl : EMPTY_BUNDLES;
  }
View Full Code Here

  public Collection getExportedPackages(final Bundle b) {
    synchronized(lock) {
      Collection r = (Collection) bundleExports.get(b);
      if(r == null) {
        r = new TreeSet(pkgComparator);
        final PackageAdmin pkgAdmin = getPackageAdmin();
        ExportedPackage[] pkgs = null!=pkgAdmin
          ? pkgAdmin.getExportedPackages(b) : null;
        for(int i = 0; pkgs != null && i < pkgs.length; i++) {
          if(accept(pkgs[i])) {
            r.add(pkgs[i]);
          }
        }
View Full Code Here

      bundleReqs.clear();
      requiredBundleMap.clear();

      // makeBundleIndex();

      final PackageAdmin pkgAdmin = getPackageAdmin();
      if (null!=pkgAdmin) {
        final ExportedPackage[] pkgs
          = pkgAdmin.getExportedPackages((Bundle)null);
        final RequiredBundle[] rbl = pkgAdmin.getRequiredBundles(null);

        for(int i = 0; pkgs != null && i < pkgs.length; i++) {

          if(accept(pkgs[i])) {
            Bundle   fromB = pkgs[i].getExportingBundle();
View Full Code Here

TOP

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

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.