<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
    <enterprise-beans>
        <session>
            <display-name>AuctionService</display-name>
            <ejb-name>AuctionService</ejb-name>
            <home>com.middleware_company.torpedo.auction.AuctionServiceHome</home>
            <remote>com.middleware_company.torpedo.auction.AuctionService</remote>
            <ejb-class>com.middleware_company.torpedo.auction.AuctionServiceBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
            <env-entry>
                <description />
                <env-entry-name>PersistenceClass</env-entry-name>
                <env-entry-type>java.lang.String</env-entry-type>
                <env-entry-value>com.middleware_company.torpedo.auction.cmp.Persistence</env-entry-value>
            </env-entry>
        </session>
        <session>
            <display-name>TORPEDOAuctionService</display-name>
            <ejb-name>TORPEDOAuctionService</ejb-name>
            <home>com.middleware_company.torpedo.auction.AuctionServiceHome</home>
            <remote>com.middleware_company.torpedo.auction.AuctionService</remote>
            <ejb-class>com.middleware_company.torpedo.auction.TORPEDOAuctionServiceBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
            <ejb-ref>
                <description />
                <ejb-ref-name>ejb/AuctionService</ejb-ref-name>
                <ejb-ref-type>Session</ejb-ref-type>
                <home>com.middleware_company.torpedo.auction.AuctionServiceHome</home>
                <remote>com.middleware_company.torpedo.auction.AuctionService</remote>
            </ejb-ref>
        </session>
        <entity>
            <display-name>AuctionBean</display-name>
            <ejb-name>AuctionBean</ejb-name>
            <local-home>com.middleware_company.torpedo.auction.cmp.AuctionHome</local-home>
            <local>com.middleware_company.torpedo.auction.cmp.Auction</local>
            <ejb-class>com.middleware_company.torpedo.auction.cmp.AuctionBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.String</prim-key-class>
            <reentrant>False</reentrant>
            <cmp-version>2.x</cmp-version>
            <abstract-schema-name>AuctionBean</abstract-schema-name>
            <cmp-field>
                <field-name>lowPrice</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>id</field-name>
            </cmp-field>
            <primkey-field>id</primkey-field>
            <query>
                <query-method>
                    <method-name>findAllAuctions</method-name>
                    <method-params />
                </query-method>
                <ejb-ql>SELECT OBJECT(a) FROM AuctionBean a</ejb-ql>
            </query>
        </entity>
        <entity>
            <display-name>BidBean</display-name>
            <ejb-name>BidBean</ejb-name>
            <local-home>com.middleware_company.torpedo.auction.cmp.BidHome</local-home>
            <local>com.middleware_company.torpedo.auction.cmp.Bid</local>
            <ejb-class>com.middleware_company.torpedo.auction.cmp.BidBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.String</prim-key-class>
            <reentrant>False</reentrant>
            <cmp-version>2.x</cmp-version>
            <abstract-schema-name>BidBean</abstract-schema-name>
            <cmp-field>
                <field-name>amount</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>maxAmount</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>id</field-name>
            </cmp-field>
            <primkey-field>id</primkey-field>
            <query>
                <query-method>
                    <method-name>findHighBidsForAuction</method-name>
                    <method-params>
                        <method-param>java.lang.String</method-param>
                    </method-params>
                </query-method>
                <ejb-ql>SELECT OBJECT(bid) FROM BidBean As bid WHERE bid.amount=(SELECT MAX(bid2.amount) FROM BidBean AS bid2 WHERE bid2.auction.id=?1)</ejb-ql>
            </query>
        </entity>
        <entity>
            <display-name>UserBean</display-name>
            <ejb-name>UserBean</ejb-name>
            <local-home>com.middleware_company.torpedo.auction.cmp.UserHome</local-home>
            <local>com.middleware_company.torpedo.auction.cmp.User</local>
            <ejb-class>com.middleware_company.torpedo.auction.cmp.UserBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.String</prim-key-class>
            <reentrant>False</reentrant>
            <cmp-version>2.x</cmp-version>
            <abstract-schema-name>UserBean</abstract-schema-name>
            <cmp-field>
                <field-name>id</field-name>
            </cmp-field>
            <primkey-field>id</primkey-field>
        </entity>
        <entity>
            <display-name>ItemBean</display-name>
            <ejb-name>ItemBean</ejb-name>
            <local-home>com.middleware_company.torpedo.auction.cmp.ItemHome</local-home>
            <local>com.middleware_company.torpedo.auction.cmp.Item</local>
            <ejb-class>com.middleware_company.torpedo.auction.cmp.ItemBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.lang.String</prim-key-class>
            <reentrant>False</reentrant>
            <cmp-version>2.x</cmp-version>
            <abstract-schema-name>ItemBean</abstract-schema-name>
            <cmp-field>
                <field-name>itemName</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>graphicFilename</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>description</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>id</field-name>
            </cmp-field>
            <primkey-field>id</primkey-field>
        </entity>
    </enterprise-beans>
    <relationships>
        <ejb-relation>
            <ejb-relation-name>auctionBean-bidBean</ejb-relation-name>
            <ejb-relationship-role>
                <description>auctionBean</description>
                <ejb-relationship-role-name>AuctionBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>One</multiplicity>
                <relationship-role-source>
                    <description>auctionBean</description>
                    <ejb-name>AuctionBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>bidBean</description>
                    <cmr-field-name>bids</cmr-field-name>
                    <cmr-field-type>java.util.Collection</cmr-field-type>
                </cmr-field>
            </ejb-relationship-role>
            <ejb-relationship-role>
                <description>bidBean</description>
                <ejb-relationship-role-name>BidBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>Many</multiplicity>
                <cascade-delete />
                <relationship-role-source>
                    <description>bidBean</description>
                    <ejb-name>BidBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>auctionBean</description>
                    <cmr-field-name>auction</cmr-field-name>
                </cmr-field>
            </ejb-relationship-role>
        </ejb-relation>
        <ejb-relation>
            <ejb-relation-name>itemBean-auctionBean</ejb-relation-name>
            <ejb-relationship-role>
                <description>itemBean</description>
                <ejb-relationship-role-name>ItemBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>One</multiplicity>
                <relationship-role-source>
                    <description>itemBean</description>
                    <ejb-name>ItemBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>auctionBean</description>
                    <cmr-field-name>auction</cmr-field-name>
                </cmr-field>
            </ejb-relationship-role>
            <ejb-relationship-role>
                <description>auctionBean</description>
                <ejb-relationship-role-name>AuctionBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>One</multiplicity>
                <relationship-role-source>
                    <description>auctionBean</description>
                    <ejb-name>AuctionBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>itemBean</description>
                    <cmr-field-name>item_cmp</cmr-field-name>
                </cmr-field>
            </ejb-relationship-role>
        </ejb-relation>
        <ejb-relation>
            <ejb-relation-name>userBean-bidBean</ejb-relation-name>
            <ejb-relationship-role>
                <description>userBean</description>
                <ejb-relationship-role-name>UserBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>One</multiplicity>
                <relationship-role-source>
                    <description>userBean</description>
                    <ejb-name>UserBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>bidBean</description>
                    <cmr-field-name>bids</cmr-field-name>
                    <cmr-field-type>java.util.Collection</cmr-field-type>
                </cmr-field>
            </ejb-relationship-role>
            <ejb-relationship-role>
                <description>bidBean</description>
                <ejb-relationship-role-name>BidBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>Many</multiplicity>
                <relationship-role-source>
                    <description>bidBean</description>
                    <ejb-name>BidBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>userBean</description>
                    <cmr-field-name>buyer_cmp</cmr-field-name>
                </cmr-field>
            </ejb-relationship-role>
        </ejb-relation>
        <ejb-relation>
            <ejb-relation-name>userBean-auctionBean</ejb-relation-name>
            <ejb-relationship-role>
                <description>userBean</description>
                <ejb-relationship-role-name>UserBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>One</multiplicity>
                <relationship-role-source>
                    <description>userBean</description>
                    <ejb-name>UserBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>auctionBean</description>
                    <cmr-field-name>auctions</cmr-field-name>
                    <cmr-field-type>java.util.Collection</cmr-field-type>
                </cmr-field>
            </ejb-relationship-role>
            <ejb-relationship-role>
                <description>auctionBean</description>
                <ejb-relationship-role-name>AuctionBeanRelationshipRole</ejb-relationship-role-name>
                <multiplicity>Many</multiplicity>
                <relationship-role-source>
                    <description>auctionBean</description>
                    <ejb-name>AuctionBean</ejb-name>
                </relationship-role-source>
                <cmr-field>
                    <description>userBean</description>
                    <cmr-field-name>seller_cmp</cmr-field-name>
                </cmr-field>
            </ejb-relationship-role>
        </ejb-relation>
    </relationships>
    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>BidBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        <container-transaction>
            <method>
                <ejb-name>UserBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        <container-transaction>
            <method>
                <ejb-name>ItemBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        <container-transaction>
            <method>
                <description />
                <ejb-name>AuctionBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        <container-transaction>
            <method>
                <description />
                <ejb-name>TORPEDOAuctionService</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Never</trans-attribute>
        </container-transaction>
        <container-transaction>
            <method>
                <description />
                <ejb-name>AuctionService</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        <container-transaction>
            <method>
                <description />
                <ejb-name>AuctionService</ejb-name>
                <method-name>listAuctionTwiceWithoutTransaction</method-name>
            </method>
            <trans-attribute>Never</trans-attribute>
        </container-transaction>
    </assembly-descriptor>
</ejb-jar>
