Author: jgbutler
Date: Tue May 12 02:28:03 2009
New Revision: 773765

URL: http://svn.apache.org/viewvc?rev=773765&view=rev
Log:
[Ibator] Show errors properly when there is a configuration error.  Also some 
changes to IntrospectedTable attributes

Added:
    ibatis/trunk/java/tools/ibator/core/htmldoc/reference/attributes.html
Modified:
    ibatis/trunk/java/tools/ibator/core/build/version.properties
    ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt
    ibatis/trunk/java/tools/ibator/core/htmldoc/menu.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/reference/intro.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html
    
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorRunner.java
    
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java
    
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/exception/InvalidConfigurationException.java
    
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/XmlConstants.java
    
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
    
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/RenameExampleClassPlugin.java

Modified: ibatis/trunk/java/tools/ibator/core/build/version.properties
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/build/version.properties?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/build/version.properties (original)
+++ ibatis/trunk/java/tools/ibator/core/build/version.properties Tue May 12 
02:28:03 2009
@@ -1,4 +1,4 @@
 #Ibator build version info
-#Wed Apr 22 12:17:30 CDT 2009
+#Tue Apr 28 18:50:09 CDT 2009
 version=1.2.2
-buildNum=727
+buildNum=729

Modified: ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt (original)
+++ ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt Tue May 12 
02:28:03 2009
@@ -26,6 +26,7 @@
 10. Gather column comments during introspection
 11. IBATIS-592 - Additional attributes for SqlMaps
 12. Fixed addCriterionfor JDBC* methods so that they all do a null check
+13. Fixed IbatorRunner so that configuration errors are shown (thanks to Karel 
Rank)
 
 -------------------------------------------------------------------------------
 Version 1.2.1:

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/menu.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/menu.html?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/menu.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/menu.html Tue May 12 02:28:03 
2009
@@ -52,6 +52,7 @@
   &nbsp;&nbsp;<a href="reference/building.html" target="mainFrame">Building 
Ibator from Source</a><br/>
   &nbsp;&nbsp;<a href="reference/extending.html" target="mainFrame">Extending 
Ibator</a><br/>
   &nbsp;&nbsp;<a href="reference/pluggingIn.html" 
target="mainFrame">Implementing Ibator Plugins</a><br/>
+  &nbsp;&nbsp;<a href="reference/attributes.html" 
target="mainFrame">Introspected Table Attributes</a><br/>
   &nbsp;&nbsp;<a href="reference/logging.html" target="mainFrame">Logging 
Information</a><br/>
   <a href="philosophy.html" target="mainFrame">Design Philosophy</a><br/>
   <a href="license.html" target="mainFrame">Licensing Information</a><br/>

Added: ibatis/trunk/java/tools/ibator/core/htmldoc/reference/attributes.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/reference/attributes.html?rev=773765&view=auto
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/reference/attributes.html 
(added)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/reference/attributes.html Tue 
May 12 02:28:03 2009
@@ -0,0 +1,60 @@
+<!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>Introspected Table Attributes</title>
+  <link type="text/css" rel="stylesheet" href="../ibator.css"/>
+</head>
+<body>
+
+<div class="menuNav">
+  <p>
+    <a href="../index.html" target="_top">Show Menu</a>
+    <a href="attributes.html" target="_top">Hide Menu</a>
+  </p>
+</div>
+
+<h1>Introspected Table Attributes</h1>
+<p>After the database introspection step, and before code generation begins,
+   Ibator calculates many attributes that are used by the actual code 
generators.
+   Plugins can override any of these attributes before code generation by
+   implementing the <code>initialized</code> method.</p>
+
+<table cellspacing="0" cellpadding="5" border="1">
+  <tr>
+    <th>Attribute</th>
+    <th>Details</th>
+  </tr>
+  <tr>
+    <td valign="top">ATTR_BASE_RECORD_TYPE</td>
+    <td>
+      <table border="0">
+        <tr>
+          <th align="right">Data Type:</th>
+          
<td><code>org.apache.ibatis.ibator.api.dom.java.FullyQualifiedJavaType</code></td>
+        </tr>
+        <tr>
+          <th align="right">Setter:</th>
+          <td><code>setBaseRecordType</code></td>
+        </tr>
+        <tr>
+          <th align="right">Getter:</th>
+          <td><code>getBaseRecordType</code></td>
+        </tr>
+        <tr>
+          <th align="right" valign="top">Description:</th>
+          <td>The fully qualified type of the base record.
+              By default, this will be the
+              <code>targetPackage</code> specified in the
+              <code>&lt;javaModelGenerator&gt;</code>
+              configuration, plus the sub-package if sub-packages are enabled,
+              plus the calculated domain object name.</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+</body>
+</html>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/reference/intro.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/reference/intro.html?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/reference/intro.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/reference/intro.html Tue May 12 
02:28:03 2009
@@ -23,6 +23,7 @@
   <li><a href="building.html">Building Ibator from Source</a></li>
   <li><a href="extending.html">Extending Ibator</a></li>
   <li><a href="pluggingIn.html">Implementing Ibator Plugins</a></li>
