[jboss-cvs] JBossAS SVN: r101332 - in projects/jboss-osgi/projects/testing/trunk: scripts and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 23 09:13:10 EST 2010


Author: thomas.diesler at jboss.com
Date: 2010-02-23 09:13:09 -0500 (Tue, 23 Feb 2010)
New Revision: 101332

Removed:
   projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteFramework.java
   projects/jboss-osgi/projects/testing/trunk/src/test/java/org/jboss/test/osgi/husky/
Modified:
   projects/jboss-osgi/projects/testing/trunk/pom.xml
   projects/jboss-osgi/projects/testing/trunk/scripts/assembly-bundles.xml
   projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemotePackageAdmin.java
   projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java
   projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteServiceReference.java
Log:
WIP

Modified: projects/jboss-osgi/projects/testing/trunk/pom.xml
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/pom.xml	2010-02-23 14:11:34 UTC (rev 101331)
+++ projects/jboss-osgi/projects/testing/trunk/pom.xml	2010-02-23 14:13:09 UTC (rev 101332)
@@ -42,7 +42,9 @@
   <properties>
     <version.apache.aries.jmx>1.0.0-incubating-SNAPSHOT</version.apache.aries.jmx>
     <version.apache.felix.log>1.0.0</version.apache.felix.log>
+    <version.jboss.osgi.common>1.0.4-SNAPSHOT</version.jboss.osgi.common>
     <version.jboss.osgi.jmx>1.0.4-SNAPSHOT</version.jboss.osgi.jmx>
+    <version.jboss.osgi.jndi>1.0.3-SNAPSHOT</version.jboss.osgi.jndi>
     <version.jboss.osgi.spi>1.0.5-SNAPSHOT</version.jboss.osgi.spi>
     <version.jboss.osgi.runtime.felix>2.0.2.SP1-SNAPSHOT</version.jboss.osgi.runtime.felix>
     <version.osgi>4.2.0</version.osgi>
@@ -60,8 +62,8 @@
       <version>${version.jboss.osgi.spi}</version>
     </dependency>
     <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-jmx</artifactId>
+      <groupId>org.jboss.osgi.jmx</groupId>
+      <artifactId>jboss-osgi-jmx-api</artifactId>
       <version>${version.jboss.osgi.jmx}</version>
     </dependency>
     <dependency>
@@ -92,6 +94,24 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-common</artifactId>
+      <version>${version.jboss.osgi.common}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.jmx</groupId>
+      <artifactId>jboss-osgi-jmx</artifactId>
+      <version>${version.jboss.osgi.jmx}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.jndi</groupId>
+      <artifactId>jboss-osgi-jndi</artifactId>
+      <version>${version.jboss.osgi.jndi}</version>
+      <scope>provided</scope>
+    </dependency>
     
     <!-- OSGi Dependencies -->
     <dependency>

Modified: projects/jboss-osgi/projects/testing/trunk/scripts/assembly-bundles.xml
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/scripts/assembly-bundles.xml	2010-02-23 14:11:34 UTC (rev 101331)
+++ projects/jboss-osgi/projects/testing/trunk/scripts/assembly-bundles.xml	2010-02-23 14:13:09 UTC (rev 101332)
@@ -19,15 +19,6 @@
         <include>*:jboss-osgi-common:jar</include>
         <include>*:jboss-osgi-jmx:jar</include>
         <include>*:jboss-osgi-jndi:jar</include>
-      </includes>
-      <useStrictFiltering>true</useStrictFiltering>
-      <scope>compile</scope>
-      <unpack>false</unpack>
-    </dependencySet>
-    <dependencySet>
-      <outputDirectory>bundles</outputDirectory>
-      <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-      <includes>
         <include>*:org.apache.aries.jmx:jar</include>
         <include>*:org.apache.felix.log:jar</include>
         <include>*:org.osgi.compendium:jar</include>

Deleted: projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteFramework.java
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteFramework.java	2010-02-23 14:11:34 UTC (rev 101331)
+++ projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteFramework.java	2010-02-23 14:13:09 UTC (rev 101332)
@@ -1,49 +0,0 @@
-/*
- * 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.testing.internal;
-
-//$Id$
-
-import org.jboss.osgi.spi.management.ManagedServiceReference;
-
-/**
- * The supported functionality of a remote OSGi Framework
- * 
- * @author thomas.diesler at jboss.com
- * @since 04-Mar-2009
- */
-public interface RemoteFramework
-{
-   /**
-    * Returns a ServiceReference object for a service that implements and was registered 
-    * under the specified class.
-    */
-   ManagedServiceReference getServiceReference(String clazz);
-
-   /**
-    * Returns an array of ManagedServiceReference objects. 
-    * The returned array of ManagedServiceReference objects contains services 
-    * that were registered under the specified class, match the specified filter criteria, 
-    * and the packages for the class names under which the services were registered.
-    */
-   ManagedServiceReference[] getServiceReferences(String clazz, String filter);
-}
\ No newline at end of file

