Author: jgbutler
Date: Wed Apr 22 18:46:35 2009
New Revision: 767614

URL: http://svn.apache.org/viewvc?rev=767614&view=rev
Log:
[Ibator] Fixed addCriterionfor JDBC* methods so that they all do a null check

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/whatsNew.html
    
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/generator/ibatis2/model/ExampleGenerator.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=767614&r1=767613&r2=767614&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/build/version.properties (original)
+++ ibatis/trunk/java/tools/ibator/core/build/version.properties Wed Apr 22 
18:46:35 2009
@@ -1,4 +1,4 @@
 #Ibator build version info
-#Sun Apr 12 16:33:15 CDT 2009
+#Wed Apr 22 12:17:30 CDT 2009
 version=1.2.2
-buildNum=726
+buildNum=727

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=767614&r1=767613&r2=767614&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt (original)
+++ ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt Wed Apr 22 
18:46:35 2009
@@ -25,6 +25,7 @@
    columnOverrides (thanks to Dan Turkenkopf for the idea and a nice initial 
patch)
 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
 
 -------------------------------------------------------------------------------
 Version 1.2.1:

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=767614&r1=767613&r2=767614&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html Wed Apr 22 
18:46:35 2009
@@ -96,6 +96,7 @@
   <li>IBATIS-592 - Added attributes to IntrospectedTable that contain the 
calculated
       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>
 </ul>
 
 <h2>Version 1.2.1</h2>

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=767614&r1=767613&r2=767614&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
 Wed Apr 22 18:46:35 2009
