Author: jgbutler
Date: Wed Apr 23 19:54:58 2008
New Revision: 651142
URL: http://svn.apache.org/viewvc?rev=651142&view=rev
Log:
ibator: further refinements to plugins
Modified:
ibatis/trunk/java/tools/ibator/core/build/version.properties
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/config/IbatorContext.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/util/messages/messages.properties
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/SqlMapConfigPlugin.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=651142&r1=651141&r2=651142&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/build/version.properties (original)
+++ ibatis/trunk/java/tools/ibator/core/build/version.properties Wed Apr 23
19:54:58 2008
@@ -1,4 +1,4 @@
#ibator build version info
-#Wed Apr 23 17:51:25 CDT 2008
+#Wed Apr 23 21:27:08 CDT 2008
version=1.2.0
-buildNum=492
+buildNum=493
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=651142&r1=651141&r2=651142&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 Apr 23 19:54:58 2008
@@ -25,12 +25,15 @@
import org.apache.ibatis.ibator.config.IbatorContext;
/**
- * This interface defines methods that will be called by ibatror at different
+ * This interface defines methods that will be called by ibator at different
* times during the code generation process. These methods can be used to
* extend or modify the code generated by ibator. Clients may implement this
- * interface in its entirety, or extend the IbatorPluginAdapter (recomended).
+ * interface in its entirety, or extend the IbatorPluginAdapter (highly
recomended).
+ * <p>
+ * Plugins have a lifecycle.
*
* @author Jeff Butler
+ * @see IbatorPluginAdapter
*
*/
public interface IbatorPlugin {
@@ -62,6 +65,14 @@
*/
boolean validate(List<String> warnings);
+ /**
+ * This method is called once, after all other Java files have been
+ * generated.
+ * <p>
+ * This method is guaranteed to be called.
+ *
+ * @return
+ */
List<GeneratedJavaFile> generateAdditionalJavaFiles();
List<GeneratedXmlFile> generateAdditionalXmlFiles();
@@ -76,7 +87,7 @@
* @return a List of GeneratedJavaFiles - ibator will persist these
* files with the other files from this run of ibator.
*/
- List<GeneratedJavaFile> generateAdditionalModelClasses(IntrospectedTable
introspectedTable);
+ List<GeneratedJavaFile> modelGenerateAdditionalJavaFiles(IntrospectedTable
introspectedTable);
/**
* This method is called after the primary key class is generated by
@@ -99,7 +110,7 @@
void modelExampleClassGenerated(TopLevelClass topLevelClass,
IntrospectedTable introspectedTable);
// methods related to generated XML elements
- List<GeneratedXmlFile> generateAdditionalXmlFiles(IntrospectedTable
introspectedTable);
+ List<GeneratedXmlFile> sqlMapGenerateAdditionalXmlFiles(IntrospectedTable
introspectedTable);
// the following methods are only guaranteed to be called with the built
in
// ibator SqlMap generators.
@@ -122,7 +133,7 @@
void sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(XmlElement
element, IntrospectedTable introspectedTable);
// methods related to generated DAO classes
- List<GeneratedJavaFile> generateAdditionalDAOClasses(IntrospectedTable
introspectedTable);
+ List<GeneratedJavaFile> daoGenerateAdditionalJavaFiles(IntrospectedTable
introspectedTable);
// the following methods are only guaranteed to be called with the built
in
// ibator DAO generators.
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=651142&r1=651141&r2=651142&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 Apr 23 19:54:58 2008
@@ -77,11 +77,11 @@
public void modelExampleClassGenerated(TopLevelClass topLevelClass,
IntrospectedTable introspectedTable) {
}
- public List<GeneratedJavaFile>
generateAdditionalModelClasses(IntrospectedTable introspectedTable) {
+ public List<GeneratedJavaFile>
modelGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) {
return null;
}
- public List<GeneratedXmlFile> generateAdditionalXmlFiles(IntrospectedTable
introspectedTable) {
+ public List<GeneratedXmlFile>
sqlMapGenerateAdditionalXmlFiles(IntrospectedTable introspectedTable) {
return null;
}
@@ -214,7 +214,7 @@
public void daoUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(Method
method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
}
- public List<GeneratedJavaFile>
generateAdditionalDAOClasses(IntrospectedTable introspectedTable) {
+ public List<GeneratedJavaFile>
daoGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) {
return null;
}
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=651142&r1=651141&r2=651142&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 Apr 23 19:54:58 2008
@@ -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/config/IbatorContext.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/config/IbatorContext.java?rev=651142&r1=651141&r2=651142&view=diff
==============================================================================
---
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/config/IbatorContext.java
(original)
+++
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/config/IbatorContext.java
Wed Apr 23 19:54:58 2008
@@ -292,14 +292,14 @@
if (daoGenerator != null) {
generatedJavaFiles.addAll(daoGenerator.getGeneratedJavaFiles(introspectedTable,
callback));
-
generatedJavaFiles.addAll(pluginAggregator.generateAdditionalDAOClasses(introspectedTable));
+
generatedJavaFiles.addAll(pluginAggregator.daoGenerateAdditionalJavaFiles(introspectedTable));
}
generatedJavaFiles.addAll(javaModelGenerator.getGeneratedJavaFiles(introspectedTable,
callback));
-
generatedJavaFiles.addAll(pluginAggregator.generateAdditionalModelClasses(introspectedTable));
+
generatedJavaFiles.addAll(pluginAggregator.modelGenerateAdditionalJavaFiles(introspectedTable));
generatedXmlFiles.addAll(sqlMapGenerator.getGeneratedXMLFiles(introspectedTable,
callback));
-
generatedXmlFiles.addAll(pluginAggregator.generateAdditionalXmlFiles(introspectedTable));
+
generatedXmlFiles.addAll(pluginAggregator.sqlMapGenerateAdditionalXmlFiles(introspectedTable));
}
}
}
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=651142&r1=651141&r2=651142&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 Apr 23 19:54:58 2008
@@ -30,13 +30,13 @@
import org.apache.ibatis.ibator.config.IbatorContext;
/**
- * THis class is for internal use only. It contains a list of plugins
+ * This class is for internal use only. It contains a list of plugins
* for the current context and is used to aggregate plugins together.
* <p>
* This class does not follow the normal plugin lifecycle and should not be
* subclassed by clients.
*
- * @author Jeff
+ * @author Jeff Butler
*
*/
public final class IbatorPluginAggregator implements IbatorPlugin {
@@ -104,11 +104,11 @@
}
}
- public List<GeneratedJavaFile> generateAdditionalModelClasses(
+ public List<GeneratedJavaFile> modelGenerateAdditionalJavaFiles(
IntrospectedTable introspectedTable) {
List<GeneratedJavaFile> answer = new ArrayList<GeneratedJavaFile>();
for (IbatorPlugin plugin : plugins) {
- List<GeneratedJavaFile> temp =
plugin.generateAdditionalModelClasses(introspectedTable);
+ List<GeneratedJavaFile> temp =
plugin.modelGenerateAdditionalJavaFiles(introspectedTable);
if (temp != null) {
answer.addAll(temp);
}
@@ -116,11 +116,11 @@
return answer;
}
- public List<GeneratedXmlFile> generateAdditionalXmlFiles(
+ public List<GeneratedXmlFile> sqlMapGenerateAdditionalXmlFiles(
IntrospectedTable introspectedTable) {
List<GeneratedXmlFile> answer = new ArrayList<GeneratedXmlFile>();
for (IbatorPlugin plugin : plugins) {
- List<GeneratedXmlFile> temp =
plugin.generateAdditionalXmlFiles(introspectedTable);
+ List<GeneratedXmlFile> temp =
plugin.sqlMapGenerateAdditionalXmlFiles(introspectedTable);
if (temp != null) {
answer.addAll(temp);
}
@@ -387,10 +387,10 @@
}
}
- public List<GeneratedJavaFile>
generateAdditionalDAOClasses(IntrospectedTable introspectedTable) {
+ public List<GeneratedJavaFile>
daoGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) {
List<GeneratedJavaFile> answer = new ArrayList<GeneratedJavaFile>();
for (IbatorPlugin plugin : plugins) {
- List<GeneratedJavaFile> temp =
plugin.generateAdditionalDAOClasses(introspectedTable);
+ List<GeneratedJavaFile> temp =
plugin.daoGenerateAdditionalJavaFiles(introspectedTable);
if (temp != null) {
answer.addAll(temp);
}
Modified:
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties?rev=651142&r1=651141&r2=651142&view=diff
==============================================================================
---
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
(original)
+++
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/util/messages/messages.properties
Wed Apr 23 19:54:58 2008
@@ -63,7 +63,9 @@
Warning.21=Property {0} exists in root class {1}, but is not of type {2}.
iBATOR will generate the property.
Warning.22=Property {0} exists in root class {1}, but does not have a getter.
iBATOR will generate the property.
Warning.23=Property {0} exists in root class {1}, but does not have a setter.
iBATOR will generate the property.
-Warning.24=Plugin {0} in context {1} is invalid and will be ignored.
+Warning.24=Plugin {0} in context {1} is invalid and will be ignored.
+Warning.25=The SqlMapConfig plugin requires the targetProject property
+Warning.26=The SqlMapConfig plugin requires the targetPackage property
Progress.0=Connecting to the Database
Progress.1=Introspecting table {0}
Modified:
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/SqlMapConfigPlugin.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/SqlMapConfigPlugin.java?rev=651142&r1=651141&r2=651142&view=diff
==============================================================================
---
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/SqlMapConfigPlugin.java
(original)
+++
ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/plugins/SqlMapConfigPlugin.java
Wed Apr 23 19:54:58 2008
@@ -28,6 +28,7 @@
import org.apache.ibatis.ibator.api.dom.xml.XmlElement;
import org.apache.ibatis.ibator.internal.sqlmap.XmlConstants;
import org.apache.ibatis.ibator.internal.util.StringUtility;
+import org.apache.ibatis.ibator.internal.util.messages.Messages;
/**
* This plugin generates an SqlMapConfig file containing sqlMap entries for
@@ -63,12 +64,12 @@
boolean valid = true;
if
(!StringUtility.stringHasValue(properties.getProperty("targetProject"))) {
//$NON-NLS-1$
- warnings.add("The SqlMapConfig plugin requires the targetProject
property");
+ warnings.add(Messages.getString("Warning.25")); //$NON-NLS-1$
valid = false;
}
if
(!StringUtility.stringHasValue(properties.getProperty("targetPackage"))) {
//$NON-NLS-1$
- warnings.add("The SqlMapConfig plugin requires the targetPackage
property");
+ warnings.add(Messages.getString("Warning.26")); //$NON-NLS-1$
valid = false;
}
@@ -83,7 +84,7 @@
XmlElement root = new XmlElement("sqlMapConfig"); //$NON-NLS-1$
document.setRootElement(root);
- root.addElement(new TextElement("<--"));
+ root.addElement(new TextElement("<--")); //$NON-NLS-1$
root.addElement(new TextElement(
" This file is generated by Apache iBATIS ibator."));
//$NON-NLS-1$
root.addElement(new TextElement(