You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/03/05 20:17:58 UTC
svn commit: r633985 - in
/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished: ./
src/main/java/org/apache/cayenne/ src/main/java/org/apache/cayenne/access/
src/main/java/org/apache/cayenne/query/ src/test/java/org/apache/cayenne/
src/test/java/o...
Author: aadamchik
Date: Wed Mar 5 11:17:57 2008
New Revision: 633985
URL: http://svn.apache.org/viewvc?rev=633985&view=rev
Log:
generics select
(extending ObjectContext)
Added:
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/query/Select.java
Modified:
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/.project
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/pom.xml
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/BaseContext.java
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/ObjectContext.java
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/MockObjectContext.java
cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/enhancer/MockObjectContext.java
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/.project
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/.project?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/.project (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/.project Wed Mar 5 11:17:57 2008
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>cayenne-jdk1.5-unpublished</name>
+ <name>cayenne-jdk1.5-generics-unpublished</name>
<comment>Cayenne Java 1.5 Core</comment>
<projects>
</projects>
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/pom.xml?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/pom.xml (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/pom.xml Wed Mar 5 11:17:57 2008
@@ -31,7 +31,7 @@
</parent>
<groupId>org.apache.cayenne.unpublished</groupId>
- <artifactId>cayenne-jdk1.5-unpublished</artifactId>
+ <artifactId>cayenne-jdk1.5-generics-unpublished</artifactId>
<name>Cayenne Java 1.5 Unpublished</name>
<description>Cayenne Java 1.5 Unpublished</description>
<packaging>jar</packaging>
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/BaseContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/BaseContext.java?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/BaseContext.java (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/BaseContext.java Wed Mar 5 11:17:57 2008
@@ -26,6 +26,7 @@
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.query.ObjectIdQuery;
import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.Select;
import org.apache.cayenne.reflect.Property;
import org.apache.cayenne.reflect.ClassDescriptor;
import org.apache.cayenne.reflect.PropertyVisitor;
@@ -75,6 +76,13 @@
@SuppressWarnings("unchecked")
public abstract List performQuery(Query query);
+
+ /**
+ * @since 3.0
+ */
+ public <T> List<T> performSelect(Select<T> query) {
+ return performQuery(query);
+ }
/**
* @deprecated since 3.0 this method is replaced by
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/ObjectContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/ObjectContext.java?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/ObjectContext.java (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/ObjectContext.java Wed Mar 5 11:17:57 2008
@@ -26,6 +26,7 @@
import org.apache.cayenne.graph.GraphManager;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.Select;
/**
* A Cayenne object facade to a persistent store. Instances of ObjectContext are used in
@@ -158,6 +159,13 @@
*/
@SuppressWarnings("unchecked")
List performQuery(Query query);
+
+ /**
+ * Performs a select query with parameterized result.
+ *
+ * @since 3.0
+ */
+ <T> List<T> performSelect(Select<T> query);
/**
* Executes any kind of query providing the result in a form of QueryResponse.
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java Wed Mar 5 11:17:57 2008
@@ -65,6 +65,7 @@
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.QueryMetadata;
import org.apache.cayenne.query.RefreshQuery;
+import org.apache.cayenne.query.Select;
import org.apache.cayenne.reflect.AttributeProperty;
import org.apache.cayenne.reflect.ClassDescriptor;
import org.apache.cayenne.reflect.PropertyVisitor;
Added: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/query/Select.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/query/Select.java?rev=633985&view=auto
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/query/Select.java (added)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/main/java/org/apache/cayenne/query/Select.java Wed Mar 5 11:17:57 2008
@@ -0,0 +1,28 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.query;
+
+/**
+ * A selecting query with a parameterized return type.
+ *
+ * @author andrus
+ */
+public interface Select<T> extends Query {
+
+}
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/MockObjectContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/MockObjectContext.java?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/MockObjectContext.java (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/MockObjectContext.java Wed Mar 5 11:17:57 2008
@@ -25,6 +25,7 @@
import org.apache.cayenne.graph.GraphManager;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.Select;
/**
* A noop ObjectContext used for unit testing.
@@ -82,6 +83,13 @@
public List performQuery(Query query) {
return null;
+ }
+
+ /**
+ * @since 3.0
+ */
+ public <T> List<T> performSelect(Select<T> query) {
+ return performQuery(query);
}
public int[] performNonSelectingQuery(Query query) {
Modified: cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/enhancer/MockObjectContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/enhancer/MockObjectContext.java?rev=633985&r1=633984&r2=633985&view=diff
==============================================================================
--- cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/enhancer/MockObjectContext.java (original)
+++ cayenne/main/branches/cayenne-jdk1.5-generics-unpublished/src/test/java/org/apache/cayenne/enhancer/MockObjectContext.java Wed Mar 5 11:17:57 2008
@@ -30,6 +30,7 @@
import org.apache.cayenne.graph.GraphManager;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.Select;
public class MockObjectContext implements ObjectContext {
@@ -95,6 +96,13 @@
}
public List performQuery(Query query) {
+ return null;
+ }
+
+ /**
+ * @since 3.0
+ */
+ public <T> List<T> performSelect(Select<T> query) {
return null;
}