Author: jgbutler
Date: Thu Aug 17 15:56:17 2006
New Revision: 432425

URL: http://svn.apache.org/viewvc?rev=432425&view=rev
Log:
More tests and fixes for Abator.  Testing code generators is hard!

Added:
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/CreateDB.sql
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/java2/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/java2/ConditionalJava2Tests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/java2/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/java2/dao.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/legacy/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/legacy/ConditionalLegacyTests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/legacy/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/legacy/dao.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/java2/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/java2/FlatJava2Tests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/java2/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/java2/dao.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/legacy/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/legacy/FlatLegacyTests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/legacy/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/legacy/dao.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/java2/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/java2/HierarchicalJava2Tests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/java2/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/java2/dao.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/legacy/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/legacy/HierarchicalLegacyTests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/legacy/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/legacy/dao.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/BaseClass.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/BaseInterface.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/FirstName.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/FirstNameTypeHandler.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/MiscellaneousTests.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/MyTime.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/MyTimeTypeHandler.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/SqlMapConfig.xml
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/dao.xml
Modified:
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava2Impl.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/abatortest/abatorConfig.xml

Modified: ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml?rev=432425&r1=432424&r2=432425&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml Thu Aug 
17 15:56:17 2006
@@ -31,7 +31,8 @@
   <property name="work.classes" value="${work.dir}/bin" />
   <property name="work.javadoc" value="${work.dir}/javadoc" />
   <property name="test.src.dir" value="${work.dir}/test/src" />
-  <property name="generated.source.dir" value="${work.dir}/src" />
+  <property name="generated.source.dir.java5" value="${work.dir}/src/java5" />
+  <property name="generated.source.dir.java2" value="${work.dir}/src/java2" />
   <property name="reports.dir" value="${basedir}/reports" />
   <property name="reports.junit" value="${reports.dir}/junit" />
   
@@ -121,13 +122,18 @@
   </target>
   
   <target name="test.prepare" depends="build.compile">
-    <mkdir dir="${generated.source.dir}"/>
+    <mkdir dir="${generated.source.dir.java5}"/>
+    <mkdir dir="${generated.source.dir.java2}"/>
     <mkdir dir="${reports.dir}"/>
     <mkdir dir="${reports.junit}"/>
                
-       <copy todir="${generated.source.dir}">
+       <copy todir="${generated.source.dir.java5}">
                <fileset dir="${basedir}/../test" />
        </copy>
+       
+       <copy todir="${generated.source.dir.java2}">
+               <fileset dir="${basedir}/../testJava2" />
+       </copy>
   </target>
          
   <target name="test.generate.test.code" depends="test.prepare">
@@ -146,35 +152,63 @@
                url="jdbc:hsqldb:mem:aname"
                userid="sa"
                password=""
-               src="${generated.source.dir}/abatortest/CreateDB.sql"/>
+               src="${generated.source.dir.java5}/abatortest/CreateDB.sql"/>
                
-       <abator 
configfile="${generated.source.dir}/abatortest/abatorConfig.xml" >
+       <abator 
configfile="${generated.source.dir.java5}/abatortest/abatorConfig.xml" >
                <propertyset>
-                       <propertyref name="generated.source.dir"/>
+                       <propertyref name="generated.source.dir.java5"/>
+               </propertyset>
+       </abator>
+               
+       <abator 
configfile="${generated.source.dir.java2}/abatortest/java2/abatorConfig.xml" >
+               <propertyset>
+                       <propertyref name="generated.source.dir.java2"/>
                </propertyset>
        </abator>
   </target>
                
   <target name="test.compile.test.code" depends="test.generate.test.code">
-    <javac srcdir="${generated.source.dir}"
+    <javac srcdir="${generated.source.dir.java5}"
        deprecation="true" 
        debug="true"
        source="1.5"
        target="1.5">
     </javac>
+
+    <javac srcdir="${generated.source.dir.java2}"
+       deprecation="true" 
+       debug="true"
+       source="1.4"
+       target="1.4">
+    </javac>
   </target>
                
   <target name="test.run" depends="test.compile.test.code">
     <junit printsummary="true" showoutput="true">
       <formatter type="xml"/>
       <batchtest todir="${reports.junit}" fork="yes" haltonerror="no" 
