You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by nb...@apache.org on 2006/11/10 20:09:58 UTC
svn commit: r473430 - in
/jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet:
VelocityViewServlet.java velocity.properties
Author: nbubna
Date: Fri Nov 10 11:09:57 2006
New Revision: 473430
URL: http://svn.apache.org/viewvc?view=rev&rev=473430
Log:
apply changes in Henning's patch for VELOCITY-68
- add and use default velocity.properties for VVS to make it easier to override
- fix misc nits
Added:
jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/velocity.properties (with props)
Modified:
jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/VelocityViewServlet.java
Modified: jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/VelocityViewServlet.java
URL: http://svn.apache.org/viewvc/jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/VelocityViewServlet.java?view=diff&rev=473430&r1=473429&r2=473430
==============================================================================
--- jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/VelocityViewServlet.java (original)
+++ jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/VelocityViewServlet.java Fri Nov 10 11:09:57 2006
@@ -17,13 +17,14 @@
package org.apache.velocity.tools.view.servlet;
+import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
-
+import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -32,22 +33,18 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.ExtendedProperties;
-
import org.apache.velocity.Template;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
-import org.apache.velocity.exception.ResourceNotFoundException;
-import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.MethodInvocationException;
+import org.apache.velocity.exception.ParseErrorException;
+import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.io.VelocityWriter;
import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.util.SimplePool;
-
import org.apache.velocity.tools.generic.log.LogSystemCommonsLog;
import org.apache.velocity.tools.view.ToolboxManager;
import org.apache.velocity.tools.view.context.ChainedContext;
-import org.apache.velocity.tools.view.servlet.ServletToolboxManager;
-import org.apache.velocity.tools.view.servlet.WebappLoader;
+import org.apache.velocity.util.SimplePool;
/**
@@ -104,6 +101,9 @@
public class VelocityViewServlet extends HttpServlet
{
+ /** serial version id */
+ private static final long serialVersionUID = -3329444102562079189L;
+
/** The HTTP content type context key. */
public static final String CONTENT_TYPE = "default.contentType";
@@ -120,6 +120,12 @@
public static final String SERVLET_CONTEXT_KEY =
ServletContext.class.getName();
+ /**
+ * Default Runtime properties.
+ */
+ public static final String DEFAULT_TOOLS_PROPERTIES =
+ "/org/apache/velocity/tools/view/servlet/velocity.properties";
+
/**
* Key used to access the toolbox configuration file path from the
@@ -319,16 +325,21 @@
velocity.setApplicationAttribute(SERVLET_CONTEXT_KEY, getServletContext());
- // default to servletlogger, which logs to the servlet engines log
- velocity.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS,
- ServletLogger.class.getName());
-
- // by default, load resources with webapp resource loader
- velocity.setProperty(RuntimeConstants.RESOURCE_LOADER, "webapp");
- velocity.setProperty("webapp.resource.loader.class",
- WebappLoader.class.getName());
+ // Try reading the VelocityTools default configuration
+ try
+ {
+ ExtendedProperties defaultProperties = loadDefaultProperties();
+ velocity.setExtendedProperties(defaultProperties);
+ }
+ catch(Exception e)
+ {
+ log("VelocityViewServlet: Unable to read Velocity Servlet configuration file: ", e);
- // Try reading an overriding Velocity configuration
+ // This is a fatal error...
+ throw new ServletException(e);
+ }
+
+ // Try reading an overriding user Velocity configuration
try
{
ExtendedProperties p = loadConfiguration(config);
@@ -336,8 +347,8 @@
}
catch(Exception e)
{
- getServletContext().log("VelocityViewServlet: Unable to read Velocity configuration file: "+e);
- getServletContext().log("VelocityViewServlet: Using default Velocity configuration.");
+ log("VelocityViewServlet: Unable to read Velocity configuration file: ", e);
+ log("VelocityViewServlet: Using default Velocity configuration.");
}
// now all is ready - init Velocity
@@ -347,9 +358,44 @@
}
catch(Exception e)
{
- getServletContext().log("VelocityViewServlet: PANIC! unable to init() - "+e);
+ log("VelocityViewServlet: PANIC! unable to init()", e);
throw new ServletException(e);
}
+ }
+
+ private ExtendedProperties loadDefaultProperties()
+ {
+ InputStream inputStream = null;
+ ExtendedProperties defaultProperties = new ExtendedProperties();
+
+ try
+ {
+ inputStream = getClass()
+ .getResourceAsStream(DEFAULT_TOOLS_PROPERTIES);
+ if (inputStream != null)
+ {
+ defaultProperties.load(inputStream);
+ }
+ }
+ catch (IOException ioe)
+ {
+ log("Cannot load default extendedProperties!", ioe);
+ }
+ finally
+ {
+ try
+ {
+ if (inputStream != null)
+ {
+ inputStream.close();
+ }
+ }
+ catch (IOException ioe)
+ {
+ log("Cannot close default extendedProperties!", ioe);
+ }
+ }
+ return defaultProperties;
}
Added: jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/velocity.properties
URL: http://svn.apache.org/viewvc/jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/velocity.properties?view=auto&rev=473430
==============================================================================
--- jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/velocity.properties (added)
+++ jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/velocity.properties Fri Nov 10 11:09:57 2006
@@ -0,0 +1,6 @@
+# default to servletlogger, which logs to the servlet engines log
+runtime.log.logsystem.class = org.apache.velocity.tools.view.servlet.ServletLogger
+
+# by default, load resources with webapp resource loader
+resource.loader = webapp
+webapp.resource.loader.class = org.apache.velocity.tools.view.servlet.WebappLoader
Propchange: jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/velocity.properties
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org