Author: mduerig
Date: Sat May  5 15:22:41 2012
New Revision: 1334429

URL: http://svn.apache.org/viewvc?rev=1334429&view=rev
Log:
OAK-61: split NodeImpl into NodeImpl and NodeDelegate
addNode() should throw ItemExistsException if item exists already

Modified:
    
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java?rev=1334429&r1=1334428&r2=1334429&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
 Sat May  5 15:22:41 2012
@@ -25,6 +25,7 @@ import org.apache.jackrabbit.oak.util.Fu
 import org.apache.jackrabbit.oak.util.Iterators;
 
 import javax.jcr.InvalidItemStateException;
+import javax.jcr.ItemExistsException;
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
@@ -48,8 +49,12 @@ public class NodeDelegate extends ItemDe
         }
 
         String name = PathUtils.getName(relPath);
-        parentState.addChild(name);
-        return new NodeDelegate(sessionDelegate, parentState.getChild(name));
+        if (parentState.hasChild(name)) {
+            throw new ItemExistsException(relPath);
+        }
+
+        Tree added = parentState.addChild(name);
+        return new NodeDelegate(sessionDelegate, added);
     }
 
     Iterator<NodeDelegate> getChildren() throws RepositoryException {


Reply via email to