You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/01/25 08:23:11 UTC

svn commit: r499692 - in /incubator/openejb/trunk/openejb3/container/openejb-jee/src: main/java/org/apache/openejb/jee/oej2/ test/java/org/apache/openejb/jee/oej2/ test/resources/

Author: dblevins
Date: Wed Jan 24 23:23:10 2007
New Revision: 499692

URL: http://svn.apache.org/viewvc?view=rev&rev=499692
Log:
Fixed to be able to parse the daytrader openejb-jar plan.
Handles old namespace of "www.openejb.org"
Can now take jpa <persistence> tree 

Added:
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-corrected.xml
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-original.xml
      - copied, changed from r499667, incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/openejb-more-invalid.xml
Removed:
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/openejb-more-invalid.xml
Modified:
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/NamespaceFilter.java
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/OpenejbJarType.java
    incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oej2/OpenejbJarTest.java

Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/NamespaceFilter.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/NamespaceFilter.java?view=diff&rev=499692&r1=499691&r2=499692
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/NamespaceFilter.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/NamespaceFilter.java Wed Jan 24 23:23:10 2007
@@ -145,7 +145,10 @@
 
     //String uri, String localName, String qName, Attributes atts
     public void startElement(String uri, String localName, String qname, Attributes atts) throws SAXException {
-
+        if (uri.startsWith("http://www.openejb.org/xml/ns/openejb-jar-2")){
+            uri = "http://openejb.apache.org/xml/ns/openejb-jar-2.2";
+        }
+        
         String correctNamespace = ns.get(localName);
         if (uri.equals("http://openejb.apache.org/xml/ns/openejb-jar-2.2") && correctNamespace != null) {
             uri = correctNamespace;

Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/OpenejbJarType.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/OpenejbJarType.java?view=diff&rev=499692&r1=499691&r2=499692
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/OpenejbJarType.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oej2/OpenejbJarType.java Wed Jan 24 23:23:10 2007
@@ -17,6 +17,8 @@
 
 package org.apache.openejb.jee.oej2;
 
+import org.apache.openejb.jee.jpa.unit.Persistence;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -83,7 +85,8 @@
     "relationships",
     "messageDestination",
     "security",
-    "service"
+    "service",
+    "persistence"
 })
 public class OpenejbJarType {
 
@@ -121,6 +124,9 @@
     @XmlElementRef(name = "service", namespace = "http://geronimo.apache.org/xml/ns/deployment-1.2", type = JAXBElement.class)
     protected List<JAXBElement<? extends AbstractServiceType>> service;
 
+    @XmlElementRef(name="persistence", namespace = "http://java.sun.com/xml/ns/persistence", type = Persistence.class)
+    protected List<Persistence> persistence;
+
     /**
      * Gets the value of the environment property.
      * 
@@ -205,38 +211,14 @@
         return dbSyntaxFactory;
     }
 
-    /**
-     * Sets the value of the dbSyntaxFactory property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
     public void setDbSyntaxFactory(String value) {
         this.dbSyntaxFactory = value;
     }
 
-    /**
-     * Gets the value of the enforceForeignKeyConstraints property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link boolean }
-     *     
-     */
     public boolean isEnforceForeignKeyConstraints() {
         return enforceForeignKeyConstraints != null;
     }
 
-    /**
-     * Sets the value of the enforceForeignKeyConstraints property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link boolean }
-     *     
-     */
     public void setEnforceForeignKeyConstraints(boolean value) {
         this.enforceForeignKeyConstraints = value ? new EmptyType() : null;
     }
@@ -245,52 +227,14 @@
         return enterpriseBeans;
     }
 
-    /**
-     * Gets the value of the relationships property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link RelationshipsType }
-     *     
-     */
     public RelationshipsType getRelationships() {
         return relationships;
     }
 
-    /**
-     * Sets the value of the relationships property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link RelationshipsType }
-     *     
-     */
     public void setRelationships(RelationshipsType value) {
         this.relationships = value;
     }
 
