svn commit: r905696 - /ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r905696 - /ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java

adrianc
Author: adrianc
Date: Tue Feb  2 16:35:28 2010
New Revision: 905696

URL: http://svn.apache.org/viewvc?rev=905696&view=rev
Log:
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) {