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 2006/11/08 20:29:00 UTC

svn commit: r472604 - in /incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src: cmp2/ main/resources/META-INF/ejb-jar.xml main/resources/META-INF/openejb-jar.xml

Author: dblevins
Date: Wed Nov  8 11:28:59 2006
New Revision: 472604

URL: http://svn.apache.org/viewvc?view=rev&rev=472604
Log:
merged the cmp2 descriptors into the core

Removed:
    incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/cmp2/
Modified:
    incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/ejb-jar.xml
    incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/openejb-jar.xml

Modified: incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/ejb-jar.xml?view=diff&rev=472604&r1=472603&r2=472604
==============================================================================
--- incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/ejb-jar.xml (original)
+++ incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/ejb-jar.xml Wed Nov  8 11:28:59 2006
@@ -1293,8 +1293,418 @@
                 <role-link>Executive</role-link>
             </security-role-ref>
         </entity>
+
+
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMR Mapping Beans                               ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <entity>
+            <ejb-name>OneOwningSideBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.cmrmapping.OneOwningSideLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.cmrmapping.OneOwningSideLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.cmrmapping.OneOwningSideBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>org.apache.openejb.test.entity.cmp2.cmrmapping.CompoundPK</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Order</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>field1</field-name></cmp-field>
+        </entity>
+
+        <entity>
+            <ejb-name>OneInverseSideBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.cmrmapping.OneInverseSideLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.cmrmapping.OneInverseSideLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.cmrmapping.OneInverseSideBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Order</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <primkey-field>id</primkey-field>
+        </entity>
+
+        <entity>
+            <ejb-name>ManyOwningSideBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.cmrmapping.ManyOwningSideLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.cmrmapping.ManyOwningSideLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.cmrmapping.ManyOwningSideBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>org.apache.openejb.test.entity.cmp2.cmrmapping.CompoundPK</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Order</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>field1</field-name></cmp-field>
+            <query>
+                <query-method>
+                    <method-name>ejbSelectSomething</method-name>
+                    <method-params>
+                        <method-param>java.lang.Integer</method-param>
+                    </method-params>
+                </query-method>
+                <ejb-ql>SELECT m.oneInverseSide FROM Order m WHERE m.id = ?1</ejb-ql>
+            </query>
+        </entity>
+
+        <session>
+            <ejb-name>CMRMappingFacadeBean</ejb-name>
+            <home>org.apache.openejb.test.entity.cmp2.cmrmapping.CMRMappingFacadeHome</home>
+            <remote>org.apache.openejb.test.entity.cmp2.cmrmapping.CMRMappingFacadeRemote</remote>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.cmrmapping.CMRMappingFacadeBean</ejb-class>
+            <session-type>Stateless</session-type>
+            <transaction-type>Bean</transaction-type>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/OneOwningSideLocalHome</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.cmrmapping.OneOwningSideLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.cmrmapping.OneOwningSideLocal</local>
+                <ejb-link>OneOwningSideBean</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/OneInverseSideLocalHome</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.cmrmapping.OneInverseSideLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.cmrmapping.OneInverseSideLocal</local>
+                <ejb-link>OneInverseSideBean</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/ManyOwningSideLocalHome</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.cmrmapping.ManyOwningSideLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.cmrmapping.ManyOwningSideLocal</local>
+                <ejb-link>ManyOwningSideBean</ejb-link>
+            </ejb-local-ref>
+        </session>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Petstore Beans                             ##
+        ##                                                   ###
+        ########################################################
+        -->
+        <entity>
+          <display-name>AddressEJB</display-name>
+          <ejb-name>AddressEJB</ejb-name>
+          <local-home>org.apache.openejb.test.entity.cmp2.petstore.AddressLocalHome</local-home>
+          <local>org.apache.openejb.test.entity.cmp2.petstore.AddressLocal</local>
+          <ejb-class>org.apache.openejb.test.entity.cmp2.petstore.AddressEJB</ejb-class>
+          <persistence-type>Container</persistence-type>
+          <prim-key-class>java.lang.Object</prim-key-class>
+          <reentrant>False</reentrant>
+          <cmp-version>2.x</cmp-version>
+          <abstract-schema-name>Address</abstract-schema-name>
+          <cmp-field>
+            <description>no description</description>
+            <field-name>street</field-name>
+          </cmp-field>
+          <cmp-field>
+            <description>no description</description>
+            <field-name>city</field-name>
+          </cmp-field>
+          <security-identity>
+            <description></description>
+            <use-caller-identity></use-caller-identity>
+          </security-identity>
+        </entity>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Prefetch Beans                             ##
+        ##                                                   ###
+        ########################################################
+        -->
+        <entity>
+            <ejb-name>AddressBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.model.AddressLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.model.AddressLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.model.AddressBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Address</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>street</field-name></cmp-field>
+            <cmp-field><field-name>city</field-name></cmp-field>
+            <primkey-field>id</primkey-field>
+        </entity>
+
+        <entity>
+            <ejb-name>LineItemBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.model.LineItemLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.model.LineItemLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.model.LineItemBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>LineItem</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>quantity</field-name></cmp-field>
+            <primkey-field>id</primkey-field>
+        </entity>
+
+        <entity>
+            <ejb-name>OrderBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.model.OrderLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.model.OrderLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.model.OrderBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Order</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>reference</field-name></cmp-field>
+            <primkey-field>id</primkey-field>
+            <query>
+                <query-method>
+                    <method-name>findPrefetchAll</method-name>
+                    <method-params>
+                        <method-param>java.lang.Integer</method-param>
+                    </method-params>
+                </query-method>
+                <ejb-ql>
+                    <![CDATA[SELECT OBJECT(o) FROM Order AS o WHERE o.id = ?1]]>
+                </ejb-ql>
+            </query>
+        </entity>
+
+        <entity>
+            <ejb-name>ProductBean</ejb-name>
+            <local-home>org.apache.openejb.test.entity.cmp2.model.ProductLocalHome</local-home>
+            <local>org.apache.openejb.test.entity.cmp2.model.ProductLocal</local>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.model.ProductBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Product</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>name</field-name></cmp-field>
+            <cmp-field><field-name>productType</field-name></cmp-field>
+            <primkey-field>id</primkey-field>
+        </entity>
+
+        <session>
+            <ejb-name>PrefetchFacadeBean</ejb-name>
+            <home>org.apache.openejb.test.entity.cmp2.prefetch.PrefetchFacadeHome</home>
+            <remote>org.apache.openejb.test.entity.cmp2.prefetch.PrefetchFacadeObject</remote>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.prefetch.PrefetchFacadeBean</ejb-class>
+            <session-type>Stateless</session-type>
+            <transaction-type>Bean</transaction-type>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/Address</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.model.AddressLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.model.AddressLocal</local>
+                <ejb-link>AddressBean</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/LineItem</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.model.LineItemLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.model.LineItemLocal</local>
+                <ejb-link>LineItemBean</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/Order</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.model.OrderLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.model.OrderLocal</local>
+                <ejb-link>OrderBean</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <ejb-ref-name>ejb/Product</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>org.apache.openejb.test.entity.cmp2.model.ProductLocalHome</local-home>
+                <local>org.apache.openejb.test.entity.cmp2.model.ProductLocal</local>
+                <ejb-link>ProductBean</ejb-link>
+            </ejb-local-ref>
+            <resource-ref>
+                <res-ref-name>jdbc/CMPDatasource</res-ref-name>
+                <res-type>javax.sql.DataSource</res-type>
+                <res-auth>Container</res-auth>
+            </resource-ref>
+        </session>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Storage Beans                              ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <entity>
+            <ejb-name>StorageBean</ejb-name>
+            <home>org.apache.openejb.test.entity.cmp2.model.StorageHome</home>
+            <remote>org.apache.openejb.test.entity.cmp2.model.StorageRemote</remote>
+            <ejb-class>org.apache.openejb.test.entity.cmp2.model.StorageBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>false</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Storage</abstract-schema-name>
+            <cmp-field><field-name>id</field-name></cmp-field>
+            <cmp-field><field-name>blob</field-name></cmp-field>
+            <cmp-field><field-name>char</field-name></cmp-field>
+            <primkey-field>id</primkey-field>
+            <resource-ref>
+                <res-ref-name>jdbc/DefaultDatabase</res-ref-name>
+                <res-type>javax.sql.DataSource</res-type>
+                <res-auth>Container</res-auth>
+            </resource-ref>
+        </entity>
+
     </enterprise-beans>
 