+  <li><a href="attributes.html">Introspected Table Attributes</a></li>
   <li><a href="logging.html">Logging Information</a></li>
 </ul>
 </body>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html Tue May 12 
02:28:03 2009
@@ -97,6 +97,7 @@
       SqlMap namespace, and the calculated runtime table names.  These can now 
be overridden in
       plugins.</li>
   <li>Fixed addCriterionfor JDBC* methods so that they all do a null 
check.</li>
+  <li>Fixed IbatorRunner so that configuration errors are shown (thanks to 
Karel Rank)</li>
 </ul>
 
 <h2>Version 1.2.1</h2>

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorRunner.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorRunner.java?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorRunner.java
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorRunner.java
 Tue May 12 02:28:03 2009
@@ -121,7 +121,10 @@
             e.printStackTrace();
             return;
         } catch (InvalidConfigurationException e) {
-            e.printStackTrace();
+            writeLine(Messages.getString("Progress.16")); //$NON-NLS-1$
+            for (String error : e.getErrors()) {
+                writeLine(error);
+            }
             return;
         } catch (InterruptedException e) {
             // ignore (will never happen with the DefaultShellCallback)

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java
 Tue May 12 02:28:03 2009
@@ -48,22 +48,6 @@
  */
 public abstract class IntrospectedTable {
     /**
-     * This attribute must be a class of type java.lang.String.
-     * <p/>
-     * Note: this attribute will not be set if DAOs
-     * are not being generated for this table.
-     */
-    public static final String ATTR_DAO_IMPLEMENTATION_PACKAGE = 
"org.apache.ibatis.ibator.api.IntrospectedTable.ATTR_DAO_IMPLEMENTATION_PACKAGE";
 //$NON-NLS-1$
-    
-    /**
-     * This attribute must be a class of type java.lang.String
-     * <p/>
-     * Note: this attribute will not be set if DAOs
-     * are not being generated for this table.
-     */
-    public static final String ATTR_DAO_INTERFACE_PACKAGE = 
"org.apache.ibatis.ibator.api.IntrospectedTable.ATTR_DAO_INTERFACE_PACKAGE"; 
//$NON-NLS-1$
-    
-    /**
      * This attribute must be a class of type
      *   org.apache.ibatis.ibator.api.dom.java.FullyQualifiedJavaType
      * <p/>
@@ -82,11 +66,6 @@
     public static final String ATTR_DAO_INTERFACE_TYPE = 
"org.apache.ibatis.ibator.api.IntrospectedTable.ATTR_DAO_INTERFACE_TYPE"; 
//$NON-NLS-1$
     
     /**
-     * This attribute must be a class of type java.lang.String
-     */
-    public static final String ATTR_JAVA_MODEL_PACKAGE = 
"org.apache.ibatis.ibator.api.IntrospectedTable.ATTR_JAVA_MODEL_PACKAGE"; 
//$NON-NLS-1$
-
-    /**
      * This attribute must be a class of type
      *   org.apache.ibatis.ibator.api.dom.java.FullyQualifiedJavaType
      */
@@ -431,18 +410,6 @@
             || blobColumns.size() > 0;
     }
     
-    public String getDAOInterfacePackage() {
-        return (String) getAttribute(ATTR_DAO_INTERFACE_PACKAGE);
-    }
-    
-    public String getDAOImplementationPackage() {
-        return (String) getAttribute(ATTR_DAO_IMPLEMENTATION_PACKAGE);
-    }
-    
-    public String getJavaModelPackage() {
-        return (String) getAttribute(ATTR_JAVA_MODEL_PACKAGE);
-    }
-    
     public void setTableConfiguration(TableConfiguration tableConfiguration) {
         this.tableConfiguration = tableConfiguration;
     }
@@ -507,16 +474,8 @@
     }
     
     public void initialize() {
-        setDAOImplementationPackage(calculateDAOImplementationPackage());
-        setDAOInterfacePackage(calculateDAOInterfacePackage());
-        setDAOImplementationType(calculateDAOImplementationType());
-        setDAOInterfaceType(calculateDAOInterfaceType());
-        
-        setJavaModelPackage(calculateJavaModelPackage());
-        setPrimaryKeyType(calculatePrimaryKeyType());
-        setBaseRecordType(calculateBaseRecordType());
-        setRecordWithBLOBsType(calculateRecordWithBLOBsType());
-        setExampleType(calculateExampleType());
+        calculateDAOAttributes();
+        calculateModelAttributes();
         
         setSqlMapPackage(calculateSqlMapPackage());
         setSqlMapFileName(calculateSqlMapFileName());
@@ -569,36 +528,28 @@
         return sb.toString();
     }
 
