You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2011/06/09 12:23:26 UTC

svn commit: r1133775 - in /jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel: RepositoryServiceFactoryImpl.java RepositoryServiceImpl.java

Author: thomasm
Date: Thu Jun  9 10:23:25 2011
New Revision: 1133775

URL: http://svn.apache.org/viewvc?rev=1133775&view=rev
Log:
Use factory.

Modified:
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceFactoryImpl.java
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceFactoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceFactoryImpl.java?rev=1133775&r1=1133774&r2=1133775&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceFactoryImpl.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceFactoryImpl.java Thu Jun  9 10:23:25 2011
@@ -18,50 +18,21 @@
  */
 package org.apache.jackrabbit.spi2microkernel;
 
-import org.apache.jackrabbit.mk.MicroKernelImpl;
+import java.util.Map;
+import javax.jcr.RepositoryException;
+import org.apache.jackrabbit.mk.MicroKernelFactory;
 import org.apache.jackrabbit.mk.api.MicroKernel;
 import org.apache.jackrabbit.spi.RepositoryService;
 import org.apache.jackrabbit.spi.RepositoryServiceFactory;
 
-import javax.jcr.RepositoryException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-
 public class RepositoryServiceFactoryImpl implements RepositoryServiceFactory {
-    public static final String PARAM_HOME_DIR = "org.apache.jackrabbit.spi2microkernel.home-dir";
-    
-    public RepositoryService createRepositoryService(Map<?, ?> parameters) throws RepositoryException {
-        String homeDir = getHomeDir(parameters);
-
-        // todo use factory to create actual micro kernel instance
-        MicroKernel microKernel = new MicroKernelImpl(homeDir);
+    public static final String PARAM_URL = "org.apache.jackrabbit.spi2microkernel.url";
 
+    public RepositoryService createRepositoryService(Map<?, ?> parameters) throws RepositoryException {
+        Object u = parameters.get(PARAM_URL);
+        String url = u == null ? null : u.toString();
+        MicroKernel microKernel = MicroKernelFactory.getInstance(url);
         return new RepositoryServiceImpl(microKernel);
     }
 
-    //------------------------------------------< private >---
-
-    private static String getHomeDir(Map<?, ?> parameters) {
-        Object uri = parameters.get(PARAM_HOME_DIR);
-        URI homeDir;
-        if (uri instanceof URI) {
-            homeDir = (URI) uri;
-        }
-        else if (uri instanceof String) {
-            try {
-                homeDir = new URI((String) uri);
-            }
-            catch (URISyntaxException e) {
-                return null; 
-            }
-        }
-        else {
-            return null;
-        }
-
-        return "file".equals(homeDir.getScheme())
-            ? homeDir.getPath()
-            : null;
-    }
 }

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java?rev=1133775&r1=1133774&r2=1133775&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java Thu Jun  9 10:23:25 2011
@@ -86,10 +86,10 @@ public class RepositoryServiceImpl exten
 
             String head = microKernel.getHeadRevision();
             createWorkspace(head, Paths.DEFAULT_WORKSPACE, true);
-            createWorkspace(head, Paths.SYSTEM_WORKSPACE, true);            
+            createWorkspace(head, Paths.SYSTEM_WORKSPACE, true);
         }
         catch (MicroKernelException e) {
-            throw new RepositoryException(e.getMessage(), e); 
+            throw new RepositoryException(e.getMessage(), e);
         }
     }
 
@@ -359,7 +359,7 @@ public class RepositoryServiceImpl exten
         try {
             String wspName = Paths.getWorkspaceName(name);
             if (!microKernel.nodeExists('/' + wspName, revisionId)) {
-                throw new NoSuchWorkspaceException("No such workspace: " + name);                
+                throw new NoSuchWorkspaceException("No such workspace: " + name);
             }
 
             microKernel.commit("/", '-' + wspName + " : ", revisionId);