db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bra...@apache.org
Subject svn commit: r332590 - in /incubator/jdo/trunk/tck20: ./ test/java/org/apache/jdo/tck/query/ test/java/org/apache/jdo/tck/query/api/ test/java/org/apache/jdo/tck/util/ test/jdo/applicationidentity/org/apache/jdo/tck/pc/company/ test/jdo/datastoreidentit...
Date Fri, 11 Nov 2005 16:23:42 GMT
Author: brazil
Date: Fri Nov 11 08:23:30 2005
New Revision: 332590

URL: http://svn.apache.org/viewcvs?rev=332590&view=rev
Log:
JDO-163: Bug fixes reported by Andy on jdo-dev. Improved equals comparison for object arrays,
floating points, and big devimals.

Added:
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/util/ConversionHelper.java
Modified:
    incubator/jdo/trunk/tck20/maven.xml
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/QueryTest.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
    incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/SingleStringQuery.java
    incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
    incubator/jdo/trunk/tck20/test/jdo/datastoreidentity/org/apache/jdo/tck/pc/company/Person.jdoquery

Modified: incubator/jdo/trunk/tck20/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/maven.xml?rev=332590&r1=332589&r2=332590&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/maven.xml (original)
+++ incubator/jdo/trunk/tck20/maven.xml Fri Nov 11 08:23:30 2005
@@ -399,6 +399,7 @@
                 <uptodate targetfile="${jdo.tck.enhanced.dir}/${jdo.tck.identitytype}.jar">
                     <srcfiles dir="${basedir}/test/jdo/${jdo.tck.identitytype}"
                           includes="org/apache/jdo/tck/**/*.jdo, 
+                                    org/apache/jdo/tck/**/*.jdoquery,
                                     org/apache/jdo/tck/**/jdoTest.properties"/>
                     <srcfiles dir="${basedir}/test/java"
                           includes="${jdo.tck.pcclasses.sources},
@@ -413,7 +414,7 @@
         <mkdir dir="${jdo.tck.enhanced.dir}/${jdo.tck.identitytype}" />
         <copy todir="${jdo.tck.enhanced.dir}/${jdo.tck.identitytype}">
             <fileset dir="${basedir}/test/jdo/${jdo.tck.identitytype}"
-                     includes="**/*.jdo, **/jdoTest.properties"/>
+                     includes="**/*.jdo, **/*.jdoquery, **/jdoTest.properties"/>
         </copy>
         <!-- compile pc and pa classes -->
         <javac srcdir="${basedir}/test/java"
@@ -506,7 +507,7 @@
         <delete file="${jdo.tck.enhanced.dir}/${jdo.tck.identitytype}.jar"/>
         <jar jarfile="${jdo.tck.enhanced.dir}/${jdo.tck.identitytype}.jar">
             <fileset dir="${jdo.tck.enhanced.dir}/${jdo.tck.identitytype}" 
-                 includes="**/*.class, **/*.jdo, **/*.orm, **/*.xml, **/jdoTest.properties"/>
+                 includes="**/*.class, **/*.jdo, **/*.jdoquery **/*.orm, **/*.xml, **/jdoTest.properties"/>
         </jar>
     </goal>
 

Modified: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/QueryTest.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/QueryTest.java?rev=332590&r1=332589&r2=332590&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/QueryTest.java (original)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/QueryTest.java Fri Nov 11
08:23:30 2005
@@ -24,6 +24,7 @@
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import javax.jdo.Extent;
 import javax.jdo.JDOFatalInternalException;
@@ -32,6 +33,8 @@
 import javax.jdo.Query;
 import javax.jdo.Transaction;
 
+import junit.framework.AssertionFailedError;
+
 import org.apache.jdo.tck.JDO_Test;
 import org.apache.jdo.tck.pc.company.Company;
 import org.apache.jdo.tck.pc.company.CompanyModelReader;
@@ -42,6 +45,8 @@
 import org.apache.jdo.tck.pc.mylib.MylibReader;
 import org.apache.jdo.tck.pc.mylib.PCPoint;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
+import org.apache.jdo.tck.util.ConversionHelper;
+import org.apache.jdo.tck.util.EqualityHelper;
 
 public abstract class QueryTest extends JDO_Test {
 
@@ -189,7 +194,8 @@
         CompanyModelReader reader = new CompanyModelReader(COMPANY_TESTDATA);
         Object[] result = new Object[beanNames.length];
         for (int i = 0; i < beanNames.length; i++) {
-            result[i] = reader.getBean(beanNames[i]);
+            result[i] = beanNames[i] == null ? 
+                    null : reader.getBean(beanNames[i]);
         }
         return result;
     }
