[prev in list] [next in list] [prev in thread] [next in thread] 

List:       velocity-dev
Subject:    [PATCH] for bug 21173 about AnakiaTask / templatePath
From:       Urban Peter <urban () jaist ! ac ! jp>
Date:       2004-04-24 9:09:23
Message-ID: 1082797763.2225.27.camel () ddg ! jaist ! ac ! jp
[Download RAW message or body]

Hi to all,

you can find below a patch for bug 21173: "AnakiaTask does not store
templatePath if props file found."
(Please ignore the patch that I submitted to Bugzilla in January.)

The fix makes sure that templatePath is processed even if the properties
file is found (an "else if" branch became an independent "if"). This is
the correct, documented behavior of templatePath.

I also simplified the code: ve.init now only appears once. Without this
change, the fix would have been longer/uglier.

Please complain if anything's wrong -- this is the first time I'm
submitting a patch to Velocity.

Ciao,

Peter


Index: AnakiaTask.java
===================================================================
RCS file:
/home/cvspublic/jakarta-velocity/src/java/org/apache/velocity/anakia/A
nakiaTask.java,v
retrieving revision 1.38
diff -u -r1.38 AnakiaTask.java
--- AnakiaTask.java     20 Mar 2004 03:35:50 -0000      1.38
+++ AnakiaTask.java     24 Apr 2004 08:48:49 -0000
@@ -24,6 +24,8 @@

 import java.util.StringTokenizer;

+import org.apache.commons.collections.ExtendedProperties;
+
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DirectoryScanner;
 import org.apache.tools.ant.Project;
@@ -261,14 +263,19 @@
         {
             if ( velocityPropertiesFile.exists() )
             {
-                ve.init(velocityPropertiesFile.getAbsolutePath());
+                String file = velocityPropertiesFile.getAbsolutePath();
+                ExtendedProperties config = new
ExtendedProperties(file);
+                ve.setExtendedProperties(config);
             }
-            else if (templatePath != null && templatePath.length() > 0)
+
+            // override the templatePath if it exists
+            if (templatePath != null && templatePath.length() > 0)
             {
                 ve.setProperty(
RuntimeConstants.FILE_RESOURCE_LOADER_PATH,
                     templatePath);
-                ve.init();
             }
+
+            ve.init();

             // get the last modification of the VSL stylesheet
             styleSheetLastModified = ve.getTemplate( style
).getLastModified();



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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic