Author: aadamchik
Date: Tue Jul 25 20:19:37 2006
New Revision: 425592

URL: http://svn.apache.org/viewvc?rev=425592&view=rev
Log:
updating JPA code to match the latest spec. [still unfinished]

Added:
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAssociationOverride.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaIdClass.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitDefaults.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitMetadata.java
Modified:
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/ClassAnnotationProcessorFactory.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/MemberAnnotationProcessorFactory.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAbstractEntity.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntity.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntityMap.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaManagedClass.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/cayenne/orm-coder.xml
    
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/schemas/orm_1_0.xsd
    
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/MappingAssertion.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/XMLMappingAssertion.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/entity/MockEntityMap1.java
    
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-full.xml
    
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-invalid1.xml
    
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers.xml

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/ClassAnnotationProcessorFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/ClassAnnotationProcessorFactory.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/ClassAnnotationProcessorFactory.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/ClassAnnotationProcessorFactory.java
 Tue Jul 25 20:19:37 2006
@@ -50,6 +50,7 @@
 import org.apache.cayenne.jpa.map.JpaEntityListener;
 import org.apache.cayenne.jpa.map.JpaEntityListeners;
 import org.apache.cayenne.jpa.map.JpaEntityMap;
+import org.apache.cayenne.jpa.map.JpaIdClass;
 import org.apache.cayenne.jpa.map.JpaInheritance;
 import org.apache.cayenne.jpa.map.JpaMappedSuperclass;
 import org.apache.cayenne.jpa.map.JpaNamedNativeQuery;
@@ -271,35 +272,6 @@
         private EntityListenerAnnotationLoader listenerLoader;
 
         @Override
-        void onEntityMap(
-                JpaEntityMap entityMap,
-                AnnotatedElement element,
-                AnnotationProcessorStack context) {
-
-            EntityListeners annotation = 
element.getAnnotation(EntityListeners.class);
-
-            if (annotation.value().length > 0) {
-                if (listenerLoader == null) {
-                    listenerLoader = new EntityListenerAnnotationLoader();
-                }
-
-                JpaEntityListeners listenerHolder = 
entityMap.getDefaultEntityListeners();
-                if (listenerHolder == null) {
-                    listenerHolder = new JpaEntityListeners();
-                    entityMap.setDefaultEntityListeners(listenerHolder);
-                }
-
-                for (int i = 0; i < annotation.value().length; i++) {
-                    JpaEntityListener listener = listenerLoader
-                            .getEntityListener(annotation.value()[i]);
-                    if (listener != null) {
-                        listenerHolder.getEntityListeners().add(listener);
-                    }
-                }
-            }
-        }
-
-        @Override
         void onEntity(
                 JpaEntity entity,
                 AnnotatedElement element,
@@ -404,7 +376,9 @@
                 AnnotationProcessorStack context) {
 
             IdClass annotation = element.getAnnotation(IdClass.class);
-            entity.setIdClassName(annotation.value().getName());
+            JpaIdClass idClass = new JpaIdClass();
+            idClass.setClassName(annotation.value().getName());
+            entity.setIdClass(idClass);
         }
 
         @Override
@@ -413,7 +387,9 @@
                 AnnotatedElement element,
                 AnnotationProcessorStack context) {
             IdClass annotation = element.getAnnotation(IdClass.class);
-            superclass.setIdClassName(annotation.value().getName());
+            JpaIdClass idClass = new JpaIdClass();
+            idClass.setClassName(annotation.value().getName());
+            superclass.setIdClass(idClass);
         }
     }
 

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/MemberAnnotationProcessorFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/MemberAnnotationProcessorFactory.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/MemberAnnotationProcessorFactory.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/conf/MemberAnnotationProcessorFactory.java
 Tue Jul 25 20:19:37 2006
@@ -48,6 +48,7 @@
 import org.apache.cayenne.jpa.map.JpaEmbeddable;
 import org.apache.cayenne.jpa.map.JpaEmbeddableAttribute;
 import org.apache.cayenne.jpa.map.JpaEmbeddedId;
+import org.apache.cayenne.jpa.map.JpaEntity;
 import org.apache.cayenne.jpa.map.JpaGeneratedValue;
 import org.apache.cayenne.jpa.map.JpaId;
 import org.apache.cayenne.jpa.map.JpaJoinColumn;
@@ -93,8 +94,8 @@
             JpaEmbeddedId id = new JpaEmbeddedId();
 
             Object parent = context.peek();
-            if (parent instanceof JpaAbstractEntity) {
-                ((JpaAbstractEntity) parent).setEmbeddedId(id);
+            if (parent instanceof JpaEntity) {
+                ((JpaEntity) parent).setEmbeddedId(id);
             }
             else {
                 context.recordConflict(element, AnnotationProcessorFactory
@@ -121,8 +122,8 @@
             JpaId id = new JpaId();
 
             Object parent = context.peek();
-            if (parent instanceof JpaAbstractEntity) {
-                ((JpaAbstractEntity) parent).getIds().add(id);
+            if (parent instanceof JpaEntity) {
+                ((JpaEntity) parent).getIds().add(id);
             }
             else {
                 context.recordConflict(element, AnnotationProcessorFactory

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAbstractEntity.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAbstractEntity.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAbstractEntity.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAbstractEntity.java
 Tue Jul 25 20:19:37 2006
@@ -17,7 +17,6 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.jpa.map;
 
 import java.util.ArrayList;
@@ -27,7 +26,7 @@
 
 public abstract class JpaAbstractEntity extends JpaManagedClass {
 
-    protected String idClassName;
+    protected JpaIdClass idClass;
     protected boolean excludeDefaultListeners;
     protected boolean excludeSuperclassListeners;
     protected JpaEntityListeners entityListeners;
@@ -38,25 +37,8 @@
     protected JpaLifecycleCallback preUpdate;
     protected JpaLifecycleCallback postUpdate;
     protected JpaLifecycleCallback postLoad;
-    protected JpaEmbeddedId embeddedId;
-    protected Collection<JpaId> ids;
-    protected Collection<JpaAttribute> attributes;
-
-    public JpaId idForName(String idName) {
-        if (idName == null) {
-            throw new IllegalArgumentException("Null id name");
-        }
-
-        if (ids != null) {
-            for (JpaId id : ids) {
-                if (idName.equals(id.getName())) {
-                    return id;
-                }
-            }
-        }
 
-        return null;
-    }
+    protected Collection<JpaAttribute> attributes;
 
     /**
      * Returns a JpaAttribute for a given property name
@@ -78,15 +60,6 @@
     }
 
     @TreeNodeChild
-    public JpaEmbeddedId getEmbeddedId() {
-        return embeddedId;
-    }
-
-    public void setEmbeddedId(JpaEmbeddedId embeddedId) {
-        this.embeddedId = embeddedId;
-    }
-
-    @TreeNodeChild
     public JpaEntityListeners getEntityListeners() {
         return entityListeners;
     }
@@ -111,12 +84,12 @@
         this.excludeSuperclassListeners = excludeSuperclassListeners;
     }
 
-    public String getIdClassName() {
-        return idClassName;
+    public JpaIdClass getIdClass() {
+        return idClass;
     }
 
-    public void setIdClassName(String idClassName) {
-        this.idClassName = idClassName;
+    public void setIdClass(JpaIdClass idClass) {
+        this.idClass = idClass;
     }
 
     public JpaLifecycleCallback getPostLoad() {
@@ -173,15 +146,6 @@
 
     public void setPreUpdate(JpaLifecycleCallback preUpdate) {
         this.preUpdate = preUpdate;
-    }
-
-    @TreeNodeChild(type = JpaId.class)
-    public Collection<JpaId> getIds() {
-        if (ids == null) {
-            ids = new ArrayList<JpaId>();
-        }
-
-        return ids;
     }
 
     @TreeNodeChild(type = JpaAttribute.class)

Added: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAssociationOverride.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAssociationOverride.java?rev=425592&view=auto
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAssociationOverride.java
 (added)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaAssociationOverride.java
 Tue Jul 25 20:19:37 2006
@@ -0,0 +1,43 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.jpa.map;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class JpaAssociationOverride {
+
+    protected String name;
+    protected Collection<JpaJoinColumn> joinColumns;
+
+    public Collection<JpaJoinColumn> getJoinColumns() {
+        if (joinColumns == null) {
+            joinColumns = new ArrayList<JpaJoinColumn>();
+        }
+        return joinColumns;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntity.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntity.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntity.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntity.java
 Tue Jul 25 20:19:37 2006
@@ -17,7 +17,6 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.jpa.map;
 
 import java.util.ArrayList;
@@ -40,12 +39,54 @@
     protected JpaSequenceGenerator sequenceGenerator;
     protected JpaTableGenerator tableGenerator;
     protected JpaSqlResultSetMapping sqlResultSetMapping;
+    protected JpaEmbeddedId embeddedId;
+    protected Collection<JpaId> ids;
     protected Collection<JpaAttributeOverride> attributeOverrides;
+    protected Collection<JpaAssociationOverride> associationOverrides;
+
+    // TODO: andrus, 7/25/2006 - according to the notes in the JPA spec FR, 
these
+    // annotations can be specified on a mapped superclass as well as entity. 
Check the
+    // spec test to verify that and move these to superclass.
     protected Collection<JpaNamedQuery> namedQueries;
     protected Collection<JpaNamedNativeQuery> namedNativeQueries;
+
     protected Collection<JpaSecondaryTable> secondaryTables;
     protected Collection<JpaPrimaryKeyJoinColumn> primaryKeyJoinColumns;
 
+    public JpaId idForName(String idName) {
+        if (idName == null) {
+            throw new IllegalArgumentException("Null id name");
+        }
+
+        if (ids != null) {
+            for (JpaId id : ids) {
+                if (idName.equals(id.getName())) {
+                    return id;
+                }
+            }
+        }
+
+        return null;
+    }
+    
+    @TreeNodeChild
+    public JpaEmbeddedId getEmbeddedId() {
+        return embeddedId;
+    }
+
+    public void setEmbeddedId(JpaEmbeddedId embeddedId) {
+        this.embeddedId = embeddedId;
+    }
+
+    @TreeNodeChild(type = JpaId.class)
+    public Collection<JpaId> getIds() {
+        if (ids == null) {
+            ids = new ArrayList<JpaId>();
+        }
+
+        return ids;
+    }
+    
     public String getName() {
         return name;
     }
@@ -141,6 +182,15 @@
         }
 
         return attributeOverrides;
+    }
+
+    @TreeNodeChild(type = JpaAssociationOverride.class)
+    public Collection<JpaAssociationOverride> getAssociationOverrides() {
+        if (associationOverrides == null) {
+            associationOverrides = new ArrayList<JpaAssociationOverride>();
+        }
+
+        return associationOverrides;
     }
 
     @TreeNodeChild(type = JpaNamedNativeQuery.class)

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntityMap.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntityMap.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntityMap.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaEntityMap.java
 Tue Jul 25 20:19:37 2006
@@ -17,7 +17,6 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.jpa.map;
 
 import java.util.ArrayList;
@@ -25,9 +24,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.persistence.CascadeType;
-import javax.persistence.FlushModeType;
-
 import org.apache.cayenne.util.TreeNodeChild;
 
 /**
@@ -39,11 +35,12 @@
 public class JpaEntityMap {
 
     // mapped properties
+    protected String version;
+    protected String description;
     protected String packageName;
     protected String catalog;
     protected String schema;
     protected AccessType access;
-    protected FlushModeType flushMode;
 
     protected Collection<JpaEntity> entities;
     protected Collection<JpaEmbeddable> embeddables;
@@ -53,8 +50,6 @@
     protected Collection<JpaSqlResultSetMapping> sqlResultSetMappings;
     protected Collection<JpaSequenceGenerator> sequenceGenerators;
     protected Collection<JpaTableGenerator> tableGenerators;
-    protected JpaEntityListeners defaultEntityListeners;
-    protected Collection<CascadeType> cascades;
 
     /**
      * Compiles and returns a map of managed class descriptors that includes 
descriptors
@@ -118,15 +113,6 @@
         return null;
     }
 
-    @TreeNodeChild
-    public JpaEntityListeners getDefaultEntityListeners() {
-        return defaultEntityListeners;
-    }
-
-    public void setDefaultEntityListeners(JpaEntityListeners 
defaultEntityListeners) {
-        this.defaultEntityListeners = defaultEntityListeners;
-    }
-
     public AccessType getAccess() {
         return access;
     }
@@ -143,14 +129,6 @@
         this.catalog = catalog;
     }
 
-    public FlushModeType getFlushMode() {
-        return flushMode;
-    }
-
-    public void setFlushMode(FlushModeType flushMode) {
-        this.flushMode = flushMode;
-    }
-
     public String getPackageName() {
         return packageName;
     }
@@ -167,16 +145,6 @@
         this.schema = schema;
     }
 
-    public Collection<CascadeType> getCascades() {
-        if (cascades == null) {
-            // TODO: andrus, 4/20/2006 - replace with
-            // ArrayList<CascadeType>() once CAY-520 gets implemented in 
Cayenne > 1.2
-            cascades = new EnumList(CascadeType.class, 
CascadeType.values().length);
-        }
-
-        return cascades;
-    }
-
     @TreeNodeChild(type = JpaEmbeddable.class)
     public Collection<JpaEmbeddable> getEmbeddables() {
         if (embeddables == null) {
@@ -247,5 +215,21 @@
         }
 
         return tableGenerators;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
     }
 }

Added: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaIdClass.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaIdClass.java?rev=425592&view=auto
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaIdClass.java
 (added)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaIdClass.java
 Tue Jul 25 20:19:37 2006
@@ -0,0 +1,32 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.jpa.map;
+
+public class JpaIdClass {
+
+    protected String className;
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+}

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaManagedClass.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaManagedClass.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaManagedClass.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaManagedClass.java
 Tue Jul 25 20:19:37 2006
@@ -17,7 +17,6 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.jpa.map;
 
 public abstract class JpaManagedClass {
@@ -26,6 +25,8 @@
 
     protected String className;
     protected AccessType access;
+    protected boolean metadataComplete;
+    protected String description;
 
     public JpaClassDescriptor getClassDescriptor() {
         return classDescriptor;
@@ -49,5 +50,21 @@
 
     public void setClassName(String className) {
         this.className = className;
+    }
+
+    public boolean isMetadataComplete() {
+        return metadataComplete;
+    }
+
+    public void setMetadataComplete(boolean metadataComplete) {
+        this.metadataComplete = metadataComplete;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
     }
 }

Added: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitDefaults.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitDefaults.java?rev=425592&view=auto
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitDefaults.java
 (added)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitDefaults.java
 Tue Jul 25 20:19:37 2006
@@ -0,0 +1,74 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.jpa.map;
+
+import org.apache.cayenne.util.TreeNodeChild;
+
+/**
+ * @author Andrus Adamchik
+ */
+public class JpaPersistenceUnitDefaults {
+
+    protected String schema;
+    protected String catalog;
+    protected AccessType access;
+    protected boolean cascadePersist;
+    protected JpaEntityListeners entityListeners;
+
+    @TreeNodeChild
+    public JpaEntityListeners getEntityListeners() {
+        return entityListeners;
+    }
+
+    public void setEntityListeners(JpaEntityListeners entityListeners) {
+        this.entityListeners = entityListeners;
+    }
+
+    public AccessType getAccess() {
+        return access;
+    }
+
+    public void setAccess(AccessType access) {
+        this.access = access;
+    }
+
+    public boolean isCascadePersist() {
+        return cascadePersist;
+    }
+
+    public void setCascadePersist(boolean cascadePersist) {
+        this.cascadePersist = cascadePersist;
+    }
+
+    public String getCatalog() {
+        return catalog;
+    }
+
+    public void setCatalog(String catalog) {
+        this.catalog = catalog;
+    }
+
+    public String getSchema() {
+        return schema;
+    }
+
+    public void setSchema(String schema) {
+        this.schema = schema;
+    }
+}

Added: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitMetadata.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitMetadata.java?rev=425592&view=auto
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitMetadata.java
 (added)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/map/JpaPersistenceUnitMetadata.java
 Tue Jul 25 20:19:37 2006
@@ -0,0 +1,45 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.jpa.map;
+
+/**
+ * @author Andrus Adamchik
+ */
+public class JpaPersistenceUnitMetadata {
+
+    protected boolean xmlMappingMetadataComplete;
+    protected JpaPersistenceUnitDefaults persistenceUnitDefaults;
+
+    public boolean isXmlMappingMetadataComplete() {
+        return xmlMappingMetadataComplete;
+    }
+
+    public void setXmlMappingMetadataComplete(boolean 
xmlMappingMetadataComplete) {
+        this.xmlMappingMetadataComplete = xmlMappingMetadataComplete;
+    }
+
+    public JpaPersistenceUnitDefaults getPersistenceUnitDefaults() {
+        return persistenceUnitDefaults;
+    }
+
+    public void setPersistenceUnitDefaults(
+            JpaPersistenceUnitDefaults persistenceUnitDefaults) {
+        this.persistenceUnitDefaults = persistenceUnitDefaults;
+    }
+}

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/cayenne/orm-coder.xml
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/cayenne/orm-coder.xml?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/cayenne/orm-coder.xml
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/cayenne/orm-coder.xml
 Tue Jul 25 20:19:37 2006
@@ -23,23 +23,23 @@
        
        <!-- ROOT Element - must be listed first in the mapping per mapping 
descriptor spec. -->
        <entity name="org.apache.cayenne.jpa.map.JpaEntityMap" 
xmlTag="entity-mappings">
-               
-               <property name="entities" xmlTag="entity"/>
-               <property name="embeddables" xmlTag="embeddable"/>
-               <property name="mappedSuperclasses" xmlTag="mapped-superclass"/>
+       
+               <property name="description" xmlTag="description"/>
+               <property name="persistenceUnitMetadata" 
xmlTag="persistence-unit-metadata"/>
+               <property name="packageName" xmlTag="package"/>
+               <property name="schema" xmlTag="schema"/>
+               <property name="catalog" xmlTag="catalog"/>
+               <property name="access" xmlTag="access"/>
+               <property name="sequenceGenerators" 
xmlTag="sequence-generator"/>
+               <property name="tableGenerators" xmlTag="table-generator"/>
                <property name="namedQueries" xmlTag="named-query"/>
                <property name="namedNativeQueries" 
xmlTag="named-native-query"/>
                <property name="sqlResultSetMappings" 
xmlTag="sql-result-set-mapping"/>
-               <property name="sequenceGenerators" 
xmlTag="sequence-generator"/>
-               <property name="tableGenerators" xmlTag="table-generator"/>
-               <property name="defaultEntityListeners" 
xmlTag="default-entity-listeners"/>
-               <property name="cascades" xmlTag="cascade"/>
+               <property name="mappedSuperclasses" xmlTag="mapped-superclass"/>
+               <property name="entities" xmlTag="entity"/>
+               <property name="embeddables" xmlTag="embeddable"/>
                
-               <property name="packageName" xmlTag="package" attribute="YES"/>
-               <property name="catalog" xmlTag="catalog" attribute="YES"/>
-               <property name="schema" xmlTag="schema" attribute="YES"/>
-               <property name="access" xmlTag="access" attribute="YES"/>
-               <property name="flushMode" xmlTag="flush-mode" attribute="YES"/>
+               <property name="version" xmlTag="version" attribute="YES"/>
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaAttribute" 
xmlTag="attribute">
@@ -70,6 +70,11 @@
                <property name="name" xmlTag="name" attribute="YES"/>
        </entity>
        
+       <entity name="org.apache.cayenne.jpa.map.JpaAssociationOverride" 
xmlTag="association-override">
+               <property name="name" xmlTag="name" attribute="YES"/>
+               <property name="joinColumns" xmlTag="join-column"/>
+       </entity>
+       
        <entity name="org.apache.cayenne.jpa.map.JpaBasic" xmlTag="basic">
                <property name="fetch" xmlTag="fetch" attribute="YES"/>
                <property name="optional" xmlTag="optional" attribute="YES"/>
@@ -106,8 +111,10 @@
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaEmbeddable" 
xmlTag="embeddable">
+               <property name="description" xmlTag="description"/>
                <property name="className" xmlTag="class" attribute="YES"/>
                <property name="access" xmlTag="access" attribute="YES"/>
+               <property name="metadataComplete" xmlTag="metadata-complete" 
attribute="YES"/>
                
                <property name="embeddableAttributes" 
xmlTag="embeddable-attribute"/>
        </entity>
@@ -123,16 +130,16 @@
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaEntity" xmlTag="entity">
+               <property name="description" xmlTag="description"/>
                <property name="table" xmlTag="table"/>
                <property name="secondaryTables" xmlTag="secondary-table"/>
                <property name="primaryKeyJoinColumns" 
xmlTag="primary-key-join-column"/>
-               <property name="idClassName" xmlTag="id-class"/>
+               <property name="idClass" xmlTag="id-class"/>
                <property name="inheritance" xmlTag="inheritance"/>
                <property name="discriminatorValue" 
xmlTag="discriminator-value"/>
                <property name="discriminatorColumn" 
xmlTag="discriminator-column"/>
                <property name="sequenceGenerator" xmlTag="sequence-generator"/>
                <property name="tableGenerator" xmlTag="table-generator"/>
-               <property name="attributeOverrides" 
xmlTag="attribute-override"/>
                <property name="namedQueries" xmlTag="named-query"/>
                <property name="namedNativeQueries" 
xmlTag="named-native-query"/>
                <property name="sqlResultSetMapping" 
xmlTag="sql-result-set-mapping"/>
@@ -148,11 +155,14 @@
                <property name="postLoad" xmlTag="post-load"/>
                <property name="ids" xmlTag="id"/>
                <property name="embeddedId" xmlTag="embedded-id"/>
+               <property name="associationOverrides" 
xmlTag="association-override"/>
+               <property name="attributeOverrides" 
xmlTag="attribute-override"/>
                <property name="attributes" xmlTag="attribute"/>
                
                <property name="name" xmlTag="name" attribute="YES"/>
                <property name="className" xmlTag="class" attribute="YES"/>
                <property name="access" xmlTag="access" attribute="YES"/>
+               <property name="metadataComplete" xmlTag="metadata-complete" 
attribute="YES"/>
        </entity>
 
        <entity name="org.apache.cayenne.jpa.map.JpaEntityListener" 
xmlTag="entity-listener">
@@ -171,10 +181,6 @@
                <property name="entityListeners" xmlTag="entity-listener"/>
        </entity>
        
-       <entity name="org.apache.cayenne.jpa.map.JpaEntityListeners" 
xmlTag="default-entity-listeners">
-               <property name="entityListeners" xmlTag="entity-listener"/>
-       </entity>
-       
        <entity name="org.apache.cayenne.jpa.map.JpaEntityResult" 
xmlTag="entity-result">
                <property name="fieldResults" xmlTag="field-result"/>
                
@@ -192,6 +198,10 @@
                <property name="generator" xmlTag="generator" attribute="YES"/>
        </entity>
        
+       <entity name="org.apache.cayenne.jpa.map.JpaIdClass" xmlTag="id-class">
+               <property name="className" xmlTag="class" attribute="YES"/>
+       </entity>
+       
        <entity name="org.apache.cayenne.jpa.map.JpaId" xmlTag="id">
                <property name="column" xmlTag="column"/>
                <property name="generatedValue" xmlTag="generated-value"/>
@@ -268,7 +278,8 @@
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaMappedSuperclass" 
xmlTag="mapped-superclass">
-               <property name="idClassName" xmlTag="id-class"/>
+               <property name="description" xmlTag="description"/>
+               <property name="idClass" xmlTag="id-class"/>
                <property name="excludeDefaultListeners" 
xmlTag="exclude-default-listeners"/>
                <property name="excludeSuperclassListeners" 
xmlTag="exclude-superclass-listeners"/>
                <property name="entityListeners.entityListeners" 
xmlTag="entity-listener"/>
@@ -279,28 +290,27 @@
                <property name="preUpdate" xmlTag="pre-update"/>
                <property name="postUpdate" xmlTag="post-update"/>
                <property name="postLoad" xmlTag="post-load"/>
-               <property name="ids" xmlTag="id"/>
-               <property name="embeddedId" xmlTag="embedded-id"/>
                <property name="attributes" xmlTag="attribute"/>
                
                <property name="className" xmlTag="class" attribute="YES"/>
                <property name="access" xmlTag="access" attribute="YES"/>
+               <property name="metadataComplete" xmlTag="metadata-complete" 
attribute="YES"/>
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaNamedNativeQuery" 
xmlTag="named-native-query">
+               <property name="query" xmlTag="query"/>
                <property name="hints" xmlTag="hint"/>
                
                <property name="name" xmlTag="name" attribute="YES"/>
-               <property name="query" xmlTag="query" attribute="YES"/>
                <property name="resultClassName" xmlTag="result-class" 
attribute="YES"/>
                <property name="resultSetMapping" xmlTag="result-set-mapping" 
attribute="YES"/>
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaNamedQuery" 
xmlTag="named-query">
                <property name="hints" xmlTag="hint"/>
+               <property name="query" xmlTag="query"/>
                
                <property name="name" xmlTag="name" attribute="YES"/>
-               <property name="query" xmlTag="query" attribute="YES"/>
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaOneToMany" 
xmlTag="one-to-many">
@@ -318,6 +328,20 @@
                <property name="fetch" xmlTag="fetch" attribute="YES"/>
                <property name="optional" xmlTag="optional" attribute="YES"/>
                <property name="mappedBy" xmlTag="mapped-by" attribute="YES"/>
+       </entity>
+       
+       <entity name="org.apache.cayenne.jpa.map.JpaPersistenceUnitDefaults" 
xmlTag="persistence-unit-defaults">
+           <property name="schema" xmlTag="schema"/>
+               <property name="catalog" xmlTag="catalog"/>
+               <property name="access" xmlTag="access"/>
+               <property name="cascadePersist" xmlTag="cascade-persist"/>
+               <property name="entityListeners" xmlTag="entity-listeners"/>
+       </entity>
+       
+               <entity 
name="org.apache.cayenne.jpa.map.JpaPersistenceUnitMetadata" 
xmlTag="persistence-unit-metadata">
+               <property name="xmlMappingMetadataComplete" 
xmlTag="xml-mapping-metadata-complete"/>
+               
+               <property name="persistenceUnitDefaults" 
xmlTag="persistence-unit-defaults"/>
        </entity>
        
        <entity name="org.apache.cayenne.jpa.map.JpaPrimaryKeyJoinColumn" 
xmlTag="primary-key-join-column">

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/schemas/orm_1_0.xsd
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/schemas/orm_1_0.xsd?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/schemas/orm_1_0.xsd
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/main/resources/META-INF/schemas/orm_1_0.xsd
 Tue Jul 25 20:19:37 2006
@@ -730,9 +730,6 @@
 <xsd:annotation>
 <xsd:documentation>
 @Target({METHOD, FIELD}) @Retention(RUNTIME)
-XML Schema Enterprise JavaBeans 3.0, Final Release XML Descriptor
-233 5/2/06
-Sun Microsystems, Inc.
 public @interface Transient {}
 </xsd:documentation>
 </xsd:annotation>

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/MappingAssertion.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/MappingAssertion.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/MappingAssertion.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/MappingAssertion.java
 Tue Jul 25 20:19:37 2006
@@ -17,7 +17,6 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.jpa.conf;
 
 import java.util.ArrayList;
@@ -95,8 +94,6 @@
         assertMappedSuperclass2(mappedSuperclassIt.next());
         assertMappedSuperclass3(mappedSuperclassIt.next());
 
-        assertEntityListeners(entityMap.getDefaultEntityListeners());
-
         assertEquals(2, entityMap.getNamedQueries().size());
         Iterator<JpaNamedQuery> namedQueryIt = 
entityMap.getNamedQueries().iterator();
         assertNamedQuery1(namedQueryIt.next());
@@ -161,8 +158,10 @@
         JpaSecondaryTable secondaryTable2 = secondaryTableIt.next();
         assertEquals("secondary2", secondaryTable2.getName());
 
+        assertNotNull(entity1.getIdClass());
         assertEquals("org.apache.cayenne.jpa.entity.MockIdClass", entity1
-                .getIdClassName());
+                .getIdClass()
+                .getClassName());
 
         assertSequenceGenerator1(entity1.getSequenceGenerator());
 
@@ -522,8 +521,10 @@
                 "org.apache.cayenne.jpa.entity.MockMappedSuperclass1",
                 mappedSuperclass1.getClassName());
 
+        assertNotNull(mappedSuperclass1.getIdClass());
         assertEquals("org.apache.cayenne.jpa.entity.MockIdClass", 
mappedSuperclass1
-                .getIdClassName());
+                .getIdClass()
+                .getClassName());
 
         assertTrue(mappedSuperclass1.isExcludeDefaultListeners());
         assertTrue(mappedSuperclass1.isExcludeSuperclassListeners());
@@ -536,9 +537,6 @@
                 .next()
                 .getClassName());
 
-        assertEquals(1, mappedSuperclass1.getIds().size());
-        assertId(mappedSuperclass1.getIds().iterator().next());
-
         assertNotNull(mappedSuperclass1.getPrePersist());
         assertEquals("eprePersist", 
mappedSuperclass1.getPrePersist().getMethodName());
         assertNotNull(mappedSuperclass1.getPostPersist());
@@ -560,8 +558,6 @@
         assertEquals(
                 "org.apache.cayenne.jpa.entity.MockMappedSuperclass2",
                 mappedSuperclass2.getClassName());
-
-        assertEmbeddedId(mappedSuperclass2.getEmbeddedId());
     }
 
     protected void assertMappedSuperclass3(JpaMappedSuperclass 
mappedSuperclass3) {

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/XMLMappingAssertion.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/XMLMappingAssertion.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/XMLMappingAssertion.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/conf/XMLMappingAssertion.java
 Tue Jul 25 20:19:37 2006
@@ -17,15 +17,8 @@
  *  under the License.
  ****************************************************************/
 
-
 package org.apache.cayenne.jpa.conf;
 
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.persistence.CascadeType;
-import javax.persistence.FlushModeType;
-
 import org.apache.cayenne.jpa.map.AccessType;
 import org.apache.cayenne.jpa.map.JpaEmbeddable;
 import org.apache.cayenne.jpa.map.JpaEntity;
@@ -37,21 +30,12 @@
     public void testEntityMap(JpaEntityMap entityMap) throws Exception {
 
         assertNotNull(entityMap);
+        assertEquals("Test Description", entityMap.getDescription());
         assertEquals("default_package", entityMap.getPackageName());
         assertEquals("default_catalog", entityMap.getCatalog());
         assertEquals(AccessType.FIELD, entityMap.getAccess());
-        assertEquals(FlushModeType.COMMIT, entityMap.getFlushMode());
 
         super.testEntityMap(entityMap);
-
-        // common annotations that are not per-entity
-        Collection<CascadeType> cascades = entityMap.getCascades();
-        assertNotNull(cascades);
-        assertEquals(3, cascades.size());
-        Iterator cascadesIt = cascades.iterator();
-        assertEquals(CascadeType.MERGE, cascadesIt.next());
-        assertEquals(CascadeType.PERSIST, cascadesIt.next());
-        assertEquals(CascadeType.REFRESH, cascadesIt.next());
     }
 
     @Override

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/entity/MockEntityMap1.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/entity/MockEntityMap1.java?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/entity/MockEntityMap1.java
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/entity/MockEntityMap1.java
 Tue Jul 25 20:19:37 2006
@@ -21,7 +21,6 @@
 package org.apache.cayenne.jpa.entity;
 
 import javax.persistence.ColumnResult;
-import javax.persistence.EntityListeners;
 import javax.persistence.EntityResult;
 import javax.persistence.FieldResult;
 import javax.persistence.NamedNativeQueries;
@@ -39,12 +38,6 @@
  * 
  * @author Andrus Adamchik
  */
-// TODO: andrus, 4/24/2006 - not sure if this is spec-compatible??? Spec seems 
to only
-// require processing of annotations on Entities, MappedSuperclasses and 
Embeddables,
-// however the schema supports globals - probably makes sense for us to 
support it too..
[EMAIL PROTECTED](value = {
-        MockEntityListener1.class, MockEntityListener2.class
-})
 @SequenceGenerator(name = "sg-name", sequenceName = "seq-name", initialValue = 
5, allocationSize = 10)
 @NamedQueries( {
         @NamedQuery(name = "query1", query = "select x", hints = {

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-full.xml
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-full.xml?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-full.xml
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-full.xml
 Tue Jul 25 20:19:37 2006
@@ -24,8 +24,13 @@
 <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm 
-       http://java.sun.com/xml/ns/persistence/orm/orm_1_0.xsd"; 
-       package="default_package" catalog="default_catalog" 
schema="default_schema" access="FIELD" flush-mode="COMMIT">
+       http://java.sun.com/xml/ns/persistence/orm/orm_1_0.xsd"; version="1.0">
+       
+       <description>Test Description</description>
+       <package>default_package</package>
+       <schema>default_schema</schema>
+       <catalog>default_catalog</catalog>
+       <access>FIELD</access>
        
        <!-- ENTITIES -->
        
@@ -53,7 +58,7 @@
                
                <secondary-table name="secondary2"/>
 
-               <id-class>org.apache.cayenne.jpa.entity.MockIdClass</id-class>
+               <id-class class="org.apache.cayenne.jpa.entity.MockIdClass"/>
                
                <sequence-generator name="sg-name" sequence-name="seq-name" 
initial-value="5" allocation-size="10"/>
                
@@ -64,19 +69,25 @@
                        </unique-constraint>
                </table-generator>
                
-               <named-query name="query1" query="select x">
+               <named-query name="query1">
+                       <query>select x</query>
                        <hint name="hint1" value="value1"/>
                        <hint name="hint2" value="value2"/>
                </named-query>
                
-               <named-query name="query2" query="select y"/>
+               <named-query name="query2">
+                       <query>select y</query>
+               </named-query>
                
-               <named-native-query name="query3" query="select z" 
result-class="org.apache.cayenne.jpa.entity.MockResultClass" 
result-set-mapping="rs-mapping1">
+               <named-native-query name="query3" 
result-class="org.apache.cayenne.jpa.entity.MockResultClass" 
result-set-mapping="rs-mapping1">
+                       <query>select z</query>
                        <hint name="hint3" value="value3"/>
                        <hint name="hint4" value="value4"/>
                </named-native-query>
                
-               <named-native-query name="query4" query="select a"/>
+               <named-native-query name="query4">
+                       <query>select a</query>
+               </named-native-query>
                
                <sql-result-set-mapping name="result-map1">
                        <entity-result 
entity-class="org.apache.cayenne.jpa.entity.MockEntityX" 
discriminator-column="column1">
@@ -91,8 +102,8 @@
                        <column-result name="column-result2"/>
                </sql-result-set-mapping>
                
-               <exclude-default-listeners>true</exclude-default-listeners>
-               
<exclude-superclass-listeners>true</exclude-superclass-listeners>
+               <exclude-default-listeners/>
+               <exclude-superclass-listeners/>
                
                <entity-listeners>
                        <entity-listener 
class="org.apache.cayenne.jpa.entity.MockEntityListener1">
@@ -296,7 +307,7 @@
 
        <!-- MAPPED SUPERCLASSES -->
        <mapped-superclass 
class="org.apache.cayenne.jpa.entity.MockMappedSuperclass1" access="FIELD">
-               <id-class>org.apache.cayenne.jpa.entity.MockIdClass</id-class>
+               <id-class class="org.apache.cayenne.jpa.entity.MockIdClass"/>
        
                <exclude-default-listeners>true</exclude-default-listeners>
                
<exclude-superclass-listeners>true</exclude-superclass-listeners>
@@ -318,13 +329,6 @@
                <pre-update method-name="epreUpdate"/>
                <post-update method-name="epostUpdate"/>
                <post-load method-name="epostLoad"/>
-               
-               <id name="id1">
-                       <column name="id_column" unique="true" nullable="true" 
insertable="true" updatable="true" 
-                                table="id_table" length="3" precision="4" 
scale="5"/>
-                       <generated-value strategy="SEQUENCE" 
generator="id-generator"/>
-                       <temporal>TIME</temporal>
-               </id>
        </mapped-superclass>
        
        <!-- EMBEDDED Id -->
@@ -515,10 +519,5 @@
                        <post-persist method-name="postPersist"/>
                </entity-listener>
        </default-entity-listeners>
-       
-       <!-- CASCADES -->
-       <cascade>MERGE</cascade>
-       <cascade>PERSIST</cascade>
-       <cascade>REFRESH</cascade>
        
 </entity-mappings>

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-invalid1.xml
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-invalid1.xml?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-invalid1.xml
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers-invalid1.xml
 Tue Jul 25 20:19:37 2006
@@ -21,7 +21,7 @@
 <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"; 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm 
-       http://java.sun.com/xml/ns/persistence/orm/orm_1_0.xsd";>
+       http://java.sun.com/xml/ns/persistence/orm/orm_1_0.xsd"; version="1.0">
 
        <bad-tag/>
 </entity-mappings>

Modified: 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers.xml
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers.xml?rev=425592&r1=425591&r2=425592&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers.xml
 (original)
+++ 
incubator/cayenne/main/trunk/cayenne-jpa/src/test/resources/xml-samples/orm-schema-headers.xml
 Tue Jul 25 20:19:37 2006
@@ -21,7 +21,7 @@
 <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm 
-       http://java.sun.com/xml/ns/persistence/orm/orm_1_0.xsd";>
+       http://java.sun.com/xml/ns/persistence/orm/orm_1_0.xsd"; version="1.0">
 
        <entity class="org.apache.cayenne.jpa.persistent.MockPersistent2"/>
 </entity-mappings>


Reply via email to