Return-Path: X-Original-To: apmail-openjpa-commits-archive@www.apache.org Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 73718E526 for ; Mon, 17 Dec 2012 20:09:08 +0000 (UTC) Received: (qmail 59292 invoked by uid 500); 17 Dec 2012 20:09:08 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 59248 invoked by uid 500); 17 Dec 2012 20:09:08 -0000 Mailing-List: contact commits-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list commits@openjpa.apache.org Received: (qmail 59235 invoked by uid 99); 17 Dec 2012 20:09:07 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Dec 2012 20:09:07 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Dec 2012 20:09:05 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 81A262388A36; Mon, 17 Dec 2012 20:08:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1423116 - /openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java Date: Mon, 17 Dec 2012 20:08:44 -0000 To: commits@openjpa.apache.org From: hthomann@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121217200844.81A262388A36@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: hthomann Date: Mon Dec 17 20:08:43 2012 New Revision: 1423116 URL: http://svn.apache.org/viewvc?rev=1423116&view=rev Log: OPENJPA-2304: Protect the expressin list for concurrent access - back ported to 2.1.x Pinaki's commit in trunk. Modified: openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java Modified: openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java URL: http://svn.apache.org/viewvc/openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java?rev=1423116&r1=1423115&r2=1423116&view=diff ============================================================================== --- openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java (original) +++ openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java Mon Dec 17 20:08:43 2012 @@ -19,6 +19,7 @@ package org.apache.openjpa.persistence.criteria; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -48,10 +49,10 @@ abstract class PredicateImpl extends Exp public static final Predicate TRUE = new Expressions.Equal(ONE,ONE); public static final Predicate FALSE = new Expressions.NotEqual(ONE,ONE); - protected final List _exps = new ArrayList(); + protected final List _exps = Collections.synchronizedList(new ArrayList()); private final BooleanOperator _op; private boolean _negated = false; - + /** * An AND predicate with no arguments. */