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>