@@ -345,6 +351,10 @@
         }
         if (!compareOrderedResults((Collection)result, expected)) {
             String lf = System.getProperty("line.separator");
+            result = 
+                ConversionHelper.convertObjectArrayElements(result);
+            expected = 
+                ConversionHelper.convertsElementsOfTypeObjectArray(expected);
             fail(assertion,
                  "Wrong query result: " + lf +
                  "query returns: " + result + lf +
@@ -368,11 +378,7 @@
                 }
                 Object firstObject = firstIterator.next();
                 Object secondObject = secondIterator.next();
-                if (firstObject == null) {
-                    if (secondObject != null) {
-                        return false;
-                    }
-                } else if (!firstObject.equals(secondObject)) {
+                if (!equals(firstObject, secondObject)) {
                     return false;
                 }
             }
@@ -397,11 +403,14 @@
                  result.getClass().getName());
         }
 
-        if (((Collection)result).size() != expected.size() ||
-            !((Collection)result).containsAll(expected)) {
+        if (!equalsCollection((Collection)result, expected)) {
+            result = 
+                ConversionHelper.convertObjectArrayElements(result);
+            expected = 
+                ConversionHelper.convertsElementsOfTypeObjectArray(expected);
             fail(assertion, "Wrong query result" + 
-                 "\nexpected: " + new ArrayList(expected) +
-                 "\ngot:      " + new ArrayList((Collection)result));
+                "\nexpected: " + expected +
+                "\ngot:      " + result);
         }
     }
 
