Author: timothyjward
Date: Wed Jul 27 16:45:06 2011
New Revision: 1151530

URL: http://svn.apache.org/viewvc?rev=1151530&view=rev
Log:
ARIES-691 : Allow clients not importing org.osgi.framework to work

Modified:
    
aries/trunk/jpa/jpa-container-eclipselink-adapter/src/main/java/org/apache/aries/jpa/eclipselink/adapter/UnionClassLoader.java

Modified: 
aries/trunk/jpa/jpa-container-eclipselink-adapter/src/main/java/org/apache/aries/jpa/eclipselink/adapter/UnionClassLoader.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-eclipselink-adapter/src/main/java/org/apache/aries/jpa/eclipselink/adapter/UnionClassLoader.java?rev=1151530&r1=1151529&r2=1151530&view=diff
==============================================================================
--- 
aries/trunk/jpa/jpa-container-eclipselink-adapter/src/main/java/org/apache/aries/jpa/eclipselink/adapter/UnionClassLoader.java
 (original)
+++ 
aries/trunk/jpa/jpa-container-eclipselink-adapter/src/main/java/org/apache/aries/jpa/eclipselink/adapter/UnionClassLoader.java
 Wed Jul 27 16:45:06 2011
@@ -28,6 +28,8 @@ import org.osgi.framework.BundleReferenc
 
 public final class UnionClassLoader extends ClassLoader implements 
BundleReference{
   
+  private static final String ORG_OSGI_FRAMEWORK = "org.osgi.framework.";
+  private static final int DOT_INDEX = ORG_OSGI_FRAMEWORK.lastIndexOf('.');
   private final Bundle eclipseLinkBundle;
   private final Bundle adaptorBundle;
   
@@ -56,6 +58,9 @@ public final class UnionClassLoader exte
         throw new ClassNotFoundException(name, ioe);
       }
       return defineClass(name, baos.toByteArray(), 0, baos.size());
+    } else if (name.startsWith(ORG_OSGI_FRAMEWORK) &&
+        name.lastIndexOf('.') == DOT_INDEX) {
+      return adaptorBundle.loadClass(name);
     }
     return eclipseLinkBundle.loadClass(name);
   }


Reply via email to