<?xml version="1.0"?>

<!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>
        <ejb-name>AuditSessionEJB</ejb-name>
        <home>org.jboss.test.cmp2.audit.interfaces.AuditSessionHome</home>
        <remote>org.jboss.test.cmp2.audit.interfaces.AuditSession</remote>
        <ejb-class>org.jboss.test.cmp2.audit.beans.AuditSessionBean</ejb-class>
        <session-type>Stateless</session-type>
        <transaction-type>Container</transaction-type>
        <ejb-local-ref>
           <ejb-ref-name>ejb/AuditEJB</ejb-ref-name>
           <ejb-ref-type>Entity</ejb-ref-type>
           <local-home>org.jboss.test.audit.interfaces.AuditHome</local-home>
           <local>org.jboss.test.audit.interfaces.Audit</local>
           <ejb-link>AuditEJB</ejb-link>
        </ejb-local-ref>
        <ejb-local-ref>
           <ejb-ref-name>ejb/AuditChangedNamesEJB</ejb-ref-name>
           <ejb-ref-type>Entity</ejb-ref-type>
           <local-home>org.jboss.test.audit.interfaces.AuditHome</local-home>
           <local>org.jboss.test.audit.interfaces.Audit</local>
           <ejb-link>AuditChangedNamesEJB</ejb-link>
        </ejb-local-ref>
        <ejb-local-ref>
           <ejb-ref-name>ejb/AuditMappedEJB</ejb-ref-name>
           <ejb-ref-type>Entity</ejb-ref-type>
           <local-home>org.jboss.test.audit.interfaces.AuditMappedHome</local-home>
           <local>org.jboss.test.audit.interfaces.AuditMapped</local>
           <ejb-link>AuditMappedEJB</ejb-link>
        </ejb-local-ref>
        <resource-ref>
            <res-ref-name>jdbc/DataSource</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
     </session>
      <entity>
         <ejb-name>AuditEJB</ejb-name>
         <local-home>org.jboss.test.cmp2.audit.interfaces.AuditHome</local-home>
         <local>org.jboss.test.cmp2.audit.interfaces.Audit</local>
         <ejb-class>org.jboss.test.cmp2.audit.beans.AuditBean</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>audit</abstract-schema-name>
         <cmp-field><field-name>id</field-name></cmp-field>
         <cmp-field><field-name>stringValue</field-name></cmp-field>
         <primkey-field>id</primkey-field>
         <security-role-ref>
            <role-name>user</role-name>
            <role-link>user</role-link>
         </security-role-ref>
      </entity>
      <entity>
         <ejb-name>AuditChangedNamesEJB</ejb-name>
         <local-home>org.jboss.test.cmp2.audit.interfaces.AuditHome</local-home>
         <local>org.jboss.test.cmp2.audit.interfaces.Audit</local>
         <ejb-class>org.jboss.test.cmp2.audit.beans.AuditBean</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>auditChangedNames</abstract-schema-name>
         <cmp-field><field-name>id</field-name></cmp-field>
         <cmp-field><field-name>stringValue</field-name></cmp-field>
         <primkey-field>id</primkey-field>
         <security-role-ref>
            <role-name>user</role-name>
            <role-link>user</role-link>
         </security-role-ref>
      </entity>
      <entity>
         <ejb-name>AuditMappedEJB</ejb-name>
         <local-home>org.jboss.test.cmp2.audit.interfaces.AuditMappedHome</local-home>
         <local>org.jboss.test.cmp2.audit.interfaces.AuditMapped</local>
         <ejb-class>org.jboss.test.cmp2.audit.beans.AuditMappedBean</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>auditMapped</abstract-schema-name>
         <cmp-field><field-name>id</field-name></cmp-field>
         <cmp-field><field-name>stringValue</field-name></cmp-field>
         <cmp-field><field-name>createdBy</field-name></cmp-field>
         <cmp-field><field-name>createdTime</field-name></cmp-field>
         <cmp-field><field-name>updatedBy</field-name></cmp-field>
         <cmp-field><field-name>updatedTime</field-name></cmp-field>
         <primkey-field>id</primkey-field>
         <security-role-ref>
            <role-name>user</role-name>
            <role-link>user</role-link>
         </security-role-ref>
      </entity>
   </enterprise-beans>

   <assembly-descriptor>
      <security-role>
         <role-name>user</role-name>
      </security-role>
      <method-permission>
         <role-name>user</role-name>
         <method >
            <ejb-name>AuditEJB</ejb-name>
            <method-name>*</method-name>
         </method>
      </method-permission>
      <method-permission>
         <role-name>user</role-name>
         <method >
            <ejb-name>AuditChangedNamesEJB</ejb-name>
            <method-name>*</method-name>
         </method>
      </method-permission>
      <method-permission>
         <role-name>user</role-name>
         <method >
            <ejb-name>AuditMappedEJB</ejb-name>
            <method-name>*</method-name>
         </method>
      </method-permission>
      <container-transaction>
         <method>
            <ejb-name>AuditSessionEJB</ejb-name>
            <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>
         <method>
            <ejb-name>AuditEJB</ejb-name>
            <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>
         <method>
            <ejb-name>AuditChangedNamesEJB</ejb-name>
            <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>
         <method>
            <ejb-name>AuditMappedEJB</ejb-name>
            <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
      </container-transaction>
   </assembly-descriptor>
</ejb-jar>
