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 ju...@apache.org on 2012/04/05 11:33:30 UTC

svn commit: r1309721 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java

Author: jukka
Date: Thu Apr  5 09:33:29 2012
New Revision: 1309721

URL: http://svn.apache.org/viewvc?rev=1309721&view=rev
Log:
OAK-32: Drop MicroKernel.dispose()

Merge duplicate code in MKF.getInstance()

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java?rev=1309721&r1=1309720&r2=1309721&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java Thu Apr  5 09:33:29 2012
@@ -61,7 +61,7 @@ public class MicroKernelFactory {
 
         String head = url.substring(0, colon);
         String tail = url.substring(colon + 1);
-        if (head.equals("mem") || head.equals("simple")) {
+        if (head.equals("mem") || head.equals("simple") || head.equals("fs")) {
             boolean clean = false;
             if (tail.endsWith(";clean")) {
                 tail = tail.substring(0, tail.length() - ";clean".length());
@@ -71,21 +71,31 @@ public class MicroKernelFactory {
             tail = tail.replaceAll("\\{homeDir\\}", System.getProperty("homeDir", "."));
 
             if (clean) {
-                String dir = tail.substring(tail.lastIndexOf(':') + 1);
+                String dir;
+                if (head.equals("fs")) {
+                    dir = tail + "/.mk";
+                } else {
+                    dir = tail.substring(tail.lastIndexOf(':') + 1);
+                    INSTANCES.remove(tail);
+                }
+
                 try {
                     FileUtils.deleteRecursive(dir, false);
                 } catch (Exception e) {
                     throw ExceptionFactory.convert(e);
                 }
-                INSTANCES.remove(tail);
             }
 
-            SimpleKernelImpl instance = INSTANCES.get(tail);
-            if (instance == null) {
-                instance = new SimpleKernelImpl(tail);
-                INSTANCES.put(tail, instance);
+            if (head.equals("fs")) {
+                return new MicroKernelImpl(tail);
+            } else {
+                SimpleKernelImpl instance = INSTANCES.get(tail);
+                if (instance == null) {
+                    instance = new SimpleKernelImpl(tail);
+                    INSTANCES.put(tail, instance);
+                }
+                return instance;
             }
-            return instance;
         } else if (head.equals("log")) {
             return new LogWrapper(getInstance(tail));
         } else if (head.equals("sec")) {
@@ -94,24 +104,6 @@ public class MicroKernelFactory {
             return VirtualRepositoryWrapper.get(url);
         } else if (head.equals("index")) {
             return new IndexWrapper(getInstance(tail));
-        } else if (head.equals("fs:")) {
-            boolean clean = false;
-            if (tail.endsWith(";clean")) {
-                tail = tail.substring(0, tail.length() - ";clean".length());
-                clean = true;
-            }
-
-            tail = tail.replaceAll("\\{homeDir\\}", System.getProperty("homeDir", "."));
-
-            if (clean) {
-                try {
-                    FileUtils.deleteRecursive(tail + "/" + ".mk", false);
-                } catch (IOException e) {
-                    throw ExceptionFactory.convert(e);
-                }
-            }
-
-            return new MicroKernelImpl(tail);
         } else if (head.equals("http")) {
             return new Client(url);
         } else if (head.equals("http-bridge")) {