-    protected FullyQualifiedJavaType calculateDAOImplementationType() {
+    protected void calculateDAOAttributes() {
         if (ibatorContext.getDaoGeneratorConfiguration() == null) {
-            return null;
+            return;
         }
         
         StringBuilder sb = new StringBuilder();
-        sb.append(getDAOImplementationPackage());
+        sb.append(calculateDAOImplementationPackage());
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
         sb.append("DAOImpl"); //$NON-NLS-1$
-
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        return fqjt;
-    }
-
-    protected FullyQualifiedJavaType calculateDAOInterfaceType() {
-        if (ibatorContext.getDaoGeneratorConfiguration() == null) {
-            return null;
-        }
+        setDAOImplementationType(fqjt);
         
-        StringBuilder sb = new StringBuilder();
-        sb.append(getDAOInterfacePackage());
+        sb.setLength(0);
+        sb.append(calculateDAOInterfacePackage());
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
         sb.append("DAO"); //$NON-NLS-1$
-
-        FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        return fqjt;
+        fqjt = new FullyQualifiedJavaType(sb.toString());
+        setDAOInterfaceType(fqjt);
     }
-
+    
     protected String calculateJavaModelPackage() {
         JavaModelGeneratorConfiguration config = 
ibatorContext.getJavaModelGeneratorConfiguration();
 
@@ -611,47 +562,39 @@
         return sb.toString();
     }
     
-    protected FullyQualifiedJavaType calculatePrimaryKeyType() {
+    protected void calculateModelAttributes() {
+        String pakkage = calculateJavaModelPackage();
+        
         StringBuilder sb = new StringBuilder();
-        sb.append(getJavaModelPackage());
+        sb.append(pakkage);
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
         sb.append("Key"); //$NON-NLS-1$
-
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        return fqjt;
-    }
-    
-    protected FullyQualifiedJavaType calculateBaseRecordType() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getJavaModelPackage());
+        setPrimaryKeyType(fqjt);
+
+        sb.setLength(0);
+        sb.append(pakkage);
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
+        fqjt = new FullyQualifiedJavaType(sb.toString());
+        setBaseRecordType(fqjt);
 
-        FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        return fqjt;
-    }
-    
-    protected FullyQualifiedJavaType calculateRecordWithBLOBsType() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getJavaModelPackage());
+        sb.setLength(0);
+        sb.append(pakkage);
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
         sb.append("WithBLOBs"); //$NON-NLS-1$
+        fqjt = new FullyQualifiedJavaType(sb.toString());
+        setRecordWithBLOBsType(fqjt);
 
-        FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        return fqjt;
-    }
-
-    protected FullyQualifiedJavaType calculateExampleType() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getJavaModelPackage());
+        sb.setLength(0);
+        sb.append(pakkage);
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
         sb.append("Example"); //$NON-NLS-1$
