You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2012/01/06 12:19:10 UTC

svn commit: r1228091 - in /jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk: MicroKernelImpl.java model/AbstractNode.java model/NodeDelta.java model/NodeDiffHandler.java model/TraversingNodeDiffHandler.java

Author: stefan
Date: Fri Jan  6 11:19:09 2012
New Revision: 1228091

URL: http://svn.apache.org/viewvc?rev=1228091&view=rev
Log:
flat hierarchy support (WIP):

refactored child node entries collection

Modified:
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDelta.java
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDiffHandler.java
    jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/TraversingNodeDiffHandler.java

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java?rev=1228091&r1=1228090&r2=1228091&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java Fri Jan  6 11:19:09 2012
@@ -254,23 +254,23 @@ public class MicroKernelImpl implements 
                 }
 
                 @Override
-                public void childNodeAdded(String childName, String id) {
-                    addedNodes.put(id, PathUtils.concat(getCurrentPath(), childName));
+                public void childNodeAdded(ChildNodeEntry added) {
+                    addedNodes.put(added.getId(), PathUtils.concat(getCurrentPath(), added.getName()));
                     buff.tag('+').
-                            key(PathUtils.concat(getCurrentPath(), childName)).object();
+                            key(PathUtils.concat(getCurrentPath(), added.getName())).object();
                     try {
-                        toJson(buff, rep.getRevisionStore().getNode(id), Integer.MAX_VALUE, 0, -1, false);
+                        toJson(buff, rep.getRevisionStore().getNode(added.getId()), Integer.MAX_VALUE, 0, -1, false);
                     } catch (Exception e) {
-                        buff.value("ERROR: failed to retrieve node " + id);
+                        buff.value("ERROR: failed to retrieve node " + added.getId());
                     }
                     buff.endObject().newline();
                 }
 
                 @Override
-                public void childNodeDeleted(String childName, String id) {
-                    removedNodes.put(id, PathUtils.concat(getCurrentPath(), childName));
+                public void childNodeDeleted(ChildNodeEntry deleted) {
+                    removedNodes.put(deleted.getId(), PathUtils.concat(getCurrentPath(), deleted.getName()));
                     buff.tag('-');
-                    buff.value(PathUtils.concat(getCurrentPath(), childName));
+                    buff.value(PathUtils.concat(getCurrentPath(), deleted.getName()));
                     buff.newline();
                 }
             };
@@ -318,29 +318,29 @@ public class MicroKernelImpl implements 
                     }
 
                     @Override