Modified: projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemotePackageAdmin.java
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemotePackageAdmin.java	2010-02-23 14:11:34 UTC (rev 101331)
+++ projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemotePackageAdmin.java	2010-02-23 14:13:09 UTC (rev 101332)
@@ -23,8 +23,11 @@
 
 import java.io.IOException;
 
+import javax.management.ObjectName;
+
+import org.jboss.osgi.jmx.FrameworkMBeanExt;
 import org.jboss.osgi.spi.management.MBeanProxy;
-import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
+import org.jboss.osgi.spi.management.ObjectNameFactory;
 import org.jboss.osgi.testing.OSGiBundle;
 import org.jboss.osgi.testing.OSGiPackageAdmin;
 import org.jboss.osgi.testing.OSGiRuntime;
@@ -51,7 +54,8 @@
       // https://www.osgi.org/members/bugzilla/show_bug.cgi?id=1586
       if (bundles == null)
       {
-         ManagedFrameworkMBean mbeanProxy = MBeanProxy.get(runtime.getMBeanServer(), ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK, ManagedFrameworkMBean.class);
+         ObjectName objectName = ObjectNameFactory.create(FrameworkMBeanExt.OBJECTNAME);
+         FrameworkMBeanExt mbeanProxy = MBeanProxy.get(runtime.getMBeanServer(), objectName, FrameworkMBeanExt.class);
          return mbeanProxy.resolveAllBundles();
       }
 
@@ -73,7 +77,8 @@
       // https://www.osgi.org/members/bugzilla/show_bug.cgi?id=1586
       if (bundles == null)
       {
-         ManagedFrameworkMBean mbeanProxy = MBeanProxy.get(runtime.getMBeanServer(), ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK, ManagedFrameworkMBean.class);
+         ObjectName objectName = ObjectNameFactory.create(FrameworkMBeanExt.OBJECTNAME);
+         FrameworkMBeanExt mbeanProxy = MBeanProxy.get(runtime.getMBeanServer(), objectName, FrameworkMBeanExt.class);
          mbeanProxy.refreshAllPackages();
          return;
       }

Modified: projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java	2010-02-23 14:11:34 UTC (rev 101331)
+++ projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteRuntime.java	2010-02-23 14:13:09 UTC (rev 101332)
@@ -23,9 +23,13 @@
 
 // $Id$
 
+import java.io.IOException;
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Set;
 
 import javax.management.MBeanServerConnection;
@@ -35,9 +39,9 @@
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
+import org.jboss.osgi.jmx.ServiceStateMBeanExt;
 import org.jboss.osgi.spi.management.MBeanProxy;
-import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
-import org.jboss.osgi.spi.management.ManagedServiceReference;
+import org.jboss.osgi.spi.management.ObjectNameFactory;
 import org.jboss.osgi.spi.util.BundleInfo;
 import org.jboss.osgi.testing.OSGiBundle;
 import org.jboss.osgi.testing.OSGiPackageAdmin;
@@ -46,6 +50,7 @@
 import org.jboss.osgi.testing.OSGiTestHelper;
 import org.osgi.framework.BundleException;
 import org.osgi.jmx.framework.BundleStateMBean;