failureproperty="testsFailed">
-        <fileset dir="${generated.source.dir}">
-          <exclude name="**/AllExecuteTests.class"/>
+        <fileset dir="${generated.source.dir.java5}">
           <include name="**/*Tests.class"/>
         </fileset>
       </batchtest>
       <classpath>
-       <pathelement location="${generated.source.dir}"/>
+       <pathelement location="${generated.source.dir.java5}"/>
+               <pathelement 
location="${basedir}/../devlib/ibatis-common-2.jar" />
+               <pathelement location="${basedir}/../devlib/ibatis-dao-2.jar" />
+               <pathelement 
location="${basedir}/../devlib/ibatis-sqlmap-2.jar" />
+               <pathelement location="${basedir}/../devlib/hsqldb.jar" />
+      </classpath>
+    </junit>
+
+    <junit printsummary="true" showoutput="true">
+      <formatter type="xml"/>
+      <batchtest todir="${reports.junit}" fork="yes" haltonerror="no" 
failureproperty="testsFailed">
+        <fileset dir="${generated.source.dir.java2}">
+          <include name="**/*Tests.class"/>
+        </fileset>
+      </batchtest>
+      <classpath>
+       <pathelement location="${generated.source.dir.java2}"/>
                <pathelement 
location="${basedir}/../devlib/ibatis-common-2.jar" />
                <pathelement location="${basedir}/../devlib/ibatis-dao-2.jar" />
                <pathelement 
location="${basedir}/../devlib/ibatis-sqlmap-2.jar" />
@@ -183,6 +217,40 @@
     </junit>
   </target>
          
+  <target name="test.run.no.compile" >
+    <junit printsummary="true" showoutput="true">
+      <formatter type="xml"/>
+      <batchtest todir="${reports.junit}" fork="yes" haltonerror="no" 
failureproperty="testsFailed">
+        <fileset dir="${generated.source.dir.java5}">
+          <include name="**/*Tests.class"/>
+        </fileset>
+      </batchtest>
+      <classpath>
+       <pathelement location="${generated.source.dir.java5}"/>
+               <pathelement 
location="${basedir}/../devlib/ibatis-common-2.jar" />
+               <pathelement location="${basedir}/../devlib/ibatis-dao-2.jar" />
+               <pathelement 
location="${basedir}/../devlib/ibatis-sqlmap-2.jar" />
+               <pathelement location="${basedir}/../devlib/hsqldb.jar" />
+      </classpath>
+    </junit>
+
+    <junit printsummary="true" showoutput="true">
+      <formatter type="xml"/>
+      <batchtest todir="${reports.junit}" fork="yes" haltonerror="no" 
failureproperty="testsFailed">
+        <fileset dir="${generated.source.dir.java2}">
+          <include name="**/*Tests.class"/>
+        </fileset>
+      </batchtest>
+      <classpath>
+       <pathelement location="${generated.source.dir.java2}"/>
+               <pathelement 
location="${basedir}/../devlib/ibatis-common-2.jar" />
+               <pathelement location="${basedir}/../devlib/ibatis-dao-2.jar" />
+               <pathelement 
location="${basedir}/../devlib/ibatis-sqlmap-2.jar" />
+               <pathelement location="${basedir}/../devlib/hsqldb.jar" />
+      </classpath>
+    </junit>
+  </target>
+       
   <target name="test.report" depends="test.run" >
     <junitreport todir="${reports.junit}">
       <fileset dir="${reports.junit}">

Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties?rev=432425&r1=432424&r2=432425&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties 
Thu Aug 17 15:56:17 2006
@@ -1,4 +1,4 @@
 #Abator build version info
-#Wed Aug 16 17:24:35 CDT 2006
+#Thu Aug 17 17:45:34 CDT 2006
 version=1.0.0
-buildNum=201
+buildNum=223

Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava2Impl.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava2Impl.java?rev=432425&r1=432424&r2=432425&view=diff
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava2Impl.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava2Impl.java
 Thu Aug 17 15:56:17 2006
@@ -561,7 +561,18 @@
         sb.append(cd.getAliasedColumnName());
         sb.append(' ');
         sb.append(operator);