-                    public void childNodeAdded(String childName, String id) {
-                        if (addedNodes.containsKey(id)) {
+                    public void childNodeAdded(ChildNodeEntry added) {
+                        if (addedNodes.containsKey(added.getId())) {
                             // moved node, will be processed separately
                             return;
                         }
                         buff.tag('+').
-                                key(PathUtils.concat(getCurrentPath(), childName)).object();
+                                key(PathUtils.concat(getCurrentPath(), added.getName())).object();
                         try {
-                            toJson(buff, rep.getRevisionStore().getNode(id), Integer.MAX_VALUE, 0, -1, false);
+                            toJson(buff, rep.getRevisionStore().getNode(added.getId()), Integer.MAX_VALUE, 0, -1, false);
                         } catch (Exception e) {
-                            buff.value("ERROR: failed to retrieve node " + id);
+                            buff.value("ERROR: failed to retrieve node " + added.getId());
                         }
                         buff.endObject().newline();
                     }
 
                     @Override
-                    public void childNodeDeleted(String childName, String id) {
-                        if (addedNodes.containsKey(id)) {
+                    public void childNodeDeleted(ChildNodeEntry deleted) {
+                        if (addedNodes.containsKey(deleted.getId())) {
                             // moved node, will be processed separately
                             return;
                         }
                         buff.tag('-');
-                        buff.value(PathUtils.concat(getCurrentPath(), childName));
+                        buff.value(PathUtils.concat(getCurrentPath(), deleted.getName()));
                         buff.newline();
                     }
 
@@ -351,9 +351,9 @@ public class MicroKernelImpl implements 
                 for (Map.Entry<String, String> entry : addedNodes.entrySet()) {
                     buff.tag('>').
                             // path/to/deleted/node
-                                    key(removedNodes.get(entry.getKey())).
+                            key(removedNodes.get(entry.getKey())).
                             // path/to/added/node
-                                    value(entry.getValue()).
+                            value(entry.getValue()).
                             newline();
                 }
             }

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java?rev=1228091&r1=1228090&r2=1228091&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/AbstractNode.java Fri Jan  6 11:19:09 2012
@@ -160,17 +160,15 @@ public abstract class AbstractNode imple
         if (other instanceof AbstractNode) {
             ChildNodeEntries otherEntries = ((AbstractNode) other).childEntries;
             for (Iterator<ChildNodeEntry> it = childEntries.getAdded(otherEntries); it.hasNext(); ) {
-                ChildNodeEntry added = it.next();
-                handler.childNodeAdded(added.getName(), added.getId());
+                handler.childNodeAdded(it.next());
             }
             for (Iterator<ChildNodeEntry> it = childEntries.getRemoved(otherEntries); it.hasNext(); ) {
-                ChildNodeEntry removed = it.next();
-                handler.childNodeDeleted(removed.getName(), removed.getId());
+                handler.childNodeDeleted(it.next());
             }
             for (Iterator<ChildNodeEntry> it = childEntries.getModified(otherEntries); it.hasNext(); ) {
                 ChildNodeEntry old = it.next();
                 ChildNodeEntry modified = otherEntries.get(old.getName());
-                handler.childNodeChanged(old.getName(), old.getId(), modified.getId());
+                handler.childNodeChanged(old, modified.getId());
             }
             return;
         }
@@ -190,18 +188,18 @@ public abstract class AbstractNode imple
             set.addAll(oldEntries.keySet());
             set.removeAll(newEntries.keySet());
             for (String name : set) {
-                handler.childNodeDeleted(name, oldEntries.get(name).getId());
+                handler.childNodeDeleted(oldEntries.get(name));
             }
             set.clear();
             set.addAll(newEntries.keySet());
             set.removeAll(oldEntries.keySet());
             for (String name : set) {
-                handler.childNodeAdded(name, newEntries.get(name).getId());
+                handler.childNodeAdded(newEntries.get(name));
             }
             for (ChildNodeEntry cneOld : oldEntries.values()) {
                 ChildNodeEntry cneNew = newEntries.get(cneOld.getName());
                 if (cneNew != null && !cneNew.getId().equals(cneOld.getId())) {
-                    handler.childNodeChanged(cneOld.getName(), cneOld.getId(), cneNew.getId());
+                    handler.childNodeChanged(cneOld, cneNew.getId());
                 }
             }
         }

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDelta.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDelta.java?rev=1228091&r1=1228090&r2=1228091&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDelta.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDelta.java Fri Jan  6 11:19:09 2012
@@ -182,17 +182,16 @@ public class NodeDelta implements NodeDi
         removedProperties.put(propName, value);
     }
 
-    public void childNodeAdded(String childName, String id) {
-        addedChildNodes.put(childName, id);
+    public void childNodeAdded(ChildNodeEntry added) {
+        addedChildNodes.put(added.getName(), added.getId());
     }
 
-    public void childNodeDeleted(String childName, String id) {
-        removedChildNodes.put(childName, id);
+    public void childNodeDeleted(ChildNodeEntry deleted) {
+        removedChildNodes.put(deleted.getName(), deleted.getId());
     }
 
-    public void childNodeChanged(String childName,
-                                 String oldId, String newId) {
-        changedChildNodes.put(childName, newId);
+    public void childNodeChanged(ChildNodeEntry changed, String newId) {
+        changedChildNodes.put(changed.getName(), newId);
     }
 
     //--------------------------------------------------------< inner classes >

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDiffHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDiffHandler.java?rev=1228091&r1=1228090&r2=1228091&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDiffHandler.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/NodeDiffHandler.java Fri Jan  6 11:19:09 2012
@@ -27,9 +27,9 @@ public interface NodeDiffHandler {
 
     void propDeleted(String propName, String value);
 
-    void childNodeAdded(String childName, String id);
+    void childNodeAdded(ChildNodeEntry added);
 
-    void childNodeDeleted(String childName, String id);
+    void childNodeDeleted(ChildNodeEntry deleted);
 
-    void childNodeChanged(String childName, String oldId, String newId);
+    void childNodeChanged(ChildNodeEntry changed, String newId);
 }

Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/TraversingNodeDiffHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/TraversingNodeDiffHandler.java?rev=1228091&r1=1228090&r2=1228091&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/TraversingNodeDiffHandler.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/TraversingNodeDiffHandler.java Fri Jan  6 11:19:09 2012
@@ -65,16 +65,16 @@ public abstract class TraversingNodeDiff
     public void propDeleted(String propName, String value) {
     }
 
-    public void childNodeAdded(String childName, String id) {
+    public void childNodeAdded(ChildNodeEntry added) {
     }
 
-    public void childNodeDeleted(String childName, String id) {
+    public void childNodeDeleted(ChildNodeEntry deleted) {
     }
 
-    public void childNodeChanged(String childName, String oldId, String newId) {
-        paths.push(PathUtils.concat(getCurrentPath(), childName));
+    public void childNodeChanged(ChildNodeEntry changed, String newId) {
+        paths.push(PathUtils.concat(getCurrentPath(), changed.getName()));
         try {
-            store.getNode(oldId).diff(store.getNode(newId), this);
+            store.getNode(changed.getId()).diff(store.getNode(newId), this);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }