Added: 
ibatis/trunk/java/tools/ibator/core/testJava2/ibatortest/java2/ibatorConfig.xml
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/testJava2/ibatortest/java2/ibatorConfig.xml?rev=648102&view=auto
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/testJava2/ibatortest/java2/ibatorConfig.xml 
(added)
+++ 
ibatis/trunk/java/tools/ibator/core/testJava2/ibatortest/java2/ibatorConfig.xml 
Mon Apr 14 19:32:53 2008
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ibatorConfiguration
+  PUBLIC "-//Apache Software Foundation//DTD iBATOR for iBATIS Configuration 
1.0//EN"
+  "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd";>
+
+<ibatorConfiguration>
+  
+  <ibatorContext generatorSet="Java2" defaultModelType="flat">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="ibatortest.java2.generated.flat.java2.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator targetPackage="ibatortest.java2.generated.flat.java2.xml" 
 targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="GENERIC-CI" 
targetPackage="ibatortest.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" />
+    <table tableName="awful table" alias="A">
+      <property name="useColumnIndexes" value="true"/>
+      <generatedKey column="CuStOmEr iD" sqlStatement="HSQLDB" identity="true" 
/>
+      <columnOverride column="customer id" property="secondCustomerId" />
+      <columnOverride column="first name" property="firstFirstName" />
+      <columnOverride column="First Name" property="secondFirstName" />
+      <ignoreColumn column="first Name" />
+      <columnOverride column="first_name" property="thirdFirstName" />
+      <columnOverride column="firstName" property="fourthFirstName" />
+      <columnOverride column="from" delimitedColumnName="true" />
+    </table>
+  </ibatorContext>
+
+  <ibatorContext generatorSet="Java2" defaultModelType="hierarchical">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="ibatortest.java2.generated.hierarchical.java2.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="ibatortest.java2.generated.hierarchical.java2.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="GENERIC-CI" 
targetPackage="ibatortest.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" />
+    <table tableName="awful table" alias="A">
+      <property name="useColumnIndexes" value="true"/>
+      <generatedKey column="CuStOmEr iD" sqlStatement="HSQLDB" identity="true" 
/>
+      <columnOverride column="customer id" property="secondCustomerId" />
+      <columnOverride column="first name" property="firstFirstName" />
+      <columnOverride column="First Name" property="secondFirstName" />
+      <ignoreColumn column="first Name" />
+      <columnOverride column="first_name" property="thirdFirstName" />
+      <columnOverride column="firstName" property="fourthFirstName" />
+      <columnOverride column="from" delimitedColumnName="true" />
+    </table>
+  </ibatorContext>
+
+  <ibatorContext generatorSet="Java2" defaultModelType="conditional">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="ibatortest.java2.generated.conditional.java2.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+      <property name="trimStrings" value="true" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="ibatortest.java2.generated.conditional.java2.xml"  
targetProject="${generated.source.dir.java2}">
+      <property name="enableSubPackages" value="true" />
+    </sqlMapGenerator>
+
+    <daoGenerator type="GENERIC-CI" 
targetPackage="ibatortest.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" />
+    <table tableName="awful table" alias="A">
+      <property name="useColumnIndexes" value="true"/>
+      <generatedKey column="CuStOmEr iD" sqlStatement="HSQLDB" identity="true" 
/>
+      <columnOverride column="customer id" property="secondCustomerId" />
+      <columnOverride column="first name" property="firstFirstName" />
+      <columnOverride column="First Name" property="secondFirstName" />
+      <ignoreColumn column="first Name" />
+      <columnOverride column="first_name" property="thirdFirstName" />
+      <columnOverride column="firstName" property="fourthFirstName" />
+      <columnOverride column="from" delimitedColumnName="true" />
+    </table>
+  </ibatorContext>
+
+  <ibatorContext id="miscellaneousTests" generatorSet="Java2">
+    <jdbcConnection driverClass="org.hsqldb.jdbcDriver"
+        connectionURL="jdbc:hsqldb:mem:aname"
+        userId="sa" />
+
+    <javaModelGenerator 
targetPackage="ibatortest.java2.generated.miscellaneous.model" 
targetProject="${generated.source.dir.java2}">
+      <property name="trimStrings" value="true" />
+      <property name="rootClass" 
value="ibatortest.java2.execute.miscellaneous.BaseClass" />
+    </javaModelGenerator>
+
+    <sqlMapGenerator 
targetPackage="ibatortest.java2.generated.miscellaneous.xml"  
targetProject="${generated.source.dir.java2}">
+    </sqlMapGenerator>
+
+    <daoGenerator type="GENERIC-CI" 
targetPackage="ibatortest.java2.generated.miscellaneous.dao"  
targetProject="${generated.source.dir.java2}">
+      <property name="rootInterface" 
value="ibatortest.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="ibatortest.java2.execute.miscellaneous.FirstName"
+         
typeHandler="ibatortest.java2.execute.miscellaneous.FirstNameTypeHandler"/>
+      <columnOverride column="timeField" 
javaType="ibatortest.java2.execute.miscellaneous.MyTime"
+         
typeHandler="ibatortest.java2.execute.miscellaneous.MyTimeTypeHandler"/>
+    </table>
+  </ibatorContext>
+</ibatorConfiguration>

