[jboss-cvs] JBossAS SVN: r97305 - in projects/jboss-osgi/trunk/reactor/framework/src: test/java/org/jboss/test/osgi/service and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 2 11:13:58 EST 2009


Author: alesj
Date: 2009-12-02 11:13:58 -0500 (Wed, 02 Dec 2009)
New Revision: 97305

Modified:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/KernelDictionaryFactory.java
   projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/service/ServiceMixUnitTestCase.java
Log:
Filter by bean name.

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/KernelDictionaryFactory.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/KernelDictionaryFactory.java	2009-12-02 16:09:53 UTC (rev 97304)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/KernelDictionaryFactory.java	2009-12-02 16:13:58 UTC (rev 97305)
@@ -21,7 +21,6 @@
 */
 package org.jboss.osgi.framework.bundle;
 
-import java.util.Collections;
 import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.HashSet;
@@ -41,6 +40,7 @@
  */
 public class KernelDictionaryFactory implements DictionaryFactory<KernelControllerContext>
 {
+   private static final String NAME = "bean.name";
    private static final String[] EMPTY = new String[0];
    private KernelConfigurator configurator;
    private final ClassInfo OBJECT;
@@ -79,16 +79,18 @@
    private class KernelDictionary extends Dictionary<String, Object>
    {
       private KernelControllerContext context;
+      private Object name;
       private String[] classes = EMPTY;
 
       private KernelDictionary(KernelControllerContext context)
       {
          this.context = context;
+         this.name = context.getName();
       }
 
       public int size()
       {
-         return 1;
+         return 2;
       }
 
       public boolean isEmpty()
@@ -99,19 +101,29 @@
       @SuppressWarnings({"unchecked"})
       public Enumeration<String> keys()
       {
-         return Iterators.toEnumeration(Collections.singleton(Constants.OBJECTCLASS).iterator());
+         Set<String> keys = new HashSet<String>();
+         keys.add(Constants.OBJECTCLASS);
+         keys.add(NAME);
+         return Iterators.toEnumeration(keys.iterator());
       }
 
       @SuppressWarnings({"unchecked"})
       public Enumeration<Object> elements()
       {
-         return Iterators.toEnumeration(Collections.singleton(classes).iterator());
+         Set<Object> elements = new HashSet<Object>();
+         elements.add(name);
+         elements.add(classes);
+         return Iterators.toEnumeration(elements.iterator());
       }
 
       public Object get(Object key)
       {
-         if (Constants.OBJECTCLASS.equals(key))
+         if (NAME.equals(key))
          {
+            return name;
+         }
+         else if (Constants.OBJECTCLASS.equals(key))
+         {
             if (classes == EMPTY)
             {
                ClassInfo clazz = null;

Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/service/ServiceMixUnitTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/service/ServiceMixUnitTestCase.java	2009-12-02 16:09:53 UTC (rev 97304)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/service/ServiceMixUnitTestCase.java	2009-12-02 16:13:58 UTC (rev 97305)
@@ -196,11 +196,17 @@
                assertNotNull(refs);
                assertEquals(2, refs.length);
                assertSame(osgiRef, refs[0]);
+               ServiceReference mcRef = refs[1];
 
                refs = bundleContext1.getServiceReferences(A.class.getName(), "(a=b)");
                assertNotNull(refs);
                assertEquals(1, refs.length);
                assertSame(osgiRef, refs[0]);
+
+               refs = bundleContext1.getServiceReferences(A.class.getName(), "(bean.name=A)");
+               assertNotNull(refs);
+               assertEquals(1, refs.length);
+               assertEquals(mcRef, refs[0]);
             }
             finally
             {




More information about the jboss-cvs-commits mailing list