-        sb.append("\", value, \""); //$NON-NLS-1$
+        sb.append("\", "); //$NON-NLS-1$
+        
+        if 
(cd.getResolvedJavaType().getFullyQualifiedJavaType().isPrimitive()) {
+            sb.append("new "); //$NON-NLS-1$
+            sb.append(cd.getResolvedJavaType().getFullyQualifiedJavaType()
+                    .getPrimitiveTypeWrapper().getShortName());
+            sb.append("(value)"); //$NON-NLS-1$
+        } else {
+            sb.append("value"); //$NON-NLS-1$
+        }
+        
+        sb.append(", \""); //$NON-NLS-1$
         sb.append(cd.getJavaProperty());
         sb.append("\");"); //$NON-NLS-1$
         method.addBodyLine(sb.toString());
@@ -643,7 +654,21 @@
         } else {
             sb.append(" not between"); //$NON-NLS-1$
         }
-        sb.append("\", value1, value2, \""); //$NON-NLS-1$
+        sb.append("\", ");
+        if 
(cd.getResolvedJavaType().getFullyQualifiedJavaType().isPrimitive()) {
+            sb.append("new "); //$NON-NLS-1$
+            sb.append(cd.getResolvedJavaType().getFullyQualifiedJavaType()
+                    .getPrimitiveTypeWrapper().getShortName());
+            sb.append("(value1), "); //$NON-NLS-1$
+            sb.append("new "); //$NON-NLS-1$
+            sb.append(cd.getResolvedJavaType().getFullyQualifiedJavaType()
+                    .getPrimitiveTypeWrapper().getShortName());
+            sb.append("(value2)"); //$NON-NLS-1$
+        } else {
+            sb.append("value1, value2"); //$NON-NLS-1$
+        }
+        
+        sb.append(", \""); //$NON-NLS-1$
         sb.append(cd.getJavaProperty());
         sb.append("\");"); //$NON-NLS-1$
         method.addBodyLine(sb.toString());

Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/abatortest/abatorConfig.xml
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/abatortest/abatorConfig.xml?rev=432425&r1=432424&r2=432425&view=diff
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/abatortest/abatorConfig.xml
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/abatortest/abatorConfig.xml
 Thu Aug 17 15:56:17 2006
@@ -12,16 +12,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator targetPackage="abatortest.generated.flat.java5.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator targetPackage="abatortest.generated.flat.java5.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator targetPackage="abatortest.generated.flat.java5.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator targetPackage="abatortest.generated.flat.java5.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.flat.java5.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.flat.java5.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -40,16 +40,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator targetPackage="abatortest.generated.flat.java2.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator targetPackage="abatortest.generated.flat.java2.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator targetPackage="abatortest.generated.flat.java2.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator targetPackage="abatortest.generated.flat.java2.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.flat.java2.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.flat.java2.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -68,16 +68,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator targetPackage="abatortest.generated.flat.legacy.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator targetPackage="abatortest.generated.flat.legacy.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator targetPackage="abatortest.generated.flat.legacy.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator targetPackage="abatortest.generated.flat.legacy.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.flat.legacy.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.flat.legacy.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -94,16 +94,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.hierarchical.java5.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.hierarchical.java5.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator 
targetPackage="abatortest.generated.hierarchical.java5.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator 
targetPackage="abatortest.generated.hierarchical.java5.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.hierarchical.java5.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.hierarchical.java5.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -122,16 +122,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.hierarchical.java2.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.hierarchical.java2.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator 
targetPackage="abatortest.generated.hierarchical.java2.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator 
targetPackage="abatortest.generated.hierarchical.java2.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.hierarchical.java2.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.hierarchical.java2.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -150,16 +150,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.hierarchical.legacy.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.hierarchical.legacy.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator 
targetPackage="abatortest.generated.hierarchical.legacy.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator 
targetPackage="abatortest.generated.hierarchical.legacy.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.hierarchical.legacy.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.hierarchical.legacy.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -176,16 +176,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.conditional.java5.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.conditional.java5.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator 
targetPackage="abatortest.generated.conditional.java5.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator 
targetPackage="abatortest.generated.conditional.java5.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.conditional.java5.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.conditional.java5.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -204,16 +204,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.conditional.java2.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.conditional.java2.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator 
targetPackage="abatortest.generated.conditional.java2.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator 
targetPackage="abatortest.generated.conditional.java2.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.conditional.java2.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.conditional.java2.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -232,16 +232,16 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.conditional.legacy.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.conditional.legacy.model" 
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
       <property name="trimStrings" value="true" />
     </javaModelGenerator>
 
