You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by jg...@apache.org on 2010/02/03 23:44:13 UTC

svn commit: r906271 - in /ibatis/java/ibator/trunk/core/ibator-core: doc/ src/main/java/org/apache/ibatis/ibator/config/ src/main/java/org/apache/ibatis/ibator/internal/db/ src/main/java/org/apache/ibatis/ibator/internal/util/

Author: jgbutler
Date: Wed Feb  3 22:44:12 2010
New Revision: 906271

URL: http://svn.apache.org/viewvc?rev=906271&view=rev
Log:
[Ibator] Add new "useCompoundTableNames" property

Modified:
    ibatis/java/ibator/trunk/core/ibator-core/doc/ReleaseNotes.txt
    ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/config/PropertyRegistry.java
    ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/db/DatabaseIntrospector.java
    ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/util/JavaBeansUtil.java

Modified: ibatis/java/ibator/trunk/core/ibator-core/doc/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/ibatis/java/ibator/trunk/core/ibator-core/doc/ReleaseNotes.txt?rev=906271&r1=906270&r2=906271&view=diff
==============================================================================
--- ibatis/java/ibator/trunk/core/ibator-core/doc/ReleaseNotes.txt (original)
+++ ibatis/java/ibator/trunk/core/ibator-core/doc/ReleaseNotes.txt Wed Feb  3 22:44:12 2010
@@ -40,6 +40,7 @@
 17. Added ability to set annotations on method parameters
 18. Addedd support for "distinct" on select by example methods
 19. Added new "or" method to example classes
+20. Added new "useCompoundColumnNames" property on <table>
 
 -------------------------------------------------------------------------------
 Version 1.2.1:

Modified: ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/config/PropertyRegistry.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/config/PropertyRegistry.java?rev=906271&r1=906270&r2=906271&view=diff
==============================================================================
--- ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/config/PropertyRegistry.java (original)
+++ ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/config/PropertyRegistry.java Wed Feb  3 22:44:12 2010
@@ -40,6 +40,7 @@
 
     public static final String TABLE_USE_COLUMN_INDEXES = "useColumnIndexes"; //$NON-NLS-1$
     public static final String TABLE_USE_ACTUAL_COLUMN_NAMES = "useActualColumnNames"; //$NON-NLS-1$
+    public static final String TABLE_USE_COMPOUND_COLUMN_NAMES = "useCompoundColumnNames"; //$NON-NLS-1$
     public static final String TABLE_IGNORE_QUALIFIERS_AT_RUNTIME = "ignoreQualifiersAtRuntime"; //$NON-NLS-1$
     public static final String TABLE_RUNTIME_CATALOG = "runtimeCatalog"; //$NON-NLS-1$
     public static final String TABLE_RUNTIME_SCHEMA = "runtimeSchema"; //$NON-NLS-1$

Modified: ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/db/DatabaseIntrospector.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/db/DatabaseIntrospector.java?rev=906271&r1=906270&r2=906271&view=diff
==============================================================================
--- ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/db/DatabaseIntrospector.java (original)
+++ ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/db/DatabaseIntrospector.java Wed Feb  3 22:44:12 2010
@@ -214,6 +214,7 @@
     
     private void calculateExtraColumnInformation(TableConfiguration tc,
     		Map<ActualTableName, List<IntrospectedColumn>> columns) {
+    	StringBuilder sb = new StringBuilder();
         Pattern pattern = null;
         String replaceString = null;
         if (tc.getColumnRenamingRule() != null) {
@@ -234,6 +235,12 @@
                 
                 if (StringUtility.isTrue(tc.getProperty(PropertyRegistry.TABLE_USE_ACTUAL_COLUMN_NAMES))) {
                     introspectedColumn.setJavaProperty(JavaBeansUtil.getValidPropertyName(calculatedColumnName));
+                } else if (StringUtility.isTrue(tc.getProperty(PropertyRegistry.TABLE_USE_COMPOUND_COLUMN_NAMES))) {
+                	sb.setLength(0);
+                	sb.append(calculatedColumnName);
+                	sb.append('_');
+                	sb.append(JavaBeansUtil.getCamelCaseString(introspectedColumn.getRemarks(), true));
+                	introspectedColumn.setJavaProperty(JavaBeansUtil.getValidPropertyName(sb.toString()));
                 } else {
                     introspectedColumn.setJavaProperty(JavaBeansUtil.getCamelCaseString(calculatedColumnName, false));
                 }

Modified: ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/util/JavaBeansUtil.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/util/JavaBeansUtil.java?rev=906271&r1=906270&r2=906271&view=diff
==============================================================================
--- ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/util/JavaBeansUtil.java (original)
+++ ibatis/java/ibator/trunk/core/ibator-core/src/main/java/org/apache/ibatis/ibator/internal/util/JavaBeansUtil.java Wed Feb  3 22:44:12 2010
@@ -112,6 +112,7 @@
             case '$':
             case '#':
             case ' ':
+            case '/':
 				if (sb.length() > 0) {
 					nextUpperCase = true;
 				}