Author: adrianc
Date: Tue Feb 2 16:35:28 2010
New Revision: 905696
URL:
http://svn.apache.org/viewvc?rev=905696&view=revLog:
Made a small change to FlexibleStringExpander - created a NullElem class to support existing client code that tested getOriginal() for null. By the way, that is a bad practice - use the isEmpty() method instead.
Problem reported by Scott and Hans on the dev mailing list.
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java
Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java?rev=905696&r1=905695&r2=905696&view=diff==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java Tue Feb 2 16:35:28 2010
@@ -56,7 +56,7 @@
public static final String openBracket = "${";
public static final String closeBracket = "}";
protected static final UtilCache<String, FlexibleStringExpander> exprCache = UtilCache.createUtilCache("flexibleStringExpander.ExpressionCache");
- protected static final FlexibleStringExpander nullExpr = new ConstElem("");
+ protected static final FlexibleStringExpander nullExpr = new NullElem();
/** Does on-the-fly parsing and expansion of the original String using
* variable values from the passed context. A null context argument will
@@ -400,6 +400,26 @@
}
}
+ protected static class NullElem extends FlexibleStringExpander {
+ protected NullElem() {
+ super("");
+ }
+ @Override
+ public void append(StringBuilder buffer, Map<String, ? extends Object> context, TimeZone timeZone, Locale locale) {}
+ @Override
+ public String expandString(Map<String, ? extends Object> context, TimeZone timeZone, Locale locale) {
+ return null;
+ }
+ @Override
+ public String getOriginal() {
+ return null;
+ }
+ @Override
+ public boolean isEmpty() {
+ return true;
+ }
+ }
+
protected static class VarElem extends FlexibleStringExpander {
protected final char[] bracketedOriginal;
protected VarElem(String original) {