You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/12/15 17:16:49 UTC

svn commit: r890859 - in /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel: QueryImpl.java StoreQuery.java

Author: ppoddar
Date: Tue Dec 15 16:16:48 2009
New Revision: 890859

URL: http://svn.apache.org/viewvc?rev=890859&view=rev
Log:
OPENJPA-1050: Restore existing method signature but deprecate them.

Modified:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StoreQuery.java

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java?rev=890859&r1=890858&r2=890859&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java Tue Dec 15 16:16:48 2009
@@ -31,6 +31,7 @@
 import java.util.Map;
 import java.util.concurrent.locks.ReentrantLock;
 
+import org.apache.commons.collections.map.LinkedMap;
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.openjpa.conf.OpenJPAConfiguration;
@@ -809,7 +810,7 @@
 
                 assertParameters(_storeQuery, ex, params);
                 if (_log.isTraceEnabled())
-                    logExecution(operation, ex.getParameterTypes(_storeQuery),
+                    logExecution(operation, ex.getOrderedParameterTypes(_storeQuery),
                         params);
 
                 if (operation == OP_SELECT)
@@ -1544,14 +1545,26 @@
         }
     }
 
-    public OrderedMap<Object,Class<?>> getParameterTypes() {
+    public OrderedMap<Object,Class<?>> getOrderedParameterTypes() {
         lock();
         try {
-            return compileForExecutor().getParameterTypes(_storeQuery);
+            return compileForExecutor().getOrderedParameterTypes(_storeQuery);
         } finally {
             unlock();
         }
     }
+    
+    public LinkedMap getParameterTypes() {
+        lock();
+        try {
+            LinkedMap wrap = new LinkedMap();
+            wrap.putAll(compileForExecutor().getOrderedParameterTypes(_storeQuery));
+            return wrap;
+        } finally {
+            unlock();
+        }
+    }
+
 
     public Map getUpdates() {
         lock();
@@ -1704,7 +1717,7 @@
         if (!q.requiresParameterDeclarations() || !isParsedQuery())
             return;
 
-        OrderedMap<Object,Class<?>> paramTypes = ex.getParameterTypes(q);
+        OrderedMap<Object,Class<?>> paramTypes = ex.getOrderedParameterTypes(q);
         int typeCount = paramTypes.size();
         if (typeCount > params.length)
             throw new UserException(_loc.get("unbound-params",
@@ -1723,7 +1736,7 @@
         if (!q.requiresParameterDeclarations())
             return;
 
-        OrderedMap<Object,Class<?>> paramTypes = ex.getParameterTypes(q);
+        OrderedMap<Object,Class<?>> paramTypes = ex.getOrderedParameterTypes(q);
         for (Object actual : params.keySet()) {
             if (!paramTypes.containsKey(actual))
             throw new UserException(_loc.get("unbound-params",
@@ -1986,7 +1999,11 @@
             return _executors[0].hasGrouping(q);
         }
 
-        public OrderedMap<Object,Class<?>> getParameterTypes(StoreQuery q) {
+        public OrderedMap<Object,Class<?>> getOrderedParameterTypes(StoreQuery q) {
+            return _executors[0].getOrderedParameterTypes(q);
+        }
+        
+        public LinkedMap getParameterTypes(StoreQuery q) {
             return _executors[0].getParameterTypes(q);
         }
         

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StoreQuery.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StoreQuery.java?rev=890859&r1=890858&r2=890859&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StoreQuery.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StoreQuery.java Tue Dec 15 16:16:48 2009
@@ -45,7 +45,9 @@
     extends QueryOperations, Serializable {
 
     // linkedmap doesn't allow a size of 0, so use 1
-    public static final OrderedMap<Object, Class<?>> EMPTY_PARAMS = new OrderedMap<Object, Class<?>>();
+    // This is deprecated
+    public static final LinkedMap EMPTY_PARAMS = new LinkedMap(1);
+    public static final OrderedMap<Object, Class<?>> EMPTY_ORDERED_PARAMS = new OrderedMap<Object, Class<?>>();
     public static final ClassMetaData[] EMPTY_METAS = new ClassMetaData[0];
     public static final String[] EMPTY_STRINGS = new String[0];
     public static final Object[] EMPTY_OBJECTS = new Object[0];
@@ -312,7 +314,17 @@
          * {@link Map#entrySet}'s {@link Iterator} must return values in the
          * order in which they were declared or used.
          */
-        public OrderedMap<Object, Class<?>> getParameterTypes(StoreQuery q);
+        public OrderedMap<Object, Class<?>> getOrderedParameterTypes(StoreQuery q);
+        
+        /**
+         * Return a map of parameter names to types. The returned
+         * {@link Map#entrySet}'s {@link Iterator} must return values in the
+         * order in which they were declared or used.<br>
+         * 
+         * <B>Warning</B>: Deprecated. Use {@linkplain #getOrderedParameterTypes(StoreQuery)} instead.
+         */
+        @Deprecated
+        public LinkedMap getParameterTypes(StoreQuery q);
         
         /**
          * Return an array from the given user parameter values.