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 2009/02/04 03:37:43 UTC
svn commit: r740581 [1/2] - in /ibatis/trunk/java/tools/ibator/core: build/
doc/ htmldoc/ src/org/apache/ibatis/ibator/api/
src/org/apache/ibatis/ibator/generator/ibatis2/
src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/
src/org/apache/ibatis/iba...
Author: jgbutler
Date: Wed Feb 4 02:37:43 2009
New Revision: 740581
URL: http://svn.apache.org/viewvc?rev=740581&view=rev
Log:
[ibator] Changes for IBATIS-577 - define SQL fragments for column lists
Added:
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BaseColumnListElementGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BlobColumnListElementGenerator.java
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/IbatorPlugin.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/package.html
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/generator/ibatis2/sqlmap/SqlMapGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/AbstractXmlElementGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithBLOBsElementGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithoutBLOBsElementGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByPrimaryKeyElementGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/DefaultCommentGenerator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/db/SqlReservedWords.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/rules/BaseIbatorRules.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/rules/IbatorRules.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/rules/IbatorRulesDelegate.java
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/RenameExampleClassPlugin.java
ibatis/trunk/java/tools/ibator/core/test/org/apache/ibatis/ibator/internal/util/JavaBeansUtilTests.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=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/build/version.properties (original)
+++ ibatis/trunk/java/tools/ibator/core/build/version.properties Wed Feb 4 02:37:43 2009
@@ -1,4 +1,4 @@
#Ibator build version info
-#Wed Jan 07 10:10:05 CST 2009
+#Tue Feb 03 20:33:04 CST 2009
version=1.2.2
-buildNum=700
+buildNum=703
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=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt (original)
+++ ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt Wed Feb 4 02:37:43 2009
@@ -7,6 +7,8 @@
Enhancements:
1. IBATIS-569 - Make it easier to override IbatorRules in plugins
2. IBATIS-571 - Added "autoDelimitKeywords" support to <ibatorContext>
+3. IBATIS-577 - Define SQL fragments for column lists. Thanks to Iwao
+ AVE! for the idea and the initial patch
-------------------------------------------------------------------------------
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=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html Wed Feb 4 02:37:43 2009
@@ -25,14 +25,18 @@
<h3>Enhancements</h3>
<ul>
<li>IBATIS-569 - Modified the IbatorRules implementation to make it easier
- for plugins to provide custom implementations of IbatorRules. See the
- Javadoc for the new class
- <code>org.apache.ibatis.ibator.internal.rules.IbatorRulesDelegate</code>
- for more information.</li>
+ for plugins to provide custom implementations of IbatorRules. See the
+ Javadoc for the new class
+ <code>org.apache.ibatis.ibator.internal.rules.IbatorRulesDelegate</code>
+ for more information.</li>
<li>IBATIS-571 - Added support for automatically delimiting SQL keywords
- if they are used as column names in tables. See the
- <a href="configreference/ibatorContext.html"><ibatorContext></a> page for detailed
- for more information.</li>
+ if they are used as column names in tables. See the
+ <a href="configreference/ibatorContext.html"><ibatorContext></a> page for detailed
+ for more information.</li>
+ <li>IBATIS-577 - Define SQL fragments for column lists to improve
+ reusability of generated code. Thanks to Iwao AVE! for the idea
+ and the initial patch.
+ </li>
</ul>
<h2>Version 1.2.1</h2>
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java Wed Feb 4 02:37:43 2009
@@ -919,6 +919,32 @@
boolean sqlMapExampleWhereClauseElementGenerated(XmlElement element, IntrospectedTable introspectedTable);
/**
+ * This method is called when the baseColumnList element is generated.
+ *
+ * @param element the generated <sql> element
+ * @param introspectedTable ibator's class containing information
+ * about the table as introspected from the database
+ * @return true if the element should be generated, false
+ * if the generated element should be ignored. In the case
+ * of multiple plugins, the first plugin returning false
+ * will disable the calling of further plugins.
+ */
+ boolean sqlMapBaseColumnListElementGenerated(XmlElement element, IntrospectedTable introspectedTable);
+
+ /**
+ * This method is called when the blobColumnList element is generated.
+ *
+ * @param element the generated <sql> element
+ * @param introspectedTable ibator's class containing information
+ * about the table as introspected from the database
+ * @return true if the element should be generated, false
+ * if the generated element should be ignored. In the case
+ * of multiple plugins, the first plugin returning false
+ * will disable the calling of further plugins.
+ */
+ boolean sqlMapBlobColumnListElementGenerated(XmlElement element, IntrospectedTable introspectedTable);
+
+ /**
* This method is called when the insert element is generated.
*
* @param element the generated <insert> element
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java Wed Feb 4 02:37:43 2009
@@ -306,4 +306,14 @@
public void initialized(IntrospectedTable introspectedTable) {
}
+
+ public boolean sqlMapBaseColumnListElementGenerated(XmlElement element,
+ IntrospectedTable introspectedTable) {
+ return true;
+ }
+
+ public boolean sqlMapBlobColumnListElementGenerated(XmlElement element,
+ IntrospectedTable introspectedTable) {
+ return true;
+ }
}
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/package.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/package.html?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/package.html (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/package.html Wed Feb 4 02:37:43 2009
@@ -1,8 +1,8 @@
<html>
<head>
- <title>Package Description for Main ibator API Classes</title>
+ <title>Package Description for Main Ibator API Classes</title>
</head>
<body>
-<p>Provides the main classes and interfaces used by clients of ibator.</p>
+<p>Provides the main classes and interfaces used by clients of Ibator.</p>
</body>
</html>
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=740581&r1=740580&r2=740581&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 Wed Feb 4 02:37:43 2009
@@ -115,6 +115,16 @@
sb.append(MergeConstants.NEW_XML_ELEMENT_PREFIX);
sb.append("Example_Where_Clause"); //$NON-NLS-1$
EXAMPLE_WHERE_CLAUSE_ID = sb.toString();
+
+ sb.setLength(0);
+ sb.append(MergeConstants.NEW_XML_ELEMENT_PREFIX);
+ sb.append("Base_Column_List"); //$NON-NLS-1$
+ BASE_COLUMN_LIST_ID = sb.toString();
+
+ sb.setLength(0);
+ sb.append(MergeConstants.NEW_XML_ELEMENT_PREFIX);
+ sb.append("Blob_Column_List"); //$NON-NLS-1$
+ BLOB_COLUMN_LIST_ID = sb.toString();
}
public static final String SQL_MAP_SYSTEM_ID = "http://ibatis.apache.org/dtd/sql-map-2.dtd"; //$NON-NLS-1$
@@ -162,4 +172,8 @@
public static final String RESULT_MAP_WITH_BLOBS_ID;
public static final String EXAMPLE_WHERE_CLAUSE_ID;
+
+ public static final String BASE_COLUMN_LIST_ID;
+
+ public static final String BLOB_COLUMN_LIST_ID;
}
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/SqlMapGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/SqlMapGenerator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/SqlMapGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/SqlMapGenerator.java Wed Feb 4 02:37:43 2009
@@ -22,6 +22,8 @@
import org.apache.ibatis.ibator.generator.AbstractXmlGenerator;
import org.apache.ibatis.ibator.generator.ibatis2.XmlConstants;
import org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements.AbstractXmlElementGenerator;
+import org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements.BaseColumnListElementGenerator;
+import org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements.BlobColumnListElementGenerator;
import org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements.CountByExampleElementGenerator;
import org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements.DeleteByExampleElementGenerator;
import org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements.DeleteByPrimaryKeyElementGenerator;
@@ -65,6 +67,8 @@
addResultMapWithoutBLOBsElement(answer);
addResultMapWithBLOBsElement(answer);
addExampleWhereClauseElement(answer);
+ addBaseColumnListElement(answer);
+ addBlobColumnListElement(answer);
addSelectByExampleWithBLOBsElement(answer);
addSelectByExampleWithoutBLOBsElement(answer);
addSelectByPrimaryKeyElement(answer);
@@ -104,6 +108,20 @@
}
}
+ protected void addBaseColumnListElement(XmlElement parentElement) {
+ if (introspectedTable.getRules().generateBaseColumnList()) {
+ AbstractXmlElementGenerator elementGenerator = new BaseColumnListElementGenerator();
+ initializeAndExecuteGenerator(elementGenerator, parentElement);
+ }
+ }
+
+ protected void addBlobColumnListElement(XmlElement parentElement) {
+ if (introspectedTable.getRules().generateBlobColumnList()) {
+ AbstractXmlElementGenerator elementGenerator = new BlobColumnListElementGenerator();
+ initializeAndExecuteGenerator(elementGenerator, parentElement);
+ }
+ }
+
protected void addSelectByExampleWithoutBLOBsElement(XmlElement parentElement) {
if (introspectedTable.getRules().generateSelectByExampleWithoutBLOBs()) {
AbstractXmlElementGenerator elementGenerator = new SelectByExampleWithoutBLOBsElementGenerator();
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/AbstractXmlElementGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/AbstractXmlElementGenerator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/AbstractXmlElementGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/AbstractXmlElementGenerator.java Wed Feb 4 02:37:43 2009
@@ -15,12 +15,14 @@
*/
package org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements;
+import org.apache.ibatis.ibator.api.FullyQualifiedTable;
import org.apache.ibatis.ibator.api.IntrospectedColumn;
import org.apache.ibatis.ibator.api.dom.xml.Attribute;
import org.apache.ibatis.ibator.api.dom.xml.TextElement;
import org.apache.ibatis.ibator.api.dom.xml.XmlElement;
import org.apache.ibatis.ibator.config.GeneratedKey;
import org.apache.ibatis.ibator.generator.AbstractGenerator;
+import org.apache.ibatis.ibator.generator.ibatis2.XmlConstants;
import org.apache.ibatis.ibator.internal.util.StringUtility;
/**
@@ -60,4 +62,18 @@
return answer;
}
+
+ protected XmlElement getBaseColumnListElement(FullyQualifiedTable table) {
+ XmlElement answer = new XmlElement("include"); //$NON-NLS-1$
+ answer.addAttribute(new Attribute("refid", //$NON-NLS-1$
+ table.getSqlMapNamespace() + "." + XmlConstants.BASE_COLUMN_LIST_ID)); //$NON-NLS-1$
+ return answer;
+ }
+
+ protected XmlElement getBlobColumnListElement(FullyQualifiedTable table) {
+ XmlElement answer = new XmlElement("include"); //$NON-NLS-1$
+ answer.addAttribute(new Attribute("refid", //$NON-NLS-1$
+ table.getSqlMapNamespace() + "." + XmlConstants.BLOB_COLUMN_LIST_ID)); //$NON-NLS-1$
+ return answer;
+ }
}
Added: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BaseColumnListElementGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BaseColumnListElementGenerator.java?rev=740581&view=auto
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BaseColumnListElementGenerator.java (added)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BaseColumnListElementGenerator.java Wed Feb 4 02:37:43 2009
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009 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.ibator.generator.ibatis2.sqlmap.elements;
+
+import org.apache.ibatis.ibator.api.IntrospectedColumn;
+import org.apache.ibatis.ibator.api.dom.xml.Attribute;
+import org.apache.ibatis.ibator.api.dom.xml.TextElement;
+import org.apache.ibatis.ibator.api.dom.xml.XmlElement;
+import org.apache.ibatis.ibator.generator.ibatis2.XmlConstants;
+
+/**
+ *
+ * @author Jeff Butler
+ *
+ */
+public class BaseColumnListElementGenerator extends AbstractXmlElementGenerator {
+
+ public BaseColumnListElementGenerator() {
+ super();
+ }
+
+ @Override
+ public void addElements(XmlElement parentElement) {
+ XmlElement answer = new XmlElement("sql"); //$NON-NLS-1$
+
+ answer.addAttribute(new Attribute("id", //$NON-NLS-1$
+ XmlConstants.BASE_COLUMN_LIST_ID));
+
+ ibatorContext.getCommentGenerator().addComment(answer);
+
+ boolean comma = false;
+ StringBuilder sb = new StringBuilder();
+
+ for (IntrospectedColumn introspectedColumn : introspectedTable.getNonBLOBColumns()) {
+ if (comma) {
+ sb.append(", "); //$NON-NLS-1$
+ } else {
+ comma = true;
+ }
+
+ sb.append(introspectedColumn.getSelectListPhrase());
+ }
+
+ answer.addElement((new TextElement(sb.toString())));
+
+ if (ibatorContext.getPlugins().sqlMapBaseColumnListElementGenerated(answer, introspectedTable)) {
+ parentElement.addElement(answer);
+ }
+ }
+}
Added: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BlobColumnListElementGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BlobColumnListElementGenerator.java?rev=740581&view=auto
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BlobColumnListElementGenerator.java (added)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/BlobColumnListElementGenerator.java Wed Feb 4 02:37:43 2009
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009 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.ibator.generator.ibatis2.sqlmap.elements;
+
+import org.apache.ibatis.ibator.api.IntrospectedColumn;
+import org.apache.ibatis.ibator.api.dom.xml.Attribute;
+import org.apache.ibatis.ibator.api.dom.xml.TextElement;
+import org.apache.ibatis.ibator.api.dom.xml.XmlElement;
+import org.apache.ibatis.ibator.generator.ibatis2.XmlConstants;
+
+/**
+ *
+ * @author Jeff Butler
+ *
+ */
+public class BlobColumnListElementGenerator extends AbstractXmlElementGenerator {
+
+ public BlobColumnListElementGenerator() {
+ super();
+ }
+
+ @Override
+ public void addElements(XmlElement parentElement) {
+ XmlElement answer = new XmlElement("sql"); //$NON-NLS-1$
+
+ answer.addAttribute(new Attribute("id", //$NON-NLS-1$
+ XmlConstants.BLOB_COLUMN_LIST_ID));
+
+ ibatorContext.getCommentGenerator().addComment(answer);
+
+ boolean comma = false;
+ StringBuilder sb = new StringBuilder();
+
+ for (IntrospectedColumn introspectedColumn : introspectedTable.getBLOBColumns()) {
+ if (comma) {
+ sb.append(", "); //$NON-NLS-1$
+ } else {
+ comma = true;
+ }
+
+ sb.append(introspectedColumn.getSelectListPhrase());
+ }
+
+ answer.addElement((new TextElement(sb.toString())));
+
+ if (ibatorContext.getPlugins().sqlMapBlobColumnListElementGenerated(answer, introspectedTable)) {
+ parentElement.addElement(answer);
+ }
+ }
+}
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithBLOBsElementGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithBLOBsElementGenerator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithBLOBsElementGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithBLOBsElementGenerator.java Wed Feb 4 02:37:43 2009
@@ -16,7 +16,6 @@
package org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements;
import org.apache.ibatis.ibator.api.FullyQualifiedTable;
-import org.apache.ibatis.ibator.api.IntrospectedColumn;
import org.apache.ibatis.ibator.api.dom.java.FullyQualifiedJavaType;
import org.apache.ibatis.ibator.api.dom.xml.Attribute;
import org.apache.ibatis.ibator.api.dom.xml.TextElement;
@@ -54,25 +53,15 @@
StringBuilder sb = new StringBuilder();
sb.append("select "); //$NON-NLS-1$
- boolean comma = false;
-
if (StringUtility.stringHasValue(introspectedTable.getSelectByExampleQueryId())) {
sb.append('\'');
sb.append(introspectedTable.getSelectByExampleQueryId());
- sb.append("' as QUERYID"); //$NON-NLS-1$
- comma = true;
- }
-
- for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) {
- if (comma) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- comma = true;
- }
-
- sb.append(introspectedColumn.getSelectListPhrase());
+ sb.append("' as QUERYID,"); //$NON-NLS-1$
}
answer.addElement(new TextElement(sb.toString()));
+ answer.addElement(getBaseColumnListElement(table));
+ answer.addElement(new TextElement(",")); //$NON-NLS-1$
+ answer.addElement(getBlobColumnListElement(table));
sb.setLength(0);
sb.append("from "); //$NON-NLS-1$
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithoutBLOBsElementGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithoutBLOBsElementGenerator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithoutBLOBsElementGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByExampleWithoutBLOBsElementGenerator.java Wed Feb 4 02:37:43 2009
@@ -16,7 +16,6 @@
package org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements;
import org.apache.ibatis.ibator.api.FullyQualifiedTable;
-import org.apache.ibatis.ibator.api.IntrospectedColumn;
import org.apache.ibatis.ibator.api.dom.java.FullyQualifiedJavaType;
import org.apache.ibatis.ibator.api.dom.xml.Attribute;
import org.apache.ibatis.ibator.api.dom.xml.TextElement;
@@ -55,24 +54,13 @@
StringBuilder sb = new StringBuilder();
sb.append("select "); //$NON-NLS-1$
- boolean comma = false;
if (StringUtility.stringHasValue(introspectedTable.getSelectByExampleQueryId())) {
sb.append('\'');
sb.append(introspectedTable.getSelectByExampleQueryId());
- sb.append("' as QUERYID"); //$NON-NLS-1$
- comma = true;
+ sb.append("' as QUERYID,"); //$NON-NLS-1$
}
-
- for (IntrospectedColumn introspectedColumn : introspectedTable.getNonBLOBColumns()) {
- if (comma) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- comma = true;
- }
-
- sb.append(introspectedColumn.getSelectListPhrase());
- }
- answer.addElement((new TextElement(sb.toString())));
+ answer.addElement(new TextElement(sb.toString()));
+ answer.addElement(getBaseColumnListElement(table));
sb.setLength(0);
sb.append("from "); //$NON-NLS-1$
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByPrimaryKeyElementGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByPrimaryKeyElementGenerator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByPrimaryKeyElementGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/sqlmap/elements/SelectByPrimaryKeyElementGenerator.java Wed Feb 4 02:37:43 2009
@@ -67,25 +67,17 @@
StringBuilder sb = new StringBuilder();
sb.append("select "); //$NON-NLS-1$
- boolean comma = false;
if (StringUtility.stringHasValue(introspectedTable.getSelectByPrimaryKeyQueryId())) {
sb.append('\'');
sb.append(introspectedTable.getSelectByPrimaryKeyQueryId());
- sb.append("' as QUERYID"); //$NON-NLS-1$
- comma = true;
+ sb.append("' as QUERYID,"); //$NON-NLS-1$
}
-
- for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) {
- if (comma) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- comma = true;
- }
-
- sb.append(introspectedColumn.getSelectListPhrase());
- }
-
answer.addElement(new TextElement(sb.toString()));
+ answer.addElement(getBaseColumnListElement(table));
+ if (introspectedTable.hasBLOBColumns()) {
+ answer.addElement(new TextElement(",")); //$NON-NLS-1$
+ answer.addElement(getBlobColumnListElement(table));
+ }
sb.setLength(0);
sb.append("from "); //$NON-NLS-1$
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/DefaultCommentGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/DefaultCommentGenerator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/DefaultCommentGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/DefaultCommentGenerator.java Wed Feb 4 02:37:43 2009
@@ -53,7 +53,7 @@
StringBuilder sb = new StringBuilder();
field.addJavaDocLine("/**"); //$NON-NLS-1$
- field.addJavaDocLine(" * This field was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ field.addJavaDocLine(" * This field was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This field corresponds to the database column "); //$NON-NLS-1$
sb.append(table);
@@ -70,7 +70,7 @@
StringBuilder sb = new StringBuilder();
field.addJavaDocLine("/**"); //$NON-NLS-1$
- field.addJavaDocLine(" * This field was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ field.addJavaDocLine(" * This field was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This field corresponds to the database table "); //$NON-NLS-1$
sb.append(table);
@@ -85,7 +85,7 @@
StringBuilder sb = new StringBuilder();
innerClass.addJavaDocLine("/**"); //$NON-NLS-1$
- innerClass.addJavaDocLine(" * This class was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ innerClass.addJavaDocLine(" * This class was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This class corresponds to the database table "); //$NON-NLS-1$
sb.append(table);
@@ -100,7 +100,7 @@
StringBuilder sb = new StringBuilder();
innerEnum.addJavaDocLine("/**"); //$NON-NLS-1$
- innerEnum.addJavaDocLine(" * This enum was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ innerEnum.addJavaDocLine(" * This enum was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This enum corresponds to the database table "); //$NON-NLS-1$
sb.append(table);
@@ -115,7 +115,7 @@
StringBuilder sb = new StringBuilder();
method.addJavaDocLine("/**"); //$NON-NLS-1$
- method.addJavaDocLine(" * This method was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ method.addJavaDocLine(" * This method was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This method returns the value of the database column "); //$NON-NLS-1$
sb.append(table);
@@ -141,7 +141,7 @@
StringBuilder sb = new StringBuilder();
method.addJavaDocLine("/**"); //$NON-NLS-1$
- method.addJavaDocLine(" * This method was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ method.addJavaDocLine(" * This method was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This method sets the value of the database column "); //$NON-NLS-1$
sb.append(table);
@@ -170,7 +170,7 @@
StringBuilder sb = new StringBuilder();
method.addJavaDocLine("/**"); //$NON-NLS-1$
- method.addJavaDocLine(" * This method was generated by Apache iBATIS ibator."); //$NON-NLS-1$
+ method.addJavaDocLine(" * This method was generated by Apache iBATIS Ibator."); //$NON-NLS-1$
sb.append(" * This method corresponds to the database table "); //$NON-NLS-1$
sb.append(table);
@@ -193,7 +193,7 @@
public void addComment(XmlElement xmlElement) {
xmlElement.addElement(new TextElement("<!--")); //$NON-NLS-1$
xmlElement.addElement(new TextElement(
- " WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.")); //$NON-NLS-1$
+ " WARNING - This element is automatically generated by Apache iBATIS Ibator, do not modify.")); //$NON-NLS-1$
String s = getDateString();
if (s != null) {
Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java?rev=740581&r1=740580&r2=740581&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java Wed Feb 4 02:37:43 2009
@@ -950,4 +950,34 @@
plugin.initialized(introspectedTable);
}
}
+
+ public boolean sqlMapBaseColumnListElementGenerated(XmlElement element,
+ IntrospectedTable introspectedTable) {
+ boolean rc = true;
+
+ for (IbatorPlugin plugin : plugins) {
+ if (!plugin
+ .sqlMapBaseColumnListElementGenerated(element, introspectedTable)) {
+ rc = false;
+ break;
+ }
+ }
+
+ return rc;
+ }
+
+ public boolean sqlMapBlobColumnListElementGenerated(XmlElement element,
+ IntrospectedTable introspectedTable) {
+ boolean rc = true;
+
+ for (IbatorPlugin plugin : plugins) {
+ if (!plugin
+ .sqlMapBlobColumnListElementGenerated(element, introspectedTable)) {
+ rc = false;
+ break;
+ }
+ }
+
+ return rc;
+ }
}