[jboss-osgi-commits] JBoss-OSGI SVN: r97248 - projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Tue Dec 1 11:53:40 EST 2009
Author: alesj
Date: 2009-12-01 11:53:38 -0500 (Tue, 01 Dec 2009)
New Revision: 97248
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/OSGiBundleManager.java
Log:
Don't use deprecated api.
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-01 16:53:20 UTC (rev 97247)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/KernelDictionaryFactory.java 2009-12-01 16:53:38 UTC (rev 97248)
@@ -24,11 +24,13 @@
import java.util.Collections;
import java.util.Dictionary;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.Set;
-import java.util.HashSet;
import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.kernel.spi.config.KernelConfigurator;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.reflect.spi.ClassInfo;
import org.jboss.util.collection.Iterators;
import org.osgi.framework.Constants;
@@ -40,7 +42,30 @@
public class KernelDictionaryFactory implements DictionaryFactory<KernelControllerContext>
{
private static final String[] EMPTY = new String[0];
+ private KernelConfigurator configurator;
+ private final ClassInfo OBJECT;
+ public KernelDictionaryFactory(KernelConfigurator configurator)
+ {
+ if (configurator == null)
+ throw new IllegalArgumentException("Null configurator");
+
+ this.configurator = configurator;
+ OBJECT = getClassInfo(Object.class);
+ }
+
+ private ClassInfo getClassInfo(Class<?> clazz)
+ {
+ try
+ {
+ return configurator.getClassInfo(clazz);
+ }
+ catch (Throwable t)
+ {
+ throw new RuntimeException(t);
+ }
+ }
+
public Class<KernelControllerContext> getContextType()
{
return KernelControllerContext.class;
@@ -51,7 +76,7 @@
return new KernelDictionary(context);
}
- private static class KernelDictionary extends Dictionary<String, Object>
+ private class KernelDictionary extends Dictionary<String, Object>
{
private KernelControllerContext context;
private String[] classes = EMPTY;
@@ -89,15 +114,15 @@
{
if (classes == EMPTY)
{
- Class<?> clazz = null;
+ ClassInfo clazz = null;
BeanInfo info = context.getBeanInfo();
if (info != null)
{
- clazz = info.getClassInfo().getType();
+ clazz = info.getClassInfo();
}
else if (context.getTarget() != null)
{
- clazz = context.getTarget().getClass();
+ clazz = getClassInfo(context.getTarget().getClass());
}
if (clazz != null)
@@ -122,9 +147,9 @@
return null;
}
- protected static void traverseClass(Class<?> clazz, Set<String> classes)
+ protected void traverseClass(ClassInfo clazz, Set<String> classes)
{
- if (clazz == null || clazz == Object.class)
+ if (clazz == null || clazz == OBJECT)
{
return;
}
@@ -133,11 +158,14 @@
// traverse superclass
traverseClass(clazz.getSuperclass(), classes);
- Class<?>[] interfaces = clazz.getInterfaces();
- // traverse interfaces
- for(Class<?> intface : interfaces)
+ ClassInfo[] interfaces = clazz.getInterfaces();
+ if (interfaces != null)
{
- traverseClass(intface, classes);
+ // traverse interfaces
+ for(ClassInfo intface : interfaces)
+ {
+ traverseClass(intface, classes);
+ }
}
}
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java 2009-12-01 16:53:20 UTC (rev 97247)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java 2009-12-01 16:53:38 UTC (rev 97248)
@@ -285,7 +285,7 @@
Controller controller = kernel.getController();
InstanceMetaDataRetrievalFactory imdrf = new InstanceMetaDataRetrievalFactory(controller);
imdrf.addFactory(new OSGiServiceStateDictionaryFactory());
- imdrf.addFactory(new KernelDictionaryFactory());
+ imdrf.addFactory(new KernelDictionaryFactory(kernel.getConfigurator()));
// TODO - JMX?
mdrFactory = imdrf;
}
More information about the jboss-osgi-commits
mailing list