Author: jgbutler
Date: Mon Feb 5 21:06:29 2007
New Revision: 503987
URL: http://svn.apache.org/viewvc?view=rev&rev=503987
Log:
Abator: refactor the test classes to not use the DAO framework, improve the
build
Added:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-2.3.0.677.jar
(with props)
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/README.txt
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/util/
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/util/JavaBeansUtilTest.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README_java2.txt
- copied unchanged from r450090,
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/README_java5.txt
- copied unchanged from r450090,
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/README.txt
Removed:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-common-2.jar
ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-dao-2.jar
ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-sqlmap-2.jar
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/README.txt
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/java2/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/legacy/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/java2/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/legacy/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/java2/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/legacy/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/README.txt
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/conditional/java2/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/conditional/java5/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/conditional/legacy/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/flat/java2/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/flat/java5/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/flat/legacy/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/hierarchical/java2/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/hierarchical/java5/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/hierarchical/legacy/dao.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/miscellaneous/dao.xml
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/ (props changed)
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/BaseLegacyDAOGenerator.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/java/model/JavaModelGeneratorJava5Impl.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorLegacyImpl.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/types/ResolvedJavaType.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/JavaBeansUtil.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/java2/ConditionalJava2Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/conditional/legacy/ConditionalLegacyTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/java2/FlatJava2Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/flat/legacy/FlatLegacyTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/java2/HierarchicalJava2Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/hierarchical/legacy/HierarchicalLegacyTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/execute/miscellaneous/MiscellaneousTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/BaseTest.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/abatorConfig.xml
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/conditional/java2/ConditionalJava2Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/conditional/java5/ConditionalJava5Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/conditional/legacy/ConditionalLegacyTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/flat/java2/FlatJava2Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/flat/java5/FlatJava5Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/flat/legacy/FlatLegacyTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/hierarchical/java2/HierarchicalJava2Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/hierarchical/java5/HierarchicalJava5Tests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/hierarchical/legacy/HierarchicalLegacyTests.java
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava5/abatortest/execute/miscellaneous/MiscellaneousTests.java
Propchange: ibatis/trunk/java/mapper/mapper2/tools/abator/core/build/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Feb 5 21:06:29 2007
@@ -0,0 +1,3 @@
+work
+reports
+deploy
Added:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-2.3.0.677.jar
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-2.3.0.677.jar?view=auto&rev=503987
==============================================================================
Binary file - no diff available.
Propchange:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/devlib/ibatis-2.3.0.677.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
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=503987&r1=503986&r2=503987
==============================================================================
---
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
Mon Feb 5 21:06:29 2007
@@ -61,7 +61,11 @@
private ModelType defaultModelType;
private String configuredGeneratorSet;
+
+ private char beginingDelimiter = '\"';
+ private char endingDelimiter = '\"';
+
/**
* Constructs an AbatorContext object.
*
@@ -248,6 +252,9 @@
try {
callback.startSubTask(Messages.getString("Progress.0")); //$NON-NLS-1$
connection = getConnection();
+
+ DatabaseIntrospector databaseIntrospector =
+ new DatabaseIntrospector(this, connection.getMetaData(),
javaTypeResolver, warnings);
Iterator iter = tableConfigurations.iterator();
while (iter.hasNext()) {
@@ -263,7 +270,7 @@
Collection introspectedTables;
callback.startSubTask(Messages.getString("Progress.1", tableName));
//$NON-NLS-1$
- introspectedTables =
DatabaseIntrospector.introspectTables(connection, tc, javaTypeResolver,
warnings);
+ introspectedTables =
databaseIntrospector.introspectTables(tc);
callback.checkCancel();
Iterator iter2 = introspectedTables.iterator();
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=503987&r1=503986&r2=503987
==============================================================================
---
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
Mon Feb 5 21:06:29 2007
@@ -15,7 +15,6 @@
*/
package org.apache.ibatis.abator.internal.db;
-import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -29,6 +28,7 @@
import org.apache.ibatis.abator.api.FullyQualifiedTable;
import org.apache.ibatis.abator.api.JavaTypeResolver;
import org.apache.ibatis.abator.api.dom.java.FullyQualifiedJavaType;
+import org.apache.ibatis.abator.config.AbatorContext;
import org.apache.ibatis.abator.config.ColumnOverride;
import org.apache.ibatis.abator.config.GeneratedKey;
import org.apache.ibatis.abator.config.TableConfiguration;
@@ -42,30 +42,37 @@
* @author Jeff Butler
*/
public class DatabaseIntrospector {
+
+ private DatabaseMetaData databaseMetaData;
+ private JavaTypeResolver javaTypeResolver;
+ private List warnings;
+ private AbatorContext abatorContext;
- private DatabaseIntrospector() {
+ public DatabaseIntrospector(AbatorContext abatorContext, DatabaseMetaData
databaseMetaData,
+ JavaTypeResolver javaTypeResolver, List warnings) {
super();
+ this.abatorContext = abatorContext;
+ this.databaseMetaData = databaseMetaData;
+ this.javaTypeResolver = javaTypeResolver;
+ this.warnings = warnings;
}
- public static Collection introspectTables(Connection connection,
- TableConfiguration tc, JavaTypeResolver javaTypeResolver,
- List warnings) throws SQLException {
+ public Collection introspectTables(TableConfiguration tc) throws
SQLException {
Map introspectedTables = new HashMap();
- DatabaseMetaData dbmd = connection.getMetaData();
String localCatalog;
String localSchema;
String localTableName;
- if (dbmd.storesLowerCaseIdentifiers()) {
+ if (databaseMetaData.storesLowerCaseIdentifiers()) {
localCatalog = tc.getCatalog() == null ? null : tc.getCatalog()
.toLowerCase();
localSchema = tc.getSchema() == null ? null : tc.getSchema()
.toLowerCase();
localTableName = tc.getTableName() == null ? null : tc
.getTableName().toLowerCase();
- } else if (dbmd.storesUpperCaseIdentifiers()) {
+ } else if (databaseMetaData.storesUpperCaseIdentifiers()) {
localCatalog = tc.getCatalog() == null ? null : tc.getCatalog()
.toUpperCase();
localSchema = tc.getSchema() == null ? null : tc.getSchema()
@@ -79,7 +86,7 @@
}
if (tc.isWildcardEscapingEnabled()) {
- String escapeString = dbmd.getSearchStringEscape();
+ String escapeString = databaseMetaData.getSearchStringEscape();
StringBuffer sb = new StringBuffer();
StringTokenizer st;
@@ -109,7 +116,7 @@
localTableName = sb.toString();
}
- ResultSet rs = dbmd.getColumns(localCatalog, localSchema,
+ ResultSet rs = databaseMetaData.getColumns(localCatalog, localSchema,
localTableName, null);
int returnedColumns = 0;
@@ -121,8 +128,7 @@
cd.setJdbcType(rs.getInt("DATA_TYPE")); //$NON-NLS-1$
cd.setLength(rs.getInt("COLUMN_SIZE")); //$NON-NLS-1$
cd.setActualColumnName(rs.getString("COLUMN_NAME")); //$NON-NLS-1$
- cd
- .setNullable(rs.getInt("NULLABLE") ==
DatabaseMetaData.columnNullable); //$NON-NLS-1$
+ cd.setNullable(rs.getInt("NULLABLE") ==
DatabaseMetaData.columnNullable); //$NON-NLS-1$
cd.setScale(rs.getInt("DECIMAL_DIGITS")); //$NON-NLS-1$
cd.setTypeName(rs.getString("TYPE_NAME")); //$NON-NLS-1$
@@ -138,7 +144,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$
@@ -223,7 +231,7 @@
Iterator iter = introspectedTables.values().iterator();
while (iter.hasNext()) {
IntrospectedTableImpl it = (IntrospectedTableImpl) iter.next();
- calculatePrimaryKey(dbmd, it, warnings);
+ calculatePrimaryKey(it);
}
// now introspectedTables has all the columns from all the
@@ -250,19 +258,18 @@
} else {
// now make sure that all columns called out in the
configuration
// actually exist
- reportIntrospectionWarnings(cds, tc,
introspectedTable.getTable(), warnings);
+ reportIntrospectionWarnings(cds, tc,
introspectedTable.getTable());
}
}
return introspectedTables.values();
}
- private static void calculatePrimaryKey(DatabaseMetaData dbmd,
- IntrospectedTableImpl introspectedTable, List warnings) {
+ private void calculatePrimaryKey(IntrospectedTableImpl introspectedTable) {
ResultSet rs = null;
try {
- rs = dbmd.getPrimaryKeys(introspectedTable.getTable().getCatalog(),
+ rs =
databaseMetaData.getPrimaryKeys(introspectedTable.getTable().getCatalog(),
introspectedTable.getTable().getSchema(),
introspectedTable.getTable().getTableName());
} catch (SQLException e) {
@@ -284,7 +291,7 @@
}
}
- private static void closeResultSet(ResultSet rs) {
+ private void closeResultSet(ResultSet rs) {
if (rs != null) {
try {
rs.close();
@@ -295,10 +302,10 @@
}
}
- private static void reportIntrospectionWarnings(
+ private void reportIntrospectionWarnings(
ColumnDefinitions columnDefinitions,
TableConfiguration tableConfiguration,
- FullyQualifiedTable table, List warnings) {
+ FullyQualifiedTable table) {
// make sure that every column listed in column overrides
// actually exists in the table
Iterator iter = tableConfiguration.getColumnOverrides();
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseLegacyDAOGenerator.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseLegacyDAOGenerator.java?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseLegacyDAOGenerator.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/dao/BaseLegacyDAOGenerator.java
Mon Feb 5 21:06:29 2007
@@ -331,7 +331,7 @@
method.addSuppressTypeWarningsAnnotation();
}
method.setReturnType(FullyQualifiedJavaType.getNewMapInstance());
- sb.append(JavaBeansUtil.getGetterMethodName(cd.getJavaProperty()));
+ sb.append(JavaBeansUtil.getGetterMethodName(cd.getJavaProperty(),
method.getReturnType()));
sb.append("ExampleParms"); //$NON-NLS-1$
method.setName(sb.toString());
@@ -343,7 +343,7 @@
sb.setLength(0);
sb.append("switch (example."); //$NON-NLS-1$
String property = cd.getJavaProperty() + "_Indicator"; //$NON-NLS-1$
- sb.append(JavaBeansUtil.getGetterMethodName(property));
+ sb.append(JavaBeansUtil.getGetterMethodName(property,
FullyQualifiedJavaType.getIntInstance()));
sb.append("()) {"); //$NON-NLS-1$
method.addBodyLine(sb.toString());
@@ -397,12 +397,12 @@
sb.append('(');
sb.append("example."); //$NON-NLS-1$
sb.append(JavaBeansUtil
- .getGetterMethodName(exampleProperty));
+ .getGetterMethodName(exampleProperty,
cd.getResolvedJavaType().getFullyQualifiedJavaType()));
sb.append("()));"); //$NON-NLS-1$
} else {
sb.append("example."); //$NON-NLS-1$
sb.append(JavaBeansUtil
- .getGetterMethodName(exampleProperty));
+ .getGetterMethodName(exampleProperty,
cd.getResolvedJavaType().getFullyQualifiedJavaType()));
sb.append("());"); //$NON-NLS-1$
}
method.addBodyLine(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=503987&r1=503986&r2=503987
==============================================================================
---
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
Mon Feb 5 21:06:29 2007
@@ -175,7 +175,7 @@
method.addGetterComment(table, cd);
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(fqjt);
- method.setName(JavaBeansUtil.getGetterMethodName(property));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.setLength(0);
sb.append("return "); //$NON-NLS-1$
sb.append(property);
@@ -900,7 +900,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithoutValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -916,7 +916,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithSingleValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -929,7 +929,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithListValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -942,7 +942,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithBetweenValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -1273,7 +1273,7 @@
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.insert(0, "return "); //$NON-NLS-1$
sb.append(';');
method.addBodyLine(sb.toString());
@@ -1293,7 +1293,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.insert(0, "return "); //$NON-NLS-1$
sb.append(';');
method.addBodyLine(sb.toString());
@@ -1313,7 +1313,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.insert(0, "return "); //$NON-NLS-1$
sb.append(';');
method.addBodyLine(sb.toString());
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava5Impl.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava5Impl.java?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava5Impl.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorJava5Impl.java
Mon Feb 5 21:06:29 2007
@@ -228,7 +228,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithoutValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -252,7 +252,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithSingleValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -265,7 +265,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithListValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -278,7 +278,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
method.addBodyLine("return criteriaWithBetweenValue;"); //$NON-NLS-1$
answer.addMethod(method);
@@ -612,7 +612,7 @@
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.insert(0, "return "); //$NON-NLS-1$
sb.append(';');
method.addBodyLine(sb.toString());
@@ -632,7 +632,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.insert(0, "return "); //$NON-NLS-1$
sb.append(';');
method.addBodyLine(sb.toString());
@@ -652,7 +652,7 @@
method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(field.getType());
- method.setName(JavaBeansUtil.getGetterMethodName(field.getName()));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.insert(0, "return "); //$NON-NLS-1$
sb.append(';');
method.addBodyLine(sb.toString());
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorLegacyImpl.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorLegacyImpl.java?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorLegacyImpl.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/java/model/JavaModelGeneratorLegacyImpl.java
Mon Feb 5 21:06:29 2007
@@ -133,7 +133,7 @@
method.addComment(table);
method.setVisibility(JavaVisibility.PUBLIC);
method.setReturnType(FullyQualifiedJavaType.getIntInstance());
- method.setName(JavaBeansUtil.getGetterMethodName(fieldName));
+ method.setName(JavaBeansUtil.getGetterMethodName(field.getName(),
field.getType()));
sb.setLength(0);
sb.append("return "); //$NON-NLS-1$
sb.append(fieldName);
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/types/ResolvedJavaType.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/types/ResolvedJavaType.java?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/types/ResolvedJavaType.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/types/ResolvedJavaType.java
Mon Feb 5 21:06:29 2007
@@ -22,21 +22,21 @@
* @author Jeff Butler
*/
public class ResolvedJavaType {
- private FullyQualifiedJavaType fullyQualifiedJavaType;
+ private FullyQualifiedJavaType fullyQualifiedJavaType;
- private String jdbcTypeName;
+ private String jdbcTypeName;
- public ResolvedJavaType() {
- super();
- }
+ public ResolvedJavaType() {
+ super();
+ }
- public String getJdbcTypeName() {
- return jdbcTypeName;
- }
+ public String getJdbcTypeName() {
+ return jdbcTypeName;
+ }
- public void setJdbcTypeName(String jdbcTypeName) {
- this.jdbcTypeName = jdbcTypeName;
- }
+ public void setJdbcTypeName(String jdbcTypeName) {
+ this.jdbcTypeName = jdbcTypeName;
+ }
/**
* @return Returns the fullyQualifiedJavaType.
*/
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/JavaBeansUtil.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/JavaBeansUtil.java?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/JavaBeansUtil.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/src/org/apache/ibatis/abator/internal/util/JavaBeansUtil.java
Mon Feb 5 21:06:29 2007
@@ -15,6 +15,10 @@
*/
package org.apache.ibatis.abator.internal.util;
+import java.util.Locale;
+
+import org.apache.ibatis.abator.api.dom.java.FullyQualifiedJavaType;
+
/**
* @author Jeff Butler
*/
@@ -27,25 +31,65 @@
super();
}
- public static String getGetterMethodName(String property) {
+ /**
+ * JavaBeans rules:
+ *
+ * eMail > geteMail()
+ * firstName > getFirstName()
+ * URL > getURL()
+ * XAxis > getXAxis()
+ * a > getA()
+ * B > invalid - this method assumes that this is not the case.
Call
+ * getValidPropertyName first.
+ * Yaxis > invalid - this method assumes that this is not the case.
Call
+ * getValidPropertyName first.
+ *
+ * @param property
+ * @return
+ */
+ public static String getGetterMethodName(String property,
FullyQualifiedJavaType fullyQualifiedJavaType) {
StringBuffer sb = new StringBuffer();
sb.append(property);
if (Character.isLowerCase(sb.charAt(0))) {
- sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
+ if (sb.length() == 1 || !Character.isUpperCase(sb.charAt(1))) {
+ sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
+ }
}
- sb.insert(0, "get"); //$NON-NLS-1$
+ if
(fullyQualifiedJavaType.equals(FullyQualifiedJavaType.getBooleanPrimitiveInstance()))
{
+ sb.insert(0, "is"); //$NON-NLS-1$
+ } else {
+ sb.insert(0, "get"); //$NON-NLS-1$
+ }
return sb.toString();
}
+ /**
+ * JavaBeans rules:
+ *
+ * eMail > seteMail()
+ * firstName > setFirstName()
+ * URL > setURL()
+ * XAxis > setXAxis()
+ * a > setA()
+ * B > invalid - this method assumes that this is not the case.
Call
+ * getValidPropertyName first.
+ * Yaxis > invalid - this method assumes that this is not the case.
Call
+ * getValidPropertyName first.
+ *
+ * @param property
+ * @return
+ */
public static String getSetterMethodName(String property) {
StringBuffer sb = new StringBuffer();
sb.append(property);
if (Character.isLowerCase(sb.charAt(0))) {
- sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
+ if (sb.length() == 1 || !Character.isUpperCase(sb.charAt(1))) {
+ sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
+ }
}
sb.insert(0, "set"); //$NON-NLS-1$
@@ -93,28 +137,41 @@
/**
* This method ensures that the specified input string is a valid
- * Java property name as iBATIS sees it. The rules are as follows:
+ * Java property name. The rules are as follows:
*
* 1. If the first character is lower case, then OK
* 2. If the first two characters are upper case, then OK
* 3. If the first character is upper case, and the second character is
lower case,
* then the first character should be made lower case
*
+ * eMail > eMail
+ * firstName > firstName
+ * URL > URL
+ * XAxis > XAxis
+ * a > a
+ * B > b
+ * Yaxis > yaxis
+ *
* @param inputString
* @return the valid poperty name
*/
public static String getValidPropertyName(String inputString) {
- if (inputString.length() < 2) {
- return inputString.toLowerCase();
- }
-
- if (Character.isUpperCase(inputString.charAt(0))
- && Character.isLowerCase(inputString.charAt(1))) {
- StringBuffer sb = new StringBuffer(inputString);
- sb.setCharAt(0, Character.toLowerCase(sb.charAt(0)));
- return sb.toString();
+ String answer;
+
+ if (inputString == null) {
+ answer = null;
+ } else if (inputString.length() < 2) {
+ answer = inputString.toLowerCase(Locale.US);
} else {
- return inputString;
- }
+ if (Character.isUpperCase(inputString.charAt(0))
+ && !Character.isUpperCase(inputString.charAt(1))) {
+ answer = inputString.substring(0,
1).toLowerCase(Locale.US) +
+ inputString.substring(1);
+ } else {
+ answer = inputString;
+ }
+ }
+
+ return answer;
}
}
Added: ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/README.txt
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/README.txt?view=auto&rev=503987
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/README.txt (added)
+++ ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/README.txt Mon Feb
5 21:06:29 2007
@@ -0,0 +1,2 @@
+The files in this source tree are used to test Abator itself - not
+the generated code from Abator.
Added:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/util/JavaBeansUtilTest.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/util/JavaBeansUtilTest.java?view=auto&rev=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/util/JavaBeansUtilTest.java
(added)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/test/org/apache/ibatis/abator/internal/util/JavaBeansUtilTest.java
Mon Feb 5 21:06:29 2007
@@ -0,0 +1,75 @@
+/*
+ * 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 org.apache.ibatis.abator.internal.util;
+
+import org.apache.ibatis.abator.api.dom.java.FullyQualifiedJavaType;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Jeff Butler
+ *
+ */
+public class JavaBeansUtilTest extends TestCase {
+
+ /**
+ *
+ */
+ public JavaBeansUtilTest() {
+ super();
+ }
+
+ /**
+ * @param arg0
+ */
+ public JavaBeansUtilTest(String arg0) {
+ super(arg0);
+ }
+
+ public void testGetValidPropertyName() {
+ assertEquals("eMail", JavaBeansUtil.getValidPropertyName("eMail"));
+ assertEquals("firstName",
JavaBeansUtil.getValidPropertyName("firstName"));
+ assertEquals("URL", JavaBeansUtil.getValidPropertyName("URL"));
+ assertEquals("XAxis", JavaBeansUtil.getValidPropertyName("XAxis"));
+ assertEquals("a", JavaBeansUtil.getValidPropertyName("a"));
+ assertEquals("b", JavaBeansUtil.getValidPropertyName("B"));
+ assertEquals("yaxis", JavaBeansUtil.getValidPropertyName("Yaxis"));
+ assertEquals("i_PARAM_INT_1",
JavaBeansUtil.getValidPropertyName("I_PARAM_INT_1"));
+ assertEquals("_fred", JavaBeansUtil.getValidPropertyName("_fred"));
+ }
+
+ public void testGetGetterMethodName() {
+ assertEquals("geteMail", JavaBeansUtil.getGetterMethodName("eMail",
FullyQualifiedJavaType.getStringInstance()));
+ assertEquals("getFirstName",
JavaBeansUtil.getGetterMethodName("firstName",
FullyQualifiedJavaType.getStringInstance()));
+ assertEquals("getURL", JavaBeansUtil.getGetterMethodName("URL",
FullyQualifiedJavaType.getStringInstance()));
+ assertEquals("getXAxis", JavaBeansUtil.getGetterMethodName("XAxis",
FullyQualifiedJavaType.getStringInstance()));
+ assertEquals("getA", JavaBeansUtil.getGetterMethodName("a",
FullyQualifiedJavaType.getStringInstance()));
+ assertEquals("isActive", JavaBeansUtil.getGetterMethodName("active",
FullyQualifiedJavaType.getBooleanPrimitiveInstance()));
+ assertEquals("getI_PARAM_INT_1",
JavaBeansUtil.getGetterMethodName("i_PARAM_INT_1",
FullyQualifiedJavaType.getStringInstance()));
+ assertEquals("get_fred", JavaBeansUtil.getGetterMethodName("_fred",
FullyQualifiedJavaType.getStringInstance()));
+ }
+
+ public void testGetSetterMethodName() {
+ assertEquals("seteMail", JavaBeansUtil.getSetterMethodName("eMail"));
+ assertEquals("setFirstName",
JavaBeansUtil.getSetterMethodName("firstName"));
+ assertEquals("setURL", JavaBeansUtil.getSetterMethodName("URL"));
+ assertEquals("setXAxis", JavaBeansUtil.getSetterMethodName("XAxis"));
+ assertEquals("setA", JavaBeansUtil.getSetterMethodName("a"));
+ assertEquals("setI_PARAM_INT_1",
JavaBeansUtil.getSetterMethodName("i_PARAM_INT_1"));
+ assertEquals("set_fred", JavaBeansUtil.getSetterMethodName("_fred"));
+ }
+}
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/BaseTest.java
Mon Feb 5 21:06:29 2007
@@ -27,8 +27,8 @@
import com.ibatis.common.jdbc.ScriptRunner;
import com.ibatis.common.resources.Resources;
-import com.ibatis.dao.client.DaoManager;
-import com.ibatis.dao.client.DaoManagerBuilder;
+import com.ibatis.sqlmap.client.SqlMapClient;
+import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import junit.framework.TestCase;
@@ -38,13 +38,13 @@
*/
public abstract class BaseTest extends TestCase {
- protected static DaoManager daoManager;
+ protected static SqlMapClient sqlMapClient;
private static DateFormat dateOnlyFormat =
SimpleDateFormat.getDateInstance();
private static DateFormat timeOnlyFormat =
SimpleDateFormat.getTimeInstance();
- protected static void initDaoManager(String configFile, Properties props)
throws Exception {
+ protected static void initSqlMapClient(String configFile, Properties
props) throws Exception {
Reader reader = Resources.getResourceAsReader(configFile);
- daoManager = DaoManagerBuilder.buildDaoManager(reader, props);
+ sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader, props);
reader.close();
}
Modified:
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml?view=diff&rev=503987&r1=503986&r2=503987
==============================================================================
---
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
(original)
+++
ibatis/trunk/java/mapper/mapper2/tools/abator/core/testJava2/abatortest/java2/abatorConfig.xml
Mon Feb 5 21:06:29 2007
@@ -19,7 +19,7 @@
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.flat.java2.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.flat.java2.dao"
targetProject="${generated.source.dir.java2}">
<property name="enableSubPackages" value="true" />
</daoGenerator>
@@ -45,7 +45,7 @@
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.flat.legacy.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.flat.legacy.dao"
targetProject="${generated.source.dir.java2}">
<property name="enableSubPackages" value="true" />
</daoGenerator>
@@ -71,7 +71,7 @@
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.hierarchical.java2.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.hierarchical.java2.dao"
targetProject="${generated.source.dir.java2}">
<property name="enableSubPackages" value="true" />
</daoGenerator>
@@ -97,7 +97,7 @@
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.hierarchical.legacy.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.hierarchical.legacy.dao"
targetProject="${generated.source.dir.java2}">
<property name="enableSubPackages" value="true" />
</daoGenerator>
@@ -123,7 +123,7 @@
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.conditional.java2.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.conditional.java2.dao"
targetProject="${generated.source.dir.java2}">
<property name="enableSubPackages" value="true" />
</daoGenerator>
@@ -149,7 +149,7 @@
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.conditional.legacy.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.conditional.legacy.dao"
targetProject="${generated.source.dir.java2}">
<property name="enableSubPackages" value="true" />
</daoGenerator>
@@ -174,7 +174,7 @@
<sqlMapGenerator
targetPackage="abatortest.java2.generated.miscellaneous.xml"
targetProject="${generated.source.dir.java2}">
</sqlMapGenerator>
- <daoGenerator type="IBATIS"
targetPackage="abatortest.java2.generated.miscellaneous.dao"
targetProject="${generated.source.dir.java2}">
+ <daoGenerator type="GENERIC-CI"
targetPackage="abatortest.java2.generated.miscellaneous.dao"
targetProject="${generated.source.dir.java2}">
<property name="rootInterface"
value="abatortest.java2.execute.miscellaneous.BaseInterface" />
<property name="methodNameCalculator" value="EXTENDED"/>
</daoGenerator>