@@ -411,12 +420,194 @@
                                      Object expected) {
         if ((result != null && expected == null) ||
             (result == null && expected != null) || 
-            (result != null && expected != null && !result.equals(expected)))
{
-            String lf = System.getProperty("line.separator");
-            fail(assertion, "Wrong query result: " + lf +
-                    "query returns: " + result + lf +
-                    "expected result: " + expected);
+            (result != null && expected != null)) {
+            if (!equals(result, expected)) {
+                String lf = System.getProperty("line.separator");
+                result = ConversionHelper.
+                convertObjectArrayElements(result);
+                expected = ConversionHelper.
+                convertObjectArrayElements(expected);
+                fail(assertion, "Wrong query result: " + lf +
+                        "query returns: " + result + lf +
+                        "expected result: " + expected);
+            }
+        }
+    }
+
+    /**
+     * Returns <code>true</code> 
+     * if <code>o1</code> and <code>o2</code> equal.
+     * This method is capable to compare object arrays, 
+     * collections of object arrays, maps of object arrays.
+     * This method implements a narrowing in case of floating point values.
+     * In case of big decimals it calls 
+     * {@link BigDecimal#compareTo(java.lang.Object)}.
+     * It allows <code>o1</code> and/or <code>o2</code>
+     * to be <code>null</code>. 
+     * @param o1 the first object
+     * @param o2 the second object
+     * @return <code>true</code> if <code>o1</code> and <code>o2</code>
equal.
+     */
+    private boolean equals(Object o1, Object o2) {
+        boolean result;
+        if (o1 == o2) {
+            result = true;
+        } if ((o1 instanceof Object[]) && (o2 instanceof Object[])) {
+            result = equalsObjectArray((Object[])o1, (Object[])o2);
+        } else if ((o1 instanceof Collection) && (o2 instanceof Collection)) {
+            result = equalsCollection((Collection)o1, (Collection)o2);
+        } else if ((o1 instanceof Map) && (o2 instanceof Map)) {
+            result = equalsMap((Map)o1, (Map)o2);
+        }else if ((o1 instanceof Float) && (o2 instanceof Float)) {
+            result = closeEnough(((Float)o1).floatValue(), 
+                    ((Float)o2).floatValue());
+        } else if ((o1 instanceof Double) && (o2 instanceof Double)) {
+            result = closeEnough(((Double)o1).floatValue(), 
+                    ((Double)o2).floatValue());
+        } else if ((o1 instanceof BigDecimal) && (o2 instanceof BigDecimal)) {
+            result = ((BigDecimal)o1).compareTo(o2) == 0;
+        } else if (o1 != null) {
+            result = o1.equals(o2);
+        } else {
+            // Due to the first if and the last if we have:
+            // o1 == null && o2 != null
+            result = false;
         }
+        return result;
+    }
+    
+    /**
+     * Returns <code>true</code> 
+     * if <code>o1</code> and <code>o2</code> equal.
+     * This method iterates over both object arrays and calls
+     * {@link QueryTest#equals(Object, Object)} passing
+     * corresponding instances.
+     * This method does not allow <code>o1</code> and <code>o2</code>
+     * to be <code>null</code> both. 
+     * @param o1 the first object array
+     * @param o2 the second object array
+     * @return <code>true</code> if <code>o1</code> and <code>o2</code>
equal.
+     */
+    private boolean equalsObjectArray(Object[] o1, Object[] o2) {
+        boolean result = true;
+        if (o1.length != o2.length) {
+            result = false;
+        } else {
+            for (int i = 0; i < o1.length; i++ ) {
+                if (!equals(o1[i], o2[i])) {
+                    result = false;
+                    break;
+                }
+            }
+        } 
+        return result;
+    }
+
+    /**
+     * Returns <code>true</code> 
+     * if <code>o1</code> and <code>o2</code> equal.
+     * This method iterates over the first collection and 
+     * checks if each instance is contained in the second collection
+     * by calling {@link QueryTest#contains(Collection, Object)}.
+     * This method does not allow <code>o1</code> and <code>o2</code>
+     * to be <code>null</code> both. 
+     * @param o1 the first collection
+     * @param o2 the second collection
+     * @return <code>true</code> if <code>o1</code> and <code>o2</code>
equal.
+     */
+    private boolean equalsCollection(Collection o1, Collection o2) {
+        boolean result = true;
+        if (o1.size() != o2.size()) {
+            result = false;
+        } else {
+            for (Iterator i = o1.iterator(); i.hasNext(); ) {
+                Object oo1 = i.next();
+                if (!contains(o2, oo1)) {
+                    result = false;
+                    break;
+                }
+            }
+        } 
+        return result;
+    }
+    
+    /**
+     * Returns <code>true</code> 
+     * if <code>o1</code> and <code>o2</code> equal.
+     * This method checks if the key sets and the value sets of both
+     * maps equal calling 
+     * {@link QueryTest#equalsCollection(Collection, Collection).
+     * This method does not allow <code>o1</code> and <code>o2</code>
+     * to be <code>null</code> both. 
+     * @param o1 the first map
+     * @param o2 the second map
+     * @return <code>true</code> if <code>o1</code> and <code>o2</code>
equal.
+     */
+    private boolean equalsMap(Map o1, Map o2) {
+        boolean result = true;
+        if (o1.size() != o2.size()) {
+            result = false;
+        } else if (!equalsCollection(o1.keySet(), o2.keySet()) ||
+                   !equalsCollection(o1.values(), o2.values())) {
+            result = false;
+        } 
+        return result;
+    }
+    
+    /**
+     * Returns <code>true</code> if <code>o</code> is contained
+     * in the given collection.
+     * This method iterates the given collection and calls
+     * {@link QueryTest#equals(Object, Object)} for each instance.
+     * @param col the collection
+     * @param o the object
+     * @return <code>true</code> if <code>o</code> is contained
+     * in the given collection.
+     */
+    private boolean contains(Collection col, Object o) {
+        for (Iterator i = col.iterator(); i.hasNext(); ) {
+            if (equals(o, i.next())) {
+                return true;
+            }
+        }
+        return false;
+    }
+    
+    /** Returns <code>true</code> if the specified float values are close
+     * enough to be considered to be equal for a deep equals
+     * comparison. Floating point values are not exact, so comparing them
+     * using <code>==</code> might not return useful results. This method
+     * checks that both double values are within some percent of each
+     * other. 
+     * @param d1 one double to be tested for close enough 
+     * @param d2 the other double to be tested for close enough 
+     * @return <code>true</code> if the specified values are close enough.
+     */
+    public boolean closeEnough(double d1, double d2) {
+        if (d1 == d2)
+            return true;
+
+        double diff = Math.abs(d1 - d2);
+        return diff < Math.abs((d1 + d2) * EqualityHelper.DOUBLE_EPSILON);
+    }
+
+    /**
+     * Returns <code>true</code> if the specified float values are close
+     * enough to be considered to be equal for a deep equals
+     * comparison. Floating point values are not exact, so comparing them 
+     * using <code>==</code> might not return useful results. This method
+     * checks that both float values are within some percent of each
+     * other. 
+     * @param f1 one float to be tested for close enough 
+     * @param f2 the other float to be tested for close enough 
+     * @return <code>true</code> if the specified values are close enough.
+     */
+    public boolean closeEnough(float f1, float f2) {
+        if (f1 == f2)
+            return true;
+
+        float diff = Math.abs(f1 - f2);
+        return diff < Math.abs((f1 + f2) * EqualityHelper.FLOAT_EPSILON);
     }
 
     // Debugging helper methods

