db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tfisc...@apache.org
Subject svn commit: r1148912 - /db/torque/torque4/trunk/maven-torque-generator-plugin/src/main/java/org/apache/torque/generator/maven/TorqueGeneratorMojo.java
Date Wed, 20 Jul 2011 19:31:47 GMT
Author: tfischer
Date: Wed Jul 20 19:31:47 2011
New Revision: 1148912

URL: http://svn.apache.org/viewvc?rev=1148912&view=rev
Log:
allow overriding of generator options via a properties file.

Modified:
    db/torque/torque4/trunk/maven-torque-generator-plugin/src/main/java/org/apache/torque/generator/maven/TorqueGeneratorMojo.java

Modified: db/torque/torque4/trunk/maven-torque-generator-plugin/src/main/java/org/apache/torque/generator/maven/TorqueGeneratorMojo.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/maven-torque-generator-plugin/src/main/java/org/apache/torque/generator/maven/TorqueGeneratorMojo.java?rev=1148912&r1=1148911&r2=1148912&view=diff
==============================================================================
--- db/torque/torque4/trunk/maven-torque-generator-plugin/src/main/java/org/apache/torque/generator/maven/TorqueGeneratorMojo.java
(original)
+++ db/torque/torque4/trunk/maven-torque-generator-plugin/src/main/java/org/apache/torque/generator/maven/TorqueGeneratorMojo.java
Wed Jul 20 19:31:47 2011
@@ -20,9 +20,14 @@ package org.apache.torque.generator.mave
  */
 
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 
 import org.apache.maven.model.Resource;
@@ -301,11 +306,22 @@ public class TorqueGeneratorMojo extends
 
     /**
      * Additional options which can be added to the generation process.
-     * This overrides existing options.
+     * This overrides both the options set in the templates
+     * and the options in optionsFile.
      *
      * @parameter
      */
     private Map<String, String> options;
+    
+    /**
+     * Properties file which contains the options which can be added
+     * to the generation process.
+     * This overrides the options set in the templates, but not the
+     * options set by the parameter <code>options</code>.
+     *
+     * @parameter
+     */
+    private File optionsFile;
 
     /**
      * The Maven project this plugin runs in.
@@ -436,8 +452,44 @@ public class TorqueGeneratorMojo extends
         getLog().debug("ProjectPaths = " + projectPaths);
 
         OptionsConfiguration optionConfiguration = null;
-        if (options != null)
+        if (options != null || optionsFile != null)
         {
+            if (options == null)
+            {
+                options = new HashMap<String, String>();
+            }
+            if (optionsFile != null)
+            {
+                Properties optionProperties = new Properties();
+                try
+                {
+                    optionProperties.load(new FileInputStream(optionsFile));
+                }
+                catch (FileNotFoundException e)
+                {
+                    getLog().error(e);
+                    throw new MojoExecutionException(e.getMessage());
+                }
+                catch (IOException e)
+                {
+                    getLog().error(e);
+                    throw new MojoExecutionException(e.getMessage());
+                }
+                getLog().debug("loaded options file from " 
+                        + optionsFile.getAbsolutePath() + ", contents: "
+                        + optionProperties);
+                for (Map.Entry<Object, Object> propertiesEntry 
+                        : optionProperties.entrySet())
+                {
+                    if (!options.containsKey(propertiesEntry.getKey()))
+                    {
+                        options.put(
+                                (String) propertiesEntry.getKey(),
+                                (String) propertiesEntry.getValue());
+                    }
+                }
+            }
+            getLog().debug("options = " + options);
             optionConfiguration = new MapOptionsConfiguration(options);
         }
         Loglevel convertedLoglevel = null;



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org


Mime
View raw message