You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by th...@apache.org on 2012/03/15 14:57:10 UTC

svn commit: r1300984 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk: ./ index/ simple/ wrapper/

Author: thomasm
Date: Thu Mar 15 13:57:09 2012
New Revision: 1300984

URL: http://svn.apache.org/viewvc?rev=1300984&view=rev
Log:
OAK-13 Rename "Wrapper" to "MicroKernelWrapper" to avoid confusion; move IndexWrapper to index package

Added:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/index/IndexWrapper.java
      - copied, changed from r1300226, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/IndexWrapper.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapper.java
      - copied, changed from r1300226, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/Wrapper.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java
      - copied, changed from r1300226, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/WrapperBase.java
Removed:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/IndexWrapper.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/Wrapper.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/WrapperBase.java
Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/MicroKernelFactory.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/VirtualRepositoryWrapper.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=1300984&r1=1300983&r2=1300984&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 Mar 15 13:57:09 2012
@@ -21,9 +21,9 @@ import java.io.IOException;
 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.index.IndexWrapper;
 import org.apache.jackrabbit.mk.simple.SimpleKernelImpl;
 import org.apache.jackrabbit.mk.util.ExceptionFactory;
-import org.apache.jackrabbit.mk.wrapper.IndexWrapper;
 import org.apache.jackrabbit.mk.wrapper.LogWrapper;
 import org.apache.jackrabbit.mk.wrapper.SecurityWrapper;
 import org.apache.jackrabbit.mk.wrapper.VirtualRepositoryWrapper;

