You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by mr...@apache.org on 2012/10/02 17:35:57 UTC

svn commit: r1392976 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/InitialContent.java

Author: mreutegg
Date: Tue Oct  2 15:35:57 2012
New Revision: 1392976

URL: http://svn.apache.org/viewvc?rev=1392976&view=rev
Log:
OAK-41: Initial repository setup
- add class loader workaround needed in OSGi environment

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/InitialContent.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/InitialContent.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/InitialContent.java?rev=1392976&r1=1392975&r2=1392976&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/InitialContent.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/InitialContent.java Tue Oct  2 15:35:57 2012
@@ -63,10 +63,18 @@ public class InitialContent extends Defa
         Oak oak = new Oak(mk);
         oak.with(new OpenLoginContextProvider());
         oak.with(new OpenAccessControlContextProvider());
+
+        // TODO: The context class loader hack below shouldn't be needed
+        // with a properly OSGi-compatible JAAS implementation
+        Thread thread = Thread.currentThread();
+        ClassLoader loader = thread.getContextClassLoader();
         try {
+            thread.setContextClassLoader(Oak.class.getClassLoader());
             return oak.createContentRepository().login(null, null).getLatestRoot();
         } catch (Exception e) {
             throw new IllegalStateException("Unable to create a Root", e);
+        } finally {
+            thread.setContextClassLoader(loader);
         }
     }
 }