-    <sqlMapGenerator 
targetPackage="abatortest.generated.conditional.legacy.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator 
targetPackage="abatortest.generated.conditional.legacy.xml"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.conditional.legacy.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.conditional.legacy.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="enableSubPackages" value="true" />
     </daoGenerator>
 
@@ -258,15 +258,15 @@
         connectionURL="jdbc:hsqldb:mem:aname"
         userId="sa" />
 
-    <javaModelGenerator 
targetPackage="abatortest.generated.miscellaneous.model" 
targetProject="${generated.source.dir}">
+    <javaModelGenerator 
targetPackage="abatortest.generated.miscellaneous.model" 
targetProject="${generated.source.dir.java5}">
       <property name="trimStrings" value="true" />
       <property name="rootClass" 
value="abatortest.execute.miscellaneous.BaseClass" />
     </javaModelGenerator>
 
-    <sqlMapGenerator targetPackage="abatortest.generated.miscellaneous.xml"  
targetProject="${generated.source.dir}">
+    <sqlMapGenerator targetPackage="abatortest.generated.miscellaneous.xml"  
targetProject="${generated.source.dir.java5}">
     </sqlMapGenerator>
 
-    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.miscellaneous.dao"  
targetProject="${generated.source.dir}">
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.generated.miscellaneous.dao"  
targetProject="${generated.source.dir.java5}">
       <property name="rootInterface" 
value="abatortest.execute.miscellaneous.BaseInterface" />
       <property name="methodNameCalculator" value="EXTENDED"/>
     </daoGenerator>

Added: ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt?rev=432425&view=auto
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt 
(added)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt Thu 
Aug 17 15:56:17 2006
@@ -0,0 +1,5 @@
+The files in this source tree are used to test code generated from Abator
+during the build.  They will normally only compile successfully during
+the Abator build.
+
+The files in this tree should be compiled with JSE 1.4 compliance.

Added: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java?rev=432425&view=auto
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
 (added)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
 Thu Aug 17 15:56:17 2006
@@ -0,0 +1,133 @@
+/*
+ *  Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package abatortest.java2;
+
+import java.io.Reader;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Properties;
+import java.util.Random;
+
+import com.ibatis.common.jdbc.ScriptRunner;
+import com.ibatis.common.resources.Resources;
+import com.ibatis.dao.client.DaoManager;
+import com.ibatis.dao.client.DaoManagerBuilder;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Jeff Butler
+ *
+ */
+public abstract class BaseTest extends TestCase {
+
+    protected static DaoManager daoManager;
+    private static DateFormat dateOnlyFormat = 
SimpleDateFormat.getDateInstance();
+    private static DateFormat timeOnlyFormat = 
SimpleDateFormat.getTimeInstance();
+
+    protected static void initDaoManager(String configFile, Properties props) 
throws Exception {
+        Reader reader = Resources.getResourceAsReader(configFile);
+        daoManager = DaoManagerBuilder.buildDaoManager(reader, props);
+        reader.close();
+    }
+
+    protected void setUp() throws Exception {
+        Connection conn = null;
+
+        try {
+            Class.forName("org.hsqldb.jdbcDriver");
+            conn = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa",
+                    "");
+
+            Reader reader = 
Resources.getResourceAsReader("abatortest/java2/CreateDB.sql");
+
+            ScriptRunner runner = new ScriptRunner(conn, true, false);
+            runner.setLogWriter(null);
+            runner.setErrorLogWriter(null);
+            runner.runScript(reader);
+            conn.commit();
+
+            reader.close();
+        } finally {
+            if (conn != null) {
+                conn.close();
+            }
+        }
+    }
+
+    protected byte[] generateRandomBlob() {
+        Random random = new Random(System.currentTimeMillis());
+
+        byte[] answer = new byte[256];
+
+        random.nextBytes(answer);
+
+        return answer;
+    }
+
+    protected boolean blobsAreEqual(byte[] blob1, byte[] blob2) {
+        if (blob1 == null) {
+            return blob2 == null;
+        }
+
+        if (blob2 == null) {
+            return blob1 == null;
+        }
+
+        boolean rc = blob1.length == blob2.length;
+
+        if (rc) {
+            for (int i = 0; i < blob1.length; i++) {
+                if (blob1[i] != blob2[i]) {
+                    rc = false;
+                    break;
+                }
+            }
+        }
+
+        return rc;
+    }
+
+    protected boolean datesAreEqual(Date date1, Date date2) {
+        if (date1 == null) {
+            return date2 == null;
+        }
+
+        if (date2 == null) {
+            return date1 == null;
+        }
+
+        return 
dateOnlyFormat.format(date1).equals(dateOnlyFormat.format(date2));
+
+    }
+
+    protected boolean timesAreEqual(Date date1, Date date2) {
+        if (date1 == null) {
+            return date2 == null;
+        }
+
+        if (date2 == null) {
+            return date1 == null;
+        }
+
+        return 
timeOnlyFormat.format(date1).equals(timeOnlyFormat.format(date2));
+
+    }
+}