+import org.osgi.jmx.framework.ServiceStateMBean;
 
 /**
  * A remote implementation of the {@link OSGiRuntime}
@@ -56,7 +61,7 @@
 public class RemoteRuntime extends OSGiRuntimeImpl
 {
    private MBeanServerConnection mbeanServer;
-   
+
    public RemoteRuntime(OSGiTestHelper helper)
    {
       super(helper);
@@ -71,7 +76,7 @@
          String rootURL = info.getRootURL().toExternalForm();
 
          long bundleId = getFrameworkMBean().installBundle(rootURL);
-         
+
          RemoteBundle bundle = new RemoteBundle(this, bundleId);
          return registerBundle(bundle.getLocation(), bundle);
       }
@@ -110,7 +115,7 @@
       {
          TabularData listBundles = getBundleStateMBean().listBundles();
          Iterator<?> iterator = listBundles.values().iterator();
-         while(iterator.hasNext())
+         while (iterator.hasNext())
          {
             CompositeData next = (CompositeData)iterator.next();
             Object bundleId = next.get(BundleStateMBean.IDENTIFIER);
@@ -139,23 +144,56 @@
 
    public OSGiServiceReference getServiceReference(String clazz)
    {
-      ManagedServiceReference manref = getRemoteFramework().getServiceReference(clazz);
-      return manref != null ? new RemoteServiceReference(manref) : null;
+      CompositeData serviceData;
+      TabularData propertiesData;
+      try
+      {
+         ServiceStateMBeanExt serviceState = getServiceStateMBeanExt();
+         serviceData = serviceState.getService(clazz);
+         if (serviceData == null)
+            return null;
+
+         Long serviceId = (Long)serviceData.get(ServiceStateMBean.IDENTIFIER);
+         propertiesData = serviceState.getProperties(serviceId);
+      }
+      catch (IOException ex)
+      {
+         throw new IllegalStateException(ex);
+      }
+      return new RemoteServiceReference(serviceData, propertiesData);
    }
 
+   @SuppressWarnings("unchecked")
    public OSGiServiceReference[] getServiceReferences(String clazz, String filter)
    {
-      OSGiServiceReference[] srefs = null;
+      TabularData servicesData;
+      List<OSGiServiceReference> srefs;
+      try
+      {
+         ServiceStateMBeanExt serviceState = getServiceStateMBeanExt();
+         servicesData = serviceState.getServices(clazz, filter);
+         if (servicesData == null)
+            return null;
 
-      ManagedServiceReference[] manrefs = getRemoteFramework().getServiceReferences(clazz, filter);
-      if (manrefs != null)
+         srefs = new ArrayList<OSGiServiceReference>();
+         for (CompositeData serviceData : (Collection<CompositeData>)servicesData.values())
+         {
+            Long serviceId = (Long)serviceData.get(ServiceStateMBean.IDENTIFIER);
+            TabularData propertiesData = serviceState.getProperties(serviceId);
+            srefs.add(new RemoteServiceReference(serviceData, propertiesData));
+         }
+      }
+      catch (IOException ex)
       {
-         srefs = new OSGiServiceReference[manrefs.length];
-         for (int i = 0; i < manrefs.length; i++)
-            srefs[i] = new RemoteServiceReference(manrefs[i]);
+         throw new IllegalStateException(ex);
       }
+      return srefs.toArray(new OSGiServiceReference[servicesData.size()]);
+   }
 
-      return srefs;
+   private ServiceStateMBeanExt getServiceStateMBeanExt()
+   {
+      ObjectName objectName = ObjectNameFactory.create(ServiceStateMBeanExt.OBJECTNAME);
+      return MBeanProxy.get(getMBeanServer(), objectName, ServiceStateMBeanExt.class);
    }
 
    public MBeanServerConnection getMBeanServer()
@@ -180,25 +218,6 @@
       return new RemotePackageAdmin(this);
    }
 
-   private RemoteFramework getRemoteFramework()
-   {
-      ObjectName objectName = ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK;
-      final ManagedFrameworkMBean managedFramework = MBeanProxy.get(getMBeanServer(), objectName, ManagedFrameworkMBean.class);
-
-      return new RemoteFramework()
-      {
-         public ManagedServiceReference getServiceReference(String clazz)
-         {
-            return managedFramework.getServiceReference(clazz);
-         }
-
-         public ManagedServiceReference[] getServiceReferences(String clazz, String filter)
-         {
-            return managedFramework.getServiceReferences(clazz, filter);
-         }
-      };
-   }
-
    public boolean isRemoteRuntime()
    {
       return true;

Modified: projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteServiceReference.java
===================================================================
--- projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteServiceReference.java	2010-02-23 14:11:34 UTC (rev 101331)
+++ projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteServiceReference.java	2010-02-23 14:13:09 UTC (rev 101332)
@@ -21,7 +21,9 @@
  */
 package org.jboss.osgi.testing.internal;
 
-import org.jboss.osgi.spi.management.ManagedServiceReference;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.TabularData;
+
 import org.jboss.osgi.testing.OSGiServiceReference;
 
 /**
@@ -32,21 +34,22 @@
  */
 public class RemoteServiceReference implements OSGiServiceReference
 {
-   private ManagedServiceReference sref;
+   private CompositeData serviceData;
+   private TabularData propertiesData;
    
-   public RemoteServiceReference(ManagedServiceReference sref)
+   public RemoteServiceReference(CompositeData serviceData, TabularData propertiesData)
    {
-      this.sref = sref;
+      this.serviceData = serviceData;
+      this.propertiesData = propertiesData;
    }
 
    public Object getProperty(String key)
    {
-      return sref.getProperty(key);
+      return null;
    }
 
    public String[] getPropertyKeys()
    {
-      return sref.getPropertyKeys();
+      return null;
    }
-
 }




More information about the jboss-cvs-commits mailing list