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/09/20 12:37:49 UTC

svn commit: r1173073 - /jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java

Author: thomasm
Date: Tue Sep 20 10:37:49 2011
New Revision: 1173073

URL: http://svn.apache.org/viewvc?rev=1173073&view=rev
Log:
Use the file system abstraction.

Modified:
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java?rev=1173073&r1=1173072&r2=1173073&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java Tue Sep 20 10:37:49 2011
@@ -16,14 +16,15 @@
  */
 package org.apache.jackrabbit.mk;
 
-import org.apache.jackrabbit.mk.api.MicroKernel;
-import org.apache.jackrabbit.mk.client.Client;
-import org.apache.jackrabbit.mk.mem.MemoryKernelImpl;
-
-import java.io.File;
+import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.URI;
 import java.net.URISyntaxException;
+import org.apache.jackrabbit.mk.api.MicroKernel;
+import org.apache.jackrabbit.mk.client.Client;
+import org.apache.jackrabbit.mk.fs.FileUtils;
+import org.apache.jackrabbit.mk.mem.MemoryKernelImpl;
+import org.apache.jackrabbit.mk.util.ExceptionFactory;
 
 /**
  * A factory to create a MicroKernel instance.
@@ -43,24 +44,22 @@ public class MicroKernelFactory {
      * @return a new instance
      */
     public static MicroKernel getInstance(String url) {
-        boolean clean = false;
-        if (url.endsWith(";clean")) {
-            url = url.substring(0, url.length() - ";clean".length());
-            clean = true;
-        }
         if (url.startsWith("mem:")) {
-            String dir = url.substring("mem:".length());
-            dir = dir.replaceAll("\\{homeDir\\}", System.getProperty("homeDir", "."));
-            MemoryKernelImpl impl = MemoryKernelImpl.get(dir);
-            if (clean) {
-                impl.clear();
-            }
-            return impl;
+            return MemoryKernelImpl.get(url);
         } else if (url.startsWith("fs:")) {
+            boolean clean = false;
+            if (url.endsWith(";clean")) {
+                url = url.substring(0, url.length() - ";clean".length());
+                clean = true;
+            }
             String dir = url.substring("fs:".length());
             dir = dir.replaceAll("\\{homeDir\\}", System.getProperty("homeDir", "."));
             if (clean) {
-                rm(new File(dir, ".mk"));
+                try {
+                    FileUtils.deleteRecursive(dir + "/" + ".mk", false);
+                } catch (IOException e) {
+                    throw ExceptionFactory.convert(e);
+                }
             }
             return new MicroKernelImpl(dir);
         } else if (url.startsWith("http:")) {
@@ -75,15 +74,4 @@ public class MicroKernelFactory {
         }
     }
 
-    static boolean rm(File f) {
-        if (f.isDirectory()) {
-            for (String child : f.list()) {
-                if (! rm(new File(f, child))) {
-                    return false;
-                }
-            }
-        }
-
-        return f.delete();
-    }
 }