+    <relationships>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMR Mapping Relationships                       ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <ejb-relation>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>OneOwningSideBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>oneInverseSide</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>OneInverseSideBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>oneOwningSide</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>ManyOwningSideBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>oneInverseSide</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>OneInverseSideBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>manyOwningSide</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Prefetch Relationships                     ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <ejb-relation>
+            <ejb-relationship-role>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>OrderBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>shippingAddress</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>AddressBean</ejb-name>
+                </relationship-role-source>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>OrderBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>billingAddress</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>AddressBean</ejb-name>
+                </relationship-role-source>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>OrderBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>lineItems</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>LineItemBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>order</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <multiplicity>One</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>ProductBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>lineItems</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <ejb-name>LineItemBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>product</cmr-field-name>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+    </relationships>
+
     <assembly-descriptor>
         <security-role>
             <description>The description</description>
@@ -1479,6 +1889,227 @@
                 <method-name>*</method-name>
             </method>
             <trans-attribute>Never</trans-attribute>
+        </container-transaction>
+
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMR Mapping Assembly                            ##
+        ##                                                   ###
+        ########################################################
+        -->
+        <container-transaction>
+            <method>
+                <ejb-name>OneOwningSideBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>OneInverseSideBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>ManyOwningSideBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Petstore Assembly                          ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <method-permission>
+            <unchecked/>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>getCity</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>getStreet</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>getPrimaryKey</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>LocalHome</method-intf>
+                <method-name>remove</method-name>
+                <method-params>
+                    <method-param>java.lang.Object</method-param>
+                </method-params>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>LocalHome</method-intf>
+                <method-name>create</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>getEJBLocalHome</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>isIdentical</method-name>
+                <method-params>
+                    <method-param>javax.ejb.EJBLocalObject</method-param>
+                </method-params>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>remove</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>setStreet</method-name>
+                <method-params>
+                    <method-param>java.lang.String</method-param>
+                </method-params>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>setCity</method-name>
+                <method-params>
+                    <method-param>java.lang.String</method-param>
+                </method-params>
+            </method>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>LocalHome</method-intf>
+                <method-name>findByPrimaryKey</method-name>
+                <method-params>
+                    <method-param>java.lang.Object</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <container-transaction>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>setStreet</method-name>
+                <method-params>
+                    <method-param>java.lang.String</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>getCity</method-name>
+                <method-params/>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>remove</method-name>
+                <method-params/>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>getStreet</method-name>
+                <method-params/>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>AddressEJB</ejb-name>
+                <method-intf>Local</method-intf>
+                <method-name>setCity</method-name>
+                <method-params>
+                    <method-param>java.lang.String</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Prefetch Assembly                          ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <container-transaction>
+            <method>
+                <ejb-name>AddressBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>LineItemBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>OrderBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <method>
+                <ejb-name>ProductBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Storage Assembly                           ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <container-transaction>
+            <method>
+                <ejb-name>StorageBean</ejb-name>
+                <method-name>*</method-name>
+            </method>
+            <trans-attribute>RequiresNew</trans-attribute>
         </container-transaction>
 
     </assembly-descriptor>

