Return-Path: Delivered-To: apmail-jackrabbit-users-archive@locus.apache.org Received: (qmail 98583 invoked from network); 11 Dec 2008 13:04:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Dec 2008 13:04:04 -0000 Received: (qmail 1668 invoked by uid 500); 11 Dec 2008 13:04:16 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 1648 invoked by uid 500); 11 Dec 2008 13:04:15 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 1637 invoked by uid 99); 11 Dec 2008 13:04:15 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Dec 2008 05:04:15 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [74.125.46.30] (HELO yw-out-2324.google.com) (74.125.46.30) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Dec 2008 13:04:00 +0000 Received: by yw-out-2324.google.com with SMTP id 9so450314ywe.1 for ; Thu, 11 Dec 2008 05:03:39 -0800 (PST) Received: by 10.150.219.18 with SMTP id r18mr4229437ybg.89.1229000618646; Thu, 11 Dec 2008 05:03:38 -0800 (PST) Received: by 10.151.99.12 with HTTP; Thu, 11 Dec 2008 05:03:38 -0800 (PST) Message-ID: <6c59d89a0812110503v5815a2b4s3f4710709cd2eef5@mail.gmail.com> Date: Thu, 11 Dec 2008 14:03:38 +0100 From: "Torsten Curdt" Sender: tcurdt@vafer.org To: users@jackrabbit.apache.org Subject: Re: versioning test In-Reply-To: <4940CF2F.1030503@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <6c59d89a0812090441i57ecee95x9f04a4ccea20f26b@mail.gmail.com> <493FFB88.5040207@gmx.de> <6c59d89a0812100958o33daf8fev7b24ae3b732148e4@mail.gmail.com> <4940CF2F.1030503@gmx.de> X-Google-Sender-Auth: c93212f11567d10d X-Virus-Checked: Checked by ClamAV on apache.org For one I did not use the proper path on addNode :-p But the versioning part was a little more tricky to get right. Still find the checkin/checkout/save semantics quite confusing. But this seems to work as expected: private Node write(Session session, String path, String content) throws RepositoryException { Node root = session.getRootNode(); Node node; boolean isNew; if (root.hasNode(path)) { node = root.getNode(path); node.checkout(); isNew = false; } else { node = root.addNode(path, "nt:resource"); node.setProperty("jcr:mimeType", "text/plain"); node.setProperty("jcr:encoding", "utf-8"); node.addMixin("mix:versionable"); isNew = true; } node.setProperty("jcr:data", content); Calendar lastModified = Calendar.getInstance(); lastModified.setTimeInMillis(System.currentTimeMillis()); node.setProperty("jcr:lastModified", lastModified); session.save(); if (!isNew) { node.checkin(); } return node; } .. public void testVersioning() throws Exception { Node node; node = write(session, "test", "test1"); assertEquals(1, versions(node)); assertEquals("test1", read(session, "test")); node = write(session, "test", "test2"); assertEquals(2, versions(node)); assertEquals("test2", read(session, "test")); node = write(session, "test", "test3"); assertEquals(3, versions(node)); assertEquals("test3", read(session, "test")); node = write(session, "test", "test4"); assertEquals(4, versions(node)); assertEquals("test4", read(session, "test")); } Would have hoped for such an example in the docs. cheers -- Torsten