You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2012/03/10 23:04:08 UTC

svn commit: r1299279 - in /jackrabbit/sandbox/jackrabbit-microkernel/src: main/java/org/apache/jackrabbit/ main/java/org/apache/jackrabbit/state/ test/java/org/apache/jackrabbit/

Author: mduerig
Date: Sat Mar 10 22:04:08 2012
New Revision: 1299279

URL: http://svn.apache.org/viewvc?rev=1299279&view=rev
Log:
Microkernel based prototype of JCR implementation (WIP)
- refactor 

Added:
    jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PropertyStateImpl.java
Modified:
    jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/NodeImpl.java
    jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/ChangeTree.java
    jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PersistentNodeState.java
    jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/TransientNodeState.java
    jackrabbit/sandbox/jackrabbit-microkernel/src/test/java/org/apache/jackrabbit/RepositoryTest.java

Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/NodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/NodeImpl.java?rev=1299279&r1=1299278&r2=1299279&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/NodeImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/NodeImpl.java Sat Mar 10 22:04:08 2012
@@ -26,7 +26,7 @@ import org.apache.jackrabbit.oak.model.P
 import org.apache.jackrabbit.spi.commons.iterator.Iterators;
 import org.apache.jackrabbit.spi.commons.iterator.Predicate;
 import org.apache.jackrabbit.spi.commons.iterator.Transformer;
-import org.apache.jackrabbit.state.PersistentNodeState.PropertyStateImpl;
+import org.apache.jackrabbit.state.PropertyStateImpl;
 import org.apache.jackrabbit.state.TransientNodeState;
 import org.apache.jackrabbit.utils.ItemNameMatcher;
 import org.apache.jackrabbit.utils.NodeIteratorAdapter;

Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/ChangeTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/ChangeTree.java?rev=1299279&r1=1299278&r2=1299279&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/ChangeTree.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/ChangeTree.java Sat Mar 10 22:04:08 2012
@@ -27,7 +27,6 @@ import org.apache.jackrabbit.oak.model.P
 import org.apache.jackrabbit.spi.commons.iterator.Iterators;
 import org.apache.jackrabbit.spi.commons.iterator.Predicate;
 import org.apache.jackrabbit.spi.commons.iterator.Transformer;
-import org.apache.jackrabbit.state.PersistentNodeState.PropertyStateImpl;
 
 import javax.jcr.ItemExistsException;
 import javax.jcr.ItemNotFoundException;

Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PersistentNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PersistentNodeState.java?rev=1299279&r1=1299278&r2=1299279&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PersistentNodeState.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PersistentNodeState.java Sat Mar 10 22:04:08 2012
@@ -8,7 +8,6 @@ import org.apache.jackrabbit.json.Unesca
 import org.apache.jackrabbit.mk.api.MicroKernel;
 import org.apache.jackrabbit.oak.model.AbstractChildNodeEntry;
 import org.apache.jackrabbit.oak.model.AbstractNodeState;
-import org.apache.jackrabbit.oak.model.AbstractPropertyState;
 import org.apache.jackrabbit.oak.model.ChildNodeEntry;
 import org.apache.jackrabbit.oak.model.NodeState;
 import org.apache.jackrabbit.oak.model.PropertyState;
@@ -58,12 +57,12 @@ public class PersistentNodeState extends
             @Override
             public Iterator<PropertyState> iterator() {
                 return Iterators.transformIterator(props.iterator(),
-                        new Transformer<Entry<String, JsonValue>, PropertyState>() {
-                            @Override
-                            public PropertyState transform(Entry<String, JsonValue> entry) {
-                                return createPropertyState(entry.getKey(), entry.getValue());
-                            }
-                        });
+                    new Transformer<Entry<String, JsonValue>, PropertyState>() {
+                        @Override
+                        public PropertyState transform(Entry<String, JsonValue> entry) {
+                            return createPropertyState(entry.getKey(), entry.getValue());
+                        }
+                    });
             }
         };
     }
@@ -132,8 +131,18 @@ public class PersistentNodeState extends
         return new PropertyStateImpl(name, jsonObject);
     }
 
