Return-Path: X-Original-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 69B7D10BB2 for ; Mon, 25 Nov 2013 17:16:07 +0000 (UTC) Received: (qmail 16297 invoked by uid 500); 25 Nov 2013 17:16:07 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 15595 invoked by uid 500); 25 Nov 2013 17:16:01 -0000 Mailing-List: contact oak-dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-dev@jackrabbit.apache.org Received: (qmail 15573 invoked by uid 99); 25 Nov 2013 17:15:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Nov 2013 17:15:59 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy includes SPF record at spf.trusted-forwarder.org) Received: from [64.18.1.77] (HELO exprod6og126.obsmtp.com) (64.18.1.77) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Nov 2013 17:15:52 +0000 Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob126.postini.com ([64.18.5.12]) with SMTP ID DSNKUpOFs0PeOcptVZajIwAHCh7QZu/XX8Kj@postini.com; Mon, 25 Nov 2013 09:15:32 PST Received: from inner-relay-2.corp.adobe.com ([153.32.1.52]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id rAPHBht2003187 for ; Mon, 25 Nov 2013 09:11:43 -0800 (PST) Received: from nahub02.corp.adobe.com (nahub02.corp.adobe.com [10.8.189.98]) by inner-relay-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id rAPHFU3N005271 for ; Mon, 25 Nov 2013 09:15:30 -0800 (PST) Received: from eurhub01.eur.adobe.com (10.128.4.30) by nahub02.corp.adobe.com (10.8.189.98) with Microsoft SMTP Server (TLS) id 8.3.327.1; Mon, 25 Nov 2013 09:15:29 -0800 Received: from [10.132.1.176] (10.132.1.176) by eurhub01.eur.adobe.com (10.128.4.111) with Microsoft SMTP Server id 8.3.327.1; Mon, 25 Nov 2013 17:15:29 +0000 Message-ID: <529385B2.8050005@apache.org> Date: Mon, 25 Nov 2013 18:15:30 +0100 From: =?UTF-8?B?TWljaGFlbCBEw7xyaWc=?= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Subject: Re: svn commit: r1545340 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/ oak-jcr/ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/ oak-jcr/src/main/java/org/apache/jackrabbit/oak/... References: <20131125164306.6845C23888E7@eris.apache.org> In-Reply-To: <20131125164306.6845C23888E7@eris.apache.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On 25.11.13 5:43 , angela@apache.org 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