Modified: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java?rev=332590&r1=332589&r2=332590&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
(original)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
Fri Nov 11 08:23:30 2005
@@ -101,11 +101,11 @@
     }
     
     /** */
-    public void testPackageJDOQuery() {
+    public void testClassJDOQuery() {
         int index = 4;
         Object[] expectedResultValues = 
             getCompanyModelInstances(expectedResult[index]);
-        executeNamedQuery(Person.class, "packageJDOQuery", 
+        executeNamedQuery(Person.class, "classJDOQuery", 
                 false, expectedResultValues);
     }
 

Modified: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/SingleStringQuery.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/SingleStringQuery.java?rev=332590&r1=332589&r2=332590&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/SingleStringQuery.java
(original)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/api/SingleStringQuery.java
Fri Nov 11 08:23:30 2005
@@ -58,19 +58,18 @@
         "      firstname == 'emp1First' " +
         "VARIABLES Project project " +
         "PARAMETERS BigDecimal limit " +
-        "IMPORTS IMPORT org.apache.jdo.tck.query.result.classes.FullName; " +
-        "        IMPORT org.apache.jdo.tck.pc.company.Person; " +
-        "        IMPORT org.apache.jdo.tck.pc.company.Project; " +
-        "        IMPORT java.math.BigDecimal; " +
-        "ORDER BY personid ASCENDING" +
+        "IMPORTS import org.apache.jdo.tck.query.result.classes.FullName; " +
+        "        import org.apache.jdo.tck.pc.company.Person; " +
+        "        import org.apache.jdo.tck.pc.company.Project; " +
+        "        import java.math.BigDecimal; " +
         "GROUP BY firstname, lastname " +
-        "RANGE 0 TO 5";
+        "ORDER BY personid ASCENDING " +
+        "RANGE 0,5";
 
     /** The expected results of valid queries. */
     private static Object[][] expectedResult = {
         {new FullName("emp1First", "emp1Last")},
-        //Note: These are no bean names!
-        {"emp1First", "emp2First", "emp5First"} 
+        new String[]{"emp1", "emp2", "emp5"} 
     };
             
     /** Parameters of valid queries. */
@@ -95,8 +94,7 @@
                 true, true, parameters[index], expectedResult[index]);
         
         index = 1;
-        String singleStringQuery = 
-            "SELECT firstName FROM org.apache.jdo.tck.pc.company.FullTimeEmployee";
+        String singleStringQuery = "SELECT FROM FullTimeEmployee";
         query.setUnique(false);
         query.setResult(null);
         query.setResultClass(null);
@@ -107,9 +105,9 @@
         query.declareImports(null);
         query.setGrouping(null);
         query.setOrdering(null);
-        query.setRange(0, 0);
-        execute(ASSERTION_FAILED, query, singleStringQuery, 
-                false, false, parameters[index], expectedResult[index]);
+        query.setRange(null);
+        execute(ASSERTION_FAILED, query, singleStringQuery, false, false, null, 
+                getCompanyModelInstances((String[])expectedResult[index]));
     }
     
     /**

Added: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/util/ConversionHelper.java
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/util/ConversionHelper.java?rev=332590&view=auto
==============================================================================
--- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/util/ConversionHelper.java (added)
+++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/util/ConversionHelper.java Fri
Nov 11 08:23:30 2005
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ * 
+ * Licensed 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.jdo.tck.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.TimeZone;
+
+import javax.jdo.JDOFatalException;
+
+/**
+ *  Provides consersion functionality.
+ */
+public class ConversionHelper {
+
+    /**
+     * Converts the given <code>value</code> to a {@link java.util.Date}.
+     * @param pattern the pattern
+     * @param timezone the timezone
+     * @param locale the locale
+     * @param value the value
+     * @return the date
+     * @throws JDOFatalException if the conversion fails
+     */
+    public static Date toUtilDate(String pattern, 
+            String timezone, Locale locale, String value) {
+        SimpleDateFormat formatter = new SimpleDateFormat(pattern, locale);
+        formatter.setTimeZone(TimeZone.getTimeZone(timezone));
+        try {
+            return formatter.parse(value);
+        } catch (ParseException e) {
+            throw new JDOFatalException("", e);
+        }
+    }
+
+    /**
+     * Converts the given array into a {@link Map}. 
+     * The first dimension represents the map entries,
+     * the second dimension holds the keys and values, e.g.
+     * { {"key1", "value1"}, {"key2", {"value2"} }.
+     * @param array the array
+     * @return the map
+     */
+    public static Map arrayToMap(Object[][] array) {
+        Map map = new HashMap();
+        for (int i = 0; i < array.length; i++) {
+            map.put(array[i][0], array[i][1]);
+        }
+        return map;
+    }
+    
+    /**
+     * Returns a collection containing all elements 
+     * in the given <code>collection</code>.
+     * Recursively converts all elements of type <code>Object[]</code>
+     * in the given <code>collection</code> to collections 
+     * in the returned collection.
+     * @param collection the collection
+     * @return the converted collection
+     */
+    public static Collection convertsElementsOfTypeObjectArray(Collection collection) {
+        Collection result = new ArrayList();
+        for (Iterator i = collection.iterator(); i.hasNext(); ) {
+            Object current = convertObjectArrayElements(i.next());
+            result.add(current);
+        }
+        return result;
+    }
+
+    /**
+     * Returns a map containing all entries 
+     * in the given <code>map</code>.
+     * Recursively converts all entries having keys and/or values
+     * of type <code>Object[]</code> in the given <code>map</code>
to collections 
+     * in the returned map.
+     * @param map the map
+     * @return the converted map
+     */
+    public static Map convertsElementsOfTypeObjectArray(Map map) {
+        Map result = new HashMap();
+        for (Iterator i = map.entrySet().iterator(); i.hasNext(); ) {
+            Map.Entry entry = (Map.Entry) i.next();
+            Object key = convertObjectArrayElements(entry.getKey());
+            Object value = convertObjectArrayElements(entry.getValue());
+            result.put(key, value);
+        }
+        return result;
+    }
+
+    /**
+     * Recursively converts all elements of type <code>Object[]</code>
+     * in the given <code>array</code> to collections.
+     * Finally, converts the given <code>array</code> to a collection
+     * and return it.
+     * @param array the array
+     * @return the collection
+     */
+    public static Object convertObjectArrayElements(Object object) {
+        Object result;
+        if (object instanceof Object[]) {
+            result = Arrays.asList(
+                    convertObjectArrayElements((Object[])object));
+        } else if (object instanceof Collection) {
+            result = convertsElementsOfTypeObjectArray((Collection)object);
+        } else if (object instanceof Map) {
+            result = convertsElementsOfTypeObjectArray((Map)object);
+        } else {
+            result = object;
+        }
+        return result;
+    }
+    
+    /**
+     * Recursively converts all elements of type <code>Object[]</code>
+     * in the given <code>array</code> and retuns that array.
+     * @param array the array
+     * @return the converted array
+     */
+    public static Object[] convertObjectArrayElements(Object[] array) {
+        for (int i = 0; i < array.length; i++ ) {
+            array[i] = convertObjectArrayElements(array[i]);
+        }
+        return array;
+    }
+
+    /**
+     * Converts the given <code>array</code> to a string array.
+     * @param array the object array
+     * @return the string array
+     */
+    public static String[] toStringArray(Object[] array) {
+        String[] result = new String[array.length];
+        System.arraycopy(array, 0, result, 0, result.length);
+        return result;
+    }
+
+}

