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(


Reply via email to