[jboss-osgi-commits] JBoss-OSGI SVN: r93517 - in projects/jboss-osgi/projects: bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb and 3 other directories.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Tue Sep 15 05:36:32 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-09-15 05:36:31 -0400 (Tue, 15 Sep 2009)
New Revision: 93517

Added:
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/CompendiumCapability.java
Modified:
   projects/jboss-osgi/projects/bundles/apache-xerces/trunk/src/main/java/org/jboss/osgi/xml/XMLParserCapability.java
   projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/XMLBindingCapability.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/ConfigAdminCapability.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/LogServiceCapability.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/MicrocontainerCapability.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java
Log:
Add CompendiumCapability

Modified: projects/jboss-osgi/projects/bundles/apache-xerces/trunk/src/main/java/org/jboss/osgi/xml/XMLParserCapability.java
===================================================================
--- projects/jboss-osgi/projects/bundles/apache-xerces/trunk/src/main/java/org/jboss/osgi/xml/XMLParserCapability.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/bundles/apache-xerces/trunk/src/main/java/org/jboss/osgi/xml/XMLParserCapability.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -26,6 +26,7 @@
 import javax.xml.parsers.SAXParserFactory;
 
 import org.jboss.osgi.spi.capability.Capability;
+import org.jboss.osgi.spi.capability.CompendiumCapability;
 import org.jboss.osgi.spi.testing.OSGiRuntime;
 
 /**
@@ -60,6 +61,8 @@
       super(SAXParserFactory.class.getName());
       setFilter("(" + PARSER_PROVIDER + "=" + PROVIDER_JBOSS_OSGI + ")");
 
+      addDependency(new CompendiumCapability());
+      
       addBundle("bundles/jboss-osgi-apache-xerces.jar");
    }
 }
\ No newline at end of file

Modified: projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/XMLBindingCapability.java
===================================================================
--- projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/XMLBindingCapability.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/bundles/xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/XMLBindingCapability.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -47,6 +47,7 @@
       super (XMLBindingService.class.getName());
       
       addDependency(new JAXBCapability());
+      
       addBundle("bundles/jboss-osgi-common-core.jar");
       addBundle("bundles/jboss-osgi-xml-binding.jar");
    }

Added: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/CompendiumCapability.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/CompendiumCapability.java	                        (rev 0)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/CompendiumCapability.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.spi.capability;
+
+//$Id$
+
+import org.jboss.osgi.spi.testing.OSGiRuntime;
+import org.jboss.osgi.spi.testing.OSGiTestHelper;
+
+/**
+ * Adds the OSGi compedium capability to the {@link OSGiRuntime}
+ * under test. 
+ * 
+ * Installed bundle: org.osgi.compendium.jar
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 16-Sep-2009
+ */
+public class CompendiumCapability extends Capability
+{
+   public CompendiumCapability()
+   {
+      super(null);
+      
+      if (new OSGiTestHelper().isFrameworkEquinox())
+         addBundle("bundles/org.eclipse.osgi.services.jar");
+      else
+         addBundle("bundles/org.osgi.compendium.jar");
+   }
+}
\ No newline at end of file


Property changes on: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/CompendiumCapability.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/ConfigAdminCapability.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/ConfigAdminCapability.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/ConfigAdminCapability.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -42,6 +42,9 @@
    public ConfigAdminCapability()
    {
       super(ConfigurationAdmin.class.getName());
+      
+      addDependency(new CompendiumCapability());
+      
       addBundle("bundles/org.apache.felix.metatype.jar");
       addBundle("bundles/org.apache.felix.configadmin.jar");
    }

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/LogServiceCapability.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/LogServiceCapability.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/LogServiceCapability.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -40,6 +40,9 @@
    public LogServiceCapability()
    {
       super(LogService.class.getName());
+      
+      addDependency(new CompendiumCapability());
+      
       addBundle("bundles/org.apache.felix.log.jar");
       addBundle("bundles/jboss-osgi-common.jar");
    }

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/MicrocontainerCapability.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/MicrocontainerCapability.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/capability/MicrocontainerCapability.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -43,6 +43,8 @@
    {
       super(MicrocontainerService.class.getName());
       
+      addDependency(new CompendiumCapability());
+      
       addBundle("bundles/jboss-osgi-microcontainer.jar");
    }
 }
