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/06/10 02:41:38 UTC

svn commit: r783166 [1/3] - in /openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/ openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/ openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/ openjpa-kernel/src/ma...

Author: ppoddar
Date: Wed Jun 10 00:41:35 2009
New Revision: 783166

URL: http://svn.apache.org/viewvc?rev=783166&view=rev
Log:
OPENJPA-1013: Aliasing for query nodes, single attribute join support, reorganization of test harness

Added:
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A_.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B_.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C_.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D_.java   (with props)
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestJoinCondition.java   (with props)
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/AliasContext.java   (with props)
Modified:
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/Variable.java
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/AbstractExpressionBuilder.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
    openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Account_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Address_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CompUser_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contact_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contractor_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Course_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CreditCard_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Customer_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Department_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Employee_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Exempt_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FemaleUser_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FrequentFlierPlan_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Item_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/LineItem_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/MaleUser_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Manager_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Movie_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Order_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Person_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Phone_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Photo_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Product_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Semester_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Student_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestMetaModelTypesafeCriteria.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestTypeSafeCondExpression.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestTypesafeCriteria.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TransactionHistory_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Transaction_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/VideoStore_.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetamodel.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/ResultItemImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilder.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaExpressionBuilder.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Expressions.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/FromImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/Joins.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PathImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/PredicateImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/RootImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/SubqueryImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/Members.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/Types.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/util/SourceCode.java

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/Variable.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/Variable.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/Variable.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/Variable.java Wed Jun 10 00:41:35 2009
@@ -33,7 +33,7 @@
  * only called if the variable is bound but otherwise unused in the filter,
  * in which case we must at least make the joins to the variable because the
  * act of binding a variable should at least guarantee that an instance
