[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