Copied: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/index/IndexWrapper.java (from r1300226, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/IndexWrapper.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/index/IndexWrapper.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/index/IndexWrapper.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/IndexWrapper.java&r1=1300226&r2=1300984&rev=1300984&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/IndexWrapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/index/IndexWrapper.java Thu Mar 15 13:57:09 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.jackrabbit.mk.wrapper;
+package org.apache.jackrabbit.mk.index;
 
 import java.io.InputStream;
 import java.util.HashMap;
@@ -22,9 +22,6 @@ import java.util.Iterator;
 import org.apache.jackrabbit.mk.MicroKernelFactory;
 import org.apache.jackrabbit.mk.api.MicroKernel;
 import org.apache.jackrabbit.mk.api.MicroKernelException;
-import org.apache.jackrabbit.mk.index.Indexer;
-import org.apache.jackrabbit.mk.index.PrefixIndex;
-import org.apache.jackrabbit.mk.index.PropertyIndex;
 import org.apache.jackrabbit.mk.json.JsopReader;
 import org.apache.jackrabbit.mk.json.JsopStream;
 import org.apache.jackrabbit.mk.json.JsopTokenizer;
@@ -32,25 +29,27 @@ import org.apache.jackrabbit.mk.simple.N
 import org.apache.jackrabbit.mk.simple.NodeMap;
 import org.apache.jackrabbit.mk.util.ExceptionFactory;
 import org.apache.jackrabbit.mk.util.PathUtils;
+import org.apache.jackrabbit.mk.wrapper.MicroKernelWrapper;
+import org.apache.jackrabbit.mk.wrapper.MicroKernelWrapperBase;
 
 /**
  * The index mechanism, as a wrapper.
  */
-public class IndexWrapper extends WrapperBase implements MicroKernel {
+public class IndexWrapper extends MicroKernelWrapperBase implements MicroKernel {
 
     private static final String INDEX_PATH = "/index";
     private static final String TYPE_PREFIX = "prefix:";
     private static final String TYPE_PROPERTY = "property:";
     private static final String UNIQUE = "unique";
 
-    private final Wrapper mk;
+    private final MicroKernelWrapper mk;
     private final Indexer indexer;
     private final NodeMap map = new NodeMap();
     private final HashMap<String, PrefixIndex> prefixIndexes = new HashMap<String, PrefixIndex>();
     private final HashMap<String, PropertyIndex> propertyIndexes = new HashMap<String, PropertyIndex>();
 
     public IndexWrapper(MicroKernel mk) {
-        this.mk = WrapperBase.wrap(mk);
+        this.mk = MicroKernelWrapperBase.wrap(mk);
         this.indexer = new Indexer(mk);
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java?rev=1300984&r1=1300983&r2=1300984&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java Thu Mar 15 13:57:09 2012
@@ -31,7 +31,7 @@ import org.apache.jackrabbit.mk.util.Cac
 import org.apache.jackrabbit.mk.util.CommitGate;
 import org.apache.jackrabbit.mk.util.ExceptionFactory;
 import org.apache.jackrabbit.mk.util.PathUtils;
-import org.apache.jackrabbit.mk.wrapper.WrapperBase;
+import org.apache.jackrabbit.mk.wrapper.MicroKernelWrapperBase;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -60,7 +60,7 @@ Node structure:
 /**
  * A simple MicroKernel implementation.
  */
-public class SimpleKernelImpl extends WrapperBase implements MicroKernel {
+public class SimpleKernelImpl extends MicroKernelWrapperBase implements MicroKernel {
 
     private static final HashMap<String, SimpleKernelImpl> INSTANCES = new HashMap<String, SimpleKernelImpl>();
 

Copied: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapper.java (from r1300226, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/Wrapper.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapper.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapper.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/Wrapper.java&r1=1300226&r2=1300984&rev=1300984&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/Wrapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapper.java Thu Mar 15 13:57:09 2012
@@ -20,7 +20,11 @@ import org.apache.jackrabbit.mk.api.Micr
 import org.apache.jackrabbit.mk.api.MicroKernelException;
 import org.apache.jackrabbit.mk.json.JsopReader;
 
-public interface Wrapper extends MicroKernel {
+/**
+ * This interface allows a MicroKernel client to use a JsopReader instead of
+ * having to use strings.
+ */
+public interface MicroKernelWrapper extends MicroKernel {
 
     JsopReader getRevisionsStream(long since, int maxEntries) throws MicroKernelException;
 

Copied: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java (from r1300226, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/WrapperBase.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/WrapperBase.java&r1=1300226&r2=1300984&rev=1300984&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/WrapperBase.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java Thu Mar 15 13:57:09 2012
@@ -22,7 +22,11 @@ import org.apache.jackrabbit.mk.api.Micr
 import org.apache.jackrabbit.mk.json.JsopReader;
 import org.apache.jackrabbit.mk.json.JsopTokenizer;
 
-public abstract class WrapperBase implements MicroKernel, Wrapper {
+/**
+ * A MicroKernel implementation that extends this interface can use a JsopReader
+ * instead of having to use strings.
+ */
+public abstract class MicroKernelWrapperBase implements MicroKernel, MicroKernelWrapper {
 
     public final String commit(String path, String jsonDiff, String revisionId, String message) {
         return commitStream(path, new JsopTokenizer(jsonDiff), revisionId, message);
@@ -48,11 +52,18 @@ public abstract class WrapperBase implem
         return getRevisionsStream(since, maxEntries).toString();
     }
 
-    public static Wrapper wrap(final MicroKernel mk) {
-        if (mk instanceof Wrapper) {
-            return (Wrapper) mk;
+    /**
+     * Wrap a MicroKernel implementation so that the MicroKernelWrapper
+     * interface can be used.
+     *
+     * @param mk the MicroKernel implementation to wrap
+     * @return the wrapped instance
+     */
+    public static MicroKernelWrapper wrap(final MicroKernel mk) {
+        if (mk instanceof MicroKernelWrapper) {
+            return (MicroKernelWrapper) mk;
         }
-        return new Wrapper() {
+        return new MicroKernelWrapper() {
 
             MicroKernel wrapped = mk;
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java?rev=1300984&r1=1300983&r2=1300984&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java Thu Mar 15 13:57:09 2012
@@ -41,9 +41,9 @@ import org.apache.jackrabbit.mk.util.Sim
  * This implementation is not meant for production, it is only used to find
  * (performance and other) problems when using such an approach.
  */
-public class SecurityWrapper extends WrapperBase implements MicroKernel {
+public class SecurityWrapper extends MicroKernelWrapperBase implements MicroKernel {
 
-    private final Wrapper mk;
+    private final MicroKernelWrapper mk;
     private final boolean admin, write;
     private final String[] userRights;
     private final NodeMap map = new NodeMap();
@@ -52,7 +52,7 @@ public class SecurityWrapper extends Wra
 
     private SecurityWrapper(MicroKernel mk, String[] rights) {
         // TODO security for the index mechanism
-        this.mk = WrapperBase.wrap(mk);
+        this.mk = MicroKernelWrapperBase.wrap(mk);
         this.userRights = rights;
         boolean isAdmin = false, canWrite = false;
         for (String r : rights) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/VirtualRepositoryWrapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/VirtualRepositoryWrapper.java?rev=1300984&r1=1300983&r2=1300984&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/VirtualRepositoryWrapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/VirtualRepositoryWrapper.java Thu Mar 15 13:57:09 2012
@@ -38,7 +38,7 @@ import org.apache.jackrabbit.mk.util.Pat
  * All mounted repositories contains the configuration as follows:
  * /:mount/rep1 { url: "mk:...", paths: "/a,/b" }.
  */
-public class VirtualRepositoryWrapper extends WrapperBase implements MicroKernel {
+public class VirtualRepositoryWrapper extends MicroKernelWrapperBase implements MicroKernel {
 
     private static final String PREFIX = "virtual:";
     private static final String MOUNT = "/:mount";
@@ -46,7 +46,7 @@ public class VirtualRepositoryWrapper ex
     /**
      * The 'main' (wrapped) implementation.
      */
-    private final Wrapper mk;
+    private final MicroKernelWrapper mk;
 
     /**
      * Path map.
@@ -64,7 +64,7 @@ public class VirtualRepositoryWrapper ex
      * Mount map.
      * Key: mount name, value: microkernel implementation.
      */
-    private final HashMap<String, Wrapper> mounts = new HashMap<String, Wrapper>();
+    private final HashMap<String, MicroKernelWrapper> mounts = new HashMap<String, MicroKernelWrapper>();
 
     /**
      * Head revision map.
@@ -75,7 +75,7 @@ public class VirtualRepositoryWrapper ex
     private final NodeMap map = new NodeMap();
 
     private VirtualRepositoryWrapper(MicroKernel mk) {
-        this.mk = WrapperBase.wrap(mk);
+        this.mk = MicroKernelWrapperBase.wrap(mk);
     }
 
     public static synchronized VirtualRepositoryWrapper get(String url) {
@@ -111,7 +111,7 @@ public class VirtualRepositoryWrapper ex
 
     private void addMount(String mount, String url, String[] paths) {
         MicroKernel mk = MicroKernelFactory.getInstance(url);
-        mounts.put(mount, WrapperBase.wrap(mk));
+        mounts.put(mount, MicroKernelWrapperBase.wrap(mk));
         for (String p : paths) {
             dir.put(p, mount);
         }
@@ -247,7 +247,7 @@ public class VirtualRepositoryWrapper ex
         StringBuilder buff = new StringBuilder();
         if (revisions.size() != mounts.size()) {
             revisions.clear();
-            for (Entry<String, Wrapper> e : mounts.entrySet()) {
+            for (Entry<String, MicroKernelWrapper> e : mounts.entrySet()) {
                 String m = e.getKey();
                 String r = e.getValue().getHeadRevision();
                 revisions.put(m, r);
@@ -286,7 +286,7 @@ public class VirtualRepositoryWrapper ex
             throw ExceptionFactory.get("Not mapped: " + path);
         }
         String rev = getRevision(mount, revisionId);
-        Wrapper mk = mounts.get(mount);
+        MicroKernelWrapper mk = mounts.get(mount);
         return mk.getNodesStream(path, rev, depth, offset, count, filter);
     }