ammulder    2005/07/07 17:37:08

  Modified:    modules/openejb-builder/src/test-ejb-jar/META-INF
                        ejb-jar.xml openejb-jar.xml
  Log:

  Add option to configure PK generation via direct schema elements instead
    of only using references to GBeans.
  The old style configuration is still supported, though the syntax is
    different (if you want to use a GBean reference, put it in a
    key-generator/custom-generator element)
  There's also a placeholder commented out of the XML Schema for key
    generation using IDs inserted directly into the target table by the
    database (using AUTO_INCREMENT columns or triggers) though that
    requires additional features from TranQL before it works.
  
  Revision  Changes    Path
  1.3       +34 -0     
openejb/modules/openejb-builder/src/test-ejb-jar/META-INF/ejb-jar.xml
  
  Index: ejb-jar.xml
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test-ejb-jar/META-INF/ejb-jar.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ejb-jar.xml       16 Dec 2004 06:20:33 -0000      1.2
  +++ ejb-jar.xml       7 Jul 2005 21:37:08 -0000       1.3
  @@ -56,6 +56,40 @@
               <cmp-field><field-name>lastName</field-name></cmp-field>
               <primkey-field>id</primkey-field>
           </entity>
  +        <entity>
  +            <ejb-name>PKGenCMPEntity</ejb-name>
  +            <home>org.openejb.test.simple.cmp.PKGenCMPEntityHome</home>
  +            <remote>org.openejb.test.simple.cmp.SimpleCMPEntity</remote>
  +            
<local-home>org.openejb.test.simple.cmp.PKGenCMPEntityLocalHome</local-home>
  +            <local>org.openejb.test.simple.cmp.SimpleCMPEntityLocal</local>
  +            
<ejb-class>org.openejb.test.simple.cmp.PKGenCMPEntityEJB</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>PKGenCMP</abstract-schema-name>
  +            <cmp-field><field-name>id</field-name></cmp-field>
  +            <cmp-field><field-name>firstName</field-name></cmp-field>
  +            <cmp-field><field-name>lastName</field-name></cmp-field>
  +            <primkey-field>id</primkey-field>
  +        </entity>
  +        <entity>
  +            <ejb-name>PKGenCMPEntity2</ejb-name>
  +            <home>org.openejb.test.simple.cmp.PKGenCMPEntityHome</home>
  +            <remote>org.openejb.test.simple.cmp.SimpleCMPEntity</remote>
  +            
<local-home>org.openejb.test.simple.cmp.PKGenCMPEntityLocalHome</local-home>
  +            <local>org.openejb.test.simple.cmp.SimpleCMPEntityLocal</local>
  +            
<ejb-class>org.openejb.test.simple.cmp.PKGenCMPEntityEJB</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>PKGenCMP2</abstract-schema-name>
  +            <cmp-field><field-name>id</field-name></cmp-field>
  +            <cmp-field><field-name>firstName</field-name></cmp-field>
  +            <cmp-field><field-name>lastName</field-name></cmp-field>
  +            <primkey-field>id</primkey-field>
  +        </entity>
   <!--
           <entity>
               <ejb-name>CompoundPKEntity</ejb-name>
  
  
  
  1.2       +68 -0     
openejb/modules/openejb-builder/src/test-ejb-jar/META-INF/openejb-jar.xml
  
  Index: openejb-jar.xml
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test-ejb-jar/META-INF/openejb-jar.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- openejb-jar.xml   10 Nov 2004 01:35:16 -0000      1.1
  +++ openejb-jar.xml   7 Jul 2005 21:37:08 -0000       1.2
  @@ -32,6 +32,50 @@
                   <table-column>lastName</table-column>
               </cmp-field-mapping>
           </entity>
  +        <entity>
  +            <ejb-name>PKGenCMPEntity</ejb-name>
  +            <table-name>PKGenCMP</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>firstName</cmp-field-name>
  +                <table-column>firstName</table-column>
  +            </cmp-field-mapping>
  +            <cmp-field-mapping>
  +                <cmp-field-name>lastName</cmp-field-name>
  +                <table-column>lastName</table-column>
  +            </cmp-field-mapping>
  +            <key-generator xmlns="http://www.openejb.org/xml/ns/pkgen";>
  +                <custom-generator>
  +                    
<generator-name>geronimo.server:name=CMPPKGenerator</generator-name>
  +                    <primary-key-class>java.lang.Integer</primary-key-class>
  +                </custom-generator>
  +            </key-generator>
  +        </entity>
  +        <entity>
  +            <ejb-name>PKGenCMPEntity2</ejb-name>
  +            <table-name>PKGenCMP2</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>firstName</cmp-field-name>
  +                <table-column>firstName</table-column>
  +            </cmp-field-mapping>
  +            <cmp-field-mapping>
  +                <cmp-field-name>lastName</cmp-field-name>
  +                <table-column>lastName</table-column>
  +            </cmp-field-mapping>
  +            <key-generator xmlns="http://www.openejb.org/xml/ns/pkgen";>
  +                <custom-generator>
  +                    
<generator-name>geronimo.server:name=CMPPKGenerator2</generator-name>
  +                    <primary-key-class>java.lang.Integer</primary-key-class>
  +                </custom-generator>
  +            </key-generator>
  +        </entity>
           <message-driven>
               <ejb-name>SimpleMessageDriven</ejb-name>
               <resource-adapter>
  @@ -40,4 +84,28 @@
           </message-driven>
   
       </enterprise-beans>
  +    <gbean gbeanName="geronimo.server:name=CMPPKGenerator" 
class="org.openejb.entity.cmp.pkgenerator.SequenceTablePrimaryKeyGeneratorWrapper">
  +        <reference name="ManagedConnectionFactoryWrapper">
  +            
<gbean-name>test:J2EEApplication=null,J2EEServer=bar,JCAResource=org/apache/geronimo/DefaultDatabase,j2eeType=JCAManagedConnectionFactory,name=DefaultDatasource</gbean-name>
  +<!--            <module-type>JCAResource</module-type>-->
  +<!--            <module>org/apache/geronimo/DefaultDatabase</module>-->
  +<!--            <type>JCAManagedConnectionFactory</type>-->
  +<!--            <name>DefaultDatasource</name>-->
  +        </reference>
  +        <attribute name="tableName">PKGENCMP_SEQ</attribute>
  +        <attribute name="sequenceName">PKGENCMP</attribute>
  +        <attribute name="batchSize">1</attribute>
  +    </gbean>
  +    <gbean gbeanName="geronimo.server:name=CMPPKGenerator2" 
class="org.openejb.entity.cmp.pkgenerator.SequenceTablePrimaryKeyGeneratorWrapper">
  +        <reference name="ManagedConnectionFactoryWrapper">
  +<!--            
<gbean-name>test:J2EEApplication=null,J2EEServer=bar,JCAResource=org/apache/geronimo/DefaultDatabase,j2eeType=JCAManagedConnectionFactory,name=DefaultDatasource</gbean-name>-->
  +            <moduleType>JCAResource</moduleType>
  +            <module>org/apache/geronimo/DefaultDatabase</module>
  +            <type>JCAManagedConnectionFactory</type>
  +            <name>DefaultDatasource</name>
  +        </reference>
  +        <attribute name="tableName">PKGENCMP_SEQ</attribute>
  +        <attribute name="sequenceName">PKGENCMP2</attribute>
  +        <attribute name="batchSize">1</attribute>
  +    </gbean>
   </openejb-jar>
  
  
  

Reply via email to