- * represting the variable could exist (i.e. the binding collection is not
+ * representing the variable could exist (i.e. the binding collection is not
  * empty).
  *
  * @author Abe White

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java Wed Jun 10 00:41:35 2009
@@ -119,8 +119,9 @@
      * Construct a tool to perform the given action.
      */
     public SchemaTool(JDBCConfiguration conf, String action) {
-        if (action != null && !Arrays.asList(ACTIONS).contains(action))
-            throw new IllegalArgumentException("action == " + action);
+        if (action != null && !Arrays.asList(ACTIONS).contains(action)) {
+            Configurations.configureInstance(this, conf, action, action);
+        }
 
         _conf = conf;
         _action = action;

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/AbstractExpressionBuilder.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/AbstractExpressionBuilder.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/AbstractExpressionBuilder.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/AbstractExpressionBuilder.java Wed Jun 10 00:41:35 2009
@@ -170,7 +170,7 @@
         else
             meta = getMetaData(type, false);
         if (meta != null)
-            _accessPath.add(meta);
+            addAccessPath(meta);
 
         Value var;
         if (bind)

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java Wed Jun 10 00:41:35 2009
@@ -169,6 +169,7 @@
     private Boolean _openjpaId = null;
     private Boolean _extent = null;
     private Boolean _embedded = null;
+    private boolean _embeddable = false;
     private Boolean _interface = null;
     private Class<?> _impl = null;
     private List<Class<?>> _interfaces = null;
@@ -761,6 +762,14 @@
     public void setEmbeddedOnly(boolean embed) {
         _embedded = (embed) ? Boolean.TRUE : Boolean.FALSE;
     }
+    
+    public boolean isEmbeddable() {
+        return _embeddable;
+    }
+    
+    public void setEmbeddable() {
+        _embeddable = true;
+    }
 
     /**
      * Whether the type's fields are actively intercepted, either by
@@ -2389,6 +2398,7 @@
         _objectId = meta.getObjectIdType();
         _extent = (meta.getRequiresExtent()) ? Boolean.TRUE : Boolean.FALSE;
         _embedded = (meta.isEmbeddedOnly()) ? Boolean.TRUE : Boolean.FALSE;
+        _embeddable = meta._embeddable;
         _interface = (meta.isManagedInterface()) ? Boolean.TRUE : Boolean.FALSE;
         setIntercepting(meta.isIntercepting());
         _impl = meta.getInterfaceImpl();

Modified: openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java (original)
+++ openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java Wed Jun 10 00:41:35 2009
@@ -806,12 +806,12 @@
         // openjpa.some.subpackage.SomeString, since it might be valid for some
         // specific implementation of OpenJPA
         String[] prefixes = ProductDerivations.getConfigurationPrefixes();
-        for (int i = 0; i < prefixes.length; i++) {
-            if (propName.toLowerCase().startsWith(prefixes[i])
-                && propName.length() > prefixes[i].length() + 1
-                && propName.indexOf('.', prefixes[i].length()) 
-                == prefixes[i].length()
-                && propName.indexOf('.', prefixes[i].length() + 1) == -1)
+        for (String prefix : prefixes) {
+            if (propName.toLowerCase().startsWith(prefix)
+                && propName.length() > prefix.length() + 1
+                && propName.indexOf('.', prefix.length()) == prefix.length()
+                && propName.indexOf('.', prefix.length() + 1) == -1
+                && "openjpa".equals(prefix))
                 return true;
         }
         return false;

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,19 @@
+package org.apache.openjpa.persistence.criteria;
+
+import java.util.List;
+
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+
+@Entity
+public class A {
+    @Id
+    private long id;
+    
+    private String name;
+    
+    @OneToOne(fetch=FetchType.LAZY)
+    private B b;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A_.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A_.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A_.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,15 @@
+/** 
+ *  Generated by OpenJPA MetaModel Generator Tool.
+**/
+
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.metamodel.Attribute;
+
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.A.class)
+public class A_ {
+    public static volatile Attribute<A,B> b;
+    public static volatile Attribute<A,Long> id;
+    public static volatile Attribute<A,String> name;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/A_.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Account_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Account_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Account_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Account_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value = org.apache.openjpa.persistence.criteria.Account.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Account.class)
 public class Account_ {
     public static volatile Attribute<Account,Integer> balance;
     public static volatile Attribute<Account,Long> id;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Address_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Address_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Address_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Address_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Address.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Address.class)
 public class Address_ {
     public static volatile Attribute<Address,String> city;
     public static volatile Attribute<Address,String> country;

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,12 @@
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class B {
+    @Id
+    private long id;
+    
+    private int age;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B_.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B_.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B_.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,14 @@
+/** 
+ *  Generated by OpenJPA MetaModel Generator Tool.
+**/
+
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.metamodel.Attribute;
+
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.B.class)
+public class B_ {
+    public static volatile Attribute<B,Integer> age;
+    public static volatile Attribute<B,Long> id;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/B_.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,31 @@
+package org.apache.openjpa.persistence.criteria;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.OneToMany;
+
+@Entity
+public class C {
+    @Id
+    private long id;
+    
+    private String name;
+    
+    @OneToMany(mappedBy="c")
+    private Set<D> set;
+    
+    @OneToMany(mappedBy="c")
+    private List<D> list;
+    
+    @OneToMany(mappedBy="c")
+    private Collection<D> coll;
+    
+    @ManyToMany
+    private Map<Integer, D> map;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C_.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C_.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C_.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,22 @@
+/** 
+ *  Generated by OpenJPA MetaModel Generator Tool.
+**/
+
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.metamodel.Attribute;
+import javax.persistence.metamodel.Collection;
+import javax.persistence.metamodel.List;
+import javax.persistence.metamodel.Map;
+import javax.persistence.metamodel.Set;
+
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.C.class)
+public class C_ {
+    public static volatile Collection<C,D> coll;
+    public static volatile Attribute<C,Long> id;
+    public static volatile List<C,D> list;
+    public static volatile Map<C,Integer,D> map;
+    public static volatile Attribute<C,String> name;
+    public static volatile Set<C,D> set;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/C_.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CompUser_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CompUser_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CompUser_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CompUser_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,15 +6,15 @@
 
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.List;
+import org.apache.openjpa.persistence.criteria.CompUser.CreditRating;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.CompUser.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.CompUser.class)
 public class CompUser_ {
     public static volatile Attribute<CompUser,Address> address;
     public static volatile Attribute<CompUser,Integer> age;
     public static volatile Attribute<CompUser,String> computerName;
-    public static volatile Attribute<CompUser,
-        CompUser.CreditRating> creditRating;
+    public static volatile Attribute<CompUser,CreditRating> creditRating;
     public static volatile Attribute<CompUser,String> name;
     public static volatile List<CompUser,String> nicknames;
     public static volatile Attribute<CompUser,Integer> userid;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contact_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contact_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contact_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contact_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.List;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Contact.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Contact.class)
 public class Contact_ {
     public static volatile Attribute<Contact,Address> address;
     public static volatile List<Contact,Phone> phones;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contractor_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contractor_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contractor_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Contractor_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -24,7 +5,7 @@
 package org.apache.openjpa.persistence.criteria;
 
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Contractor.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Contractor.class)
 public class Contractor_ extends Person_  {
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Course_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Course_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Course_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Course_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.List;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Course.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Course.class)
 public class Course_ {
     public static volatile Attribute<Course,Long> id;
     public static volatile Attribute<Course,String> name;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CreditCard_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CreditCard_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CreditCard_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CreditCard_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,11 +7,11 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.List;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.CreditCard.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.CreditCard.class)
 public class CreditCard_ {
     public static volatile Attribute<CreditCard,Customer> customer;
     public static volatile Attribute<CreditCard,Long> id;
     public static volatile List<CreditCard,TransactionHistory> 
-        transactionHistory;
+    transactionHistory;
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java Wed Jun 10 00:41:35 2009
@@ -18,21 +18,30 @@
  */
 package org.apache.openjpa.persistence.criteria;
 
+import java.lang.reflect.Method;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.persistence.EntityManager;
+import javax.persistence.Persistence;
 import javax.persistence.PersistenceException;
 import javax.persistence.Query;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.QueryBuilder;
 
+import junit.framework.TestCase;
+
 import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
 import org.apache.openjpa.jdbc.sql.DBDictionary;
 import org.apache.openjpa.lib.jdbc.AbstractJDBCListener;
 import org.apache.openjpa.lib.jdbc.JDBCEvent;
+import org.apache.openjpa.lib.jdbc.JDBCListener;
 import org.apache.openjpa.lib.jdbc.ReportingSQLException;
-import org.apache.openjpa.persistence.test.SQLListenerTestCase;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
+import org.apache.openjpa.persistence.OpenJPAPersistence;
+import org.apache.openjpa.persistence.test.AllowFailure;
 
 
 /**
@@ -40,52 +49,98 @@
  * 
  * Provides facility to compare the target SQL generated by good old JPQL
  * and newly minted Criteria.
- *  
- * Loads a domain model. 
  * 
  */
-public abstract class CriteriaTest extends SQLListenerTestCase {
+public abstract class CriteriaTest extends TestCase {
+    protected static OpenJPAEntityManagerFactorySPI emf;
     QueryBuilder cb;
     EntityManager em;
+    protected List<String> sql = new ArrayList<String>();
+    protected static Class[] CLASSES = {
+    Account.class,
+    Address.class,
+    A.class,
+    B.class,
+    CompUser.class,
+    Contact.class,
+    Contractor.class,
+    Course.class,
+    CreditCard.class,
+    Customer.class,
+    C.class,
+    Department.class,
+    DependentId.class,
+    Dependent.class,
+    D.class,
+    Employee.class,
+    Exempt.class,
+    FemaleUser.class,
+    FrequentFlierPlan.class,
+    Item.class,
+    LineItem.class,
+    Magazine.class,
+    MaleUser.class,
+    Manager.class,
+    Movie.class,
+    Order.class,
+    Person.class,
+    Phone.class,
+    Photo.class,
+    Product.class,
+    Publisher.class,
+    Semester.class,
+    Student.class,
+    TransactionHistory.class,
+    Transaction.class,
+    VideoStore.class};
     
-    public void setUp(Object...props) {
-            super.setUp(
-                CLEAR_TABLES,
-                Account.class, 
-                Address.class, 
-                CompUser.class,
-                Contact.class,
-                Contractor.class, 
-                Course.class, 
-                CreditCard.class,
-                Customer.class, 
-                Department.class, 
-                Employee.class,
-                Exempt.class, 
-                FemaleUser.class,
-                FrequentFlierPlan.class, 
-                Item.class,
-                LineItem.class, 
-                Manager.class, 
-                MaleUser.class,
-                Movie.class, 
-                Order.class, 
-                Person.class,
-                Phone.class, 
-                Photo.class, 
-                Product.class,
-                Semester.class, 
-                Student.class, 
-                Transaction.class,
-                TransactionHistory.class,
-                VideoStore.class);
-            
-        setDictionary();
-        
+    protected Class[] getDomainClasses() {
+        return CLASSES;
+    }
+    
+    public void setUp() {
+        if (emf == null) {
+            createNamedEMF(getDomainClasses());
+            assertNotNull(emf);
+            setDictionary();
+        }
         em = emf.createEntityManager();
         cb = emf.getQueryBuilder();
     }
-    
+    /**
+     * Create an entity manager factory for persistence unit <code>pu</code>.
+     * Put {@link #CLEAR_TABLES} in
+     * this list to tell the test framework to delete all table contents
+     * before running the tests.
+     *
+     * @param props list of persistent types used in testing and/or
+     * configuration values in the form key,value,key,value...
+     */
+    protected void createNamedEMF(Class<?>... types) {
+        Map map = new HashMap();
+        map.put("openjpa.jdbc.SynchronizeMappings",
+                "buildSchema(ForeignKeys=true," 
+              + "SchemaAction='add,deleteTableContents')");
+        map.put("openjpa.DynamicEnhancementAgent", "false");
+        map.put("openjpa.jdbc.JDBCListeners", 
+                new JDBCListener[] { new Listener() });
+        
+            StringBuffer buf = new StringBuffer();
+            for (Class<?> c : types) {
+                if (buf.length() > 0)
+                    buf.append(";");
+                buf.append(c.getName());
+            }
+           
+            map.put("openjpa.MetaDataFactory",
+                "jpa(Types=" + buf.toString() + ")");
+        
+            Map config = new HashMap(System.getProperties());
+            config.putAll(map);
+            emf = (OpenJPAEntityManagerFactorySPI) 
+                Persistence.createEntityManagerFactory("test", config);
+    }
+
     public final void tearDown() {
         // important: do nothing
     }
@@ -97,6 +152,10 @@
         dict.requiresCastForMathFunctions = false;
     }
 
+    /**
+     * Executes the given CriteriaQuery and JPQL string and compare their
+     * respective SQLs for equality.
+     */
     void assertEquivalence(CriteriaQuery c, String jpql, String[] paramNames,
             Object[] params) {
         Query cQ = em.createQuery(c);
@@ -135,13 +194,16 @@
 
     void executeAndAssert(Query cQ, Query jQ) {
         List<String>[] sqls = new ArrayList[2];
-        if (!execute(cQ, jQ, sqls)) {
-            fail("Invalid SQL for Criteria;[" + sqls[1] + "]. \r\n"
-                    + "Expeceted [" + sqls[0] + "]");
+        String jpql = OpenJPAPersistence.cast(jQ).getQueryString();
+        if (!execute(jpql, cQ, jQ, sqls)) {
+            fail(sqlReport("Invalid SQL for Criteria",jpql, sqls[0], sqls[1]));
         }
-        assertEquals(sqls[0].size(), sqls[1].size());
+        assertEquals(sqlReport("Unequal number of SQL ",jpql, sqls[0], sqls[1]) 
+              , sqls[0].size(), sqls[1].size());
         for (int i = 0; i < sqls[0].size(); i++)
-           assertEquals(sqls[0].get(i), sqls[1].get(i));
+            //sqlReport("Wrong SQL at " + i,jpql, sqls[0], sqls[1]),
+           assertEquals(
+                sqls[0].get(i), sqls[1].get(i));
     }
 
     /**
@@ -153,9 +215,20 @@
      *            array.
      * @return true if both queries execute successfully.
      */
-    boolean execute(Query cQ, Query jQ, List<String>[] sqls) {
+    boolean execute(String jpql, Query cQ, Query jQ, List<String>[] sqls) {
         sql.clear();
-        List jList = jQ.getResultList();
+        try {
+            List jList = jQ.getResultList();
+        } catch (PersistenceException e) {
+            e.printStackTrace();
+            sqls[0] = new ArrayList<String>();
+            sqls[0].add(extractSQL(e));
+            fail("JPQL :" + jpql + "\r\nSQL  :" + sqls[0]);
+        } catch (Exception e) {
+            e.printStackTrace();
+            fail("JPQL :" + jpql);
+        }
+        
         sqls[0] = new ArrayList<String>(sql);
 
         sql.clear();
@@ -163,7 +236,7 @@
             List cList = cQ.getResultList();
         } catch (PersistenceException e) {
             e.printStackTrace();
-            sqls[1] = new ArrayList<String>(sql);
+            sqls[1] = new ArrayList<String>();
             sqls[1].add(extractSQL(e));
             return false;
         }
@@ -179,15 +252,65 @@
         return null;
     }
     
-    public class MyListener extends AbstractJDBCListener {
-        public final List<String> sql = new ArrayList<String>();
-
-        @Override
-        public void beforeExecuteStatement(JDBCEvent event) {
-            if (event.getSQL() != null) {
-                sql.add(event.getSQL());
+    private String sqlReport(String header, String jpql, List<String> jSQLs, 
+            List<String> cSQLs) {
+        StringBuffer tmp = new StringBuffer(header).append("\r\n")
+            .append("JPQL:["+jpql+"]").append("\r\n");
+        tmp.append(jSQLs.size() + " target SQL for JPQL").append("\r\n");
+        for (String s : jSQLs)
+            tmp.append(s).append("\r\n");
+        tmp.append(cSQLs.size() + " target SQL for Critera").append("\r\n");
+        for (String s : cSQLs)
+            tmp.append(s).append("\r\n");
+        return tmp.toString();
+    }
+    
+    @Override
+    public void runBare() throws Throwable {
+        try {
+            super.runBare();
+        } catch (Throwable t) {
+            AllowFailure allowFailure = getAllowFailure();
+            if ( allowFailure != null && allowFailure.value()) {
+                System.err.println("*** FAILED (but ignored): " + this);
+                System.err.println("***              Reason : " 
+                    + allowFailure.message());
+                System.err.println("Stacktrace of failure");
+                t.printStackTrace();
+            } else {
+                throw t;
             }
         }
     }
+    
+    /**
+     * Affirms if the test case or the test method is annotated with 
+     * @AllowFailure. Method level annotation has higher precedence than Class
+     * level annotation.
+     */
+    protected AllowFailure getAllowFailure() {
+        try {
+            Method runMethod = getClass().getMethod(getName(), (Class[])null);
+            AllowFailure anno = runMethod.getAnnotation(AllowFailure.class);
+            if (anno != null)
+                return anno;
+        } catch (SecurityException e) {
+            //ignore
+        } catch (NoSuchMethodException e) {
+            //ignore
+        }
+        return getClass().getAnnotation(AllowFailure.class);
+    }
 
+    
+    public class Listener
+    extends AbstractJDBCListener {
+
+    @Override
+    public void beforeExecuteStatement(JDBCEvent event) {
+        if (event.getSQL() != null && sql != null) {
+            sql.add(event.getSQL());
+        }
+    }
+}
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Customer_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Customer_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Customer_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Customer_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,14 +7,16 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.List;
 import javax.persistence.metamodel.Set;
+import org.apache.openjpa.persistence.criteria.Customer.CreditRating;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Customer.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Customer.class)
 public class Customer_ {
     public static volatile Attribute<Customer,Long> accountNum;
     public static volatile List<Customer,Account> accounts;
     public static volatile Attribute<Customer,Address> address;
     public static volatile Attribute<Customer,Integer> balanceOwed;
+    public static volatile Attribute<Customer,CreditRating> creditRating;
     public static volatile Attribute<Customer,Integer> filledOrderCount;
     public static volatile Attribute<Customer,String> firstName;
     public static volatile Attribute<Customer,Long> id;
@@ -41,6 +24,4 @@
     public static volatile Attribute<Customer,String> name;
     public static volatile Set<Customer,Order> orders;
     public static volatile Attribute<Customer,Integer> status;
-    public static volatile Attribute<Customer,Customer.CreditRating> 
-        creditRating;
 }

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,16 @@
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+@Entity
+public class D {
+    @Id
+    private long id;
+    
+    private String name;
+    
+    @ManyToOne
+    private C c;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D_.java?rev=783166&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D_.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D_.java Wed Jun 10 00:41:35 2009
@@ -0,0 +1,15 @@
+/** 
+ *  Generated by OpenJPA MetaModel Generator Tool.
+**/
+
+package org.apache.openjpa.persistence.criteria;
+
+import javax.persistence.metamodel.Attribute;
+
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.D.class)
+public class D_ {
+    public static volatile Attribute<D,C> c;
+    public static volatile Attribute<D,Long> id;
+    public static volatile Attribute<D,String> name;
+}

Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/D_.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Department_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Department_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Department_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Department_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.Set;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Department.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Department.class)
 public class Department_ {
     public static volatile Attribute<Department,Integer> deptNo;
     public static volatile Set<Department,Employee> employees;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Employee_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Employee_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Employee_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Employee_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,14 +6,14 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Employee.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Employee.class)
 public class Employee_ {
     public static volatile Attribute<Employee,Contact> contactInfo;
     public static volatile Attribute<Employee,Department> department;
     public static volatile Attribute<Employee,Integer> empId;
-    public static volatile Attribute<Employee,FrequentFlierPlan>
-        frequentFlierPlan;
+    public static volatile Attribute<Employee,FrequentFlierPlan> 
+    frequentFlierPlan;
     public static volatile Attribute<Employee,Manager> manager;
     public static volatile Attribute<Employee,String> name;
     public static volatile Attribute<Employee,Integer> rating;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Exempt_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Exempt_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Exempt_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Exempt_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import java.util.Date;
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Exempt.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Exempt.class)
 public class Exempt_ extends Employee_  {
     public static volatile Attribute<Exempt,Date> hireDate;
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FemaleUser_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FemaleUser_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FemaleUser_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FemaleUser_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -24,7 +5,7 @@
 package org.apache.openjpa.persistence.criteria;
 
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.FemaleUser.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.FemaleUser.class)
 public class FemaleUser_ extends CompUser_  {
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FrequentFlierPlan_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FrequentFlierPlan_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FrequentFlierPlan_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/FrequentFlierPlan_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.FrequentFlierPlan.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.FrequentFlierPlan.class)
 public class FrequentFlierPlan_ {
     public static volatile Attribute<FrequentFlierPlan,Integer> annualMiles;
     public static volatile Attribute<FrequentFlierPlan,String> id;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Item_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Item_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Item_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Item_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.Map;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Item.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Item.class)
 public class Item_ {
     public static volatile Attribute<Item,Integer> id;
     public static volatile Attribute<Item,String> name;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/LineItem_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/LineItem_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/LineItem_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/LineItem_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.LineItem.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.LineItem.class)
 public class LineItem_ {
     public static volatile Attribute<LineItem,Double> cost;
     public static volatile Attribute<LineItem,Integer> id;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/MaleUser_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/MaleUser_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/MaleUser_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/MaleUser_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -24,7 +5,7 @@
 package org.apache.openjpa.persistence.criteria;
 
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-        value=org.apache.openjpa.persistence.criteria.MaleUser.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.MaleUser.class)
 public class MaleUser_ extends CompUser_  {
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Manager_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Manager_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Manager_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Manager_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import java.math.BigDecimal;
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Manager.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Manager.class)
 public class Manager_ {
     public static volatile Attribute<Manager,Department> department;
     public static volatile Attribute<Manager,Integer> id;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Movie_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Movie_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Movie_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Movie_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Movie.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Movie.class)
 public class Movie_ {
     public static volatile Attribute<Movie,Integer> id;
     public static volatile Attribute<Movie,String> title;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Order_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Order_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Order_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Order_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -24,19 +5,18 @@
 package org.apache.openjpa.persistence.criteria;
 
 import java.sql.Timestamp;
-
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.List;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Order.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Order.class)
 public class Order_ {
     public static volatile Attribute<Order,Integer> count;
     public static volatile Attribute<Order,Customer> customer;
+    public static volatile Attribute<Order,Boolean> delivered;
     public static volatile Attribute<Order,Integer> id;
     public static volatile List<Order,LineItem> lineItems;
+    public static volatile Attribute<Order,Timestamp> orderTs;
     public static volatile Attribute<Order,Integer> quantity;
     public static volatile Attribute<Order,Double> totalCost;
-    public static volatile Attribute<Order,Boolean> delivered;
-    public static volatile Attribute<Order,Timestamp> orderTs;
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Person_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Person_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Person_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Person_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.Set;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Person.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Person.class)
 public class Person_ {
     public static volatile Attribute<Person,Integer> id;
     public static volatile Attribute<Person,String> name;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Phone_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Phone_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Phone_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Phone_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.Collection;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Phone.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Phone.class)
 public class Phone_ {
     public static volatile Collection<Phone,Employee> employees;
     public static volatile Attribute<Phone,Integer> id;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Photo_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Photo_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Photo_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Photo_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Photo.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Photo.class)
 public class Photo_ {
     public static volatile Attribute<Photo,Integer> id;
     public static volatile Attribute<Photo,String> label;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Product_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Product_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Product_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Product_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Product.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Product.class)
 public class Product_ {
     public static volatile Attribute<Product,Integer> pid;
     public static volatile Attribute<Product,String> productType;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Semester_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Semester_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Semester_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Semester_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -25,8 +6,8 @@
 
 import javax.persistence.metamodel.Attribute;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Semester.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Semester.class)
 public class Semester_ {
     public static volatile Attribute<Semester,Integer> id;
     public static volatile Attribute<Semester,String> name;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Student_.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Student_.java?rev=783166&r1=783165&r2=783166&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Student_.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/Student_.java Wed Jun 10 00:41:35 2009
@@ -1,22 +1,3 @@
-/*
- * 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.
- */
-
 /** 
  *  Generated by OpenJPA MetaModel Generator Tool.
 **/
@@ -26,8 +7,8 @@
 import javax.persistence.metamodel.Attribute;
 import javax.persistence.metamodel.Map;
 
-@javax.persistence.metamodel.TypesafeMetamodel(
-    value=org.apache.openjpa.persistence.criteria.Student.class)
+@javax.persistence.metamodel.TypesafeMetamodel
+(value=org.apache.openjpa.persistence.criteria.Student.class)
 public class Student_ {
     public static volatile Map<Student,Course,Semester> enrollment;
     public static volatile Attribute<Student,Integer> id;