Modified: incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/company/Person.jdoquery?rev=332590&r1=332589&r2=332590&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
(original)
+++ incubator/jdo/trunk/tck20/test/jdo/applicationidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
Fri Nov 11 08:23:30 2005
@@ -7,7 +7,7 @@
     <package name="org.apache.jdo.tck.pc.company">
 
         <class name="Person">
-            <query name="packageJDOQuery">
+            <query name="classJDOQuery">
                 SELECT FROM org.apache.jdo.tck.pc.company.Person
                 WHERE personid > 3
             </query>

Modified: incubator/jdo/trunk/tck20/test/jdo/datastoreidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/jdo/datastoreidentity/org/apache/jdo/tck/pc/company/Person.jdoquery?rev=332590&r1=332589&r2=332590&view=diff
==============================================================================
--- incubator/jdo/trunk/tck20/test/jdo/datastoreidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
(original)
+++ incubator/jdo/trunk/tck20/test/jdo/datastoreidentity/org/apache/jdo/tck/pc/company/Person.jdoquery
Fri Nov 11 08:23:30 2005
@@ -7,7 +7,7 @@
     <package name="org.apache.jdo.tck.pc.company">
 
         <class name="Person">
-            <query name="packageJDOQuery">
+            <query name="classJDOQuery">
                 SELECT FROM org.apache.jdo.tck.pc.company.Person
                 WHERE personid > 3
             </query>



Mime
View raw message