Return-Path: Delivered-To: apmail-incubator-cayenne-commits-archive@locus.apache.org Received: (qmail 78383 invoked from network); 8 Oct 2006 00:29:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 Oct 2006 00:29:31 -0000 Received: (qmail 79160 invoked by uid 500); 8 Oct 2006 00:29:31 -0000 Delivered-To: apmail-incubator-cayenne-commits-archive@incubator.apache.org Received: (qmail 79147 invoked by uid 500); 8 Oct 2006 00:29:31 -0000 Mailing-List: contact cayenne-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cayenne-dev@incubator.apache.org Delivered-To: mailing list cayenne-commits@incubator.apache.org Received: (qmail 79137 invoked by uid 99); 8 Oct 2006 00:29:31 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 07 Oct 2006 17:29:31 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=5.0 tests=ALL_TRUSTED,NO_REAL_NAME Received: from [140.211.166.113] ([140.211.166.113:57294] helo=eris.apache.org) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id 1F/14-11753-A6648254 for ; Sat, 07 Oct 2006 17:29:30 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 132391A981A; Sat, 7 Oct 2006 17:29:28 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r454050 - in /incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi: CjpaNativeQuery.java CjpaQuery.java Date: Sun, 08 Oct 2006 00:29:27 -0000 To: cayenne-commits@incubator.apache.org From: aadamchik@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061008002928.132391A981A@eris.apache.org> X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: aadamchik Date: Sat Oct 7 17:29:27 2006 New Revision: 454050 URL: http://svn.apache.org/viewvc?view=rev&rev=454050 Log: switching jpa queries from DataContext to ObjectContext Modified: incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaNativeQuery.java incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaQuery.java Modified: incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaNativeQuery.java URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaNativeQuery.java?view=diff&rev=454050&r1=454049&r2=454050 ============================================================================== --- incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaNativeQuery.java (original) +++ incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaNativeQuery.java Sat Oct 7 17:29:27 2006 @@ -21,7 +21,7 @@ import javax.persistence.Query; -import org.apache.cayenne.access.DataContext; +import org.apache.cayenne.ObjectContext; import org.apache.cayenne.map.DataMap; import org.apache.cayenne.query.SQLTemplate; @@ -29,14 +29,14 @@ private static final String POSITIONAL_PARAM_PREFIX = "positional_"; - public CjpaNativeQuery(DataContext ctxt, String sqlString, Class resultClass) { - super(ctxt); + public CjpaNativeQuery(ObjectContext context, String sqlString, Class resultClass) { + super(context); setQuery(new SQLTemplate(resultClass, processSQLString(sqlString))); } - public CjpaNativeQuery(DataContext ctxt, String sqlString, String dataMapName) { - super(ctxt); - DataMap map = ctxt.getEntityResolver().getDataMap(dataMapName); + public CjpaNativeQuery(ObjectContext context, String sqlString, String dataMapName) { + super(context); + DataMap map = context.getEntityResolver().getDataMap(dataMapName); setQuery(new SQLTemplate(map, processSQLString(sqlString))); } Modified: incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaQuery.java URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaQuery.java?view=diff&rev=454050&r1=454049&r2=454050 ============================================================================== --- incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaQuery.java (original) +++ incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaQuery.java Sat Oct 7 17:29:27 2006 @@ -16,8 +16,6 @@ * specific language governing permissions and limitations * under the License. ****************************************************************/ - - package org.apache.cayenne.jpa.cspi; import java.util.Calendar; @@ -32,22 +30,23 @@ import javax.persistence.TemporalType; import javax.persistence.TransactionRequiredException; -import org.apache.cayenne.access.DataContext; +import org.apache.cayenne.ObjectContext; +import org.apache.cayenne.QueryResponse; import org.apache.cayenne.query.ParameterizedQuery; import org.apache.cayenne.query.ProcedureQuery; import org.apache.cayenne.query.SQLTemplate; import org.apache.cayenne.query.SelectQuery; /** - * A jpa Query that wraps a Cayenne Query. + * A JPA Query that wraps a Cayenne Query. */ public class CjpaQuery implements Query { protected Map parameters = new HashMap(); protected org.apache.cayenne.query.Query cayenneQuery; - protected DataContext context; + protected ObjectContext context; - public CjpaQuery(DataContext ctxt) { + public CjpaQuery(ObjectContext ctxt) { this.context = ctxt; } @@ -57,11 +56,10 @@ * @param ctxt * @param name */ - public CjpaQuery(DataContext context, String name) { + public CjpaQuery(ObjectContext context, String name) { this(context); - org.apache.cayenne.query.Query q = context.getEntityResolver().lookupQuery( - name); + org.apache.cayenne.query.Query q = context.getEntityResolver().lookupQuery(name); if (q == null) { throw new IllegalArgumentException("Non-existing query: " + name); @@ -108,7 +106,14 @@ */ public int executeUpdate() { // TODO: check transaction - int[] res = context.performNonSelectingQuery(queryWithParameters()); + + QueryResponse response = context.performGenericQuery(queryWithParameters()); + int[] res = response.firstUpdateCount(); + + if (res == null) { + return -1; + } + int num = 0; for (int i = 0; i < res.length; i++) { num = num + res[i];