You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by wg...@apache.org on 2006/01/30 06:17:53 UTC
svn commit: r373441 - in /jakarta/velocity/engine/trunk/src:
java/org/apache/velocity/app/event/implement/
java/org/apache/velocity/runtime/ java/org/apache/velocity/runtime/log/
java/org/apache/velocity/runtime/resource/ java/org/apache/velocity/runti...
Author: wglass
Date: Sun Jan 29 21:17:35 2006
New Revision: 373441
URL: http://svn.apache.org/viewcvs?rev=373441&view=rev
Log:
trim spaces from all properties. VELOCITY-274
Modified:
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/EscapeReference.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/IncludeNotFound.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/AvalonLogChute.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/Log4JLogChute.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/texen/ant/TexenTask.java
jakarta/velocity/engine/trunk/src/java/org/apache/velocity/util/StringUtils.java
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/MiscTestCase.java
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/EscapeReference.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/EscapeReference.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/EscapeReference.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/EscapeReference.java Sun Jan 29 21:17:35 2006
@@ -21,6 +21,7 @@
import org.apache.velocity.app.event.ReferenceInsertionEventHandler;
import org.apache.velocity.app.event.RuntimeServicesAware;
import org.apache.velocity.runtime.RuntimeServices;
+import org.apache.velocity.util.StringUtils;
/**
* Base class for escaping references. To use it, override the following methods:
@@ -114,8 +115,8 @@
/**
* Get the regular expression pattern.
*/
- matchRegExp = rs.getConfiguration().getString(getMatchAttribute());
- if ((matchRegExp != null) && (matchRegExp.trim().length() == 0))
+ matchRegExp = StringUtils.nullTrim(rs.getConfiguration().getString(getMatchAttribute()));
+ if ((matchRegExp != null) && (matchRegExp.length() == 0))
{
matchRegExp = null;
}
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/IncludeNotFound.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/IncludeNotFound.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/IncludeNotFound.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/app/event/implement/IncludeNotFound.java Sun Jan 29 21:17:35 2006
@@ -16,9 +16,10 @@
* limitations under the License.
*/
-import org.apache.velocity.app.event.RuntimeServicesAware;
import org.apache.velocity.app.event.IncludeEventHandler;
+import org.apache.velocity.app.event.RuntimeServicesAware;
import org.apache.velocity.runtime.RuntimeServices;
+import org.apache.velocity.util.StringUtils;
/**
* Simple event handler that checks to see if an included page is available.
@@ -82,7 +83,7 @@
public void setRuntimeServices(RuntimeServices rs) throws Exception
{
this.rs = rs;
- notfound = rs.getString(PROPERTY_NOT_FOUND, DEFAULT_NOT_FOUND).trim();
+ notfound = StringUtils.nullTrim(rs.getString(PROPERTY_NOT_FOUND, DEFAULT_NOT_FOUND));
}
}
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java Sun Jan 29 21:17:35 2006
@@ -30,16 +30,16 @@
import org.apache.velocity.Template;
import org.apache.velocity.app.event.EventCartridge;
import org.apache.velocity.app.event.EventHandler;
-import org.apache.velocity.app.event.RuntimeServicesAware;
import org.apache.velocity.app.event.IncludeEventHandler;
import org.apache.velocity.app.event.MethodExceptionEventHandler;
import org.apache.velocity.app.event.NullSetEventHandler;
import org.apache.velocity.app.event.ReferenceInsertionEventHandler;
+import org.apache.velocity.app.event.RuntimeServicesAware;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.directive.Directive;
-import org.apache.velocity.runtime.log.LogManager;
import org.apache.velocity.runtime.log.Log;
+import org.apache.velocity.runtime.log.LogManager;
import org.apache.velocity.runtime.parser.ParseException;
import org.apache.velocity.runtime.parser.Parser;
import org.apache.velocity.runtime.parser.node.SimpleNode;
@@ -47,6 +47,7 @@
import org.apache.velocity.runtime.resource.ResourceManager;
import org.apache.velocity.util.ClassUtils;
import org.apache.velocity.util.SimplePool;
+import org.apache.velocity.util.StringUtils;
import org.apache.velocity.util.introspection.Introspector;
import org.apache.velocity.util.introspection.Uberspect;
import org.apache.velocity.util.introspection.UberspectLoggable;
@@ -451,7 +452,15 @@
*/
public Object getProperty(String key)
{
- return configuration.getProperty(key);
+ Object o = configuration.getProperty(key);
+ if (o instanceof String)
+ {
+ return StringUtils.nullTrim((String) o);
+ }
+ else
+ {
+ return o;
+ }
}
/**
@@ -1167,7 +1176,7 @@
*/
public String getString(String key)
{
- return configuration.getString(key);
+ return StringUtils.nullTrim(configuration.getString(key));
}
/**
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/AvalonLogChute.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/AvalonLogChute.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/AvalonLogChute.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/AvalonLogChute.java Sun Jan 29 21:17:35 2006
@@ -56,7 +56,7 @@
// if we have a file property, use it to create a FileTarget
String file = (String)rsvc.getProperty(RuntimeConstants.RUNTIME_LOG);
- if (file != null && file.trim().length() > 0)
+ if (file != null && file.length() > 0)
{
initTarget(file);
}
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/Log4JLogChute.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/Log4JLogChute.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/Log4JLogChute.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/log/Log4JLogChute.java Sun Jan 29 21:17:35 2006
@@ -75,7 +75,7 @@
// if we have a file property, then create a separate
// rolling file log for velocity messages only
String file = rsvc.getString(RuntimeConstants.RUNTIME_LOG);
- if (file != null && file.trim().length() > 0)
+ if (file != null && file.length() > 0)
{
initAppender(file);
}
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java Sun Jan 29 21:17:35 2006
@@ -30,6 +30,7 @@
import org.apache.velocity.runtime.resource.loader.ResourceLoader;
import org.apache.velocity.runtime.resource.loader.ResourceLoaderFactory;
import org.apache.velocity.util.ClassUtils;
+import org.apache.velocity.util.StringUtils;
/**
* Class to manage the text resource for the Velocity
@@ -120,7 +121,7 @@
*/
ExtendedProperties configuration =
(ExtendedProperties) sourceInitializerList.get(i);
- String loaderClass = configuration.getString("class");
+ String loaderClass = StringUtils.nullTrim(configuration.getString("class"));
ResourceLoader loaderInstance =
(ResourceLoader) configuration.get("instance");
@@ -216,7 +217,8 @@
Vector resourceLoaderNames =
rsvc.getConfiguration().getVector(RuntimeConstants.RESOURCE_LOADER);
-
+ StringUtils.trimStrings(resourceLoaderNames);
+
for (int i = 0; i < resourceLoaderNames.size(); i++)
{
/*
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java Sun Jan 29 21:17:35 2006
@@ -31,6 +31,7 @@
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.resource.Resource;
import org.apache.velocity.util.ExceptionUtils;
+import org.apache.velocity.util.StringUtils;
/**
* <P>This is a simple template file loader that loads templates
@@ -131,11 +132,11 @@
public void init(ExtendedProperties configuration)
{
- dataSourceName = configuration.getString("resource.datasource");
- tableName = configuration.getString("resource.table");
- keyColumn = configuration.getString("resource.keycolumn");
- templateColumn = configuration.getString("resource.templatecolumn");
- timestampColumn = configuration.getString("resource.timestampcolumn");
+ dataSourceName = StringUtils.nullTrim(configuration.getString("resource.datasource"));
+ tableName = StringUtils.nullTrim(configuration.getString("resource.table"));
+ keyColumn = StringUtils.nullTrim(configuration.getString("resource.keycolumn"));
+ templateColumn = StringUtils.nullTrim(configuration.getString("resource.templatecolumn"));
+ timestampColumn = StringUtils.nullTrim(configuration.getString("resource.timestampcolumn"));
if (dataSource != null)
{
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java Sun Jan 29 21:17:35 2006
@@ -65,6 +65,8 @@
paths.addAll( configuration.getVector("path") );
+ // trim spaces from all paths
+ StringUtils.trimStrings(paths);
if (log.isInfoEnabled())
{
// this section lets tell people what paths we will be using
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java Sun Jan 29 21:17:35 2006
@@ -86,7 +86,8 @@
// and Hashtable classes. Classes are implicitly
// synchronized even if we don't need it.
Vector paths = configuration.getVector("path");
-
+ StringUtils.trimStrings(paths);
+
/*
* support the old version but deprecate with a log message
*/
@@ -94,6 +95,7 @@
if( paths == null || paths.size() == 0)
{
paths = configuration.getVector("resource.path");
+ StringUtils.trimStrings(paths);
if (paths != null && paths.size() > 0)
{
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/texen/ant/TexenTask.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/texen/ant/TexenTask.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/texen/ant/TexenTask.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/texen/ant/TexenTask.java Sun Jan 29 21:17:35 2006
@@ -332,7 +332,7 @@
for (Iterator j = source.getKeys(); j.hasNext(); )
{
String name = (String) j.next();
- String value = source.getString(name);
+ String value = StringUtils.nullTrim(source.getString(name));
contextProperties.setProperty(name,value);
}
}
@@ -501,7 +501,7 @@
while (i.hasNext())
{
String property = (String) i.next();
- String value = contextProperties.getString(property);
+ String value = StringUtils.nullTrim(contextProperties.getString(property));
// Now lets quickly check to see if what
// we have is numeric and try to put it
Modified: jakarta/velocity/engine/trunk/src/java/org/apache/velocity/util/StringUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/java/org/apache/velocity/util/StringUtils.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/java/org/apache/velocity/util/StringUtils.java (original)
+++ jakarta/velocity/engine/trunk/src/java/org/apache/velocity/util/StringUtils.java Sun Jan 29 21:17:35 2006
@@ -599,4 +599,37 @@
}
return true;
}
+
+ /**
+ * Trim all strings in a List. Changes the strings in the existing list.
+ * @param list
+ * @return
+ */
+ public static List trimStrings(List list)
+ {
+ if (list == null)
+ return null;
+
+ int sz = list.size();
+ for (int i = 0; i < sz; i++)
+ list.set(i,nullTrim((String) list.get(i)));
+ return list;
+ }
+
+ /**
+ * Trim the string, but pass a null through.
+ * @param s
+ * @return
+ */
+ public static String nullTrim(String s)
+ {
+ if (s == null)
+ {
+ return null;
+ }
+ else
+ {
+ return s.trim();
+ }
+ }
}
Modified: jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/MiscTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/MiscTestCase.java?rev=373441&r1=373440&r2=373441&view=diff
==============================================================================
--- jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/MiscTestCase.java (original)
+++ jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/MiscTestCase.java Sun Jan 29 21:17:35 2006
@@ -16,6 +16,9 @@
* limitations under the License.
*/
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -65,6 +68,30 @@
res = StringUtils.chop( arg, 2, eol );
assertTrue( "Test 4", res.equals("Hell"));
+ arg = null;
+ res = StringUtils.nullTrim(arg);
+ assertNull(arg);
+
+ arg = " test ";
+ res = StringUtils.nullTrim(arg);
+ assertEquals("test",res);
+
+ arg = "test";
+ res = StringUtils.nullTrim(arg);
+ assertEquals("test",res);
+
+ List list = null;
+ assertNull(StringUtils.trimStrings(list));
+
+ list = new ArrayList();
+ assertEquals(new ArrayList(),StringUtils.trimStrings(list));
+
+ list.add("test");
+ list.add(" abc");
+ StringUtils.trimStrings(list);
+ assertEquals("test",list.get(0));
+ assertEquals("abc",list.get(1));
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org