Package org.osgi.service.packageadmin

Examples of org.osgi.service.packageadmin.RequiredBundle


   */
  public boolean isBundleRequiredBy(final RequiredBundle[] rbl,
                                    final Bundle requiredBundle,
                                    final Bundle requiringBundle)
  {
    final RequiredBundle rb = getRequiredBundle(rbl, requiredBundle);

    final Bundle[] requiringBundles
      = rb!=null ? rb.getRequiringBundles() : null;
    for (int j=0; requiringBundles!=null && j<requiringBundles.length;j++){
      if (requiringBundles[j].getBundleId()==requiringBundle.getBundleId()){
        return true;
      }
    }
View Full Code Here


   * @return The RequiredBundle object for the given bundle or
   *         <tt>null</tt> if the bundle is not required.
   */
  public RequiredBundle getRequiredBundle(final RequiredBundle[] rbl,
                                          final Bundle b)  {
    final RequiredBundle rb = (RequiredBundle) requiredBundleMap.get(b);
    if(rb != null) {
      return rb;
    }
    for (int i=0; rbl!=null && i<rbl.length; i++) {
      final Bundle rbb = rbl[i].getBundle();
View Full Code Here

                sb.append("</p>");
              }
              useParagraph = true;
            }

            RequiredBundle rb = pm.getRequiredBundle(rbl, b);
            Bundle[] requiringBundles = rb!=null
              ? rb.getRequiringBundles() : null;
            if (requiringBundles!=null && requiringBundles.length>0) {
              if (useParagraph) {
                sb.append("<p>");
              }
              sb.append("<b>Required by</b>");
              if (rb.isRemovalPending()) {
                sb.append(" (<i>pending removal on refresh</i>)");
              }
              for (int j=0; requiringBundles!=null && j<requiringBundles.length;
                   j++) {
                sb.append("<br>");
View Full Code Here

    }
    /* (non-Javadoc)
     * @see org.apache.felix.jmood.core.ManagedBundleMBean#isRemovalPending()
     */
    public boolean isRemovalPending() throws ServiceNotAvailableException{
      RequiredBundle r=InstrumentationSupport.getRequiredBundle(bundle, ac);
      if(r==null) return false;
        return r.isRemovalPending();
    }
View Full Code Here

    public static Bundle[] getRequiringBundles(Bundle bundle, AgentContext ac) throws ServiceNotAvailableException{
        if (bundle==null) throw new IllegalArgumentException("Bundle argument should not be null");
        if (bundle.getSymbolicName()==null) return null;
        RequiredBundle[] required=ac.getPackageadmin().getRequiredBundles(bundle.getSymbolicName());
        if (required==null) return null;
            RequiredBundle b=null;
            for (int i=0;i<required.length;i++) {
                if(bundle.getBundleId()==required[i].getBundle().getBundleId()) {
                    b=required[i];
                    break;
                }
            }
            if(b==null) {
                ac.error(InstrumentationSupport.class.getName()+": required bundle should not be null!!!!", new Exception());
                return null;
            }
            return b.getRequiringBundles();
    }
View Full Code Here

    public static boolean isBundleRequired(Bundle bundle, AgentContext ac) throws ServiceNotAvailableException {
      if (getRequiredBundle(bundle, ac)==null) return false;
      return true;
    }
    public static boolean isRequiredBundleRemovalPending(Bundle bundle, AgentContext ac)throws ServiceNotAvailableException{
      RequiredBundle r=getRequiredBundle(bundle, ac);
      if (r==null) return false;
      return r.isRemovalPending();
    }
View Full Code Here

    public void testIsBundlePendingRemoval() throws Exception {
       
        Bundle bundle = mock(Bundle.class);
        when(bundle.getSymbolicName()).thenReturn("org.apache.testb");
       
        RequiredBundle reqBundle = mock(RequiredBundle.class);
        when(reqBundle.getBundle()).thenReturn(bundle);
        when(reqBundle.isRemovalPending()).thenReturn(true);
       
        PackageAdmin admin = mock(PackageAdmin.class);
        when(admin.getRequiredBundles("org.apache.testb")).thenReturn(new RequiredBundle[] { reqBundle });
       
        assertTrue(isBundlePendingRemoval(bundle, admin));
View Full Code Here

    public void testIsBundleRequiredByOthers() throws Exception {
       
        Bundle bundle = mock(Bundle.class);
        when(bundle.getSymbolicName()).thenReturn("org.apache.testb");
       
        RequiredBundle reqBundle = mock(RequiredBundle.class);
        when(reqBundle.getBundle()).thenReturn(bundle);
        when(reqBundle.getRequiringBundles()).thenReturn(new Bundle[0]);
       
        PackageAdmin admin = mock(PackageAdmin.class);
        when(admin.getRequiredBundles("org.apache.testb")).thenReturn(new RequiredBundle[] { reqBundle });
       
        assertFalse(isBundleRequiredByOthers(bundle, admin));
       
        Bundle user = mock(Bundle.class);
        when(reqBundle.getRequiringBundles()).thenReturn(new Bundle[] { user });
       
        assertTrue(isBundleRequiredByOthers(bundle, admin));
    }
View Full Code Here

        when(bundle.getHeaders()).thenReturn(headers);
       
        PackageAdmin admin = mock(PackageAdmin.class);
        assertEquals(0, getBundleDependencies(context, bundle, admin).length);
       
        RequiredBundle rb1 = mock(RequiredBundle.class);
        when(rb1.getBundle()).thenReturn(b1);
        when(rb1.getRequiringBundles()).thenReturn(new Bundle[] { bundle, b2 });
        RequiredBundle rb2 = mock(RequiredBundle.class);
        when(rb2.getBundle()).thenReturn(b2);
        when(rb2.getRequiringBundles()).thenReturn(new Bundle[] { b1 });
        RequiredBundle rb3 = mock(RequiredBundle.class);
        when(rb3.getBundle()).thenReturn(b3);
        when(rb3.getRequiringBundles()).thenReturn(new Bundle[] { bundle, b1, b2 });
       
        headers.put(Constants.REQUIRE_BUNDLE, "b1;bundle-version=\"1.0.0\",b3;bundle-version=\"2.0.0\"");
       
        when(admin.getRequiredBundles("b1")).thenReturn(new RequiredBundle[] { rb1 });
        when(admin.getRequiredBundles("b2")).thenReturn(new RequiredBundle[] { rb2 });
View Full Code Here

        when(packageAdmin.getExportedPackages(b1)).thenReturn(new ExportedPackage[] { ep1 });
        when(packageAdmin.getExportedPackages(b2)).thenReturn(new ExportedPackage[] { ep2 });
        when(packageAdmin.getExportedPackages(b3)).thenReturn(null);
       
        //required bundles
        RequiredBundle rb1 = mock(RequiredBundle.class);
        when(rb1.getBundle()).thenReturn(b1);
        when(rb1.getRequiringBundles()).thenReturn(new Bundle[] { bundle, b2 });
        RequiredBundle rb2 = mock(RequiredBundle.class);
        when(rb2.getBundle()).thenReturn(b2);
        when(rb2.getRequiringBundles()).thenReturn(new Bundle[] { b1 });
        RequiredBundle rb3 = mock(RequiredBundle.class);
        when(rb3.getBundle()).thenReturn(b3);
        when(rb3.getRequiringBundles()).thenReturn(new Bundle[] { bundle, b1, b2 });
        headers.put(Constants.REQUIRE_BUNDLE, "b1;bundle-version=\"1.0.0\",b3;bundle-version=\"2.0.0\"");
        when(packageAdmin.getRequiredBundles("b1")).thenReturn(new RequiredBundle[] { rb1 });
        when(packageAdmin.getRequiredBundles("b2")).thenReturn(new RequiredBundle[] { rb2 });
        when(packageAdmin.getRequiredBundles("b3")).thenReturn(new RequiredBundle[] { rb3 });
       
View Full Code Here

TOP

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

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.