Added: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/CreateDB.sql
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/CreateDB.sql?rev=432425&view=auto
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/CreateDB.sql
 (added)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/CreateDB.sql
 Thu Aug 17 15:56:17 2006
@@ -0,0 +1,63 @@
+drop table FieldsOnly if exists;
+drop table PKOnly if exists;
+drop table PKFields if exists;
+drop table PKBlobs if exists;
+drop table PKFieldsBlobs if exists;
+drop table FieldsBlobs if exists;
+drop table BlobsOnly if exists;
+
+create table FieldsOnly (
+  IntegerField int,
+  DoubleField double,
+  FloatField float
+);
+
+create table PKOnly (
+  id int not null,
+  seq_num int not null,
+  primary key(id, seq_num)
+);
+
+create table PKFields (
+  id1 int not null,
+  id2 int not null,
+  firstName varchar(20),
+  lastName varchar(20),
+  dateField date,
+  timeField time,
+  timestampField timestamp,
+  decimal30Field decimal(3, 0),
+  decimal60Field decimal(6, 0),
+  decimal100Field decimal(10, 0),
+  decimal155Field decimal(15, 5),
+  primary key (id1, id2)
+);
+
+create table PKBlobs (
+  id int not null,
+  blob1 longvarbinary,
+  blob2 longvarbinary,
+  primary key (id)
+);
+
+create table PKFieldsBlobs (
+  id1 int not null,
+  id2 int not null,
+  firstName varchar(20),
+  lastName varchar(20),
+  blob1 longvarbinary,
+  primary key (id1, id2)
+);
+
+create table FieldsBlobs (
+  firstName varchar(20),
+  lastName varchar(20),
+  blob1 longvarbinary,
+  blob2 longvarbinary
+);
+
+-- this table should be ignored, nothing generated
+create table BlobsOnly (
+  blob1 longvarbinary,
+  blob2 longvarbinary
+);

Added: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml?rev=432425&view=auto
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
 (added)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
 Thu Aug 17 15:56:17 2006
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE abatorConfiguration
+  PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 
1.0//EN"
+  "http://ibatis.apache.org/dtd/abator-config_1_0.dtd";>
+
+<abatorConfiguration>
+  
+  <abatorContext generatorSet="Java2" defaultModelType="flat">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.flat.java2.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator targetPackage="abatortest.java2.generated.flat.java2.xml" 
 targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.flat.java2.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </daoGenerator>
