[jboss-osgi-commits] JBoss-OSGI SVN: r92538 - in projects/jboss-osgi/trunk: reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework and 1 other directories.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Tue Aug 18 15:06:35 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-08-18 15:06:35 -0400 (Tue, 18 Aug 2009)
New Revision: 92538

Modified:
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/api/ServiceRegistry.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/BundleContextImpl.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceReferenceImpl.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistrationImpl.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryImpl.java
   projects/jboss-osgi/trunk/testsuite/pom.xml
Log:
Fix equinox test build

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/api/ServiceRegistry.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/api/ServiceRegistry.java	2009-08-18 18:40:16 UTC (rev 92537)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/api/ServiceRegistry.java	2009-08-18 19:06:35 UTC (rev 92538)
@@ -45,5 +45,5 @@
 
    ServiceReference[] getServiceReferences(String clazz, String filter);
 
-   Object getService(ServiceReference sref);
+   Object getService(Bundle bundle, ServiceReference sref);
 }
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/BundleContextImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/BundleContextImpl.java	2009-08-18 18:40:16 UTC (rev 92537)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/BundleContextImpl.java	2009-08-18 19:06:35 UTC (rev 92538)
@@ -138,7 +138,7 @@
    public Object getService(ServiceReference reference)
    {
       ServiceRegistry serviceRegistry = getFramework().getServiceRegistry();
-      return serviceRegistry.getService(reference);
+      return serviceRegistry.getService(getBundle(), reference);
    }
 
    public ServiceReference getServiceReference(String clazz)

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceReferenceImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceReferenceImpl.java	2009-08-18 18:40:16 UTC (rev 92537)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceReferenceImpl.java	2009-08-18 19:06:35 UTC (rev 92538)
@@ -32,6 +32,7 @@
 import org.jboss.osgi.spi.NotImplementedException;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
 
 /**
  * A simple implementation of a ServiceReference
@@ -47,6 +48,7 @@
    private Bundle bundle;
    private Object service;
    private Dictionary<String, String> properties;
+   private ServiceRegistration registration;
    private boolean unregistered;
    
    public ServiceReferenceImpl(Bundle bundle, Object service, Dictionary<String, String> properties)
@@ -71,6 +73,16 @@
       return service;
    }
    
+   public ServiceRegistration getServiceRegistration()
+   {
+      return registration;
+   }
+
+   public void setServiceRegistration(ServiceRegistration serviceRegistration)
+   {
+      this.registration = serviceRegistration;
+   }
+
    public int compareTo(Object reference)
    {
       throw new NotImplementedException();

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistrationImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistrationImpl.java	2009-08-18 18:40:16 UTC (rev 92537)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistrationImpl.java	2009-08-18 19:06:35 UTC (rev 92538)
@@ -46,6 +46,7 @@
    public ServiceRegistrationImpl(ServiceReferenceImpl serviceRef)
    {
       this.serviceRef = serviceRef;
+      serviceRef.setServiceRegistration(this);
    }
 
    public ServiceReference getReference()

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryImpl.java	2009-08-18 18:40:16 UTC (rev 92537)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryImpl.java	2009-08-18 19:06:35 UTC (rev 92538)
@@ -102,7 +102,7 @@
       return srefArr;   
    }
 
-   public Object getService(ServiceReference sref)
+   public Object getService(Bundle bundle, ServiceReference sref)
    {
       ServiceReferenceImpl srefImpl = (ServiceReferenceImpl)sref;
       
@@ -115,7 +115,10 @@
       // [TODO] The service was registered with an object implementing the ServiceFactory interface
       Object service = srefImpl.getService();
       if (service instanceof ServiceFactory)
-         throw new NotImplementedException("Get service from a ServiceFactory");
+      {
+         ServiceFactory factory = (ServiceFactory)service;
+         factory.getService(bundle, srefImpl.getServiceRegistration());
+      }
       
       // The service object for the service is returned.
       

Modified: projects/jboss-osgi/trunk/testsuite/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/pom.xml	2009-08-18 18:40:16 UTC (rev 92537)
+++ projects/jboss-osgi/trunk/testsuite/pom.xml	2009-08-18 19:06:35 UTC (rev 92538)
@@ -234,6 +234,13 @@
           <version>${version.jboss.osgi.runtime.equinox}</version>
           <scope>provided</scope>
         </dependency>
+        <!-- equinox-3.5 does not contain package org.osgi.util.xml -->
+        <dependency>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+          <version>${version.osgi}</version>
+          <scope>provided</scope>
+        </dependency>
       </dependencies>
       <build>
         <plugins>



More information about the jboss-osgi-commits mailing list