Modified: incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/openejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/openejb-jar.xml?view=diff&rev=472604&r1=472603&r2=472604
==============================================================================
--- incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/openejb-jar.xml (original)
+++ incubator/openejb/trunk/openejb2/itests/openejb-itests-core/src/main/resources/META-INF/openejb-jar.xml Wed Nov  8 11:28:59 2006
@@ -531,7 +531,367 @@
                 </custom-generator>
             </key-generator>
         </entity>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMR Mapping Beans                               ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <entity>
+            <ejb-name>OneOwningSideBean</ejb-name>
+            <table-name>OneOwning</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>col_id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>field1</cmp-field-name>
+                <table-column>col_field1</table-column>
+            </cmp-field-mapping>
+        </entity>
+        <entity>
+            <ejb-name>OneInverseSideBean</ejb-name>
+            <table-name>OneInverse</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>col_id</table-column>
+            </cmp-field-mapping>
+        </entity>
+        <entity>
+            <ejb-name>ManyOwningSideBean</ejb-name>
+            <table-name>ManyOwning</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>col_id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>field1</cmp-field-name>
+                <table-column>col_field1</table-column>
+            </cmp-field-mapping>
+        </entity>
+
+        <session>
+            <ejb-name>CMRMappingFacadeBean</ejb-name>
+            <jndi-name>cmp2/CMRMappingFacade</jndi-name>
+        </session>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Petstore Beans                             ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <entity>
+          <ejb-name>AddressEJB</ejb-name>
+          <jndi-name>client/tests/cmp2/petstore/Address</jndi-name>
+          <table-name>address</table-name>
+          <cmp-field-mapping>
+            <cmp-field-name>id</cmp-field-name>
+            <cmp-field-class>java.lang.Integer</cmp-field-class>
+            <table-column>id</table-column>
+          </cmp-field-mapping>
+          <cmp-field-mapping>
+            <cmp-field-name>street</cmp-field-name>
+            <table-column>street</table-column>
+          </cmp-field-mapping>
+          <cmp-field-mapping>
+            <cmp-field-name>city</cmp-field-name>
+            <table-column>city</table-column>
+          </cmp-field-mapping>
+          <primkey-field>id</primkey-field>
+          <key-generator xmlns="http://www.openejb.org/xml/ns/pkgen-2.0">
+            <auto-increment-table>
+              <sql>insert into sequence_table (dummy) values (1)</sql>
+              <return-type>java.lang.Integer</return-type>
+            </auto-increment-table>
+          </key-generator>
+        </entity>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Prefetch Beans                             ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <entity>
+            <ejb-name>AddressBean</ejb-name>
+            <table-name>address</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>street</cmp-field-name>
+                <table-column>street</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>city</cmp-field-name>
+                <table-column>city</table-column>
+            </cmp-field-mapping>
+            <prefetch-group>
+                <group>
+                    <group-name>prefetchAll</group-name>
+                    <cmp-field-name>street</cmp-field-name>
+                    <cmp-field-name>city</cmp-field-name>
+                </group>
+            </prefetch-group>
+        </entity>
+        <entity>
+            <ejb-name>LineItemBean</ejb-name>
+            <table-name>line_item</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>quantity</cmp-field-name>
+                <table-column>quantity</table-column>
+            </cmp-field-mapping>
+            <prefetch-group>
+                <group>
+                    <group-name>prefetchAll</group-name>
+                    <cmp-field-name>quantity</cmp-field-name>
+                    <cmr-field>
+                        <cmr-field-name>product</cmr-field-name>
+                    </cmr-field>
+                </group>
+                <entity-group-mapping>
+                    <group-name>prefetchAll</group-name>
+                </entity-group-mapping>
+            </prefetch-group>
+        </entity>
+        <entity>
+            <ejb-name>OrderBean</ejb-name>
+            <table-name>order_table</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>reference</cmp-field-name>
+                <table-column>reference</table-column>
+            </cmp-field-mapping>
+            <prefetch-group>
+                <group>
+                    <group-name>prefetchAll</group-name>
+                    <cmp-field-name>reference</cmp-field-name>
+                    <cmr-field>
+                        <cmr-field-name>shippingAddress</cmr-field-name>
+                    </cmr-field>
+                    <cmr-field>
+                        <cmr-field-name>billingAddress</cmr-field-name>
+                    </cmr-field>
+                    <cmr-field>
+                        <cmr-field-name>lineItems</cmr-field-name>
+                    </cmr-field>
+                </group>
+            </prefetch-group>
+            <query>
+                <query-method>
+                    <method-name>findPrefetchAll</method-name>
+                    <method-params>
+                        <method-param>java.lang.Integer</method-param>
+                    </method-params>
+                </query-method>
+                <group-name>prefetchAll</group-name>
+            </query>
+        </entity>
+        <entity>
+            <ejb-name>ProductBean</ejb-name>
+            <table-name>product</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>name</cmp-field-name>
+                <table-column>name</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>productType</cmp-field-name>
+                <table-column>product_type</table-column>
+            </cmp-field-mapping>
+            <prefetch-group>
+                <group>
+                    <group-name>prefetchAll</group-name>
+                    <cmp-field-name>name</cmp-field-name>
+                    <cmp-field-name>productType</cmp-field-name>
+                </group>
+            </prefetch-group>
+        </entity>
+
+        <session>
+            <ejb-name>PrefetchFacadeBean</ejb-name>
+            <jndi-name>cmp2/Prefetch/PrefetchFacade</jndi-name>
+            <resource-ref>
+                <ref-name>jdbc/CMPDatasource</ref-name>
+                <application>null</application>
+                <module>geronimo/default-database/${geronimo_version}/car</module>
+                <name>DefaultDatasource</name>
+            </resource-ref>
+        </session>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Storage Beans                              ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <entity>
+            <ejb-name>StorageBean</ejb-name>
+            <jndi-name>cmp2/Storage</jndi-name>
+            <table-name>storage</table-name>
+            <cmp-field-mapping>
+                <cmp-field-name>id</cmp-field-name>
+                <table-column>id</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>blob</cmp-field-name>
+                <table-column>blob_column</table-column>
+            </cmp-field-mapping>
+            <cmp-field-mapping>
+                <cmp-field-name>char</cmp-field-name>
+                <table-column>char_column</table-column>
+                <sql-type>CHAR</sql-type>
+            </cmp-field-mapping>
+            <resource-ref>
+                <ref-name>jdbc/DefaultDatabase</ref-name>
+                <application>null</application>
+                <module>geronimo/default-database/${geronimo_version}/car</module>
+                <name>DefaultDatasource</name>
+            </resource-ref>
+        </entity>
+
     </enterprise-beans>
