[jboss-cvs] JBossAS SVN: r101342 - in projects/jboss-osgi/projects: testing/trunk/src/main/java/org/jboss/osgi/testing/internal and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 23 15:41:58 EST 2010


Author: thomas.diesler at jboss.com
Date: 2010-02-23 15:41:57 -0500 (Tue, 23 Feb 2010)
New Revision: 101342

Modified:
   projects/jboss-osgi/projects/bundles/jmx/trunk/jmx-bundle/src/test/java/org/jboss/test/osgi/jmx/ServiceStateMBeanTestCase.java
   projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteServiceReference.java
Log:
Obtain service properties via ServiceStateMBean

Modified: projects/jboss-osgi/projects/bundles/jmx/trunk/jmx-bundle/src/test/java/org/jboss/test/osgi/jmx/ServiceStateMBeanTestCase.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jmx/trunk/jmx-bundle/src/test/java/org/jboss/test/osgi/jmx/ServiceStateMBeanTestCase.java	2010-02-23 20:18:50 UTC (rev 101341)
+++ projects/jboss-osgi/projects/bundles/jmx/trunk/jmx-bundle/src/test/java/org/jboss/test/osgi/jmx/ServiceStateMBeanTestCase.java	2010-02-23 20:41:57 UTC (rev 101342)
@@ -32,6 +32,9 @@
 
 import org.jboss.osgi.jmx.ServiceStateMBeanExt;
 import org.junit.Test;
+import org.osgi.framework.Constants;
+import org.osgi.jmx.JmxConstants;
+import org.osgi.jmx.framework.ServiceStateMBean;
 
 /**
  * A test that excercises the ServiceStateMBean
@@ -53,8 +56,17 @@
    public void getService() throws Exception
    {
       ServiceStateMBeanExt serviceState = getServiceState();
-      CompositeData data = serviceState.getService(MBeanServer.class.getName());
-      assertNotNull("MBeanServer service not null", data);
+      CompositeData serviceData = serviceState.getService(MBeanServer.class.getName());
+      assertNotNull("MBeanServer service not null", serviceData);
+      
+      Long serviceId = (Long)serviceData.get(ServiceStateMBean.IDENTIFIER);
+      assertNotNull("service.id not null", serviceId);
+      
+      TabularData props = serviceState.getProperties(serviceId);
+      assertNotNull("Properties not null", props);
+      
+      CompositeData idData = props.get(new Object[] { Constants.SERVICE_ID });
+      assertEquals(serviceId.toString(), idData.get(JmxConstants.VALUE));
    }
 
    @Test

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 20:18:50 UTC (rev 101341)
+++ projects/jboss-osgi/projects/testing/trunk/src/main/java/org/jboss/osgi/testing/internal/RemoteServiceReference.java	2010-02-23 20:41:57 UTC (rev 101342)
@@ -21,10 +21,14 @@
  */
 package org.jboss.osgi.testing.internal;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
 
 import org.jboss.osgi.testing.OSGiServiceReference;
+import org.osgi.jmx.JmxConstants;
 
 /**
  * A remote implementation of the {@link OSGiServiceReference}
@@ -34,22 +38,30 @@
  */
 public class RemoteServiceReference implements OSGiServiceReference
 {
-   private CompositeData serviceData;
-   private TabularData propertiesData;
+   private TabularData propsData;
    
-   public RemoteServiceReference(CompositeData serviceData, TabularData propertiesData)
+   public RemoteServiceReference(CompositeData serviceData, TabularData propData)
    {
-      this.serviceData = serviceData;
-      this.propertiesData = propertiesData;
+      this.propsData = propData;
    }
 
    public Object getProperty(String key)
    {
-      return null;
+      CompositeData propData = propsData.get(new Object[] { key });
+      if (propData == null)
+         return null;
+      
+      // [TODO] decode value
+      Object value = propData.get(JmxConstants.VALUE);
+      return value;
    }
 
    public String[] getPropertyKeys()
    {
-      return null;
+      List<String> keys = new ArrayList<String>();
+      for(Object key : propsData.keySet())
+         keys.add((String)key);
+      
+      return keys.toArray(new String[keys.size()]);
    }
 }




More information about the jboss-cvs-commits mailing list