@@ -507,22 +507,22 @@
     }
     
     public void initialize() {
-        calculateDAOImplementationPackage();
-        calculateDAOInterfacePackage();
-        calculateDAOImplementationType();
-        calculateDAOInterfaceType();
-        
-        calculateJavaModelPackage();
-        calculatePrimaryKeyType();
-        calculateBaseRecordType();
-        calculateRecordWithBLOBsType();
-        calculateExampleType();
-        
-        calculateSqlMapPackage();
-        calculateSqlMapFileName();
-        calculateSqlMapNamespace();
-        calculateSqlMapFullyQualifiedRuntimeTableName();
-        calculateSqlMapAliasedFullyQualifiedRuntimeTableName();
+        setDAOImplementationPackage(calculateDAOImplementationPackage());
+        setDAOInterfacePackage(calculateDAOInterfacePackage());
+        setDAOImplementationType(calculateDAOImplementationType());
+        setDAOInterfaceType(calculateDAOInterfaceType());
+        
+        setJavaModelPackage(calculateJavaModelPackage());
+        setPrimaryKeyType(calculatePrimaryKeyType());
+        setBaseRecordType(calculateBaseRecordType());
+        setRecordWithBLOBsType(calculateRecordWithBLOBsType());
+        setExampleType(calculateExampleType());
+        
+        setSqlMapPackage(calculateSqlMapPackage());
+        setSqlMapFileName(calculateSqlMapFileName());
+        setSqlMapNamespace(calculateSqlMapNamespace());
+        
setSqlMapFullyQualifiedRuntimeTableName(calculateSqlMapFullyQualifiedRuntimeTableName());
+        
setSqlMapAliasedFullyQualifiedRuntimeTableName(calculateSqlMapAliasedFullyQualifiedRuntimeTableName());
         
         if (tableConfiguration.getModelType() == ModelType.HIERARCHICAL) {
             rules = new HierarchicalModelRules(this);
@@ -535,10 +535,10 @@
         ibatorContext.getPlugins().initialized(this);
     }
     
-    protected void calculateDAOImplementationPackage() {
+    protected String calculateDAOImplementationPackage() {
         DAOGeneratorConfiguration config = 
ibatorContext.getDaoGeneratorConfiguration();
         if (config == null) {
-            return;
+            return null;
         }
         
         StringBuilder sb = new StringBuilder();
@@ -551,13 +551,13 @@
             sb.append(fullyQualifiedTable.getSubPackage());
         }
         
-        setAttribute(ATTR_DAO_IMPLEMENTATION_PACKAGE, sb.toString());
+        return sb.toString();
     }
     
-    protected void calculateDAOInterfacePackage() {
+    protected String calculateDAOInterfacePackage() {
         DAOGeneratorConfiguration config = 
ibatorContext.getDaoGeneratorConfiguration();
         if (config == null) {
-            return;
+            return null;
         }
         
         StringBuilder sb = new StringBuilder();
@@ -566,12 +566,12 @@
             sb.append(fullyQualifiedTable.getSubPackage());
         }
         
-        setAttribute(ATTR_DAO_INTERFACE_PACKAGE, sb.toString());
+        return sb.toString();
     }
 
-    protected void calculateDAOImplementationType() {
+    protected FullyQualifiedJavaType calculateDAOImplementationType() {
         if (ibatorContext.getDaoGeneratorConfiguration() == null) {
-            return;
+            return null;
         }
         
         StringBuilder sb = new StringBuilder();
@@ -581,13 +581,12 @@
         sb.append("DAOImpl"); //$NON-NLS-1$
 
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-
-        setAttribute(ATTR_DAO_IMPLEMENTATION_TYPE, fqjt);
+        return fqjt;
     }
 
-    protected void calculateDAOInterfaceType() {
+    protected FullyQualifiedJavaType calculateDAOInterfaceType() {
         if (ibatorContext.getDaoGeneratorConfiguration() == null) {
-            return;
+            return null;
         }
         
         StringBuilder sb = new StringBuilder();
@@ -597,11 +596,10 @@
         sb.append("DAO"); //$NON-NLS-1$
 
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-
-        setAttribute(ATTR_DAO_INTERFACE_TYPE, fqjt);
+        return fqjt;
     }
 
-    protected void calculateJavaModelPackage() {
+    protected String calculateJavaModelPackage() {
         JavaModelGeneratorConfiguration config = 
ibatorContext.getJavaModelGeneratorConfiguration();
 
         StringBuilder sb = new StringBuilder();
@@ -610,10 +608,10 @@
             sb.append(fullyQualifiedTable.getSubPackage());
         }
         
-        setAttribute(ATTR_JAVA_MODEL_PACKAGE, sb.toString());
+        return sb.toString();
     }
     
-    protected void calculatePrimaryKeyType() {
+    protected FullyQualifiedJavaType calculatePrimaryKeyType() {
         StringBuilder sb = new StringBuilder();
         sb.append(getJavaModelPackage());
         sb.append('.');
@@ -621,22 +619,20 @@
         sb.append("Key"); //$NON-NLS-1$
 
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-
-        setAttribute(ATTR_PRIMARY_KEY_TYPE, fqjt);
+        return fqjt;
     }
     
-    protected void calculateBaseRecordType() {
+    protected FullyQualifiedJavaType calculateBaseRecordType() {
         StringBuilder sb = new StringBuilder();
         sb.append(getJavaModelPackage());
         sb.append('.');
         sb.append(fullyQualifiedTable.getDomainObjectName());
 
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-        
-        setAttribute(ATTR_BASE_RECORD_TYPE, fqjt);
+        return fqjt;
     }
     
-    protected void calculateRecordWithBLOBsType() {
+    protected FullyQualifiedJavaType calculateRecordWithBLOBsType() {
         StringBuilder sb = new StringBuilder();
         sb.append(getJavaModelPackage());
         sb.append('.');
@@ -644,11 +640,10 @@
         sb.append("WithBLOBs"); //$NON-NLS-1$
 
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-
-        setAttribute(ATTR_RECORD_WITH_BLOBS_TYPE, fqjt);
+        return fqjt;
     }
 
-    protected void calculateExampleType() {
+    protected FullyQualifiedJavaType calculateExampleType() {
         StringBuilder sb = new StringBuilder();
         sb.append(getJavaModelPackage());
         sb.append('.');
@@ -656,41 +651,36 @@
         sb.append("Example"); //$NON-NLS-1$
 
         FullyQualifiedJavaType fqjt = new 
FullyQualifiedJavaType(sb.toString());
-
-        setAttribute(ATTR_EXAMPLE_TYPE, fqjt);
+        return fqjt;
     }
     
-    protected void calculateSqlMapPackage() {
+    protected String calculateSqlMapPackage() {
         SqlMapGeneratorConfiguration config = 
ibatorContext.getSqlMapGeneratorConfiguration();
         
         StringBuilder sb = new StringBuilder(config.getTargetPackage());
         if 
(StringUtility.isTrue(config.getProperty(PropertyRegistry.ANY_ENABLE_SUB_PACKAGES)))
 {
             sb.append(fullyQualifiedTable.getSubPackage());
         }
-            
-        setAttribute(ATTR_SQL_MAP_PACKAGE, sb.toString());;
+        return sb.toString();
     }
 
-    protected void calculateSqlMapFileName() {
+    protected String calculateSqlMapFileName() {
         StringBuilder sb = new StringBuilder();
         sb.append(fullyQualifiedTable.getSqlMapNamespace());
         sb.append("_SqlMap.xml"); //$NON-NLS-1$
-
-        setAttribute(ATTR_SQL_MAP_FILE_NAME, sb.toString());
+        return sb.toString();
     }
     
-    protected void calculateSqlMapNamespace() {
-        setAttribute(ATTR_SQL_MAP_NAMESPACE, 
fullyQualifiedTable.getSqlMapNamespace());
+    protected String calculateSqlMapNamespace() {
+        return fullyQualifiedTable.getSqlMapNamespace();
     }
     
-    protected void calculateSqlMapFullyQualifiedRuntimeTableName() {
-        setAttribute(ATTR_SQL_MAP_FULLY_QUALIFIED_TABLE_NAME_AT_RUNTIME,
-                fullyQualifiedTable.getFullyQualifiedTableNameAtRuntime());
+    protected String calculateSqlMapFullyQualifiedRuntimeTableName() {
+        return fullyQualifiedTable.getFullyQualifiedTableNameAtRuntime();
     }
     
-    protected void calculateSqlMapAliasedFullyQualifiedRuntimeTableName() {
-        
setAttribute(ATTR_SQL_MAP_ALIASED_FULLY_QUALIFIED_TABLE_NAME_AT_RUNTIME,
-                
fullyQualifiedTable.getAliasedFullyQualifiedTableNameAtRuntime());
+    protected String calculateSqlMapAliasedFullyQualifiedRuntimeTableName() {
+        return 
fullyQualifiedTable.getAliasedFullyQualifiedTableNameAtRuntime();
     }
     
     public String getFullyQualifiedTableNameAtRuntime() {
@@ -761,4 +751,62 @@
     public TableConfiguration getTableConfiguration() {
         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);
+    }
+
+    public void setDAOInterfaceType(FullyQualifiedJavaType DAOInterfaceType) {
+        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);
+    }
+    
+    public void setBaseRecordType(FullyQualifiedJavaType baseRecordType) {
+        setAttribute(ATTR_BASE_RECORD_TYPE, baseRecordType);
+    }
+    
+    public void setRecordWithBLOBsType(FullyQualifiedJavaType 
recordWithBLOBsType) {
+        setAttribute(ATTR_RECORD_WITH_BLOBS_TYPE, recordWithBLOBsType);
+    }
+
+    public void setExampleType(FullyQualifiedJavaType exampleType) {
+        setAttribute(ATTR_EXAMPLE_TYPE, exampleType);
+    }
+    
+    public void setSqlMapPackage(String sqlMapPackage) {
+        setAttribute(ATTR_SQL_MAP_PACKAGE, sqlMapPackage);
+    }
+
+    public void setSqlMapFileName(String sqlMapFileName) {
+        setAttribute(ATTR_SQL_MAP_FILE_NAME, sqlMapFileName);
+    }
+    
+    public void setSqlMapNamespace(String sqlMapNamespace) {
+        setAttribute(ATTR_SQL_MAP_NAMESPACE, sqlMapNamespace);
+    }
+    
+    public void setSqlMapFullyQualifiedRuntimeTableName(String 
fullyQualifiedRuntimeTableName) {
+        setAttribute(ATTR_SQL_MAP_FULLY_QUALIFIED_TABLE_NAME_AT_RUNTIME,
+                fullyQualifiedRuntimeTableName);
+    }
+    
+    public void setSqlMapAliasedFullyQualifiedRuntimeTableName(String 
aliasedFullyQualifiedRuntimeTableName) {
+        
setAttribute(ATTR_SQL_MAP_ALIASED_FULLY_QUALIFIED_TABLE_NAME_AT_RUNTIME,
+                aliasedFullyQualifiedRuntimeTableName);
+    }
 }

Modified: 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/ExampleGenerator.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/ExampleGenerator.java?rev=767614&r1=767613&r2=767614&view=diff
==============================================================================
--- 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/ExampleGenerator.java
 (original)
+++ 
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/ExampleGenerator.java
 Wed Apr 22 18:46:35 2009
@@ -482,6 +482,10 @@
                     .getDateInstance(), "value")); //$NON-NLS-1$
             method.addParameter(new Parameter(FullyQualifiedJavaType
                     .getStringInstance(), "property")); //$NON-NLS-1$
+            method.addBodyLine("if (value == null) {"); //$NON-NLS-1$
+            method
+                    .addBodyLine("throw new RuntimeException(\"Value for \" + 
property + \" cannot be null\");"); //$NON-NLS-1$
+            method.addBodyLine("}"); //$NON-NLS-1$
             method
                     .addBodyLine("addCriterion(condition, new 
java.sql.Date(value.getTime()), property);"); //$NON-NLS-1$
             answer.addMethod(method);
@@ -548,6 +552,10 @@
                     .getDateInstance(), "value")); //$NON-NLS-1$
             method.addParameter(new Parameter(FullyQualifiedJavaType
                     .getStringInstance(), "property")); //$NON-NLS-1$
+            method.addBodyLine("if (value == null) {"); //$NON-NLS-1$
+            method
+                    .addBodyLine("throw new RuntimeException(\"Value for \" + 
property + \" cannot be null\");"); //$NON-NLS-1$
+            method.addBodyLine("}"); //$NON-NLS-1$
             method
                     .addBodyLine("addCriterion(condition, new 
java.sql.Time(value.getTime()), property);"); //$NON-NLS-1$
             answer.addMethod(method);


Reply via email to