\ No newline at end of file

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -59,11 +59,6 @@
    OSGiBundle installBundle(String location) throws BundleException;
    
    /**
-    * Install the compedium bundle for this runtime
-    */
-   OSGiBundle installCompendium() throws BundleException;
-   
-   /**
     * Get the array of installed {@link OSGiBundle}s
     */
    OSGiBundle[] getBundles();

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -191,4 +191,44 @@
    {
       return getTestHelper().getServerHost();
    }
+   
+   /**
+    * Delegates to {@link OSGiTestHelper#getTargetContainer()}
+    */
+   public String getTargetContainer()
+   {
+      return getTestHelper().getTargetContainer();
+   }
+   
+   /**
+    * Delegates to {@link OSGiTestHelper#getFramework()}
+    */
+   public String getFramework()
+   {
+      return getTestHelper().getFramework();
+   }
+   
+   /**
+    * Delegates to {@link OSGiTestHelper#isFrameworkEquinox()}
+    */
+   public boolean isFrameworkEquinox()
+   {
+      return getTestHelper().isFrameworkEquinox();
+   }
+   
+   /**
+    * Delegates to {@link OSGiTestHelper#isFrameworkFelix()}
+    */
+   public boolean isFrameworkFelix()
+   {
+      return getTestHelper().isFrameworkFelix();
+   }
+   
+   /**
+    * Delegates to {@link OSGiTestHelper#isFrameworkJBossMC()}
+    */
+   public boolean isFrameworkJBossMC()
+   {
+      return getTestHelper().isFrameworkJBossMC();
+   }
 }

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -184,4 +184,29 @@
    {
       return System.getProperty("jboss.bind.address", "localhost");
    }
+   
+   public String getTargetContainer()
+   {
+      return System.getProperty("target.container");
+   }
+   
+   public String getFramework()
+   {
+      return System.getProperty("framework");
+   }
+   
+   public boolean isFrameworkEquinox()
+   {
+      return "equinox".equals(getTargetContainer());
+   }
+   
+   public boolean isFrameworkFelix()
+   {
+      return "felix".equals(getTargetContainer());
+   }
+   
+   public boolean isFrameworkJBossMC()
+   {
+      return "jbossmc".equals(getTargetContainer());
+   }
 }

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -87,12 +87,6 @@
       return registerBundle(location, bundle);
    }
 
-   public OSGiBundle installCompendium() throws BundleException
-   {
-      String compendiumLocation = System.getProperty("org.osgi.compendium.jar", "bundles/org.osgi.compendium.jar");
-      return installBundle(compendiumLocation);
-   }
-
    public OSGiBundle[] getBundles()
    {
       List<OSGiBundle> absBundles = new ArrayList<OSGiBundle>();

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -83,9 +83,14 @@
       for (Capability dependency : capability.getDependencies())
          addCapability(dependency);
 
+      OSGiServiceReference[] srefs = null;
+      
       // Check if the service provided by the capability exists already
-      OSGiServiceReference[] srefs = getServiceReferences(capability.getServiceName(), capability.getFilter());
-      if (srefs == null)
+      String serviceName = capability.getServiceName();
+      if (serviceName != null)
+         srefs = getServiceReferences(serviceName, capability.getFilter());
+      
+      if (srefs == null || srefs.length == 0)
       {
          log.debug("Add capability: " + capability);
 

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java	2009-09-15 08:24:49 UTC (rev 93516)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java	2009-09-15 09:36:31 UTC (rev 93517)
@@ -94,37 +94,6 @@
       }
    }
    
-   public OSGiBundle installCompendium() throws BundleException
-   {
-      try
-      {
-         RemoteBundle bundle = null;
-         
-         // Asume that the compendium is already installed in the remote runtime
-         for (ManagedBundleMBean bundleMBean : getRemoteFramework().getBundles())
-         {
-            String symbolicName = bundleMBean.getSymbolicName();
-            if (symbolicName.equals("org.osgi.compendium") || symbolicName.equals("osgi.cmpn"))
-            {
-               bundle = new RemoteBundle(this, bundleMBean, null);
-            }
-         }
-         
-         if (bundle == null)
-            throw new BundleException("Cannot obtain compendium");
-         
-         return bundle;
-      }
-      catch (RuntimeException rte)
-      {
-         throw rte;
-      }
-      catch (Exception ex)
-      {
-         throw new BundleException("Cannot obtain compendium", ex);
-      }
-   }
-
    @Override
    public void deploy(String location) throws Exception
    {



More information about the jboss-osgi-commits mailing list