-    private ChildNodeEntry createChildNodeEntry(String name) {
-        return new ChildNodeEntryImpl(name);
+    private ChildNodeEntry createChildNodeEntry(final String name) {
+        return new AbstractChildNodeEntry() {
+            @Override
+            public String getName() {
+                return name;
+            }
+
+            @Override
+            public NodeState getNode() {
+                return new PersistentNodeState(microkernel, revision, path.concat(name));
+            }
+        };
     }
 
     private static long toLong(JsonValue count) {
@@ -150,46 +159,4 @@ public class PersistentNodeState extends
         }
     }
 
-    public static class PropertyStateImpl extends AbstractPropertyState {
-        private final String name;
-        private final JsonValue value;
-
-        public PropertyStateImpl(String name, JsonValue value) {
-            this.name = name;
-            this.value = value;
-        }
-
-        public JsonValue getValue() {
-            return value;
-        }
-
-        @Override
-        public String getName() {
-            return name;
-        }
-
-        @Override
-        public String getEncodedValue() {
-            return value.toJson();
-        }
-    }
-
-    private class ChildNodeEntryImpl extends AbstractChildNodeEntry {
-        private final String name;
-
-        public ChildNodeEntryImpl(String name) {
-            this.name = name;
-        }
-
-        @Override
-        public String getName() {
-            return name;
-        }
-
-        @Override
-        public NodeState getNode() {
-            return new PersistentNodeState(microkernel, revision, path.concat(name));
-        }
-    }
-
 }

Added: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PropertyStateImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PropertyStateImpl.java?rev=1299279&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PropertyStateImpl.java (added)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/PropertyStateImpl.java Sat Mar 10 22:04:08 2012
@@ -0,0 +1,28 @@
+package org.apache.jackrabbit.state;
+
+import org.apache.jackrabbit.json.JsonValue;
+import org.apache.jackrabbit.oak.model.AbstractPropertyState;
+
+public class PropertyStateImpl extends AbstractPropertyState {
+    private final String name;
+    private final JsonValue value;
+
+    public PropertyStateImpl(String name, JsonValue value) {
+        this.name = name;
+        this.value = value;
+    }
+
+    public JsonValue getValue() {
+        return value;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public String getEncodedValue() {
+        return value.toJson();
+    }
+}

Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/TransientNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/TransientNodeState.java?rev=1299279&r1=1299278&r2=1299279&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/TransientNodeState.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/TransientNodeState.java Sat Mar 10 22:04:08 2012
@@ -31,7 +31,6 @@ import org.apache.jackrabbit.spi.commons
 import org.apache.jackrabbit.spi.commons.iterator.Predicate;
 import org.apache.jackrabbit.spi.commons.iterator.Transformer;
 import org.apache.jackrabbit.state.ChangeTree.NodeDelta;
-import org.apache.jackrabbit.state.PersistentNodeState.PropertyStateImpl;
 
 import javax.jcr.ItemExistsException;
 import javax.jcr.ItemNotFoundException;
@@ -141,13 +140,13 @@ public class TransientNodeState {
 
         // fixme: this is not safe against concurrent modifications. Either copy delta or make NodeDelta immutable
         Iterator<PropertyState> propertyEntries =
-                Iterators.filterIterator(propertyStates.iterator(),
-                        new Predicate<PropertyState>() {
-                            @Override
-                            public boolean evaluate(PropertyState state) {
-                                return !state.getName().startsWith(":") && !delta.hasProperty(state.getName());
-                            }
-                        });
+            Iterators.filterIterator(propertyStates.iterator(),
+                    new Predicate<PropertyState>() {
+                        @Override
+                        public boolean evaluate(PropertyState state) {
+                            return !state.getName().startsWith(":") && !delta.hasProperty(state.getName());
+                        }
+                    });
 
         return Iterators.iteratorChain(propertyEntries, delta.getPropertyStates());
     }

Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/test/java/org/apache/jackrabbit/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/test/java/org/apache/jackrabbit/RepositoryTest.java?rev=1299279&r1=1299278&r2=1299279&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/test/java/org/apache/jackrabbit/RepositoryTest.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/test/java/org/apache/jackrabbit/RepositoryTest.java Sat Mar 10 22:04:08 2012
@@ -267,7 +267,6 @@ public class RepositoryTest {
         PropertyIterator properties = node.getProperties();
         while (properties.hasNext()) {
             Property p = properties.nextProperty();
-            System.out.println(p.getName() + ":" + p.toString());
             assertTrue(propertyNames.remove(p.getName()));
             if (p.isMultiple()) {
                 for (Value v : p.getValues()) {