[jboss-cvs] JBossAS SVN: r97459 - in projects/jboss-osgi/projects/runtime/framework/trunk/src: test/java/org/jboss/test/osgi/service/support/d and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Dec 4 08:43:11 EST 2009
Author: alesj
Date: 2009-12-04 08:43:11 -0500 (Fri, 04 Dec 2009)
New Revision: 97459
Modified:
projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java
projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/service/support/d/D.java
Log:
Fix broken CLSystem usage.
It explains previous service-mix issues.
Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java 2009-12-04 13:36:12 UTC (rev 97458)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java 2009-12-04 13:43:11 UTC (rev 97459)
@@ -21,10 +21,13 @@
*/
package org.jboss.osgi.framework.classloading;
+import org.jboss.classloader.plugins.filter.PatternClassFilter;
import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
import org.jboss.classloader.spi.ClassLoaderDomain;
import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloader.spi.ParentPolicy;
+import org.jboss.classloader.spi.filter.ClassFilterUtils;
+import org.jboss.classloader.spi.filter.RecursivePackageClassFilter;
import org.jboss.osgi.framework.bundle.AbstractBundleState;
import org.jboss.osgi.framework.bundle.OSGiBundleState;
@@ -44,7 +47,10 @@
{
ClassLoaderDomain domain = getDefaultDomain();
- domain.setParentPolicy(ParentPolicy.BEFORE_BUT_JAVA_ONLY);
+ PatternClassFilter filter = RecursivePackageClassFilter.createRecursivePackageClassFilterFromString("org.osgi");
+ filter.setIncludeJava(true);
+ domain.setParentPolicy(new ParentPolicy(filter, ClassFilterUtils.NOTHING));
+
AbstractJDKChecker.getExcluded().add(AbstractBundleState.class);
AbstractJDKChecker.getExcluded().add(OSGiBundleState.class);
}
Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/service/support/d/D.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/service/support/d/D.java 2009-12-04 13:36:12 UTC (rev 97458)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/service/support/d/D.java 2009-12-04 13:43:11 UTC (rev 97459)
@@ -21,8 +21,6 @@
*/
package org.jboss.test.osgi.service.support.d;
-import java.lang.reflect.Method;
-
import org.jboss.test.osgi.service.support.a.A;
import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceFactory;
@@ -33,27 +31,10 @@
*/
public class D implements ServiceFactory
{
- private static Object invoke(Object target, String getter)
- {
- try
- {
- Class<?> clazz = target.getClass();
- Method m = clazz.getDeclaredMethod(getter);
- return m.invoke(target);
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
public Object getService(Bundle bundle, ServiceRegistration registration)
{
A a = new A();
- // TODO -- why this doesn't work? java.lang.NoClassDefFoundError: org/osgi/framework/Bundle
- // a.msg = bundle.getSymbolicName();
- // TODO - but this does ...
- a.msg = invoke(bundle, "getSymbolicName").toString();
+ a.msg = bundle.getSymbolicName();
return a;
}
More information about the jboss-cvs-commits
mailing list