You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Justin Edelson (JIRA)" <ji...@apache.org> on 2010/07/16 22:01:53 UTC

[jira] Created: (JCR-2680) Cannot move a first-level node

Cannot move a first-level node
------------------------------

                 Key: JCR-2680
                 URL: https://issues.apache.org/jira/browse/JCR-2680
             Project: Jackrabbit Content Repository
          Issue Type: Bug
    Affects Versions: 2.1.0, 2.0.0
            Reporter: Justin Edelson


Given /nodeA,
session.move("/nodeA", "/nodeB")

throws this exception:

javax.jcr.PathNotFoundException: no ancestor at degree 1: {}
	at org.apache.jackrabbit.spi.commons.name.PathFactoryImpl$PathImpl.getAncestor(PathFactoryImpl.java:481)
	at org.apache.jackrabbit.core.retention.RetentionRegistryImpl.hasEffectiveRetention(RetentionRegistryImpl.java:291)
	at org.apache.jackrabbit.core.ItemValidator.hasRetention(ItemValidator.java:426)
	at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:328)
	at org.apache.jackrabbit.core.ItemValidator.checkRemove(ItemValidator.java:281)
	at org.apache.jackrabbit.core.SessionImpl.move(SessionImpl.java:1075)
	at org.apache.jackrabbit.core.MoveAtRootTest.testMoveAtRoot(MoveAtRootTest.java:54)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2680) Cannot move a first-level node

Posted by "Justin Edelson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Edelson updated JCR-2680:
--------------------------------

    Attachment: MoveAtRootTest.java

this is a unit test showing the problem.


> Cannot move a first-level node
> ------------------------------
>
>                 Key: JCR-2680
>                 URL: https://issues.apache.org/jira/browse/JCR-2680
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Justin Edelson
>         Attachments: MoveAtRootTest.java
>
>
> Given /nodeA,
> session.move("/nodeA", "/nodeB")
> throws this exception:
> javax.jcr.PathNotFoundException: no ancestor at degree 1: {}
> 	at org.apache.jackrabbit.spi.commons.name.PathFactoryImpl$PathImpl.getAncestor(PathFactoryImpl.java:481)
> 	at org.apache.jackrabbit.core.retention.RetentionRegistryImpl.hasEffectiveRetention(RetentionRegistryImpl.java:291)
> 	at org.apache.jackrabbit.core.ItemValidator.hasRetention(ItemValidator.java:426)
> 	at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:328)
> 	at org.apache.jackrabbit.core.ItemValidator.checkRemove(ItemValidator.java:281)
> 	at org.apache.jackrabbit.core.SessionImpl.move(SessionImpl.java:1075)
> 	at org.apache.jackrabbit.core.MoveAtRootTest.testMoveAtRoot(MoveAtRootTest.java:54)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (JCR-2680) Cannot move a first-level node

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Guggisberg resolved JCR-2680.
------------------------------------

    Fix Version/s: 2.2.0
       Resolution: Fixed

applied patch and added test case in svn rev. 965545

thanks for reporting this issue and providing a test case and patch! :)

> Cannot move a first-level node
> ------------------------------
>
>                 Key: JCR-2680
>                 URL: https://issues.apache.org/jira/browse/JCR-2680
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Justin Edelson
>            Assignee: Stefan Guggisberg
>             Fix For: 2.2.0
>
>         Attachments: JCR-2680.patch, MoveAtRootTest.java
>
>
> Given /nodeA,
> session.move("/nodeA", "/nodeB")
> throws this exception:
> javax.jcr.PathNotFoundException: no ancestor at degree 1: {}
> 	at org.apache.jackrabbit.spi.commons.name.PathFactoryImpl$PathImpl.getAncestor(PathFactoryImpl.java:481)
> 	at org.apache.jackrabbit.core.retention.RetentionRegistryImpl.hasEffectiveRetention(RetentionRegistryImpl.java:291)
> 	at org.apache.jackrabbit.core.ItemValidator.hasRetention(ItemValidator.java:426)
> 	at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:328)
> 	at org.apache.jackrabbit.core.ItemValidator.checkRemove(ItemValidator.java:281)
> 	at org.apache.jackrabbit.core.SessionImpl.move(SessionImpl.java:1075)
> 	at org.apache.jackrabbit.core.MoveAtRootTest.testMoveAtRoot(MoveAtRootTest.java:54)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2680) Cannot move a first-level node

Posted by "Justin Edelson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Edelson updated JCR-2680:
--------------------------------

    Attachment: JCR-2680.patch

here's a patch, which I think should work

> Cannot move a first-level node
> ------------------------------
>
>                 Key: JCR-2680
>                 URL: https://issues.apache.org/jira/browse/JCR-2680
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Justin Edelson
>         Attachments: JCR-2680.patch, MoveAtRootTest.java
>
>
> Given /nodeA,
> session.move("/nodeA", "/nodeB")
> throws this exception:
> javax.jcr.PathNotFoundException: no ancestor at degree 1: {}
> 	at org.apache.jackrabbit.spi.commons.name.PathFactoryImpl$PathImpl.getAncestor(PathFactoryImpl.java:481)
> 	at org.apache.jackrabbit.core.retention.RetentionRegistryImpl.hasEffectiveRetention(RetentionRegistryImpl.java:291)
> 	at org.apache.jackrabbit.core.ItemValidator.hasRetention(ItemValidator.java:426)
> 	at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:328)
> 	at org.apache.jackrabbit.core.ItemValidator.checkRemove(ItemValidator.java:281)
> 	at org.apache.jackrabbit.core.SessionImpl.move(SessionImpl.java:1075)
> 	at org.apache.jackrabbit.core.MoveAtRootTest.testMoveAtRoot(MoveAtRootTest.java:54)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (JCR-2680) Cannot move a first-level node

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Guggisberg reassigned JCR-2680:
--------------------------------------

    Assignee: Stefan Guggisberg

> Cannot move a first-level node
> ------------------------------
>
>                 Key: JCR-2680
>                 URL: https://issues.apache.org/jira/browse/JCR-2680
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Justin Edelson
>            Assignee: Stefan Guggisberg
>         Attachments: JCR-2680.patch, MoveAtRootTest.java
>
>
> Given /nodeA,
> session.move("/nodeA", "/nodeB")
> throws this exception:
> javax.jcr.PathNotFoundException: no ancestor at degree 1: {}
> 	at org.apache.jackrabbit.spi.commons.name.PathFactoryImpl$PathImpl.getAncestor(PathFactoryImpl.java:481)
> 	at org.apache.jackrabbit.core.retention.RetentionRegistryImpl.hasEffectiveRetention(RetentionRegistryImpl.java:291)
> 	at org.apache.jackrabbit.core.ItemValidator.hasRetention(ItemValidator.java:426)
> 	at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:328)
> 	at org.apache.jackrabbit.core.ItemValidator.checkRemove(ItemValidator.java:281)
> 	at org.apache.jackrabbit.core.SessionImpl.move(SessionImpl.java:1075)
> 	at org.apache.jackrabbit.core.MoveAtRootTest.testMoveAtRoot(MoveAtRootTest.java:54)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.