You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2006/11/13 21:10:01 UTC
svn commit: r474482 -
/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
Author: mrdon
Date: Mon Nov 13 12:10:00 2006
New Revision: 474482
URL: http://svn.apache.org/viewvc?view=rev&rev=474482
Log:
Better handling of unloadable template engines
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java?view=diff&rev=474482&r1=474481&r2=474482
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java Mon Nov 13 12:10:00 2006
@@ -29,6 +29,9 @@
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
/**
* The TemplateEngineManager will return a template engine for the template
*/
@@ -38,6 +41,8 @@
/** The default template extenstion is <code>ftl</code>. */
public static final String DEFAULT_TEMPLATE_TYPE = "ftl";
+ private static final Log LOG = LogFactory.getLog(TemplateEngineManager.class);
+
Map templateEngines = new HashMap();
Container container;
String defaultTemplateType;
@@ -55,9 +60,15 @@
@Inject(StrutsConstants.STRUTS_TEMPLATE_ENGINES)
public void setTemplateEngines(String engines) {
if (engines != null) {
+ TemplateEngine eng = null;
String[] list = engines.split(",");
for (String name : list) {
- TemplateEngine eng = container.getInstance(TemplateEngine.class, name);
+ try {
+ eng = container.getInstance(TemplateEngine.class, name);
+ } catch (Throwable t) {
+ LOG.info("Unable to load engine ("+name+") due to "+t.getMessage());
+ continue;
+ }
if (eng != null) {
templateEngines.put(name, eng);
} else {