From commits-return-4955-apmail-jackrabbit-commits-archive=jackrabbit.apache.org@jackrabbit.apache.org Tue Dec 18 08:36:02 2007 Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 44642 invoked from network); 18 Dec 2007 08:36:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Dec 2007 08:36:02 -0000 Received: (qmail 28180 invoked by uid 500); 18 Dec 2007 08:35:51 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 28098 invoked by uid 500); 18 Dec 2007 08:35:51 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 28089 invoked by uid 99); 18 Dec 2007 08:35:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Dec 2007 00:35:51 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Dec 2007 08:35:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4704D1A9850; Tue, 18 Dec 2007 00:35:41 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r605134 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java Date: Tue, 18 Dec 2007 08:35:40 -0000 To: commits@jackrabbit.apache.org From: mreutegg@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071218083541.4704D1A9850@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mreutegg Date: Tue Dec 18 00:35:40 2007 New Revision: 605134 URL: http://svn.apache.org/viewvc?rev=605134&view=rev Log: JCR-1209: NodeImpl.checkout() calls save() two times Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java?rev=605134&r1=605133&r2=605134&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java Tue Dec 18 00:35:40 2007 @@ -3020,13 +3020,26 @@ // check lock status checkLock(); - Property prop = internalSetProperty(NameConstants.JCR_ISCHECKEDOUT, InternalValue.create(true)); - prop.save(); - prop = internalSetProperty(NameConstants.JCR_PREDECESSORS, + boolean hasPendingChanges = session.hasPendingChanges(); + + Property[] props = new Property[2]; + props[0] = internalSetProperty(NameConstants.JCR_ISCHECKEDOUT, InternalValue.create(true)); + props[1] = internalSetProperty(NameConstants.JCR_PREDECESSORS, new InternalValue[]{ InternalValue.create(new UUID(getBaseVersion().getUUID())) }); - prop.save(); + if (hasPendingChanges) { + for (int i = 0; i < props.length; i++) { + props[i].save(); + } + } else { + try { + session.save(); + } catch (RepositoryException e) { + session.refresh(false); + throw e; + } + } } /**