+
+    <table tableName="FieldsOnly" />
+    <table tableName="PKOnly" />
+    <table tableName="PKFields" />
+    <table tableName="PKBlobs" />
+    <table tableName="PKFieldsBlobs" />
+    <table tableName="FieldsBlobs" />
+  </abatorContext>
+
+  <abatorContext generatorSet="Legacy" defaultModelType="flat">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.flat.legacy.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="abatortest.java2.generated.flat.legacy.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.flat.legacy.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </daoGenerator>
+
+    <table tableName="FieldsOnly" />
+    <table tableName="PKOnly" />
+    <table tableName="PKFields" />
+    <table tableName="PKBlobs" />
+    <table tableName="PKFieldsBlobs" />
+    <table tableName="FieldsBlobs" />
+  </abatorContext>
+
+  <abatorContext generatorSet="Java2" defaultModelType="hierarchical">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.hierarchical.java2.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="abatortest.java2.generated.hierarchical.java2.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.hierarchical.java2.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </daoGenerator>
+
+    <table tableName="FieldsOnly" />
+    <table tableName="PKOnly" />
+    <table tableName="PKFields" />
+    <table tableName="PKBlobs" />
+    <table tableName="PKFieldsBlobs" />
+    <table tableName="FieldsBlobs" />
+  </abatorContext>
+
+  <abatorContext generatorSet="Legacy" defaultModelType="hierarchical">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.hierarchical.legacy.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="abatortest.java2.generated.hierarchical.legacy.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.hierarchical.legacy.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </daoGenerator>
+
+    <table tableName="FieldsOnly" />
+    <table tableName="PKOnly" />
+    <table tableName="PKFields" />
+    <table tableName="PKBlobs" />
+    <table tableName="PKFieldsBlobs" />
+    <table tableName="FieldsBlobs" />
+  </abatorContext>
+
+  <abatorContext generatorSet="Java2" defaultModelType="conditional">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.conditional.java2.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="abatortest.java2.generated.conditional.java2.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.conditional.java2.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </daoGenerator>
+
+    <table tableName="FieldsOnly" />
+    <table tableName="PKOnly" />
+    <table tableName="PKFields" />
+    <table tableName="PKBlobs" />
+    <table tableName="PKFieldsBlobs" />
+    <table tableName="FieldsBlobs" />
+  </abatorContext>
+
+  <abatorContext generatorSet="Legacy" defaultModelType="conditional">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.conditional.legacy.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="abatortest.java2.generated.conditional.legacy.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.conditional.legacy.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </daoGenerator>
+
+    <table tableName="FieldsOnly" />
+    <table tableName="PKOnly" />
+    <table tableName="PKFields" />
+    <table tableName="PKBlobs" />
+    <table tableName="PKFieldsBlobs" />
+    <table tableName="FieldsBlobs" />
+  </abatorContext>
+
+  <abatorContext id="miscellaneousTests" generatorSet="Java2">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="abatortest.java2.generated.miscellaneous.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="trimStrings" value="true" />
+      <property name="rootClass" 
value="abatortest.java2.execute.miscellaneous.BaseClass" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="abatortest.java2.generated.miscellaneous.xml"  
targetProject="${generated.source.dir.java2}">
+    </sqlMapGenerator>
+
+    <daoGenerator type="IBATIS" 
targetPackage="abatortest.java2.generated.miscellaneous.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="rootInterface" 
value="abatortest.java2.execute.miscellaneous.BaseInterface" />
+      <property name="methodNameCalculator" value="EXTENDED"/>
+    </daoGenerator>
+
+    <table tableName="BlobsOnly" /> <!-- should generate a warning -->
+    <table tableName="NonExistantTable" /> <!-- should generate a warning -->
+    <table tableName="PKFields" domainObjectName="MyObject" alias="A" >
+      <ignoreColumn column="fred" /> <!-- should generate a warning -->
+      <ignoreColumn column="decimal30Field" />
+      <columnOverride column="datefield" property="startDate"/>
+      <columnOverride column="decimal155Field" javaType="java.lang.Double" />
+      <columnOverride column="decimal60Field" javaType="int" />
+      <columnOverride column="firstName" 
javaType="abatortest.java2.execute.miscellaneous.FirstName"
+         
typeHandler="abatortest.java2.execute.miscellaneous.FirstNameTypeHandler"/>
+      <columnOverride column="timeField" 
javaType="abatortest.java2.execute.miscellaneous.MyTime"
+         
typeHandler="abatortest.java2.execute.miscellaneous.MyTimeTypeHandler"/>
+    </table>
+  </abatorContext>
+</abatorConfiguration>


Reply via email to