You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2008/09/23 17:02:41 UTC

svn commit: r698201 - in /jackrabbit/branches/1.4/jackrabbit-core: ./ src/main/java/org/apache/jackrabbit/core/SessionImpl.java src/test/java/org/apache/jackrabbit/core/integration/SessionImplTest.java

Author: jukka
Date: Tue Sep 23 08:02:41 2008
New Revision: 698201

URL: http://svn.apache.org/viewvc?rev=698201&view=rev
Log:
JCR-1731: Session.checkPermission("/", "add_node") throws PathNotFoundException instead of AccessControlException

Fixed in the 1.4 branch.

Merged the test case from trunk.

Added:
    jackrabbit/branches/1.4/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/SessionImplTest.java
      - copied unchanged from r698200, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/SessionImplTest.java
Modified:
    jackrabbit/branches/1.4/jackrabbit-core/   (props changed)
    jackrabbit/branches/1.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java

Propchange: jackrabbit/branches/1.4/jackrabbit-core/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Sep 23 08:02:41 2008
@@ -1 +1 @@
-/jackrabbit/trunk/jackrabbit-core:653417,654078,654514,655917,656240,656655,656664,658583,668147,672125,678788,679389,680135,681031,681287,682409,686688,691181,691550,694164
+/jackrabbit/trunk/jackrabbit-core:653417,654078,654514,655917,656240,656655,656664,658583,668147,672125,678788,679389,680135,681031,681287,682409,686688,691181,691550,694164,698200

Modified: jackrabbit/branches/1.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java?rev=698201&r1=698200&r2=698201&view=diff
==============================================================================
--- jackrabbit/branches/1.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java (original)
+++ jackrabbit/branches/1.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java Tue Sep 23 08:02:41 2008
@@ -707,12 +707,12 @@
          */
         if (set.contains(ADD_NODE_ACTION)) {
             try {
-                parentPath = targetPath.getAncestor(1);
-                parentId = hierMgr.resolveNodePath(parentPath);
-                if (parentId == null) {
+                if (targetPath.denotesRoot()) {
                     // parent does not exist (i.e. / was specified), throw exception
                     throw new AccessControlException(ADD_NODE_ACTION);
                 }
+                parentPath = targetPath.getAncestor(1);
+                parentId = hierMgr.resolveNodePath(parentPath);
                 accessMgr.checkPermission(parentId, AccessManager.WRITE);
             } catch (AccessDeniedException re) {
                 // otherwise the RepositoryException catch clause will