-
-        FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        return fqjt;
+        fqjt = new FullyQualifiedJavaType(sb.toString());
+        setExampleType(fqjt);
     }
     
     protected String calculateSqlMapPackage() {
@@ -752,14 +695,6 @@
         return tableConfiguration;
     }
     
-    public void setDAOImplementationPackage(String DAOImplementationPackage) {
-        setAttribute(ATTR_DAO_IMPLEMENTATION_PACKAGE, 
DAOImplementationPackage);
-    }
-    
-    public void setDAOInterfacePackage(String DAOInterfacePackage) {
-        setAttribute(ATTR_DAO_INTERFACE_PACKAGE, DAOInterfacePackage);
-    }
-
     public void setDAOImplementationType(FullyQualifiedJavaType 
DAOImplementationType) {
         setAttribute(ATTR_DAO_IMPLEMENTATION_TYPE, DAOImplementationType);
     }
@@ -768,10 +703,6 @@
         setAttribute(ATTR_DAO_INTERFACE_TYPE, DAOInterfaceType);
     }
 
-    public void setJavaModelPackage(String javaModelPackage) {
-        setAttribute(ATTR_JAVA_MODEL_PACKAGE, javaModelPackage);
-    }
-    
     public void setPrimaryKeyType(FullyQualifiedJavaType primaryKeyType) {
         setAttribute(ATTR_PRIMARY_KEY_TYPE, primaryKeyType);
     }

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/exception/InvalidConfigurationException.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/exception/InvalidConfigurationException.java?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/exception/InvalidConfigurationException.java
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/exception/InvalidConfigurationException.java
 Tue May 12 02:28:03 2009
@@ -22,18 +22,18 @@
  */
 public class InvalidConfigurationException extends Exception {
     static final long serialVersionUID = 4902307610148543411L;
-    
-       private List<String> errors;
 
-       /**
-        *  
-        */
-       public InvalidConfigurationException(List<String> errors) {
-               super();
-               this.errors = errors;
-       }
+    private List<String> errors;
 
-       public List<String> getErrors() {
-               return errors;
-       }
+    /**
+     *  
+     */
+    public InvalidConfigurationException(List<String> errors) {
+        super();
+        this.errors = errors;
+    }
+
+    public List<String> getErrors() {
+        return errors;
+    }
 }

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/XmlConstants.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/XmlConstants.java?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/XmlConstants.java
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/XmlConstants.java
 Tue May 12 02:28:03 2009
@@ -30,6 +30,7 @@
     }
     
     static {
+        // TODO - move these to attributes of introspected table.
         StringBuilder sb = new StringBuilder();
 
         sb.append(MergeConstants.NEW_XML_ELEMENT_PREFIX);

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
 Tue May 12 02:28:03 2009
@@ -81,6 +81,7 @@
 Progress.13=Found SQL Statement: {0}
 Progress.14=Generating DAO Interface and Implementation for table {0}
 Progress.15=Saving file {0}
+Progress.16=Invalid configuration.  Details follow...
 
 Tracing.1=Retrieving column information for table "{0}"
 Tracing.2=Found column "{0}", data type {1}, in table "{2}"

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/RenameExampleClassPlugin.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/RenameExampleClassPlugin.java?rev=773765&r1=773764&r2=773765&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/RenameExampleClassPlugin.java
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/RenameExampleClassPlugin.java
 Tue May 12 02:28:03 2009
@@ -93,14 +93,12 @@
 
     @Override
     public void initialized(IntrospectedTable introspectedTable) {
-        FullyQualifiedJavaType oldType = (FullyQualifiedJavaType)
-            
introspectedTable.getAttribute(IntrospectedTable.ATTR_EXAMPLE_TYPE);
+        FullyQualifiedJavaType oldType = introspectedTable.getExampleType();
         
         String typeName = oldType.getFullyQualifiedName();
         Matcher matcher = pattern.matcher(typeName);
         typeName = matcher.replaceAll(replaceString);
         
-        introspectedTable.setAttribute(IntrospectedTable.ATTR_EXAMPLE_TYPE,
-                new FullyQualifiedJavaType(typeName));
+        introspectedTable.setExampleType(new FullyQualifiedJavaType(typeName));
     }
 }


Reply via email to