Added: ibatis/trunk/java/tools/ibator/core/testJava5/README_java5.txt
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/testJava5/README_java5.txt?rev=648102&view=auto
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/testJava5/README_java5.txt (added)
+++ ibatis/trunk/java/tools/ibator/core/testJava5/README_java5.txt Mon Apr 14 
19:32:53 2008
@@ -0,0 +1,3 @@
+The files in this source tree are used to test code generated from iBATOR
+during the build.  They will normally only compile successfully during
+the iBATOR build.

Added: ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/BaseTest.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/BaseTest.java?rev=648102&view=auto
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/BaseTest.java 
(added)
+++ ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/BaseTest.java Mon 
Apr 14 19:32:53 2008
@@ -0,0 +1,134 @@
+/*
+ *  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 ibatortest;
+
+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 junit.framework.TestCase;
+
+import com.ibatis.common.jdbc.ScriptRunner;
+import com.ibatis.common.resources.Resources;
+import com.ibatis.sqlmap.client.SqlMapClient;
+import com.ibatis.sqlmap.client.SqlMapClientBuilder;
+
+/**
+ * @author Jeff Butler
+ *
+ */
+public abstract class BaseTest extends TestCase {
+
+    protected static SqlMapClient sqlMapClient;
+    private static DateFormat dateOnlyFormat = 
SimpleDateFormat.getDateInstance();
+    private static DateFormat timeOnlyFormat = 
SimpleDateFormat.getTimeInstance();
+
+    protected static void initSqlMapClient(String configFile, Properties 
props) throws Exception {
+        Reader reader = Resources.getResourceAsReader(configFile);
+        sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader, props);
+        reader.close();
+    }
+
+    @Override
+    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("ibatortest/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/tools/ibator/core/testJava5/ibatortest/CompleteJava5TestSuite.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CompleteJava5TestSuite.java?rev=648102&view=auto
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CompleteJava5TestSuite.java
 (added)
+++ 
ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CompleteJava5TestSuite.java
 Mon Apr 14 19:32:53 2008
@@ -0,0 +1,29 @@
+package ibatortest;
+
+import ibatortest.execute.conditional.java2.ConditionalJava2Tests;
+import ibatortest.execute.conditional.java5.ConditionalJava5Tests;
+import ibatortest.execute.flat.java2.FlatJava2Tests;
+import ibatortest.execute.flat.java5.FlatJava5Tests;
+import ibatortest.execute.hierarchical.java2.HierarchicalJava2Tests;
+import ibatortest.execute.hierarchical.java5.HierarchicalJava5Tests;
+import ibatortest.execute.miscellaneous.MiscellaneousTests;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class CompleteJava5TestSuite {
+    
+    public static Test suite() {
+        TestSuite suite = new TestSuite("All Java 5 Tests");
+        
+        suite.addTestSuite(ConditionalJava2Tests.class);
+        suite.addTestSuite(ConditionalJava5Tests.class);
+        suite.addTestSuite(FlatJava2Tests.class);
+        suite.addTestSuite(FlatJava5Tests.class);
+        suite.addTestSuite(HierarchicalJava2Tests.class);
+        suite.addTestSuite(HierarchicalJava5Tests.class);
+        suite.addTestSuite(MiscellaneousTests.class);
+        
+        return suite;
+    }
+
+}

Added: ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CreateDB.sql
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CreateDB.sql?rev=648102&view=auto
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CreateDB.sql 
(added)
+++ ibatis/trunk/java/tools/ibator/core/testJava5/ibatortest/CreateDB.sql Mon 
Apr 14 19:32:53 2008
@@ -0,0 +1,92 @@
+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 "awful table" 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),
+  wierd$Field int,
+  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
+);
+
+create table "awful table" (
+  "CuStOmEr iD" int generated by default as identity (start with 57) not null,
+  "customer id" int,
+  "first name" varchar(20),
+  "First Name" varchar(20),
+  "first Name" varchar(20),
+  first_name varchar(20),
+  firstName varchar(20),
+  E_MAIL varchar(20),
+  _id1 int not null,
+  $id2 int not null,
+  id5_ int not null,
+  id6$ int not null,
+  id7$$ int not null,
+  EmailAddress varchar(30),
+  "from" varchar(30),
+  primary key("CuStOmEr iD")
+);
+
+-- this table should be ignored, nothing generated
+create table BlobsOnly (
+  blob1 longvarbinary,
+  blob2 longvarbinary
+);
+
+create table RegexRename (
+  CUST_ID integer,
+  CUST_NAME varchar(30),
+  CUST_ADDRESS varchar(30),
+  ZIP_CODE char(5),
+  primary key(CUST_ID)
+);


Reply via email to