+
+    <relationships>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMR Mapping Relationships                       ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <ejb-relation>
+            <ejb-relationship-role>
+                <relationship-role-source>
+                    <ejb-name>OneInverseSideBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>oneOwningSide</cmr-field-name>
+                </cmr-field>
+                <role-mapping>
+                    <cmr-field-mapping>
+                        <key-column>col_id</key-column>
+                        <foreign-key-column>col_field1</foreign-key-column>
+                    </cmr-field-mapping>
+                </role-mapping>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <relationship-role-source>
+                    <ejb-name>OneInverseSideBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>manyOwningSide</cmr-field-name>
+                </cmr-field>
+                <role-mapping>
+                    <cmr-field-mapping>
+                        <key-column>col_id</key-column>
+                        <foreign-key-column>col_field1</foreign-key-column>
+                    </cmr-field-mapping>
+                </role-mapping>
+            </ejb-relationship-role>
+        </ejb-relation>
+
+        <!--
+        ########################################################
+        ###                                                   ##
+        ##    CMP2 Prefetch Relationships                     ##
+        ##                                                   ###
+        ########################################################
+        -->
+
+        <ejb-relation>
+            <ejb-relationship-role>
+                <relationship-role-source>
+                    <ejb-name>OrderBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>shippingAddress</cmr-field-name>
+                </cmr-field>
+                <foreign-key-column-on-source/>
+                <role-mapping>
+                    <cmr-field-mapping>
+                        <key-column>id</key-column>
+                        <foreign-key-column>fk_shipping_address</foreign-key-column>
+                    </cmr-field-mapping>
+                </role-mapping>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <relationship-role-source>
+                    <ejb-name>OrderBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>billingAddress</cmr-field-name>
+                </cmr-field>
+                <foreign-key-column-on-source/>
+                <role-mapping>
+                    <cmr-field-mapping>
+                        <key-column>id</key-column>
+                        <foreign-key-column>fk_billing_address</foreign-key-column>
+                    </cmr-field-mapping>
+                </role-mapping>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <relationship-role-source>
+                    <ejb-name>OrderBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>lineItems</cmr-field-name>
+                </cmr-field>
+                <role-mapping>
+                    <cmr-field-mapping>
+                        <key-column>id</key-column>
+                        <foreign-key-column>fk_order</foreign-key-column>
+                    </cmr-field-mapping>
+                </role-mapping>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <ejb-relationship-role>
+                <relationship-role-source>
+                    <ejb-name>ProductBean</ejb-name>
+                </relationship-role-source>
+                <cmr-field>
+                    <cmr-field-name>lineItems</cmr-field-name>
+                </cmr-field>
+                <role-mapping>
+                    <cmr-field-mapping>
+                        <key-column>id</key-column>
+                        <foreign-key-column>fk_product</foreign-key-column>
+                    </cmr-field-mapping>
+                </role-mapping>
+            </ejb-relationship-role>
+        </ejb-relation>
+
+    </relationships>
 
     <gbean gbeanName="geronimo.server:role=CMPPKGenerator,name=Entity" class="org.openejb.entity.cmp.pkgenerator.AutoIncrementTablePrimaryKeyGeneratorWrapper">
         <reference name="ManagedConnectionFactoryWrapper"><gbean-name>*:J2EEApplication=null,JCAResource=geronimo/default-database/${geronimo_version}/car,j2eeType=JCAManagedConnectionFactory,name=DefaultDatasource,*</gbean-name></reference>