-    /**
-     * Gets the value of the messageDestination property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the messageDestination property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getMessageDestination().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link MessageDestinationType }
-     * 
-     * 
-     */
     public List<MessageDestinationType> getMessageDestination() {
         if (messageDestination == null) {
             messageDestination = new ArrayList<MessageDestinationType>();
@@ -298,53 +242,14 @@
         return this.messageDestination;
     }
 
-    /**
-     * Gets the value of the security property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link AbstractSecurityType }
-     *     
-     */
     public AbstractSecurityType getSecurity() {
         return security;
     }
 
-    /**
-     * Sets the value of the security property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link AbstractSecurityType }
-     *     
-     */
     public void setSecurity(AbstractSecurityType value) {
         this.security = value;
     }
 
-    /**
-     * Gets the value of the service property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the service property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getService().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link JAXBElement }{@code <}{@link GbeanType }{@code >}
-     * {@link JAXBElement }{@code <}{@link AbstractServiceType }{@code >}
-     * 
-     * 
-     */
     public List<JAXBElement<? extends AbstractServiceType>> getService() {
         if (service == null) {
             service = new ArrayList<JAXBElement<? extends AbstractServiceType>>();

Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oej2/OpenejbJarTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oej2/OpenejbJarTest.java?view=diff&rev=499692&r1=499691&r2=499692
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oej2/OpenejbJarTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oej2/OpenejbJarTest.java Wed Jan 24 23:23:10 2007
@@ -40,10 +40,10 @@
         unmarshalAndMarshal(GeronimoEjbJarType.class, "geronimo-openejb-full.xml");
     }
 
-//    public void testOpenejbJarMoreInvalid() throws Exception {
-//        unmarshalAndMarshal(OpenejbJarType.class, "openejb-more-invalid.xml");
-//    }
-//
+    public void testOpenejbJarMoreInvalid() throws Exception {
+        unmarshalAndMarshal(OpenejbJarType.class, "daytrader-original.xml", "daytrader-corrected.xml");
+    }
+
     private <T> void unmarshalAndMarshal(Class<T> type, java.lang.String xmlFileName) throws Exception {
         unmarshalAndMarshal(type, xmlFileName, xmlFileName);
     }

Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-corrected.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-corrected.xml?view=auto&rev=499692
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-corrected.xml (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-corrected.xml Wed Jan 24 23:23:10 2007
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns3:openejb-jar xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2" xmlns:ns2="http://geronimo.apache.org/xml/ns/naming-1.2" xmlns:ns3="http://openejb.apache.org/xml/ns/openejb-jar-2.2" xmlns:ns4="http://openejb.apache.org/xml/ns/pkgen-2.1" xmlns:ns5="http://geronimo.apache.org/xml/ns/j2ee/application-1.2" xmlns:ns6="http://java.sun.com/xml/ns/persistence" xmlns:ns7="http://geronimo.apache.org/xml/ns/j2ee/ejb/openejb-2.0">
+    <ns2:cmp-connection-factory>
+        <ns2:resource-link>jdbc/TradeDataSource</ns2:resource-link>
+    </ns2:cmp-connection-factory>
+    <ns3:enterprise-beans>
+        <ns3:session>
+            <ns3:ejb-name>TradeEJB</ns3:ejb-name>
+            <ns3:jndi-name>ejb/TradeEJB</ns3:jndi-name>
+        </ns3:session>
+        <ns3:session>
+            <ns3:ejb-name>TradeJPA</ns3:ejb-name>
+            <ns2:persistence-context-ref>
+                <ns2:persistence-context-ref-name>jpa/daytrader</ns2:persistence-context-ref-name>
+                <ns2:persistence-unit-name>daytrader</ns2:persistence-unit-name>
+                <ns2:persistence-context-type>transaction-scoped</ns2:persistence-context-type>
+            </ns2:persistence-context-ref>
+        </ns3:session>
+        <ns3:session>
+            <ns3:ejb-name>KeySequenceEJB</ns3:ejb-name>
+            <ns3:jndi-name>ejb/KeySequenceEJB</ns3:jndi-name>
+            <ns3:cache-size>100</ns3:cache-size>
+        </ns3:session>
+        <ns3:entity>
+            <ns3:ejb-name>HoldingEJB</ns3:ejb-name>
+            <ns3:table-name>HOLDINGEJB</ns3:table-name>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>purchasePrice</ns3:cmp-field-name>
+                <ns3:table-column>purchasePrice</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>holdingID</ns3:cmp-field-name>
+                <ns3:table-column>holdingID</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>quantity</ns3:cmp-field-name>
+                <ns3:table-column>quantity</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>purchaseDate</ns3:cmp-field-name>
+                <ns3:table-column>purchaseDate</ns3:table-column>
+            </ns3:cmp-field-mapping>
+        </ns3:entity>
+        <ns3:entity>
+            <ns3:ejb-name>AccountProfileEJB</ns3:ejb-name>
+            <ns3:table-name>AccountProfileEJB</ns3:table-name>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>address</ns3:cmp-field-name>
+                <ns3:table-column>address</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>passwd</ns3:cmp-field-name>
+                <ns3:table-column>passwd</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>userID</ns3:cmp-field-name>
+                <ns3:table-column>userID</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>email</ns3:cmp-field-name>
+                <ns3:table-column>email</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>creditCard</ns3:cmp-field-name>
+                <ns3:table-column>creditCard</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>fullName</ns3:cmp-field-name>
+                <ns3:table-column>fullName</ns3:table-column>
+            </ns3:cmp-field-mapping>
+        </ns3:entity>
+        <ns3:entity>
+            <ns3:ejb-name>QuoteEJB</ns3:ejb-name>
+            <ns3:table-name>QuoteEJB</ns3:table-name>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>low</ns3:cmp-field-name>
+                <ns3:table-column>low</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>open</ns3:cmp-field-name>
+                <ns3:table-column>open1</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>volume</ns3:cmp-field-name>
+                <ns3:table-column>volume</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>price</ns3:cmp-field-name>
+                <ns3:table-column>price</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>high</ns3:cmp-field-name>
+                <ns3:table-column>high</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>companyName</ns3:cmp-field-name>
+                <ns3:table-column>companyName</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>symbol</ns3:cmp-field-name>
+                <ns3:table-column>symbol</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>change</ns3:cmp-field-name>
+                <ns3:table-column>change1</ns3:table-column>
+            </ns3:cmp-field-mapping>
+        </ns3:entity>
+        <ns3:entity>
+            <ns3:ejb-name>KeyGenEJB</ns3:ejb-name>
+            <ns3:table-name>KeyGenEJB</ns3:table-name>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>keyVal</ns3:cmp-field-name>
+                <ns3:table-column>keyVal</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>keyName</ns3:cmp-field-name>
+                <ns3:table-column>keyName</ns3:table-column>
+            </ns3:cmp-field-mapping>
+        </ns3:entity>
+        <ns3:entity>
+            <ns3:ejb-name>AccountEJB</ns3:ejb-name>
+            <ns3:table-name>AccountEJB</ns3:table-name>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>creationDate</ns3:cmp-field-name>
+                <ns3:table-column>creationDate</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>openBalance</ns3:cmp-field-name>
+                <ns3:table-column>openBalance</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>logoutCount</ns3:cmp-field-name>
+                <ns3:table-column>logoutCount</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>balance</ns3:cmp-field-name>
+                <ns3:table-column>balance</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>accountID</ns3:cmp-field-name>
+                <ns3:table-column>accountID</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>lastLogin</ns3:cmp-field-name>
+                <ns3:table-column>lastLogin</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>loginCount</ns3:cmp-field-name>
+                <ns3:table-column>loginCount</ns3:table-column>
+            </ns3:cmp-field-mapping>
+        </ns3:entity>
+        <ns3:entity>
+            <ns3:ejb-name>OrderEJB</ns3:ejb-name>
+            <ns3:table-name>OrderEJB</ns3:table-name>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>orderFee</ns3:cmp-field-name>
+                <ns3:table-column>orderFee</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>completionDate</ns3:cmp-field-name>
+                <ns3:table-column>completionDate</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>orderType</ns3:cmp-field-name>
+                <ns3:table-column>orderType</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>orderStatus</ns3:cmp-field-name>
+                <ns3:table-column>orderStatus</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>price</ns3:cmp-field-name>
+                <ns3:table-column>price</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>quantity</ns3:cmp-field-name>
+                <ns3:table-column>quantity</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>openDate</ns3:cmp-field-name>
+                <ns3:table-column>openDate</ns3:table-column>
+            </ns3:cmp-field-mapping>
+            <ns3:cmp-field-mapping>
+                <ns3:cmp-field-name>orderID</ns3:cmp-field-name>
+                <ns3:table-column>orderID</ns3:table-column>
+            </ns3:cmp-field-mapping>
+        </ns3:entity>
+        <ns3:message-driven>
+            <ns3:ejb-name>TradeStreamerMDB</ns3:ejb-name>
+            <ns2:resource-adapter>
+                <ns2:resource-link>TradeJMSResources</ns2:resource-link>
+            </ns2:resource-adapter>
+            <ns3:activation-config>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>destinationType</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>javax.jms.Queue</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>destination</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>TradeStreamerQueue</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>acknowledgeMode</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>Auto-acknowledge</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>SubscriptionDurability</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>NonDurable</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+            </ns3:activation-config>
+        </ns3:message-driven>
+        <ns3:message-driven>
+            <ns3:ejb-name>TradeBrokerMDB</ns3:ejb-name>
+            <ns2:resource-adapter>
+                <ns2:resource-link>TradeJMSResources</ns2:resource-link>
+            </ns2:resource-adapter>
+            <ns3:activation-config>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>destinationType</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>javax.jms.Queue</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>destination</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>TradeBrokerQueue</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>acknowledgeMode</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>Auto-acknowledge</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+                <ns3:activation-config-property>
+                    <ns3:activation-config-property-name>SubscriptionDurability</ns3:activation-config-property-name>
+                    <ns3:activation-config-property-value>NonDurable</ns3:activation-config-property-value>
+                </ns3:activation-config-property>
+            </ns3:activation-config>
+        </ns3:message-driven>
+    </ns3:enterprise-beans>
+    <ns3:relationships>
+        <ns3:ejb-relation>
+            <ns3:ejb-relation-name>Account-Orders</ns3:ejb-relation-name>
+            <ns3:ejb-relationship-role>
+                <ns3:ejb-relationship-role-name>AccountEJB</ns3:ejb-relationship-role-name>
+                <ns3:relationship-role-source>
+                    <ns3:ejb-name>AccountEJB</ns3:ejb-name>
+                </ns3:relationship-role-source>
+                <ns3:cmr-field>
+                    <ns3:cmr-field-name>orders</ns3:cmr-field-name>
+                </ns3:cmr-field>
+                <ns3:role-mapping>
+                    <ns3:cmr-field-mapping>
+                        <ns3:key-column>accountID</ns3:key-column>
+                        <ns3:foreign-key-column>account_accountID</ns3:foreign-key-column>
+                    </ns3:cmr-field-mapping>
+                </ns3:role-mapping>
+            </ns3:ejb-relationship-role>
+        </ns3:ejb-relation>
+        <ns3:ejb-relation>
+            <ns3:ejb-relation-name>Account-AccountProfile</ns3:ejb-relation-name>
+            <ns3:ejb-relationship-role>
+                <ns3:ejb-relationship-role-name>Account-Has-AccountProfile</ns3:ejb-relationship-role-name>
+                <ns3:relationship-role-source>
+                    <ns3:ejb-name>AccountEJB</ns3:ejb-name>
+                </ns3:relationship-role-source>
+                <ns3:cmr-field>
+                    <ns3:cmr-field-name>profile</ns3:cmr-field-name>
+                </ns3:cmr-field>
+                <ns3:foreign-key-column-on-source/>
+                <ns3:role-mapping>
+                    <ns3:cmr-field-mapping>
+                        <ns3:key-column>userID</ns3:key-column>
+                        <ns3:foreign-key-column>profile_userID</ns3:foreign-key-column>
+                    </ns3:cmr-field-mapping>
+                </ns3:role-mapping>
+            </ns3:ejb-relationship-role>
+        </ns3:ejb-relation>
+        <ns3:ejb-relation>
+            <ns3:ejb-relation-name>Account-Holdings</ns3:ejb-relation-name>
+            <ns3:ejb-relationship-role>
+                <ns3:ejb-relationship-role-name>AccountEJB</ns3:ejb-relationship-role-name>
+                <ns3:relationship-role-source>
+                    <ns3:ejb-name>AccountEJB</ns3:ejb-name>
+                </ns3:relationship-role-source>
+                <ns3:cmr-field>
+                    <ns3:cmr-field-name>holdings</ns3:cmr-field-name>
+                </ns3:cmr-field>
+                <ns3:role-mapping>
+                    <ns3:cmr-field-mapping>
+                        <ns3:key-column>accountID</ns3:key-column>
+                        <ns3:foreign-key-column>account_accountID</ns3:foreign-key-column>
+                    </ns3:cmr-field-mapping>
+                </ns3:role-mapping>
+            </ns3:ejb-relationship-role>
+        </ns3:ejb-relation>
+        <ns3:ejb-relation>
+            <ns3:ejb-relation-name>Quote-Holdings</ns3:ejb-relation-name>
+            <ns3:ejb-relationship-role>
+                <ns3:ejb-relationship-role-name>Holding-Has-Quote</ns3:ejb-relationship-role-name>
+                <ns3:relationship-role-source>
+                    <ns3:ejb-name>HoldingEJB</ns3:ejb-name>
+                </ns3:relationship-role-source>
+                <ns3:cmr-field>
+                    <ns3:cmr-field-name>quote</ns3:cmr-field-name>
+                </ns3:cmr-field>
+                <ns3:foreign-key-column-on-source/>
+                <ns3:role-mapping>
+                    <ns3:cmr-field-mapping>
+                        <ns3:key-column>symbol</ns3:key-column>
+                        <ns3:foreign-key-column>quote_symbol</ns3:foreign-key-column>
+                    </ns3:cmr-field-mapping>
+                </ns3:role-mapping>
+            </ns3:ejb-relationship-role>
+        </ns3:ejb-relation>
+        <ns3:ejb-relation>
+            <ns3:ejb-relation-name>Quote-Orders</ns3:ejb-relation-name>
+            <ns3:ejb-relationship-role>
+                <ns3:ejb-relationship-role-name>Order-Has-Quote</ns3:ejb-relationship-role-name>
+                <ns3:relationship-role-source>
+                    <ns3:ejb-name>OrderEJB</ns3:ejb-name>
+                </ns3:relationship-role-source>
+                <ns3:cmr-field>
+                    <ns3:cmr-field-name>quote</ns3:cmr-field-name>
+                </ns3:cmr-field>
+                <ns3:foreign-key-column-on-source/>
+                <ns3:role-mapping>
+                    <ns3:cmr-field-mapping>
+                        <ns3:key-column>symbol</ns3:key-column>
+                        <ns3:foreign-key-column>quote_symbol</ns3:foreign-key-column>
+                    </ns3:cmr-field-mapping>
+                </ns3:role-mapping>
+            </ns3:ejb-relationship-role>
+        </ns3:ejb-relation>
+        <ns3:ejb-relation>
+            <ns3:ejb-relation-name>Order-Holding</ns3:ejb-relation-name>
+            <ns3:ejb-relationship-role>
+                <ns3:ejb-relationship-role-name>Order-Has-Holding</ns3:ejb-relationship-role-name>
+                <ns3:relationship-role-source>
+                    <ns3:ejb-name>OrderEJB</ns3:ejb-name>
+                </ns3:relationship-role-source>
+                <ns3:cmr-field>
+                    <ns3:cmr-field-name>holding</ns3:cmr-field-name>
+                </ns3:cmr-field>
+                <ns3:foreign-key-column-on-source/>
+                <ns3:role-mapping>
+                    <ns3:cmr-field-mapping>
+                        <ns3:key-column>holdingID</ns3:key-column>
+                        <ns3:foreign-key-column>holding_holdingID</ns3:foreign-key-column>
+                    </ns3:cmr-field-mapping>
+                </ns3:role-mapping>
+            </ns3:ejb-relationship-role>
+        </ns3:ejb-relation>
+    </ns3:relationships>
+    <ns6:persistence version="1.0">
+        <ns6:persistence-unit transaction-type="JTA" name="daytrader">
+            <ns6:provider>org.apache.openjpa.persistence.PersistenceProviderImpl</ns6:provider>
+            <ns6:jta-data-source>?name=jdbc/TradeDataSource</ns6:jta-data-source>
+            <ns6:non-jta-data-source>?name=jdbc/NoTxTradeDataSource</ns6:non-jta-data-source>
+            <ns6:class>org.apache.geronimo.samples.daytrader.AccountDataBean</ns6:class>
+            <ns6:class>org.apache.geronimo.samples.daytrader.AccountProfileDataBean</ns6:class>
+            <ns6:class>org.apache.geronimo.samples.daytrader.HoldingDataBean</ns6:class>
+            <ns6:class>org.apache.geronimo.samples.daytrader.OrderDataBean</ns6:class>
+            <ns6:class>org.apache.geronimo.samples.daytrader.QuoteDataBean</ns6:class>
+            <ns6:exclude-unlisted-classes>false</ns6:exclude-unlisted-classes>
+            <ns6:properties>
+                <ns6:property value="org.apache.openjpa.jdbc.sql.DerbyDictionary" name="openjpa.jdbc.DBDictionary"/>
+                <ns6:property value="table(Table=OPENJPASEQ, Increment=100)" name="openjpa.Sequence"/>
+            </ns6:properties>
+        </ns6:persistence-unit>
+    </ns6:persistence>
+</ns3:openejb-jar>

Copied: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-original.xml (from r499667, incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/openejb-more-invalid.xml)
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-original.xml?view=diff&rev=499692&p1=incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/openejb-more-invalid.xml&r1=499667&p2=incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-original.xml&r2=499692
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/openejb-more-invalid.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/daytrader-original.xml Wed Jan 24 23:23:10 2007
@@ -1,20 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<openejb-jar xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2">
-
-
-  <!--
-  ##
-  ##  C o n n e c t i o n  F a c t o r y  D e f i n i t i o n
-  ##
-  ##
-  ##
-  -->
+<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
   <cmp-connection-factory>
     <resource-link>jdbc/TradeDataSource</resource-link>
   </cmp-connection-factory>
-  <!--            <ejb-ql-compiler-factory>com.tranql.sql.ejbcompiler.DB2EJBQLCompilerFactory</ejb-ql-compiler-factory>  -->
-  <!--            <db-syntax-factory>com.tranql.sql.db2.DB2DBSyntaxFactory</db-syntax-factory>  -->
-
   <enterprise-beans>
     <session>
       <ejb-name>TradeEJB</ejb-name>
@@ -33,15 +21,6 @@
       <jndi-name>ejb/KeySequenceEJB</jndi-name>
       <cache-size>100</cache-size>
     </session>
-
-
-    <!--
-    ##
-    ##  H o l d i n g E J B
-    ##
-    ##
-    ##
-    -->
     <entity>
       <ejb-name>HoldingEJB</ejb-name>
       <table-name>HOLDINGEJB</table-name>
@@ -62,15 +41,6 @@
         <table-column>purchaseDate</table-column>
       </cmp-field-mapping>
     </entity>
-
-
-    <!--
-    ##
-    ##  A c c o u n t P r o f i l e E J B
-    ##
-    ##
-    ##
-    -->
     <entity>
       <ejb-name>AccountProfileEJB</ejb-name>
       <table-name>AccountProfileEJB</table-name>
@@ -99,15 +69,6 @@
         <table-column>fullName</table-column>
       </cmp-field-mapping>
     </entity>
-
-
-    <!--
-    ##
-    ##  Q u o t e E J B
-    ##
-    ##
-    ##
-    -->
     <entity>
       <ejb-name>QuoteEJB</ejb-name>
       <table-name>QuoteEJB</table-name>
@@ -144,15 +105,6 @@
         <table-column>change1</table-column>
       </cmp-field-mapping>
     </entity>
-
-
-    <!--
-    ##
-    ##  K e y G e n E J B
-    ##
-    ##
-    ##
-    -->
     <entity>
       <ejb-name>KeyGenEJB</ejb-name>
       <table-name>KeyGenEJB</table-name>
@@ -165,15 +117,6 @@
         <table-column>keyName</table-column>
       </cmp-field-mapping>
     </entity>
-
-
-    <!--
-    ##
-    ##  A c c o u n t E J B
-    ##
-    ##
-    ##
-    -->
     <entity>
       <ejb-name>AccountEJB</ejb-name>
       <table-name>AccountEJB</table-name>
@@ -206,15 +149,6 @@
         <table-column>loginCount</table-column>
       </cmp-field-mapping>
     </entity>
-
-
-    <!--
-    ##
-    ##  O r d e r E J B
-    ##
-    ##
-    ##
-    -->
     <entity>
       <ejb-name>OrderEJB</ejb-name>
       <table-name>OrderEJB</table-name>
@@ -251,12 +185,9 @@
         <table-column>orderID</table-column>
       </cmp-field-mapping>
     </entity>
-
-
     <message-driven>
       <ejb-name>TradeStreamerMDB</ejb-name>
       <resource-adapter>
-        <!--<resource-link>TradeJMS</resource-link>-->
         <resource-link>TradeJMSResources</resource-link>
       </resource-adapter>
       <activation-config>
@@ -278,11 +209,9 @@
         </activation-config-property>
       </activation-config>
     </message-driven>
-
     <message-driven>
       <ejb-name>TradeBrokerMDB</ejb-name>
       <resource-adapter>
-        <!--<resource-link>TradeJMS</resource-link>-->
         <resource-link>TradeJMSResources</resource-link>
       </resource-adapter>
       <activation-config>
@@ -305,14 +234,6 @@
       </activation-config>
     </message-driven>
   </enterprise-beans>
-
-  <!--
-  **
-  ** R e l a t i o n s h i p s   D e f i n i t i o n s
-  **
-  **
-  ** The following section defines the relationshoips for the entity beans in the application.
-  -->
   <relationships>
     <ejb-relation>
       <ejb-relation-name>Account-Orders</ejb-relation-name>
@@ -332,15 +253,6 @@
         </role-mapping>
       </ejb-relationship-role>
     </ejb-relation>
-
-
-    <!--
-    **
-    ** A c c o u n t   -   A c c o u n t P r o f i l e
-    **
-    **
-    ** The following section defines the relationships for the entity beans in the application.
-    -->
     <ejb-relation>
       <ejb-relation-name>Account-AccountProfile</ejb-relation-name>
       <ejb-relationship-role>
@@ -360,15 +272,6 @@
         </role-mapping>
       </ejb-relationship-role>
     </ejb-relation>
-
-
-    <!--
-    **
-    ** A c c o u n t   -   H o l d i n g s
-    **
-    **
-    **
-    -->
     <ejb-relation>
       <ejb-relation-name>Account-Holdings</ejb-relation-name>
       <ejb-relationship-role>
@@ -387,15 +290,6 @@
         </role-mapping>
       </ejb-relationship-role>
     </ejb-relation>
-
-
-    <!--
-    **
-    ** Q u o t e  -  H o l d i n g s
-    **
-    **
-    ** The following section defines the relationships for the entity beans in the application.
-    -->
     <ejb-relation>
       <ejb-relation-name>Quote-Holdings</ejb-relation-name>
       <ejb-relationship-role>
@@ -415,15 +309,6 @@
         </role-mapping>
       </ejb-relationship-role>
     </ejb-relation>
-
-
-    <!--
-    **
-    ** Q u o t e   -   O r d e r s
-    **
-    **
-    ** The following section defines the relationships for the entity beans in the application.
-    -->
     <ejb-relation>
       <ejb-relation-name>Quote-Orders</ejb-relation-name>
       <ejb-relationship-role>
@@ -443,15 +328,6 @@
         </role-mapping>
       </ejb-relationship-role>
     </ejb-relation>
-
-
-    <!--
-    **
-    ** O r d e r  -   H o l d i n g
-    **
-    **
-    ** The following section defines the relationships for the entity beans in the application.
-    -->
     <ejb-relation>
       <ejb-relation-name>Order-Holding</ejb-relation-name>
       <ejb-relationship-role>
@@ -473,10 +349,7 @@
     </ejb-relation>
   </relationships>
   <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
     <persistence-unit transaction-type="JTA" name="daytrader">
-
-
       <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
       <jta-data-source>?name=jdbc/TradeDataSource</jta-data-source>
       <non-jta-data-source>?name=jdbc/NoTxTradeDataSource</non-jta-data-source>
@@ -488,10 +361,8 @@
       <exclude-unlisted-classes/>
       <properties>
         <property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
-        <!--<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>-->
         <property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>
       </properties>
     </persistence-unit>
   </persistence>
-
 </openejb-jar>