On 25.11.13 5:43 , [email protected] wrote:
Author: angela
Date: Mon Nov 25 16:43:05 2013
New Revision: 1545340

[...]

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/SessionMoveTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/SessionMoveTest.java?rev=1545340&r1=1545339&r2=1545340&view=diff

[...]

+    @Test
+    public void testMoveAndRemoveProperty() throws Exception {
          // TODO
      }

      @Test
-    public void testMoveAndAddSubTree() throws Exception {
+    public void testMoveAndAddReplacementAtSource() throws Exception {
          // TODO
      }


Just occurred to me that a while back I wrote down an exhaustive list of examples (in JSOP) for interactions of moves, deletes and adds:

1.   >/a:/b >/c:/d     =  >/c:/d >/a:b
2.   >/a:/b >/a/b:/c      illegal
3.   >/a:/b >/a:/c        illegal
4.   >/a/b:/c >/a:/d   =  >/a:/d >/d/b:/c
4.   >/a/b:/c >/a:/c/d
4'.  -/a/b -/a         =  -/a
4'.  >/a/b:/c -/a
5.   >/a:/b >/c:/d     =  >/c:/d >/a:b
6.   >/a:/b >/c:/a/d      illegal
7.   >/a:/b >/c:/a
8.   >/a/d:/b >/c:/a      illegal
9.   >/a:/b >/c:/d     =  >/c:/d >/a:b
10.  >/a:/b >/b/c:/d   =  >/a/c:/d >/a:/b
10'. +/b:{} >/b/c:/d      illegal
11.  >/a:/b >/b:/c     =  >/a:/c
12.  >/a:/b/c >/b:/d   =  >/b:/d >/a:/d/c
12'. >/a:/b/c -/b      =  -/b -/a = -/a -/b
13:  >/a:/b >/c:/d     =  >/c:/d >/a:b
14.  >/a:/b >/c:/b/d   =  >/c:/a/d >/a:/b
14.  >/a/b:/b >/a:/b/d
14'. +/b:{} >/c:/b/c
14'. +/b:{} >/c:/b/c/d    illegal
15.  >/a:/b >/c:/b        illegal
16.  >/a:/b/d >/c:/b      illegal

Maybe these are helpful for writing test cases and making sure we don't miss anything.

The examples are taken from the Javadoc [1] of the change log consolidation algorithm [2] I wrote almost 2 years ago. It seems to me MoveTracker is going into the same direction. However as it only tracks move operations I don't think we will be able to have it cope with all cases.

Michael

[1] http://markmail.org/message/3c22jqy6gzzkyxx2
[2] http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/state/ChangeLog.java?view=markup

Reply via email to