4 Replies Latest reply on Apr 3, 2006 8:46 AM by dimitris

    problem with implementing TimedObject, ejb verification fail

    boostbox

      Hi, i'm using jboss 3.2.5. Developing in myeclipse with xdoclet.

      I have a session bean wich implements the javax.ejb.TimedObject interface. Everything compiles, but under deployment i get an ejb spec violation.

      Section: 22.2
      Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb-class> element.

      I have searched google and this forum, but can't find a solution. Please help.

        • 1. Re: problem with implementing TimedObject, ejb verification
          jaikiran

          How is your application packaged? Is it an .ear? Post your ejb-jar.xml and also the output of the following command:

          jar -tf yourApp.ear


          This command will print the contents of your application

          • 2. Re: problem with implementing TimedObject, ejb verification
            boostbox

            No, at the moment it's not an ear, only a .jar file. It's a pretty large jarfile, everything works just fine until i try to implement the javax.ejb.TimedObject

            boostbox/
            boostbox/cmp/
            boostbox/cmp/ejb/
            boostbox/cmp/ejb/Customer.class
            boostbox/cmp/ejb/CustomerCMP.class
            boostbox/cmp/ejb/File.class
            boostbox/cmp/ejb/FileCMP.class
            boostbox/cmp/ejb/File_Playlist_Link.class
            boostbox/cmp/ejb/File_Playlist_LinkCMP.class
            boostbox/cmp/ejb/ModuleType.class
            boostbox/cmp/ejb/ModuleTypeCMP.class
            boostbox/cmp/ejb/Order.class
            boostbox/cmp/ejb/OrderCMP.class
            boostbox/cmp/ejb/Order_type.class
            boostbox/cmp/ejb/Order_typeCMP.class
            boostbox/cmp/ejb/PlayedStatistics.class
            boostbox/cmp/ejb/PlayedStatisticsCMP.class
            boostbox/cmp/ejb/Playlist.class
            boostbox/cmp/ejb/PlaylistCMP.class
            boostbox/cmp/ejb/Show.class
            boostbox/cmp/ejb/ShowCMP.class
            boostbox/cmp/ejb/SmsSystemMessage.class
            boostbox/cmp/ejb/SmsSystemMessageCMP.class
            boostbox/cmp/ejb/Template.class
            boostbox/cmp/ejb/TemplateCMP.class
            boostbox/cmp/ejb/User.class
            boostbox/cmp/ejb/UserCMP.class
            boostbox/cmp/ejb/Wap_order.class
            boostbox/cmp/ejb/Wap_orderCMP.class
            boostbox/cmp/interfaces/
            boostbox/cmp/interfaces/CustomerData.class
            boostbox/cmp/interfaces/CustomerLocal.class
            boostbox/cmp/interfaces/CustomerLocalHome.class
            boostbox/cmp/interfaces/CustomerUtil.class
            boostbox/cmp/interfaces/FileData.class
            boostbox/cmp/interfaces/FileLocal.class
            boostbox/cmp/interfaces/FileLocalHome.class
            boostbox/cmp/interfaces/FileUtil.class
            boostbox/cmp/interfaces/File_Playlist_LinkData.class
            boostbox/cmp/interfaces/File_Playlist_LinkLocal.class
            boostbox/cmp/interfaces/File_Playlist_LinkLocalHome.class
            boostbox/cmp/interfaces/File_Playlist_LinkUtil.class
            boostbox/cmp/interfaces/ModuleTypeData.class
            boostbox/cmp/interfaces/ModuleTypeLocal.class
            boostbox/cmp/interfaces/ModuleTypeLocalHome.class
            boostbox/cmp/interfaces/ModuleTypeUtil.class
            boostbox/cmp/interfaces/OrderData.class
            boostbox/cmp/interfaces/OrderLocal.class
            boostbox/cmp/interfaces/OrderLocalHome.class
            boostbox/cmp/interfaces/Ordertype.class
            boostbox/cmp/interfaces/OrdertypeData.class
            boostbox/cmp/interfaces/OrdertypeHome.class
            boostbox/cmp/interfaces/OrdertypeLocal.class
            boostbox/cmp/interfaces/OrdertypeLocalHome.class
            boostbox/cmp/interfaces/OrdertypePK.class
            boostbox/cmp/interfaces/OrdertypeUtil.class
            boostbox/cmp/interfaces/OrderUtil.class
            boostbox/cmp/interfaces/Order_type.class
            boostbox/cmp/interfaces/Order_typeData.class
            boostbox/cmp/interfaces/Order_typeHome.class
            boostbox/cmp/interfaces/Order_typeLocal.class
            boostbox/cmp/interfaces/Order_typeLocalHome.class
            boostbox/cmp/interfaces/Order_typePK.class
            boostbox/cmp/interfaces/Order_typeUtil.class
            boostbox/cmp/interfaces/PlayedStatisticsData.class
            boostbox/cmp/interfaces/PlayedStatisticsLocal.class
            boostbox/cmp/interfaces/PlayedStatisticsLocalHome.class
            boostbox/cmp/interfaces/PlayedStatisticsUtil.class
            boostbox/cmp/interfaces/PlaylistData.class
            boostbox/cmp/interfaces/PlaylistLocal.class
            boostbox/cmp/interfaces/PlaylistLocalHome.class
            boostbox/cmp/interfaces/PlaylistUtil.class
            boostbox/cmp/interfaces/ShowData.class
            boostbox/cmp/interfaces/ShowLocal.class
            boostbox/cmp/interfaces/ShowLocalHome.class
            boostbox/cmp/interfaces/ShowUtil.class
            boostbox/cmp/interfaces/SmsSystemMessageData.class
            boostbox/cmp/interfaces/SmsSystemMessageLocal.class
            boostbox/cmp/interfaces/SmsSystemMessageLocalHome.class
            boostbox/cmp/interfaces/SmsSystemMessageUtil.class
            boostbox/cmp/interfaces/TemplateData.class
            boostbox/cmp/interfaces/TemplateLocal.class
            boostbox/cmp/interfaces/TemplateLocalHome.class
            boostbox/cmp/interfaces/TemplatePK.class
            boostbox/cmp/interfaces/TemplateUtil.class
            boostbox/cmp/interfaces/UserData.class
            boostbox/cmp/interfaces/UserLocal.class
            boostbox/cmp/interfaces/UserLocalHome.class
            boostbox/cmp/interfaces/UserUtil.class
            boostbox/cmp/interfaces/Wap_orderData.class
            boostbox/cmp/interfaces/Wap_orderLocal.class
            boostbox/cmp/interfaces/Wap_orderLocalHome.class
            boostbox/cmp/interfaces/Wap_orderPK.class
            boostbox/cmp/interfaces/Wap_orderUtil.class
            boostbox/exceptions/
            boostbox/exceptions/DatabaseException.class
            boostbox/exceptions/InvalidUserException.class
            boostbox/interfaces/
            boostbox/interfaces/SessionUser.class
            boostbox/interfaces/SessionUserHome.class
            boostbox/interfaces/SessionUserUtil.class
            boostbox/interfaces/UserData.class
            boostbox/interfaces/UserLocal.class
            boostbox/interfaces/UserLocalHome.class
            boostbox/interfaces/UserPK.class
            boostbox/interfaces/UserUtil.class
            boostbox/rmi/
            boostbox/rmi/RMIClient.class
            boostbox/rmi/RMIServer.class
            boostbox/rmi/WinCommunication.class
            boostbox/rmi/WinCommunicationImpl.class
            boostbox/session/
            boostbox/session/ejb/
            boostbox/session/ejb/Content.class
            boostbox/session/ejb/ContentSession.class
            boostbox/session/ejb/DownloadController.class
            boostbox/session/ejb/DownloadControllerSession.class
            boostbox/session/ejb/FileController.class
            boostbox/session/ejb/FileControllerSession.class
            boostbox/session/ejb/ModuleController.class
            boostbox/session/ejb/ModuleControllerSession.class
            boostbox/session/ejb/OrderTypeController.class
            boostbox/session/ejb/OrderTypeControllerSession.class
            boostbox/session/ejb/PlaylistController.class
            boostbox/session/ejb/PlaylistControllerSession.class
            boostbox/session/ejb/ShowController.class
            boostbox/session/ejb/ShowControllerSession.class
            boostbox/session/ejb/SmsController.class
            boostbox/session/ejb/SmsControllerSession.class
            boostbox/session/ejb/SmsSystemMessageController.class
            boostbox/session/ejb/SmsSystemMessageControllerSession.class
            boostbox/session/ejb/UserController.class
            boostbox/session/ejb/UserControllerSession.class
            boostbox/session/ejb/VizController.class
            boostbox/session/ejb/VizControllerSession.class
            boostbox/session/interfaces/
            boostbox/session/interfaces/Content.class
            boostbox/session/interfaces/ContentHome.class
            boostbox/session/interfaces/ContentUtil.class
            boostbox/session/interfaces/DownloadControllerLocal.class
            boostbox/session/interfaces/DownloadControllerLocalHome.class
            boostbox/session/interfaces/DownloadControllerUtil.class
            boostbox/session/interfaces/FileController.class
            boostbox/session/interfaces/FileControllerHome.class
            boostbox/session/interfaces/FileControllerLocal.class
            boostbox/session/interfaces/FileControllerLocalHome.class
            boostbox/session/interfaces/FileControllerUtil.class
            boostbox/session/interfaces/ModuleController.class
            boostbox/session/interfaces/ModuleControllerHome.class
            boostbox/session/interfaces/ModuleControllerLocal.class
            boostbox/session/interfaces/ModuleControllerLocalHome.class
            boostbox/session/interfaces/ModuleControllerUtil.class
            boostbox/session/interfaces/OrderTypeControllerLocal.class
            boostbox/session/interfaces/OrderTypeControllerLocalHome.class
            boostbox/session/interfaces/OrderTypeControllerUtil.class
            boostbox/session/interfaces/PlaylistController.class
            boostbox/session/interfaces/PlaylistControllerHome.class
            boostbox/session/interfaces/PlaylistControllerLocal.class
            boostbox/session/interfaces/PlaylistControllerLocalHome.class
            boostbox/session/interfaces/PlaylistControllerUtil.class
            boostbox/session/interfaces/ShowController.class
            boostbox/session/interfaces/ShowControllerHome.class
            boostbox/session/interfaces/ShowControllerLocal.class
            boostbox/session/interfaces/ShowControllerLocalHome.class
            boostbox/session/interfaces/ShowControllerUtil.class
            boostbox/session/interfaces/SmsController.class
            boostbox/session/interfaces/SmsControllerHome.class
            boostbox/session/interfaces/SmsControllerLocal.class
            boostbox/session/interfaces/SmsControllerLocalHome.class
            boostbox/session/interfaces/SmsControllerUtil.class
            boostbox/session/interfaces/SmsSystemMessageControllerLocal.class
            boostbox/session/interfaces/SmsSystemMessageControllerLocalHome.clas

            boostbox/session/interfaces/SmsSystemMessageControllerUtil.class
            boostbox/session/interfaces/UserControllerLocal.class
            boostbox/session/interfaces/UserControllerLocalHome.class
            boostbox/session/interfaces/UserControllerUtil.class
            boostbox/session/interfaces/VizController.class
            boostbox/session/interfaces/VizControllerHome.class
            boostbox/session/interfaces/VizControllerLocal.class
            boostbox/session/interfaces/VizControllerLocalHome.class
            boostbox/session/interfaces/VizControllerUtil.class
            boostbox/util/
            boostbox/util/SongUpdateTimer.class
            boostbox/util/TimerSingleton$RemindTask.class
            boostbox/util/TimerSingleton$VoteTask.class
            boostbox/util/TimerSingleton.class
            boostbox/util/Votelist.class
            boostbox/util/VoteUpdate.class
            boostbox/viz/
            boostbox/viz/Song.class
            boostbox/viz/Video.class
            boostbox/viz/Vote.class


            <?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 >
            
             <description><![CDATA[No Description.]]></description>
             <display-name>Generated by XDoclet</display-name>
            
             <enterprise-beans>
            
             <!-- Session Beans -->
             <session >
             <description><![CDATA[Description for UserController]]></description>
             <display-name>Name for UserController</display-name>
            
             <ejb-name>UserController</ejb-name>
            
             <local-home>boostbox.session.interfaces.UserControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.UserControllerLocal</local>
             <ejb-class>boostbox.session.ejb.UserControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for SmsController]]></description>
             <display-name>Name for SmsController</display-name>
            
             <ejb-name>SmsController</ejb-name>
            
             <local-home>boostbox.session.interfaces.SmsControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.SmsControllerLocal</local>
             <ejb-class>boostbox.session.ejb.SmsControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for ShowController]]></description>
             <display-name>Name for ShowController</display-name>
            
             <ejb-name>ShowController</ejb-name>
            
             <local-home>boostbox.session.interfaces.ShowControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.ShowControllerLocal</local>
             <ejb-class>boostbox.session.ejb.ShowControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for Content]]></description>
             <display-name>Name for Content</display-name>
            
             <ejb-name>Content</ejb-name>
            
             <home>boostbox.session.interfaces.ContentHome</home>
             <remote>boostbox.session.interfaces.Content</remote>
             <ejb-class>boostbox.session.ejb.ContentSession</ejb-class>
             <session-type>Stateful</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for VizController]]></description>
             <display-name>Name for VizController</display-name>
            
             <ejb-name>VizController</ejb-name>
            
             <local-home>boostbox.session.interfaces.VizControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.VizControllerLocal</local>
             <ejb-class>boostbox.session.ejb.VizControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for PlaylistController]]></description>
             <display-name>Name for PlaylistController</display-name>
            
             <ejb-name>PlaylistController</ejb-name>
            
             <local-home>boostbox.session.interfaces.PlaylistControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.PlaylistControllerLocal</local>
             <ejb-class>boostbox.session.ejb.PlaylistControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for OrderTypeController]]></description>
             <display-name>Name for OrderTypeController</display-name>
            
             <ejb-name>OrderTypeController</ejb-name>
            
             <local-home>boostbox.session.interfaces.OrderTypeControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.OrderTypeControllerLocal</local>
             <ejb-class>boostbox.session.ejb.OrderTypeControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for ModuleController]]></description>
             <display-name>Name for ModuleController</display-name>
            
             <ejb-name>ModuleController</ejb-name>
            
             <local-home>boostbox.session.interfaces.ModuleControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.ModuleControllerLocal</local>
             <ejb-class>boostbox.session.ejb.ModuleControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for SmsSystemMessageController]]></description>
             <display-name>Name for SmsSystemMessageController</display-name>
            
             <ejb-name>SmsSystemMessageController</ejb-name>
            
             <local-home>boostbox.session.interfaces.SmsSystemMessageControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.SmsSystemMessageControllerLocal</local>
             <ejb-class>boostbox.session.ejb.SmsSystemMessageControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for DownloadController]]></description>
             <display-name>Name for DownloadController</display-name>
            
             <ejb-name>DownloadController</ejb-name>
            
             <local-home>boostbox.session.interfaces.DownloadControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.DownloadControllerLocal</local>
             <ejb-class>boostbox.session.ejb.DownloadControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <session >
             <description><![CDATA[Description for FileController]]></description>
             <display-name>Name for FileController</display-name>
            
             <ejb-name>FileController</ejb-name>
            
             <local-home>boostbox.session.interfaces.FileControllerLocalHome</local-home>
             <local>boostbox.session.interfaces.FileControllerLocal</local>
             <ejb-class>boostbox.session.ejb.FileControllerSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
            
             </session>
            
             <!--
             To add session beans that you have deployment descriptor info for, add
             a file to your XDoclet merge directory called session-beans.xml that contains
             the <session></session> markup for those beans.
             -->
            
             <!-- Entity Beans -->
             <entity >
             <description><![CDATA[Description for PlayedStatistics]]></description>
             <display-name>Name for PlayedStatistics</display-name>
            
             <ejb-name>PlayedStatistics</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.PlayedStatisticsLocalHome</local-home>
             <local>boostbox.cmp.interfaces.PlayedStatisticsLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.PlayedStatisticsCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>PlayedStatistics</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>date</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <!-- Write a file named ejb-finders-PlayedStatistics.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Playlist]]></description>
             <display-name>Name for Playlist</display-name>
            
             <ejb-name>Playlist</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.PlaylistLocalHome</local-home>
             <local>boostbox.cmp.interfaces.PlaylistLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.PlaylistCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Playlist</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>name</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>active</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>vizUpdateFrequence</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>votesCounter</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>viewFormat</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns all playlists]]></description>
             <query-method>
             <method-name>findAllPlaylists</method-name>
             <method-params>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From Playlist bm]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns the playlist currently beeing broadcasted]]></description>
             <query-method>
             <method-name>findByActive</method-name>
             <method-params>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From Playlist bm where bm.active=1]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns the playlist with the given name]]></description>
             <query-method>
             <method-name>findByName</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From Playlist bm where bm.name=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-Playlist.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Template]]></description>
             <display-name>Name for Template</display-name>
            
             <ejb-name>Template</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.TemplateLocalHome</local-home>
             <local>boostbox.cmp.interfaces.TemplateLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.TemplateCMP</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>Template</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <!-- Write a file named ejb-finders-Template.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Wap_order]]></description>
             <display-name>Name for Wap_order</display-name>
            
             <ejb-name>Wap_order</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.Wap_orderLocalHome</local-home>
             <local>boostbox.cmp.interfaces.Wap_orderLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.Wap_orderCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Wap_order</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>uRL</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>isDownloaded</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>isVideo</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <!-- Write a file named ejb-finders-Wap_order.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Customer]]></description>
             <display-name>Name for Customer</display-name>
            
             <ejb-name>Customer</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.CustomerLocalHome</local-home>
             <local>boostbox.cmp.interfaces.CustomerLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.CustomerCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Customer</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>phonenumber</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns all files]]></description>
             <query-method>
             <method-name>findAllCustomers</method-name>
             <method-params>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From Customer bm]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns all files]]></description>
             <query-method>
             <method-name>findByPhonenumber</method-name>
             <method-params>
             <method-param>java.lang.Long</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From Customer bm where bm.phonenumber=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-Customer.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Order-type]]></description>
             <display-name>Name for Order-type</display-name>
            
             <ejb-name>Order_type</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.Order_typeLocalHome</local-home>
             <local>boostbox.cmp.interfaces.Order_typeLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.Order_typeCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Order_type</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>vote</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>votePrice</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>mP3</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>mP3Price</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>video</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>videoPrice</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>powervote</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>powervotePrice</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>minimumPowervotes</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>maximumPowervotes</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns the order_type with the given codeword]]></description>
             <query-method>
             <method-name>findByCodeword2</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) FROM Order_type AS bm WHERE bm.vote=?1 OR bm.mP3=?1 OR bm.video=?1 OR bm.powervote=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-Order_type.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for File_Playlist_Link]]></description>
             <display-name>Name for File_Playlist_Link</display-name>
            
             <ejb-name>File_Playlist_Link</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.File_Playlist_LinkLocalHome</local-home>
             <local>boostbox.cmp.interfaces.File_Playlist_LinkLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.File_Playlist_LinkCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>File_Playlist_Link</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>pid</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>fid</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>votes</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns the user with the given username]]></description>
             <query-method>
             <method-name>findByvalues</method-name>
             <method-params>
             <method-param>java.lang.Long</method-param>
             <method-param>java.lang.Long</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From File_Playlist_Link as bm where bm.pid=?1 AND bm.fid=?2]]></ejb-ql>
             </query>
             <query>
             <query-method>
             <method-name>findBySongsOrderByVotesDesc</method-name>
             <method-params>
             <method-param>java.lang.Long</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT object ( p ) FROM File_Playlist_Link AS p where p.pid = ?1 order by p.votes desc]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[]]></description>
             <query-method>
             <method-name>ejbSelectMaxVotes</method-name>
             <method-params>
             <method-param>java.lang.Long</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[select max(f.votes) from File_Playlist_Link as f where f.pid=?1]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[]]></description>
             <query-method>
             <method-name>ejbSelectFileWithMostVotes</method-name>
             <method-params>
             <method-param>java.lang.Long</method-param>
             <method-param>java.lang.Long</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[select object (o) from File_Playlist_Link o where o.votes=?1 and o.pid=?2]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[]]></description>
             <query-method>
             <method-name>ejbSelectTotalVotesInPlaylist</method-name>
             <method-params>
             <method-param>java.lang.Long</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[select sum ( c.votes ) from File_Playlist_Link AS c where c.pid=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-File_Playlist_Link.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Order]]></description>
             <display-name>Name for Order</display-name>
            
             <ejb-name>Order</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.OrderLocalHome</local-home>
             <local>boostbox.cmp.interfaces.OrderLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.OrderCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Order</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>price</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>date</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <!-- Write a file named ejb-finders-Order.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for Show]]></description>
             <display-name>Name for Show</display-name>
            
             <ejb-name>Show</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.ShowLocalHome</local-home>
             <local>boostbox.cmp.interfaces.ShowLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.ShowCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>Show</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>showName</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>description</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns the show with the given name]]></description>
             <query-method>
             <method-name>findByName</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) FROM Show AS bm WHERE bm.showName=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-Show.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for File]]></description>
             <display-name>Name for File</display-name>
            
             <ejb-name>File</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.FileLocalHome</local-home>
             <local>boostbox.cmp.interfaces.FileLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.FileCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>File</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>filename</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>mp3URL</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>videoURL</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value1</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value2</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value3</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value4</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value5</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value6</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value7</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value8</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value9</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>value10</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>isPlaying</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>durationInSeconds</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>stringView</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns a collection with all files]]></description>
             <query-method>
             <method-name>findAll</method-name>
             <method-params>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From File bm]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns a file with matching filename]]></description>
             <query-method>
             <method-name>findByFilename</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From File as bm where bm.filename=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-File.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for ModuleType]]></description>
             <display-name>Name for ModuleType</display-name>
            
             <ejb-name>ModuleType</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.ModuleTypeLocalHome</local-home>
             <local>boostbox.cmp.interfaces.ModuleTypeLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.ModuleTypeCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>ModuleType</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>name</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute1</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute2</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute3</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute4</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute5</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute6</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute7</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute8</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute9</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>attribute10</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns the module with the given name]]></description>
             <query-method>
             <method-name>findByName</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From ModuleType bm where bm.name=?1]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns a collection with all modules]]></description>
             <query-method>
             <method-name>findAll</method-name>
             <method-params>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From ModuleType bm]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-ModuleType.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for SmsSystemMessage]]></description>
             <display-name>Name for SmsSystemMessage</display-name>
            
             <ejb-name>SmsSystemMessage</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.SmsSystemMessageLocalHome</local-home>
             <local>boostbox.cmp.interfaces.SmsSystemMessageLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.SmsSystemMessageCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>SmsSystemMessage</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>fileNotFound</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>voteReceived</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>mP3NotFound</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>videoNotFound</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <!-- Write a file named ejb-finders-SmsSystemMessage.xml if you want to define extra finders. -->
            
             </entity>
            
             <entity >
             <description><![CDATA[Description for User]]></description>
             <display-name>Name for User</display-name>
            
             <ejb-name>User</ejb-name>
            
             <local-home>boostbox.cmp.interfaces.UserLocalHome</local-home>
             <local>boostbox.cmp.interfaces.UserLocal</local>
            
             <ejb-class>boostbox.cmp.ejb.UserCMP</ejb-class>
             <persistence-type>Container</persistence-type>
             <prim-key-class>java.lang.Long</prim-key-class>
             <reentrant>False</reentrant>
             <cmp-version>2.x</cmp-version>
             <abstract-schema-name>User</abstract-schema-name>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>id</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>username</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>password</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>name</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>superuser</field-name>
             </cmp-field>
             <cmp-field >
             <description><![CDATA[]]></description>
             <field-name>active</field-name>
             </cmp-field>
             <primkey-field>id</primkey-field>
            
             <query>
             <description><![CDATA[Returns all users]]></description>
             <query-method>
             <method-name>findAllUsers</method-name>
             <method-params>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From User bm]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns the interface of the user if the username and password are correct]]></description>
             <query-method>
             <method-name>findByUsernameAndPassword</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From User bm where bm.username=?1 AND bm.password=?2]]></ejb-ql>
             </query>
             <query>
             <description><![CDATA[Returns the interface if a user is found]]></description>
             <query-method>
             <method-name>findByUsername</method-name>
             <method-params>
             <method-param>java.lang.String</method-param>
             </method-params>
             </query-method>
             <ejb-ql><![CDATA[SELECT OBJECT(bm) From User bm where bm.username=?1]]></ejb-ql>
             </query>
             <!-- Write a file named ejb-finders-User.xml if you want to define extra finders. -->
            
             </entity>
            
             <!--
             To add entity beans that you have deployment descriptor info for, add
             a file to your XDoclet merge directory called entity-beans.xml that contains
             the <entity></entity> markup for those beans.
             -->
            
             <!-- Message Driven Beans -->
             <!--
             To add message driven beans that you have deployment descriptor info for, add
             a file to your XDoclet merge directory called message-driven-beans.xml that contains
             the <message-driven></message-driven> markup for those beans.
             -->
            
             </enterprise-beans>
            
             <!-- Relationships -->
             <relationships >
             <ejb-relation >
             <ejb-relation-name>user-creates-playlists</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>Playlist-is-created-by-one-user</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Playlist</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>userLocal</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-admin-user-can-create-playlists</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>User</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playlists</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>order-waporder</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>a-waporder-has-one-order</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Wap_order</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>order</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>an-order-has-zero-or-one-waporder</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Order</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>waporder</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>File-Statistics</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>Statistics-contains-songs-played</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>PlayedStatistics</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>file</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>file-stored-to-playedstatistics-when-played</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>File</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playedStatistics</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>File-Order</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-order-has-only-one-file</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Order</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>file</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>A-file-has-zero-or-more-orders</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>File</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>orders</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>Playlist-Statistics</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>Statistics-contains-playlists</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>PlayedStatistics</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playlist</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>playlist-has-zero-or-more-songs-played</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Playlist</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playedStatistics</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>playlist-ordertype</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>Playlist-has-1-ordertype</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Playlist</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>ordertype</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-ordertype-is-used-by-zero-or-more-playlists</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Order_type</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playlists</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>playlist-module</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>Playlist-is-created-by-one-user</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Playlist</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>moduleType</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-admin-user-can-create-playlists</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>ModuleType</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playlists</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>order-ordertype</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>order-has-1-ordertype</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Order</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>ordertype</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-ordertype-is-used-by-zero-or-more-orders</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Order_type</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>orders</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>File-Playlist</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>A-playlist-has-one-or-more-files</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Playlist</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>files</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>A-file-is-in-zero-or-more-playlists</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>File</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playlists</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>Customer-Order</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-order-belongs-to-one-customer</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Order</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>customer</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>A-customer-has-1-or-more-orders</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Customer</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>orders</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>show-playlist</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>playlist-is-used-in-zero-or-1-show</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Playlist</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>show</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>show-has-1-playlist</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>Show</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>playlist</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>show-smsSystemMessage</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>A-show-has-1-smsSystemMessage</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>Show</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>smsSystemMessage</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>one-smssystemmessage-is-linked-to-zero-or-more-shows</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>SmsSystemMessage</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>shows</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <ejb-relation >
             <ejb-relation-name>file-module</ejb-relation-name>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>A-file-has-zero-or-more-orders</ejb-relationship-role-name>
             <multiplicity>Many</multiplicity>
             <relationship-role-source >
             <ejb-name>File</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>module</cmr-field-name>
             </cmr-field>
             </ejb-relationship-role>
            
             <ejb-relationship-role >
             <ejb-relationship-role-name>An-admin-user-can-create-playlists</ejb-relationship-role-name>
             <multiplicity>One</multiplicity>
             <relationship-role-source >
             <ejb-name>ModuleType</ejb-name>
             </relationship-role-source>
             <cmr-field >
             <cmr-field-name>files</cmr-field-name>
             <cmr-field-type>java.util.Collection</cmr-field-type>
             </cmr-field>
             </ejb-relationship-role>
            
             </ejb-relation>
             <!--
             To add relationships for beans not managed by XDoclet, add
             a file to your XDoclet merge directory called relationships.xml that contains
             the <ejb-relation></ejb-relation> markups for those beans.
             -->
             </relationships>
            
             <!-- Assembly Descriptor -->
             <!--
             To specify your own assembly descriptor info here, add a file to your
             XDoclet merge directory called assembly-descriptor.xml that contains
             the <assembly-descriptor></assembly-descriptor> markup.
             -->
            
             <assembly-descriptor >
             <!--
             To specify additional security-role elements, add a file in the merge
             directory called ejb-security-roles.xml that contains them.
             -->
            
             <!-- method permissions -->
             <!--
             To specify additional method-permission elements, add a file in the merge
             directory called ejb-method-permissions.ent that contains them.
             -->
            
             <!-- transactions -->
             <!--
             To specify additional container-transaction elements, add a file in the merge
             directory called ejb-container-transactions.ent that contains them.
             -->
            
             <!-- finder transactions -->
            
             <!-- message destinations -->
             <!--
             To specify additional message-destination elements, add a file in the merge
             directory called ejb-message-destinations.ent that contains them.
             -->
            
             <!-- exclude list -->
             <!--
             To specify an exclude-list element, add a file in the merge directory
             called ejb-exclude-list.xml that contains it.
             -->
             </assembly-descriptor>
            
            </ejb-jar>
            


            • 3. Re: problem with implementing TimedObject, ejb verification
              boostbox

              Does jboss-3.2.5 support javax.ejb.TimedObject default? Do i need to do some kind of configuration to make it work? Now i just make my session bean implement the TimedObject interface, add the ejbTimeout method and deploy. I have read somewhere that maybe i need to configure some of jboss's xml files?

              Appreciate any help..

              • 4. Re: problem with implementing TimedObject, ejb verification
                dimitris

                ejb timers are only available in 4.0.x, this is a j2ee1.4 feature.