Author: mcucchiara
Date: Thu Aug 18 18:11:06 2011
New Revision: 1159335
URL: http://svn.apache.org/viewvc?rev=1159335&view=rev
Log:
WW-3522 - Template Overriding not work
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java?rev=1159335&r1=1159334&r2=1159335&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
Thu Aug 18 18:11:06 2011
@@ -21,35 +21,13 @@
package org.apache.struts2.views.freemarker;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-import java.text.SimpleDateFormat;
-
-import javax.servlet.GenericServlet;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.views.JspSupportServlet;
-import org.apache.struts2.views.TagLibrary;
-import org.apache.struts2.views.util.ContextUtil;
-
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.FileManager;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
-
-import freemarker.cache.ClassTemplateLoader;
-import freemarker.cache.FileTemplateLoader;
-import freemarker.cache.MultiTemplateLoader;
-import freemarker.cache.TemplateLoader;
-import freemarker.cache.WebappTemplateLoader;
+import freemarker.cache.*;
import freemarker.ext.jsp.TaglibFactory;
import freemarker.ext.servlet.HttpRequestHashModel;
import freemarker.ext.servlet.HttpRequestParametersHashModel;
@@ -57,6 +35,21 @@ import freemarker.ext.servlet.HttpSessio
import freemarker.ext.servlet.ServletContextHashModel;
import freemarker.template.*;
import freemarker.template.utility.StringUtil;
+import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.views.JspSupportServlet;
+import org.apache.struts2.views.TagLibrary;
+import org.apache.struts2.views.util.ContextUtil;
+
+import javax.servlet.GenericServlet;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
@@ -270,8 +263,7 @@ public class FreemarkerManager {
if (templatePath == null) {
templatePath = servletContext.getInitParameter("templatePath");
}
- if (templatePath == null)
- templatePath = "class://";
+
config.setTemplateLoader(createTemplateLoader(servletContext,
templatePath));
loadSettings(servletContext);
@@ -385,11 +377,13 @@ public class FreemarkerManager {
TemplateLoader templatePathLoader = null;
try {
- if (templatePath.startsWith("class://")) {
- // substring(7) is intentional as we "reuse" the last slash
- templatePathLoader = new ClassTemplateLoader(getClass(),
templatePath.substring(7));
- } else if (templatePath.startsWith("file://")) {
- templatePathLoader = new FileTemplateLoader(new
File(templatePath));
+ if(templatePath!=null){
+ if (templatePath.startsWith("class://")) {
+ // substring(7) is intentional as we "reuse" the last
slash
+ templatePathLoader = new ClassTemplateLoader(getClass(),
templatePath.substring(7));
+ } else if (templatePath.startsWith("file://")) {
+ templatePathLoader = new FileTemplateLoader(new
File(templatePath));
+ }
}
} catch (IOException e) {
LOG.error("Invalid template path specified: " + e.getMessage(),
e);
@@ -425,9 +419,8 @@ public class FreemarkerManager {
Properties p = new Properties();
p.load(in);
- Iterator i = p.keySet().iterator();
- while (i.hasNext()) {
- String name = (String) i.next();
+ for (Object o : p.keySet()) {
+ String name = (String) o;
String value = (String) p.get(name);
if (name == null) {
@@ -451,7 +444,7 @@ public class FreemarkerManager {
in.close();
} catch(IOException io) {
if (LOG.isWarnEnabled()) {
- LOG.warn("Unable to close input stream", io);
+ LOG.warn("Unable to close input stream", io);
}
}
}