Author: jgbutler
Date: Fri Sep 29 15:14:27 2006
New Revision: 451474

URL: http://svn.apache.org/viewvc?view=rev&rev=451474
Log:
Abator - Add support for "ignoreQualifiersAtRuntime" and "runtimeTableName" 
properties on the <table> configuration element

Added:
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/oracle.html
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/doc/ReleaseNotes.txt
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/configreference/table.html
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/menu.html
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/intro.html
    ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/whatsNew.html
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/FullyQualifiedTable.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Field.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerClass.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerEnum.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Method.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/config/AbatorContext.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/db/DatabaseIntrospector.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseDAOGenerator.java
    
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/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorIterateImpl.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorLegacyImpl.java
    
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/StringUtility.java

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?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/build.xml Fri Sep 
29 15:14:27 2006
@@ -149,6 +149,7 @@
   </target>

          

   <target name="test.generate.test.code.java2" depends="test.prepare">

+       <echo message="Expect three warnings from Abator (BLOBSONLY, 
NonExistantTable, FRED)" />

                

     <!-- note that the class does not exist until the build runs.

         Validating Ant editors will complain that the task cannot be

@@ -168,6 +169,8 @@
   </target>

                

   <target name="test.generate.test.code.java5" depends="test.prepare" 
if="usingJava5">

+       <echo message="Expect three warnings from Abator (BLOBSONLY, 
NonExistantTable, FRED)" />

+               

     <!-- note that the class does not exist until the build runs.

         Validating Ant editors will complain that the task cannot be

         found, but it's not really an error. -->


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?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/version.properties 
Fri Sep 29 15:14:27 2006
@@ -1,4 +1,4 @@
 #Abator build version info

-#Tue Sep 26 14:22:03 CDT 2006

+#Fri Sep 29 16:33:41 CDT 2006

 version=1.0.1

-buildNum=249

+buildNum=251


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/doc/ReleaseNotes.txt
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/doc/ReleaseNotes.txt?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/doc/ReleaseNotes.txt 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/doc/ReleaseNotes.txt Fri 
Sep 29 15:14:27 2006
@@ -5,6 +5,8 @@
 2. Add "clear" method to generated example classes in the Java2/Java5

    generator sets

 3. Fix bug - trimStrings on JavaModelGenerator not working

+4. Add support for "ignoreQualifiersAtRuntime" and "runtimeTableName" on

+   the <table> configuration

 

 -------------------------------------------------------------------------------

 Version 1.0.0:


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/configreference/table.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/configreference/table.html?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/configreference/table.html
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/configreference/table.html
 Fri Sep 29 15:14:27 2006
@@ -213,6 +213,26 @@
         <code>setStartDate()</code>.</p>

         <p><i>The default value is false.</i></p></td>

   </tr>

+  <tr>

+    <td valign="top">ignoreQualifiersAtRuntime</td>

+    <td>If true, then

+        Abator will not add the schema or catalog to the table name in the 
generated SQL.

+        This is useful if you have tables with the same name in several 
schemas -

+        you can use Abator to generate objects based on the table in one 
schema,

+        but not include the schema for runtime.</p>

+        <p><i>The default value is false.</i></p></td>

+  </tr>

+  <tr>

+    <td valign="top">runtimeTableName</td>

+    <td>If you specify a value for this property, than Abator will use that

+        value as the table name in the generated SQL rather than the 
<code>tableName</code>

+        as configured above.

+        This is especially useful on Oracle if you want to generate objects to 
use

+        a public synonym.  In that case, you will need to generate the objects 
against the

+        actual table that the synonym points to, then specify the synonym name 
in

+        this property.  You should also specify the 
<code>ignoreQualifiersAtRuntime</code>

+        property in most cases with public synonyms.</td>

+  </tr>

 </table>

 

 <h2>Example</h2>


Modified: ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/menu.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/menu.html?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/menu.html 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/menu.html Fri 
Sep 29 15:14:27 2006
@@ -41,6 +41,7 @@
   <a href="usage/intro.html" target="mainFrame">Database Specific 
Information</a><br/>

   &nbsp;&nbsp;<a href="usage/db2.html" target="mainFrame">DB2</a><br/>

   &nbsp;&nbsp;<a href="usage/mysql.html" target="mainFrame">MySql</a><br/>

+  &nbsp;&nbsp;<a href="usage/oracle.html" target="mainFrame">Oracle</a><br/>

 

   <a href="reference/intro.html" target="mainFrame">Other Reference 
Information</a><br/>

   &nbsp;&nbsp;<a href="reference/building.html" target="mainFrame">Building 
Abator from Source</a><br/>


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/intro.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/intro.html?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/intro.html 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/intro.html 
Fri Sep 29 15:14:27 2006
@@ -14,6 +14,7 @@
 <ul>

   <li><a href="db2.html">DB2</a></li>

   <li><a href="mysql.html">MySql</a></li>

+  <li><a href="oracle.html">Oracle</a></li>

 </ul>

 <p>Please let us know about any quirks you discover for the database you are 
using - we will

 be happy to add the information


Added: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/oracle.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/oracle.html?view=auto&rev=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/oracle.html 
(added)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/usage/oracle.html 
Fri Sep 29 15:14:27 2006
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

+ "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>

+

+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">

+<head>

+  <title>Abator Oracle Usage Notes</title>

+  <link type="text/css" rel="stylesheet" href="../abator.css"/>

+</head>

+<body>

+<h1>Abator Oracle Usage Notes</h1>

+<h2>Public Synonyms</h2>

+<p>If you want to generate objects for a table that has a public synonym, you

+should actually generate the objects against the real table - and then change 
the

+table name at runtime.  Abator supports this automatically.</p>

+<p>For example, assume there is a public alias "FRED" that points the the

+table "HR.EMPLOYEES".  The following table configuration will generate the 
objects

+based on HR.EMPLOYEES, but the runtime SQL will only refer to FRED:</p>

+<pre>

+  &lt;table schema="HR" tableName="EMPLOYEES" alias="A"&gt;

+    &lt;property name="ignoreQualifiersAtRuntime" value="true" /&gt;

+    &lt;property name="runtimeTableName" value="FRED" /&gt;

+  &lt;/table&gt;

+</pre>

+</body>

+</html>


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/whatsNew.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/whatsNew.html?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/whatsNew.html 
(original)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/htmldoc/whatsNew.html 
Fri Sep 29 15:14:27 2006
@@ -9,8 +9,19 @@
 </head>

 <body>

 <h1>What's New in Abator</h1>

-<p>Version 1.0.0 is a significant update to Abator from the prior version 
0.6.5.

-Many new features have been added as detailed below.</p>

+<h2>Version 1.0.1 Miscellaneous Changes</h2>

+<ul>

+  <li>Added the ability to specify properties to ignore qualifiers and change 
runtime

+      table names in the generated SQL for a table.  Primary use cases for this

+      support include:

+      <ul>

+        <li>Generating objects for a table that has a public synonym in 
Oracle</li>

+        <li>Generating objects for a table that exists in many schemas, and the

+            schema will be selected at runtime</li>

+      </ul>

+    See the <a href="configreference/table.html">&lt;table&gt;</a>

+    reference page for more information.</li>

+</ul>

 

 <h2>Generator Sets (Version 1.0.0)</h2>

 <p>A generator set is a set of


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/FullyQualifiedTable.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/FullyQualifiedTable.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/FullyQualifiedTable.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/FullyQualifiedTable.java
 Fri Sep 29 15:14:27 2006
@@ -34,17 +34,56 @@
        private String domainObjectName;

     

     private String alias;

+    

+    private boolean ignoreQualifiersAtRuntime;

+    

+    private String runtimeTableName;

 

-       /**

-        *  

-        */

+    /**

+     * This object is used to hold information related to the table itself,

+     * not the columns in the table.

+     * 

+     * @param catalog the actual catalog of the table as returned from

+     *  DatabaseMetaData.  This value should only be set if the user

+     *  configured a catalog.  Otherwise the DatabaseMetaData is reporting

+     *  some database default that we don't want in the generated code.

+     *  

+     * @param schema the actual schema of the table as returned from

+     *  DatabaseMetaData.  This value should only be set if the user

+     *  configured a schema.  Otherwise the DatabaseMetaData is reporting

+     *  some database default that we don't want in the generated code.

+     *  

+     * @param tableName the actual table name as returned from DatabaseMetaData

+     * 

+     * @param domainObjectName the configred domain object name for this table.

+     *  If nothing is configured, we'll build the domain object named based

+     *  on the tableName or runtimeTableName.

+     *  

+     * @param alias a configured alias for the table. This alias will be

+     *  added to the table name in the SQL

+     * 

+     * @param ignoreQualifiersAtRuntime if true, then the catalog and schema

+     *  qualifiers will be ignored when composing fully qualified names in 

+     *  the generated SQL.  This is used, for example, when the user needs

+     *  to specify a specific schema for generating code but does not want

+     *  the schema in the generated SQL 

+     * 

+     * @param runtimeTableName this is used to "rename" the table in the 

+     *  generated SQL.  This is usefule, for example, when generating code

+     *  to run with an Oracle synonym.  The user would have to specify

+     *  the actual table name and schema for generation, but would want to 

+     *  use the synonym name in the generated SQL

+     */

        public FullyQualifiedTable(String catalog, String schema, String 
tableName,

-            String domainObjectName, String alias) {

+            String domainObjectName, String alias, boolean 
ignoreQualifiersAtRuntime,

+            String runtimeTableName) {

                super();

         this.catalog = catalog;

         this.schema = schema;

         this.tableName = tableName;

         this.domainObjectName = domainObjectName;

+        this.ignoreQualifiersAtRuntime = ignoreQualifiersAtRuntime;

+        this.runtimeTableName = runtimeTableName;

         

         if (alias == null) {

             this.alias = null;

@@ -65,14 +104,23 @@
                return tableName;

        }

 

-       public String getFullyQualifiedTableName() {

-        return StringUtility.composeFullyQualifiedTableName(catalog, schema, 
tableName);

+       public String getFullyQualifiedTableNameAsConfigured() {

+        return StringUtility.composeFullyQualifiedTableName(

+                catalog, schema, tableName, '.');

        }

 

-    public String getAliasedFullyQualifiedTableName() {

+    public String getFullyQualifiedTableNameAtRuntime() {

+        return StringUtility.composeFullyQualifiedTableName(

+                ignoreQualifiersAtRuntime ? null : catalog,

+                ignoreQualifiersAtRuntime ? null : schema,

+                StringUtility.stringHasValue(runtimeTableName) ? 
runtimeTableName : tableName,

+                '.');

+    }

+

+    public String getAliasedFullyQualifiedTableNameAtRuntime() {

         StringBuffer sb = new StringBuffer();

 

-        sb.append(getFullyQualifiedTableName());

+        sb.append(getFullyQualifiedTableNameAtRuntime());

         

         if(StringUtility.stringHasValue(alias)) {

             sb.append(' ');

@@ -82,31 +130,19 @@
         return sb.toString();

     }

 

-    public String getFullyQualifiedTableNameWithUnderscores() {

-               StringBuffer sb = new StringBuffer();

-

-               if (StringUtility.stringHasValue(catalog)) {

-                       sb.append(catalog);

-                       sb.append('_');

-               }

-

-               if (StringUtility.stringHasValue(schema)) {

-                       sb.append(schema);

-                       sb.append('_');

-               } else {

-                   if (sb.length() > 0) {

-                               sb.append('_');

-                   }

-               }

-

-               sb.append(tableName);

-

-               return sb.toString();

+    public String getFullyQualifiedTableNameWithUnderscoresAtRuntime() {

+        return StringUtility.composeFullyQualifiedTableName(

+                ignoreQualifiersAtRuntime ? null : catalog,

+                ignoreQualifiersAtRuntime ? null : schema,

+                StringUtility.stringHasValue(runtimeTableName) ? 
runtimeTableName : tableName,

+                '_');

        }

        

        public String getDomainObjectName() {

                if (StringUtility.stringHasValue(domainObjectName)) {

                        return domainObjectName;

+        } else if (StringUtility.stringHasValue(runtimeTableName)) {

+            return JavaBeansUtil.getCamelCaseString(runtimeTableName, true);

                } else {

                        return JavaBeansUtil.getCamelCaseString(tableName, 
true);

                }

@@ -138,10 +174,34 @@
     }

     

     public String toString() {

-        return getFullyQualifiedTableName();

+        return getFullyQualifiedTableNameAsConfigured();

     }

 

     public String getAlias() {

         return alias;

+    }

+

+    /**

+     * Calculates a Java package fragment based on the 

+     * table catalog and schema.  If qualifiers are ignored,

+     * then this method will return an empty string 

+     * 

+     * @return

+     */

+    public String getSubPackage() {

+        StringBuffer sb = new StringBuffer();

+        if (!ignoreQualifiersAtRuntime) {

+            if (StringUtility.stringHasValue(catalog)) {

+                sb.append('.');

+                sb.append(catalog.toLowerCase());

+            }

+

+            if (StringUtility.stringHasValue(schema)) {

+                sb.append('.');

+                sb.append(schema.toLowerCase());

+            }

+        }

+

+        return sb.toString();

     }

 }


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Field.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Field.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Field.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Field.java
 Fri Sep 29 15:14:27 2006
@@ -135,7 +135,7 @@
         addJavaDocLine(" * This field was generated by Abator for iBATIS."); 
//$NON-NLS-1$

                

                sb.append(" * This field corresponds to the database column "); 
//$NON-NLS-1$

-               sb.append(table.getFullyQualifiedTableName());

+               sb.append(table.getFullyQualifiedTableNameAsConfigured());

                sb.append('.');

                sb.append(columnName);

         addJavaDocLine(sb.toString());

@@ -157,7 +157,7 @@
         addJavaDocLine(" * This field was generated by Abator for iBATIS."); 
//$NON-NLS-1$

                

                sb.append(" * This field corresponds to the database table "); 
//$NON-NLS-1$

-               sb.append(table.getFullyQualifiedTableName());

+               sb.append(table.getFullyQualifiedTableNameAsConfigured());

         addJavaDocLine(sb.toString());

                

         addJavaDocLine(" *"); //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerClass.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerClass.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerClass.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerClass.java
 Fri Sep 29 15:14:27 2006
@@ -258,7 +258,7 @@
         addJavaDocLine(" * This class was generated by Abator for iBATIS."); 
//$NON-NLS-1$

         

         sb.append(" * This class corresponds to the database table "); 
//$NON-NLS-1$

-        sb.append(table.getFullyQualifiedTableName());

+        sb.append(table.getFullyQualifiedTableNameAsConfigured());

         addJavaDocLine(sb.toString());

         

         addJavaDocLine(" *"); //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerEnum.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerEnum.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerEnum.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/InnerEnum.java
 Fri Sep 29 15:14:27 2006
@@ -255,7 +255,7 @@
         addJavaDocLine(" * This enum was generated by Abator for iBATIS."); 
//$NON-NLS-1$

         

         sb.append(" * This enum corresponds to the database table "); 
//$NON-NLS-1$

-        sb.append(table.getFullyQualifiedTableName());

+        sb.append(table.getFullyQualifiedTableNameAsConfigured());

         addJavaDocLine(sb.toString());

         

         addJavaDocLine(" *"); //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Method.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Method.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Method.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/api/dom/java/Method.java
 Fri Sep 29 15:14:27 2006
@@ -268,7 +268,7 @@
         addJavaDocLine(" * This method was generated by Abator for iBATIS."); 
//$NON-NLS-1$

     

        sb.append(" * This method returns the value of the database column "); 
//$NON-NLS-1$

-       sb.append(table.getFullyQualifiedTableName());

+       sb.append(table.getFullyQualifiedTableNameAsConfigured());

        sb.append('.');

        sb.append(columnDefinition.getColumnName());

         addJavaDocLine(sb.toString());

@@ -277,7 +277,7 @@
        

        sb.setLength(0);

        sb.append(" * @return the value of "); //$NON-NLS-1$

-       sb.append(table.getFullyQualifiedTableName());

+       sb.append(table.getFullyQualifiedTableNameAsConfigured());

        sb.append('.');

        sb.append(columnDefinition.getColumnName());

         addJavaDocLine(sb.toString());

@@ -299,7 +299,7 @@
         addJavaDocLine(" * This method was generated by Abator for iBATIS."); 
//$NON-NLS-1$

     

        sb.append(" * This method sets the value of the database column "); 
//$NON-NLS-1$

-       sb.append(table.getFullyQualifiedTableName());

+       sb.append(table.getFullyQualifiedTableNameAsConfigured());

        sb.append('.');

        sb.append(columnDefinition.getColumnName());

         addJavaDocLine(sb.toString());

@@ -310,7 +310,7 @@
        sb.append(" * @param "); //$NON-NLS-1$

        sb.append(columnDefinition.getJavaProperty());

        sb.append(" the value for "); //$NON-NLS-1$

-       sb.append(table.getFullyQualifiedTableName());

+       sb.append(table.getFullyQualifiedTableNameAsConfigured());

        sb.append('.');

        sb.append(columnDefinition.getColumnName());

         addJavaDocLine(sb.toString());

@@ -332,7 +332,7 @@
         addJavaDocLine(" * This method was generated by Abator for iBATIS."); 
//$NON-NLS-1$

        

        sb.append(" * This method corresponds to the database table "); 
//$NON-NLS-1$

-       sb.append(table.getFullyQualifiedTableName());

+       sb.append(table.getFullyQualifiedTableNameAsConfigured());

         addJavaDocLine(sb.toString());

        

         addJavaDocLine(" *"); //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/config/AbatorContext.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/config/AbatorContext.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/config/AbatorContext.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/config/AbatorContext.java
 Fri Sep 29 15:14:27 2006
@@ -198,7 +198,7 @@
                                && 
!StringUtility.stringHasValue(tc.getGeneratedKey()

                                                .getSqlStatement())) {

             String tableName = StringUtility.composeFullyQualifiedTableName(

-                    tc.getCatalog(), tc.getSchema(), tc.getTableName());

+                    tc.getCatalog(), tc.getSchema(), tc.getTableName(), '.');

                errors

                                .add(Messages.getString("ValidationError.7",  
//$NON-NLS-1$

                                                tableName));

@@ -246,7 +246,7 @@
                        while (iter.hasNext()) {

                                TableConfiguration tc = (TableConfiguration) 
iter.next();

                                String tableName = 
StringUtility.composeFullyQualifiedTableName(

-                        tc.getCatalog(), tc.getSchema(), tc.getTableName());

+                        tc.getCatalog(), tc.getSchema(), tc.getTableName(), 
'.');

                                

                                if (!tc.areAnyStatementsEnabled()) {

                                    
warnings.add(Messages.getString("Warning.0", tableName)); //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/db/DatabaseIntrospector.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/db/DatabaseIntrospector.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/db/DatabaseIntrospector.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/db/DatabaseIntrospector.java
 Fri Sep 29 15:14:27 2006
@@ -138,7 +138,9 @@
             FullyQualifiedTable table = new FullyQualifiedTable(

                     StringUtility.stringHasValue(tc.getCatalog()) ? catalog : 
null,

                     StringUtility.stringHasValue(tc.getSchema()) ? schema : 
null,

-                    tableName, tc.getDomainObjectName(), tc.getAlias());

+                    tableName, tc.getDomainObjectName(), tc.getAlias(),

+                    "true".equalsIgnoreCase((String) 
tc.getProperties().get("ignoreQualifiersAtRuntime")), //$NON-NLS-1$ 
//$NON-NLS-2$

+                    (String) 
tc.getProperties().get("runtimeTableName"));//$NON-NLS-1$

             

             ColumnOverride columnOverride = tc.getColumnOverride(cd

                     .getColumnName());

@@ -146,7 +148,7 @@
             if (columnOverride == null

                     || !StringUtility.stringHasValue(columnOverride

                             .getJavaProperty())) {

-                if 
("true".equals(tc.getProperties().get("useActualColumnNames"))) { //$NON-NLS-1$ 
//$NON-NLS-2$

+                if ("true".equalsIgnoreCase((String) 
tc.getProperties().get("useActualColumnNames"))) { //$NON-NLS-1$ //$NON-NLS-2$

                     cd.setJavaProperty(JavaBeansUtil.getValidPropertyName(cd

                             .getColumnName()));

                 } else {

@@ -163,7 +165,7 @@
                 // if the type is not supported, then we'll report a warning 
and

                 // ignore the column

                 warnings.add(Messages.getString("Warning.14", //$NON-NLS-1$

-                        table.getFullyQualifiedTableName(),

+                        table.getFullyQualifiedTableNameAsConfigured(),

                         cd.getColumnName()));

                 continue;

             }

@@ -201,10 +203,10 @@
 

             if (!tc.isColumnIgnored(cd.getColumnName())) {

                 IntrospectedTableImpl introspectedTable =

-                    (IntrospectedTableImpl) 
introspectedTables.get(table.getFullyQualifiedTableName());

+                    (IntrospectedTableImpl) 
introspectedTables.get(table.getFullyQualifiedTableNameAsConfigured());

                 if (introspectedTable == null) {

                     introspectedTable = new IntrospectedTableImpl(tc, new 
ColumnDefinitions(), table);

-                    introspectedTables.put(table.getFullyQualifiedTableName(), 
introspectedTable);

+                    
introspectedTables.put(table.getFullyQualifiedTableNameAsConfigured(), 
introspectedTable);

                 }

                 

                 introspectedTable.getColumnDefinitions().addColumn(cd);

@@ -238,12 +240,12 @@
             

             if (!cds.hasAnyColumns()) {

                 // add warning that the table has no columns, remove from the 
list

-                warnings.add(Messages.getString("Warning.1", 
introspectedTable.getTable().getFullyQualifiedTableName())); //$NON-NLS-1$

+                warnings.add(Messages.getString("Warning.1", 
introspectedTable.getTable().getFullyQualifiedTableNameAsConfigured())); 
//$NON-NLS-1$

                 iter.remove();

             } else if (!cds.hasPrimaryKeyColumns()

                     && !cds.hasBaseColumns()) {

                 // add warning that the table has only BLOB columns, remove 
from the list

-                warnings.add(Messages.getString("Warning.18", 
introspectedTable.getTable().getFullyQualifiedTableName())); //$NON-NLS-1$

+                warnings.add(Messages.getString("Warning.18", 
introspectedTable.getTable().getFullyQualifiedTableNameAsConfigured())); 
//$NON-NLS-1$

                 iter.remove();

             } else {

                 // now make sure that all columns called out in the 
configuration


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseDAOGenerator.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseDAOGenerator.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseDAOGenerator.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseDAOGenerator.java
 Fri Sep 29 15:14:27 2006
@@ -213,7 +213,7 @@
         List list = new ArrayList();

 

         String tableName = introspectedTable.getTable()

-                .getFullyQualifiedTableName();

+                .getFullyQualifiedTableNameAsConfigured();

 

         callback.startSubTask(Messages.getString("Progress.10", //$NON-NLS-1$

                 tableName));

@@ -1110,15 +1110,7 @@
         if (s == null) {

             StringBuffer sb = new StringBuffer(targetPackage);

             if ("true".equals(properties.get("enableSubPackages"))) { 
//$NON-NLS-1$  //$NON-NLS-2$

-                if (StringUtility.stringHasValue(table.getCatalog())) {

-                    sb.append('.');

-                    sb.append(table.getCatalog().toLowerCase());

-                }

-

-                if (StringUtility.stringHasValue(table.getSchema())) {

-                    sb.append('.');

-                    sb.append(table.getSchema().toLowerCase());

-                }

+                sb.append(table.getSubPackage());

             }

 

             s = sb.toString();


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?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
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
 Fri Sep 29 15:14:27 2006
@@ -230,24 +230,12 @@
         Map map = getTableValueMap(table);

         s = (String) map.get(key);

         if (s == null) {

+            StringBuffer sb = new StringBuffer(targetPackage);

             if ("true".equals(properties.get("enableSubPackages"))) { 
//$NON-NLS-1$  //$NON-NLS-2$

-                StringBuffer sb = new StringBuffer(targetPackage);

-

-                if (StringUtility.stringHasValue(table.getCatalog())) {

-                    sb.append('.');

-                    sb.append(table.getCatalog().toLowerCase());

-                }

-

-                if (StringUtility.stringHasValue(table.getSchema())) {

-                    sb.append('.');

-                    sb.append(table.getSchema().toLowerCase());

-                }

-

-                s = sb.toString();

-            } else {

-                s = targetPackage;

+                sb.append(table.getSubPackage());

             }

-

+            

+            s = sb.toString();

             map.put(key, s);

         }

 

@@ -370,7 +358,7 @@
         List list = new ArrayList();

 

         String tableName = introspectedTable.getTable()

-                .getFullyQualifiedTableName();

+                .getFullyQualifiedTableNameAsConfigured();

 

         callback.startSubTask(Messages.getString(

                 "Progress.6", //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorIterateImpl.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorIterateImpl.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorIterateImpl.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorIterateImpl.java
 Fri Sep 29 15:14:27 2006
@@ -130,7 +130,7 @@
         FullyQualifiedTable table = introspectedTable.getTable();

         callback.startSubTask(Messages.getString(

                 "Progress.12", //$NON-NLS-1$

-                table.getFullyQualifiedTableName()));

+                table.getFullyQualifiedTableNameAsConfigured()));

         list.add(getSqlMap(introspectedTable));

 

         return list;

@@ -406,7 +406,7 @@
         StringBuffer valuesClause = new StringBuffer();

 

         insertClause.append("insert into "); //$NON-NLS-1$

-        insertClause.append(table.getFullyQualifiedTableName());

+        insertClause.append(table.getFullyQualifiedTableNameAtRuntime());

         insertClause.append(" ("); //$NON-NLS-1$

 

         valuesClause.append("values ("); //$NON-NLS-1$

@@ -477,7 +477,7 @@
         StringBuffer sb = new StringBuffer();

 

         sb.append("update "); //$NON-NLS-1$

-        sb.append(table.getFullyQualifiedTableName());

+        sb.append(table.getFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         // set up for first column

@@ -549,7 +549,7 @@
 

         StringBuffer sb = new StringBuffer();

         sb.append("update "); //$NON-NLS-1$

-        sb.append(table.getFullyQualifiedTableName());

+        sb.append(table.getFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         // set up for first column

@@ -626,7 +626,7 @@
 

         StringBuffer sb = new StringBuffer();

         sb.append("delete from "); //$NON-NLS-1$

-        sb.append(table.getFullyQualifiedTableName());

+        sb.append(table.getFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         boolean and = false;

@@ -675,7 +675,7 @@
 

         StringBuffer sb = new StringBuffer();

         sb.append("delete from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         XmlElement includeElement = new XmlElement("include"); //$NON-NLS-1$

@@ -755,7 +755,7 @@
 

         sb.setLength(0);

         sb.append("from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         boolean and = false;

@@ -816,7 +816,7 @@
         Map map = getTableStringMap(table);

         s = (String) map.get(key);

         if (s == null) {

-            s = table.getFullyQualifiedTableNameWithUnderscores();

+            s = table.getFullyQualifiedTableNameWithUnderscoresAtRuntime();

             map.put(key, s);

         }

 

@@ -870,7 +870,7 @@
         s = (String) map.get(key);

         if (s == null) {

             StringBuffer sb = new StringBuffer();

-            sb.append(table.getFullyQualifiedTableNameWithUnderscores());

+            
sb.append(table.getFullyQualifiedTableNameWithUnderscoresAtRuntime());

 

             sb.append("_SqlMap.xml"); //$NON-NLS-1$

 

@@ -971,24 +971,12 @@
         Map map = getTableStringMap(table);

         s = (String) map.get(key);

         if (s == null) {

-            if ("true".equals(properties.get("enableSubPackages"))) { 
//$NON-NLS-1$ //$NON-NLS-2$

-                StringBuffer sb = new StringBuffer(targetPackage);

-

-                if (StringUtility.stringHasValue(table.getCatalog())) {

-                    sb.append('.');

-                    sb.append(table.getCatalog().toLowerCase());

-                }

-

-                if (StringUtility.stringHasValue(table.getSchema())) {

-                    sb.append('.');

-                    sb.append(table.getSchema().toLowerCase());

-                }

-

-                s = sb.toString();

-            } else {

-                s = targetPackage;

+            StringBuffer sb = new StringBuffer(targetPackage);

+            if ("true".equals(properties.get("enableSubPackages"))) { 
//$NON-NLS-1$  //$NON-NLS-2$

+                sb.append(table.getSubPackage());

             }

-

+            

+            s = sb.toString();

             map.put(key, s);

         }

 

@@ -1257,7 +1245,7 @@
 

         sb.setLength(0);

         sb.append("from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement((new TextElement(sb.toString())));

 

         XmlElement isParameterPresenteElement =

@@ -1329,7 +1317,7 @@
 

         sb.setLength(0);

         sb.append("from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         XmlElement isParameterPresenteElement =

@@ -1401,7 +1389,7 @@
         StringBuffer sb = new StringBuffer();

 

         sb.append("update "); //$NON-NLS-1$

-        sb.append(table.getFullyQualifiedTableName());

+        sb.append(table.getFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         XmlElement dynamicElement = new XmlElement("dynamic"); //$NON-NLS-1$


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorLegacyImpl.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorLegacyImpl.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorLegacyImpl.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/sqlmap/SqlMapGeneratorLegacyImpl.java
 Fri Sep 29 15:14:27 2006
@@ -62,7 +62,7 @@
 

         StringBuffer sb = new StringBuffer();

         sb.append("delete from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement(new TextElement(sb.toString()));

 

         XmlElement includeElement = new XmlElement("include"); //$NON-NLS-1$

@@ -173,7 +173,7 @@
 

         sb.setLength(0);

         sb.append("from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement((new TextElement(sb.toString())));

 

         XmlElement isParameterPresenteElement =

@@ -240,7 +240,7 @@
 

         sb.setLength(0);

         sb.append("from "); //$NON-NLS-1$

-        sb.append(table.getAliasedFullyQualifiedTableName());

+        sb.append(table.getAliasedFullyQualifiedTableNameAtRuntime());

         answer.addElement((new TextElement(sb.toString())));

 

         XmlElement isParameterPresenteElement =


Modified: 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/StringUtility.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/StringUtility.java?view=diff&rev=451474&r1=451473&r2=451474
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/StringUtility.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/StringUtility.java
 Fri Sep 29 15:14:27 2006
@@ -33,20 +33,20 @@
        }

 

     public static String composeFullyQualifiedTableName(String catalog, String 
schema,

-            String tableName) {

+            String tableName, char separator) {

         StringBuffer sb = new StringBuffer();

 

         if (stringHasValue(catalog)) {

             sb.append(catalog);

-            sb.append('.');

+            sb.append(separator);

         }

 

         if (stringHasValue(schema)) {

             sb.append(schema);

-            sb.append('.');

+            sb.append(separator);

         } else {

             if (sb.length() > 0) {

-                sb.append('.');

+                sb.append(separator);

             }

         }

 



Reply via email to