Author: jacopoc
Date: Mon Dec 29 18:24:57 2014 New Revision: 1648403 URL: http://svn.apache.org/r1648403 Log: Moved code dependent on OWASP ESAPI and utilities for codec tasks from StringUtil to a new UtilCodec class: now the UtilCodec class is the only class dependent on OWASP ESAPI. The DefaultEncoder from OWASP ESAPI, used internally by UtilCodec is now built with the default constructor that also adds the JavascriptCodec to the list of codecs used to canonicalize and validate the input. Renamed the UrlEncoder class to UrlCodec in order to better describe its behavior. Misc minor cleanups. Added to the list of tests of the base component a series of Junit test classes that were missing. Added: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java (with props) ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java (with props) ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java (with props) Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentUrlFilter.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/StringUtil.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/StringUtilTests.java ofbiz/trunk/framework/base/testdef/basetests.xml ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/OfbizContentTransform.java ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MacroMenuRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenViewHandler.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenFopViewHandler.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentUrlFilter.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentUrlFilter.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentUrlFilter.java (original) +++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentUrlFilter.java Mon Dec 29 18:24:57 2014 @@ -31,7 +31,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilHttp; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.common.UrlServletHelper; @@ -117,7 +117,7 @@ public class ContentUrlFilter extends Co .queryFirst(); if (contentAssocDataResource != null) { url = contentAssocDataResource.getString("drObjectInfo"); - url = StringUtil.getDecoder("url").decode(url); + url = UtilCodec.getDecoder("url").decode(url); String mountPoint = request.getContextPath(); if (!(mountPoint.equals("/")) && !(mountPoint.equals(""))) { url = mountPoint + url; Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/StringUtil.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/StringUtil.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/StringUtil.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/StringUtil.java Mon Dec 29 18:24:57 2014 @@ -21,7 +21,6 @@ package org.ofbiz.base.util; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -36,12 +35,6 @@ import java.util.regex.Pattern; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.binary.Hex; import org.ofbiz.base.lang.Appender; -import org.owasp.esapi.codecs.Codec; -import org.owasp.esapi.codecs.HTMLEntityCodec; -import org.owasp.esapi.codecs.PercentCodec; -import org.owasp.esapi.errors.EncodingException; -import org.owasp.esapi.errors.IntrusionException; -import org.owasp.esapi.reference.DefaultEncoder; /** * Misc String Utility Functions @@ -54,11 +47,7 @@ public class StringUtil { // FIXME: Not thread safe protected static final Map<String, Pattern> substitutionPatternMap; - private static final DefaultEncoder defaultWebEncoder; static { - // possible codecs: CSSCodec, HTMLEntityCodec, JavaScriptCodec, MySQLCodec, OracleCodec, PercentCodec, UnixCodec, VBScriptCodec, WindowsCodec - List<Codec> codecList = Arrays.asList(new HTMLEntityCodec(), new PercentCodec()); - defaultWebEncoder = new DefaultEncoder(codecList); substitutionPatternMap = new HashMap<String, Pattern>(); substitutionPatternMap.put("&&", Pattern.compile("@and", Pattern.LITERAL)); substitutionPatternMap.put("||", Pattern.compile("@or", Pattern.LITERAL)); @@ -68,87 +57,9 @@ public class StringUtil { substitutionPatternMap.put(">", Pattern.compile("@gt", Pattern.LITERAL)); } - private static final HtmlEncoder htmlEncoder = new HtmlEncoder(); - private static final XmlEncoder xmlEncoder = new XmlEncoder(); - private static final StringEncoder stringEncoder = new StringEncoder(); - private static final UrlEncoder urlEncoder = new UrlEncoder(); - private StringUtil() { } - public static interface SimpleEncoder { - public String encode(String original); - } - - public static interface SimpleDecoder { - public String decode(String original); - } - - public static class HtmlEncoder implements SimpleEncoder { - public String encode(String original) { - return StringUtil.defaultWebEncoder.encodeForHTML(original); - } - } - - public static class XmlEncoder implements SimpleEncoder { - public String encode(String original) { - return StringUtil.defaultWebEncoder.encodeForXML(original); - } - } - - public static class UrlEncoder implements SimpleEncoder, SimpleDecoder { - public String encode(String original) { - try { - return StringUtil.defaultWebEncoder.encodeForURL(original); - } catch (EncodingException ee) { - Debug.logError(ee, module); - return null; - } - } - - public String decode(String original) { - try { - return StringUtil.defaultWebEncoder.decodeFromURL(original); - } catch (EncodingException ee) { - Debug.logError(ee, module); - return null; - } - } - } - - public static class StringEncoder implements SimpleEncoder { - public String encode(String original) { - if (original != null) { - original = original.replace("\"", "\\\""); - } - return original; - } - } - - // ================== Begin General Functions ================== - - public static SimpleEncoder getEncoder(String type) { - if ("url".equals(type)) { - return StringUtil.urlEncoder; - } else if ("xml".equals(type)) { - return StringUtil.xmlEncoder; - } else if ("html".equals(type)) { - return StringUtil.htmlEncoder; - } else if ("string".equals(type)) { - return StringUtil.stringEncoder; - } else { - return null; - } - } - - public static SimpleDecoder getDecoder(String type) { - if ("url".equals(type)) { - return StringUtil.urlEncoder; - } else { - return null; - } - } - public static String internString(String value) { return value != null ? value.intern() : null; } @@ -623,70 +534,6 @@ public class StringUtil { return result; } - public static String canonicalize(String value) throws IntrusionException { - return defaultWebEncoder.canonicalize(value); - } - - public static String canonicalize(String value, boolean strict) throws IntrusionException { - return defaultWebEncoder.canonicalize(value, strict); - } - /** - * Uses a black-list approach for necessary characters for HTML. - * Does not allow various characters (after canonicalization), including "<", ">", "&" (if not followed by a space), and "%" (if not followed by a space). - * - * @param value - * @param errorMessageList - */ - public static String checkStringForHtmlStrictNone(String valueName, String value, List<String> errorMessageList) { - if (UtilValidate.isEmpty(value)) return value; - - // canonicalize, strict (error on double-encoding) - try { - value = canonicalize(value, true); - } catch (IntrusionException e) { - // NOTE: using different log and user targeted error messages to allow the end-user message to be less technical - Debug.logError("Canonicalization (format consistency, character escaping that is mixed or double, etc) error for attribute named [" + valueName + "], String [" + value + "]: " + e.toString(), module); - errorMessageList.add("In field [" + valueName + "] found character escaping (mixed or double) that is not allowed or other format consistency error: " + e.toString()); - } - - // check for "<", ">" - if (value.indexOf("<") >= 0 || value.indexOf(">") >= 0) { - errorMessageList.add("In field [" + valueName + "] less-than (<) and greater-than (>) symbols are not allowed."); - } - - /* NOTE DEJ 20090311: After playing with this more this doesn't seem to be necessary; the canonicalize will convert all such characters into actual text before this check is done, including other illegal chars like < which will canonicalize to < and then get caught - // check for & followed a semicolon within 7 characters, no spaces in-between (and perhaps other things sometime?) - int curAmpIndex = value.indexOf("&"); - while (curAmpIndex > -1) { - int semicolonIndex = value.indexOf(";", curAmpIndex + 1); - int spaceIndex = value.indexOf(" ", curAmpIndex + 1); - if (semicolonIndex > -1 && (semicolonIndex - curAmpIndex <= 7) && (spaceIndex < 0 || (spaceIndex > curAmpIndex && spaceIndex < semicolonIndex))) { - errorMessageList.add("In field [" + valueName + "] the ampersand (&) symbol is only allowed if not used as an encoded character: no semicolon (;) within 7 spaces or there is a space between."); - // once we find one like this we have the message so no need to check for more - break; - } - curAmpIndex = value.indexOf("&", curAmpIndex + 1); - } - */ - - /* NOTE DEJ 20090311: After playing with this more this doesn't seem to be necessary; the canonicalize will convert all such characters into actual text before this check is done, including other illegal chars like %3C which will canonicalize to < and then get caught - // check for % followed by 2 hex characters - int curPercIndex = value.indexOf("%"); - while (curPercIndex >= 0) { - if (value.length() > (curPercIndex + 3) && UtilValidate.isHexDigit(value.charAt(curPercIndex + 1)) && UtilValidate.isHexDigit(value.charAt(curPercIndex + 2))) { - errorMessageList.add("In field [" + valueName + "] the percent (%) symbol is only allowed if followed by a space."); - // once we find one like this we have the message so no need to check for more - break; - } - curPercIndex = value.indexOf("%", curPercIndex + 1); - } - */ - - // TODO: anything else to check for that can be used to get HTML or JavaScript going without these characters? - - return value; - } - /** * Remove/collapse multiple newline characters * @@ -807,57 +654,4 @@ public class StringUtil { return this.theString; } } - - /** - * A simple Map wrapper class that will do HTML encoding. To be used for passing a Map to something that will expand Strings with it as a context, etc. - */ - public static class HtmlEncodingMapWrapper<K> implements Map<K, Object> { - public static <K> HtmlEncodingMapWrapper<K> getHtmlEncodingMapWrapper(Map<K, Object> mapToWrap, SimpleEncoder encoder) { - if (mapToWrap == null) return null; - - HtmlEncodingMapWrapper<K> mapWrapper = new HtmlEncodingMapWrapper<K>(); - mapWrapper.setup(mapToWrap, encoder); - return mapWrapper; - } - - protected Map<K, Object> internalMap = null; - protected SimpleEncoder encoder = null; - protected HtmlEncodingMapWrapper() { } - - public void setup(Map<K, Object> mapToWrap, SimpleEncoder encoder) { - this.internalMap = mapToWrap; - this.encoder = encoder; - } - public void reset() { - this.internalMap = null; - this.encoder = null; - } - - public int size() { return this.internalMap.size(); } - public boolean isEmpty() { return this.internalMap.isEmpty(); } - public boolean containsKey(Object key) { return this.internalMap.containsKey(key); } - public boolean containsValue(Object value) { return this.internalMap.containsValue(value); } - public Object get(Object key) { - Object theObject = this.internalMap.get(key); - if (theObject instanceof String) { - if (this.encoder != null) { - return encoder.encode((String) theObject); - } else { - return StringUtil.defaultWebEncoder.encodeForHTML((String) theObject); - } - } else if (theObject instanceof Map<?, ?>) { - return HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(UtilGenerics.<K, Object>checkMap(theObject), this.encoder); - } - return theObject; - } - public Object put(K key, Object value) { return this.internalMap.put(key, value); } - public Object remove(Object key) { return this.internalMap.remove(key); } - public void putAll(Map<? extends K, ? extends Object> arg0) { this.internalMap.putAll(arg0); } - public void clear() { this.internalMap.clear(); } - public Set<K> keySet() { return this.internalMap.keySet(); } - public Collection<Object> values() { return this.internalMap.values(); } - public Set<Map.Entry<K, Object>> entrySet() { return this.internalMap.entrySet(); } - @Override - public String toString() { return this.internalMap.toString(); } - } } Added: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java?rev=1648403&view=auto ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java (added) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java Mon Dec 29 18:24:57 2014 @@ -0,0 +1,232 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.ofbiz.base.util; + +import org.owasp.esapi.errors.IntrusionException; +import org.owasp.esapi.reference.DefaultEncoder; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class UtilCodec { + private static final String module = UtilCodec.class.getName(); + private static final DefaultEncoder defaultWebEncoder = new DefaultEncoder(); + private static final HtmlEncoder htmlEncoder = new HtmlEncoder(); + private static final XmlEncoder xmlEncoder = new XmlEncoder(); + private static final StringEncoder stringEncoder = new StringEncoder(); + private static final UrlCodec urlEncoder = new UrlCodec(); + + public static interface SimpleEncoder { + public String encode(String original); + } + + public static interface SimpleDecoder { + public String decode(String original); + } + + public static class HtmlEncoder implements SimpleEncoder { + public String encode(String original) { + return defaultWebEncoder.encodeForHTML(original); + } + } + + public static class XmlEncoder implements SimpleEncoder { + public String encode(String original) { + return defaultWebEncoder.encodeForXML(original); + } + } + + public static class UrlCodec implements SimpleEncoder, SimpleDecoder { + public String encode(String original) { + try { + return URLEncoder.encode(original, "UTF-8"); + } catch (UnsupportedEncodingException ee) { + Debug.logError(ee, module); + return null; + } + } + + public String decode(String original) { + try { + String canonical = canonicalize(original); + return URLDecoder.decode(canonical, "UTF-8"); + } catch (UnsupportedEncodingException ee) { + Debug.logError(ee, module); + return null; + } + } + } + + public static class StringEncoder implements SimpleEncoder { + public String encode(String original) { + if (original != null) { + original = original.replace("\"", "\\\""); + } + return original; + } + } + + // ================== Begin General Functions ================== + + public static SimpleEncoder getEncoder(String type) { + if ("url".equals(type)) { + return urlEncoder; + } else if ("xml".equals(type)) { + return xmlEncoder; + } else if ("html".equals(type)) { + return htmlEncoder; + } else if ("string".equals(type)) { + return stringEncoder; + } else { + return null; + } + } + + public static SimpleDecoder getDecoder(String type) { + if ("url".equals(type)) { + return urlEncoder; + } else { + return null; + } + } + + public static String canonicalize(String value) throws IntrusionException { + return defaultWebEncoder.canonicalize(value); + } + + public static String canonicalize(String value, boolean strict) throws IntrusionException { + return defaultWebEncoder.canonicalize(value, strict); + } + + /** + * Uses a black-list approach for necessary characters for HTML. + * Does not allow various characters (after canonicalization), including "<", ">", "&" (if not followed by a space), and "%" (if not followed by a space). + * + * @param value + * @param errorMessageList + */ + public static String checkStringForHtmlStrictNone(String valueName, String value, List<String> errorMessageList) { + if (UtilValidate.isEmpty(value)) return value; + + // canonicalize, strict (error on double-encoding) + try { + value = canonicalize(value, true); + } catch (IntrusionException e) { + // NOTE: using different log and user targeted error messages to allow the end-user message to be less technical + Debug.logError("Canonicalization (format consistency, character escaping that is mixed or double, etc) error for attribute named [" + valueName + "], String [" + value + "]: " + e.toString(), module); + errorMessageList.add("In field [" + valueName + "] found character escaping (mixed or double) that is not allowed or other format consistency error: " + e.toString()); + } + + // check for "<", ">" + if (value.indexOf("<") >= 0 || value.indexOf(">") >= 0) { + errorMessageList.add("In field [" + valueName + "] less-than (<) and greater-than (>) symbols are not allowed."); + } + + /* NOTE DEJ 20090311: After playing with this more this doesn't seem to be necessary; the canonicalize will convert all such characters into actual text before this check is done, including other illegal chars like < which will canonicalize to < and then get caught + // check for & followed a semicolon within 7 characters, no spaces in-between (and perhaps other things sometime?) + int curAmpIndex = value.indexOf("&"); + while (curAmpIndex > -1) { + int semicolonIndex = value.indexOf(";", curAmpIndex + 1); + int spaceIndex = value.indexOf(" ", curAmpIndex + 1); + if (semicolonIndex > -1 && (semicolonIndex - curAmpIndex <= 7) && (spaceIndex < 0 || (spaceIndex > curAmpIndex && spaceIndex < semicolonIndex))) { + errorMessageList.add("In field [" + valueName + "] the ampersand (&) symbol is only allowed if not used as an encoded character: no semicolon (;) within 7 spaces or there is a space between."); + // once we find one like this we have the message so no need to check for more + break; + } + curAmpIndex = value.indexOf("&", curAmpIndex + 1); + } + */ + + /* NOTE DEJ 20090311: After playing with this more this doesn't seem to be necessary; the canonicalize will convert all such characters into actual text before this check is done, including other illegal chars like %3C which will canonicalize to < and then get caught + // check for % followed by 2 hex characters + int curPercIndex = value.indexOf("%"); + while (curPercIndex >= 0) { + if (value.length() > (curPercIndex + 3) && UtilValidate.isHexDigit(value.charAt(curPercIndex + 1)) && UtilValidate.isHexDigit(value.charAt(curPercIndex + 2))) { + errorMessageList.add("In field [" + valueName + "] the percent (%) symbol is only allowed if followed by a space."); + // once we find one like this we have the message so no need to check for more + break; + } + curPercIndex = value.indexOf("%", curPercIndex + 1); + } + */ + + // TODO: anything else to check for that can be used to get HTML or JavaScript going without these characters? + + return value; + } + + /** + * A simple Map wrapper class that will do HTML encoding. To be used for passing a Map to something that will expand Strings with it as a context, etc. + */ + public static class HtmlEncodingMapWrapper<K> implements Map<K, Object> { + public static <K> HtmlEncodingMapWrapper<K> getHtmlEncodingMapWrapper(Map<K, Object> mapToWrap, SimpleEncoder encoder) { + if (mapToWrap == null) return null; + + HtmlEncodingMapWrapper<K> mapWrapper = new HtmlEncodingMapWrapper<K>(); + mapWrapper.setup(mapToWrap, encoder); + return mapWrapper; + } + + protected Map<K, Object> internalMap = null; + protected SimpleEncoder encoder = null; + protected HtmlEncodingMapWrapper() { } + + public void setup(Map<K, Object> mapToWrap, SimpleEncoder encoder) { + this.internalMap = mapToWrap; + this.encoder = encoder; + } + public void reset() { + this.internalMap = null; + this.encoder = null; + } + + public int size() { return this.internalMap.size(); } + public boolean isEmpty() { return this.internalMap.isEmpty(); } + public boolean containsKey(Object key) { return this.internalMap.containsKey(key); } + public boolean containsValue(Object value) { return this.internalMap.containsValue(value); } + public Object get(Object key) { + Object theObject = this.internalMap.get(key); + if (theObject instanceof String) { + if (this.encoder != null) { + return encoder.encode((String) theObject); + } else { + return defaultWebEncoder.encodeForHTML((String) theObject); + } + } else if (theObject instanceof Map<?, ?>) { + return HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(UtilGenerics.<K, Object>checkMap(theObject), this.encoder); + } + return theObject; + } + public Object put(K key, Object value) { return this.internalMap.put(key, value); } + public Object remove(Object key) { return this.internalMap.remove(key); } + public void putAll(Map<? extends K, ? extends Object> arg0) { this.internalMap.putAll(arg0); } + public void clear() { this.internalMap.clear(); } + public Set<K> keySet() { return this.internalMap.keySet(); } + public Collection<Object> values() { return this.internalMap.values(); } + public Set<Map.Entry<K, Object>> entrySet() { return this.internalMap.entrySet(); } + @Override + public String toString() { return this.internalMap.toString(); } + } + +} Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilCodec.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java Mon Dec 29 18:24:57 2014 @@ -250,7 +250,7 @@ public class UtilHttp { public static String canonicalizeParameter(String paramValue) { try { /** calling canonicalize with strict flag set to false so we only get warnings about double encoding, etc; can be set to true for exceptions and more security */ - String cannedStr = StringUtil.canonicalize(paramValue, false); + String cannedStr = UtilCodec.canonicalize(paramValue, false); if (Debug.verboseOn()) Debug.logVerbose("Canonicalized parameter with " + (cannedStr.equals(paramValue) ? "no " : "") + "change: original [" + paramValue + "] canned [" + cannedStr + "]", module); return cannedStr; } catch (Exception e) { @@ -790,14 +790,14 @@ public class UtilHttp { buf.append("&"); } } - buf.append(StringUtil.getEncoder("url").encode(name)); + buf.append(UtilCodec.getEncoder("url").encode(name)); /* the old way: try { buf.append(URLEncoder.encode(name, "UTF-8")); } catch (UnsupportedEncodingException e) { Debug.logError(e, module); } */ buf.append('='); - buf.append(StringUtil.getEncoder("url").encode(valueStr)); + buf.append(UtilCodec.getEncoder("url").encode(valueStr)); /* the old way: try { buf.append(URLEncoder.encode(valueStr, "UTF-8")); } catch (UnsupportedEncodingException e) { Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java Mon Dec 29 18:24:57 2014 @@ -47,6 +47,7 @@ import javax.servlet.http.HttpServletReq import org.ofbiz.base.location.FlexibleLocation; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; @@ -687,7 +688,7 @@ public class FreeMarkerWorker { te.printStackTrace(pw); String stackTrace = tempWriter.toString(); - StringUtil.SimpleEncoder simpleEncoder = FreeMarkerWorker.getWrappedObject("simpleEncoder", env); + UtilCodec.SimpleEncoder simpleEncoder = FreeMarkerWorker.getWrappedObject("simpleEncoder", env); if (simpleEncoder != null) { stackTrace = simpleEncoder.encode(stackTrace); } Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/StringUtilTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/StringUtilTests.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/StringUtilTests.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/StringUtilTests.java Mon Dec 29 18:24:57 2014 @@ -18,8 +18,6 @@ *******************************************************************************/ package org.ofbiz.base.util.test; -import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -53,18 +51,6 @@ public class StringUtilTests extends Gen assertTrue("correct INSTANCE", StringUtil.INSTANCE instanceof StringUtil); } - private static void encoderTest(String label, StringUtil.SimpleEncoder encoder, String wanted, String toEncode) { - assertNull(label + "(encoder):null", encoder.encode(null)); - assertEquals(label + "(encoder):encode", wanted, encoder.encode(toEncode)); - } - - public void testGetEncoder() { - encoderTest("string", StringUtil.getEncoder("string"), "abc\\\"def", "abc\"def"); - encoderTest("xml", StringUtil.getEncoder("xml"), "<>'"", "<>'\""); - encoderTest("html", StringUtil.getEncoder("html"), "<>'"", "<>'\""); - assertNull("invalid encoder", StringUtil.getEncoder("foobar")); - } - public void testInternString() { assertSame("intern-constant", StringUtil.internString("foo"), StringUtil.internString("foo")); assertSame("intern-new", StringUtil.internString("foo"), StringUtil.internString(new String("foo"))); @@ -283,26 +269,6 @@ public class StringUtilTests extends Gen assertEquals("all converions", "one && two || three > four >= five < six <= seven", StringUtil.convertOperatorSubstitutions("one @and two @or three @gt four @gteq five @lt six @lteq seven")); } - private static void checkStringForHtmlStrictNone_test(String label, String fixed, String input, String... wantedMessages) { - List<String> gottenMessages = new ArrayList<String>(); - assertEquals(label, fixed, StringUtil.checkStringForHtmlStrictNone(label, input, gottenMessages)); - assertEquals(label, Arrays.asList(wantedMessages), gottenMessages); - } - - public void testCheckStringForHtmlStrictNone() { - checkStringForHtmlStrictNone_test("null pass-thru", null, null); - checkStringForHtmlStrictNone_test("empty pass-thru", "", ""); - checkStringForHtmlStrictNone_test("o-numeric-encode", "foo", "foo"); - checkStringForHtmlStrictNone_test("o-hex-encode", "foo", "f%6fo"); - checkStringForHtmlStrictNone_test("o-double-hex-encode", "foo", "f%256fo"); - checkStringForHtmlStrictNone_test("<-not-allowed", "f<oo", "f<oo", "In field [<-not-allowed] less-than (<) and greater-than (>) symbols are not allowed."); - checkStringForHtmlStrictNone_test(">-not-allowed", "f>oo", "f>oo", "In field [>-not-allowed] less-than (<) and greater-than (>) symbols are not allowed."); - checkStringForHtmlStrictNone_test("high-ascii", "fÀ®", "f%C0%AE"); - // this looks like a bug, namely the extra trailing ; - checkStringForHtmlStrictNone_test("double-ampersand", "f\";oo", "f%26quot%3boo"); - checkStringForHtmlStrictNone_test("double-encoding", "%2%353Cscript", "%2%353Cscript", "In field [double-encoding] found character escaping (mixed or double) that is not allowed or other format consistency error: org.owasp.esapi.errors.IntrusionException: Input validation failure"); - } - public void testCollapseNewlines() { } Added: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java?rev=1648403&view=auto ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java (added) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java Mon Dec 29 18:24:57 2014 @@ -0,0 +1,64 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.ofbiz.base.util.test; + +import org.ofbiz.base.test.GenericTestCaseBase; +import org.ofbiz.base.util.UtilCodec; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class UtilCodecTests extends GenericTestCaseBase { + public UtilCodecTests(String name) { + super(name); + } + + private static void encoderTest(String label, UtilCodec.SimpleEncoder encoder, String wanted, String toEncode) { + assertNull(label + "(encoder):null", encoder.encode(null)); + assertEquals(label + "(encoder):encode", wanted, encoder.encode(toEncode)); + } + + public void testGetEncoder() { + encoderTest("string", UtilCodec.getEncoder("string"), "abc\\\"def", "abc\"def"); + encoderTest("xml", UtilCodec.getEncoder("xml"), "<>'"", "<>'\""); + encoderTest("html", UtilCodec.getEncoder("html"), "<>'"", "<>'\""); + assertNull("invalid encoder", UtilCodec.getEncoder("foobar")); + } + private static void checkStringForHtmlStrictNone_test(String label, String fixed, String input, String... wantedMessages) { + List<String> gottenMessages = new ArrayList<String>(); + assertEquals(label, fixed, UtilCodec.checkStringForHtmlStrictNone(label, input, gottenMessages)); + assertEquals(label, Arrays.asList(wantedMessages), gottenMessages); + } + + public void testCheckStringForHtmlStrictNone() { + checkStringForHtmlStrictNone_test("null pass-thru", null, null); + checkStringForHtmlStrictNone_test("empty pass-thru", "", ""); + checkStringForHtmlStrictNone_test("o-numeric-encode", "foo", "foo"); + checkStringForHtmlStrictNone_test("o-hex-encode", "foo", "f%6fo"); + checkStringForHtmlStrictNone_test("o-double-hex-encode", "foo", "f%256fo"); + checkStringForHtmlStrictNone_test("<-not-allowed", "f<oo", "f<oo", "In field [<-not-allowed] less-than (<) and greater-than (>) symbols are not allowed."); + checkStringForHtmlStrictNone_test(">-not-allowed", "f>oo", "f>oo", "In field [>-not-allowed] less-than (<) and greater-than (>) symbols are not allowed."); + checkStringForHtmlStrictNone_test("high-ascii", "fÀ®", "f%C0%AE"); + // this looks like a bug, namely the extra trailing ; + checkStringForHtmlStrictNone_test("double-ampersand", "f\";oo", "f%26quot%3boo"); + checkStringForHtmlStrictNone_test("double-encoding", "%2%353Cscript", "%2%353Cscript", "In field [double-encoding] found character escaping (mixed or double) that is not allowed or other format consistency error: org.owasp.esapi.errors.IntrusionException: Input validation failure"); + } + +} Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilCodecTests.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java?rev=1648403&view=auto ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java (added) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java Mon Dec 29 18:24:57 2014 @@ -0,0 +1,30 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.ofbiz.base.util.test; + +import org.ofbiz.base.test.GenericTestCaseBase; + +public class UtilHttpTests extends GenericTestCaseBase { + public UtilHttpTests(String name) { + super(name); + } + + public void testGetParameterMap() throws Exception { + } +} Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilHttpTests.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/trunk/framework/base/testdef/basetests.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/testdef/basetests.xml?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/base/testdef/basetests.xml (original) +++ ofbiz/trunk/framework/base/testdef/basetests.xml Mon Dec 29 18:24:57 2014 @@ -23,9 +23,14 @@ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd"> <test-group case-name="basetests"> <junit-test-suite class-name="org.ofbiz.base.lang.test.ComparableRangeTests"/> + <junit-test-suite class-name="org.ofbiz.base.util.test.AssertTests"/> <junit-test-suite class-name="org.ofbiz.base.util.test.IndentingWriterTests"/> <junit-test-suite class-name="org.ofbiz.base.util.test.ObjectTypeTests"/> + <!--junit-test-suite class-name="org.ofbiz.base.util.test.ReferenceCleanerTests"/--> <junit-test-suite class-name="org.ofbiz.base.util.test.UtilObjectTests"/> + <junit-test-suite class-name="org.ofbiz.base.util.test.StringUtilTests"/> + <junit-test-suite class-name="org.ofbiz.base.util.test.UtilHttpTests"/> + <junit-test-suite class-name="org.ofbiz.base.util.test.UtilCodecTests"/> <junit-test-suite class-name="org.ofbiz.base.util.string.test.FlexibleStringExpanderTests"/> <junit-test-suite class-name="org.ofbiz.base.util.collections.test.FlexibleMapAccessorTests"/> <junit-test-suite class-name="org.ofbiz.base.util.test.TimeDurationTests"/> Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java (original) +++ ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java Mon Dec 29 18:24:57 2014 @@ -46,7 +46,7 @@ import javax.mail.internet.MimeMessage; import org.ofbiz.base.metrics.Metrics; import org.ofbiz.base.metrics.MetricsFactory; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; @@ -539,7 +539,7 @@ public class CommonServices { public static Map<String, Object> resetMetric(DispatchContext dctx, Map<String, ?> context) { String originalName = (String) context.get("name"); - String name = StringUtil.getDecoder("url").decode(originalName); + String name = UtilCodec.getDecoder("url").decode(originalName); if (name == null) { return ServiceUtil.returnError("Exception thrown while decoding metric name \"" + originalName + "\""); } Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java Mon Dec 29 18:24:57 2014 @@ -63,7 +63,7 @@ import org.ofbiz.base.metrics.Metrics; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.ObjectType; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; @@ -584,7 +584,7 @@ public class ModelService extends Abstra if (context.get(modelParam.name) != null && ("String".equals(modelParam.type) || "java.lang.String".equals(modelParam.type)) && !"any".equals(modelParam.allowHtml) && ("INOUT".equals(modelParam.mode) || "IN".equals(modelParam.mode))) { String value = (String) context.get(modelParam.name); - StringUtil.checkStringForHtmlStrictNone(modelParam.name, value, errorMessageList); + UtilCodec.checkStringForHtmlStrictNone(modelParam.name, value, errorMessageList); } } if (errorMessageList.size() > 0) { Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java (original) +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java Mon Dec 29 18:24:57 2014 @@ -32,7 +32,7 @@ import javax.servlet.http.HttpSession; import org.apache.bsf.BSFManager; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilHttp; import org.ofbiz.base.util.UtilTimer; @@ -217,8 +217,7 @@ public class ControlServlet extends Http if (Debug.verboseOn()) Debug.logVerbose(throwable, module); } else { Debug.logError(throwable, "Error in request handler: ", module); - StringUtil.HtmlEncoder encoder = new StringUtil.HtmlEncoder(); - request.setAttribute("_ERROR_MESSAGE_", encoder.encode(throwable.toString())); + request.setAttribute("_ERROR_MESSAGE_", UtilCodec.getEncoder("html").encode(throwable.toString())); errorPage = requestHandler.getDefaultErrorPage(request); } } catch (RequestHandlerExceptionAllowExternalRequests e) { @@ -226,8 +225,7 @@ public class ControlServlet extends Http Debug.logInfo("Going to external page: " + request.getPathInfo(), module); } catch (Exception e) { Debug.logError(e, "Error in request handler: ", module); - StringUtil.HtmlEncoder encoder = new StringUtil.HtmlEncoder(); - request.setAttribute("_ERROR_MESSAGE_", encoder.encode(e.toString())); + request.setAttribute("_ERROR_MESSAGE_", UtilCodec.getEncoder("html").encode(e.toString())); errorPage = requestHandler.getDefaultErrorPage(request); } Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java (original) +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java Mon Dec 29 18:24:57 2014 @@ -40,6 +40,7 @@ import org.ofbiz.base.start.Start; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.SSLUtil; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilFormatOut; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilHttp; @@ -1115,11 +1116,11 @@ public class RequestHandler { if (queryString.length() > 1) { queryString.append("&"); } - String encodedName = StringUtil.getEncoder("url").encode(name); + String encodedName = UtilCodec.getEncoder("url").encode(name); if (encodedName != null) { queryString.append(encodedName); queryString.append("="); - queryString.append(StringUtil.getEncoder("url").encode(value)); + queryString.append(UtilCodec.getEncoder("url").encode(value)); } } } Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/OfbizContentTransform.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/OfbizContentTransform.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/OfbizContentTransform.java (original) +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/OfbizContentTransform.java Mon Dec 29 18:24:57 2014 @@ -25,7 +25,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.webapp.taglib.ContentUrlTag; @@ -92,7 +92,7 @@ public class OfbizContentTransform imple return; } - requestUrl = StringUtil.getDecoder("url").decode(requestUrl); + requestUrl = UtilCodec.getDecoder("url").decode(requestUrl); // make the link StringBuilder newURL = new StringBuilder(); Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java (original) +++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java Mon Dec 29 18:24:57 2014 @@ -37,7 +37,7 @@ import org.ofbiz.base.component.Componen import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.FileUtil; import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.w3c.dom.Comment; @@ -123,7 +123,7 @@ public class LabelManagerFactory { for (Node propertyNode : UtilXml.childNodeList(resourceElem.getFirstChild())) { if (propertyNode instanceof Element) { Element propertyElem = (Element) propertyNode; - String labelKey = StringUtil.canonicalize(propertyElem.getAttribute("key")); + String labelKey = UtilCodec.canonicalize(propertyElem.getAttribute("key")); String labelComment = ""; for (Node valueNode : UtilXml.childNodeList(propertyElem.getFirstChild())) { if (valueNode instanceof Element) { @@ -134,7 +134,7 @@ public class LabelManagerFactory { if( localeName.contains("_")) { localeName = localeName.replace('_', '-'); } - String labelValue = StringUtil.canonicalize(UtilXml.nodeValue(valueElem.getFirstChild())); + String labelValue = UtilCodec.canonicalize(UtilXml.nodeValue(valueElem.getFirstChild())); LabelInfo label = labels.get(labelKey + keySeparator + fileInfo.getFileName()); if (UtilValidate.isEmpty(label)) { @@ -148,12 +148,12 @@ public class LabelManagerFactory { localesFound.add(localeName); labelComment = ""; } else if (valueNode instanceof Comment) { - labelComment = labelComment + StringUtil.canonicalize(valueNode.getNodeValue()); + labelComment = labelComment + UtilCodec.canonicalize(valueNode.getNodeValue()); } } labelKeyComment = ""; } else if (propertyNode instanceof Comment) { - labelKeyComment = labelKeyComment + StringUtil.canonicalize(propertyNode.getNodeValue()); + labelKeyComment = labelKeyComment + UtilCodec.canonicalize(propertyNode.getNodeValue()); } } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java Mon Dec 29 18:24:57 2014 @@ -36,7 +36,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilHttp; @@ -71,7 +71,7 @@ public class WidgetWorker { // We may get an encoded request like: /projectmgr/control/EditTaskContents?workEffortId=10003 // Try to reducing a possibly encoded string down to its simplest form: /projectmgr/control/EditTaskContents?workEffortId=10003 // This step make sure the following appending externalLoginKey operation to work correctly - localRequestName = StringUtil.canonicalize(localRequestName); + localRequestName = UtilCodec.canonicalize(localRequestName); Appendable localWriter = new StringWriter(); if ("intra-app".equals(targetType)) { @@ -143,7 +143,7 @@ public class WidgetWorker { } externalWriter.append(parameter.getKey()); externalWriter.append('='); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null && parameterValue != null) { externalWriter.append(simpleEncoder.encode(URLEncoder.encode(parameterValue, Charset.forName("UTF-8").displayName()))); } else { @@ -300,7 +300,7 @@ public class WidgetWorker { writer.append("<input name=\""); writer.append(parameter.getKey()); writer.append("\" value=\""); - writer.append(StringUtil.getEncoder("html").encode(parameter.getValue())); + writer.append(UtilCodec.getEncoder("html").encode(parameter.getValue())); writer.append("\" type=\"hidden\"/>"); } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Mon Dec 29 18:24:57 2014 @@ -40,6 +40,7 @@ import javax.servlet.http.HttpServletRes import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilFormatOut; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilHttp; @@ -75,7 +76,6 @@ import org.ofbiz.widget.form.ModelFormFi import org.ofbiz.widget.form.ModelFormField.TextField; import org.ofbiz.widget.form.ModelFormField.TextFindField; import org.ofbiz.widget.form.ModelFormField.TextareaField; -import org.ofbiz.widget.form.ModelFormFieldBuilder; import org.ofbiz.widget.screen.ModelScreenWidget; import com.ibm.icu.util.Calendar; @@ -93,7 +93,7 @@ public final class MacroFormRenderer imp public static final String module = MacroFormRenderer.class.getName(); private final Template macroLibrary; private final WeakHashMap<Appendable, Environment> environments = new WeakHashMap<Appendable, Environment>(); - private final StringUtil.SimpleEncoder internalEncoder; + private final UtilCodec.SimpleEncoder internalEncoder; private final RequestHandler rh; private final HttpServletRequest request; private final HttpServletResponse response; @@ -108,7 +108,7 @@ public final class MacroFormRenderer imp ServletContext ctx = (ServletContext) request.getAttribute("servletContext"); this.rh = (RequestHandler) ctx.getAttribute("_REQUEST_HANDLER_"); this.javaScriptEnabled = UtilHttp.isJavaScriptEnabled(request); - internalEncoder = StringUtil.getEncoder("string"); + internalEncoder = UtilCodec.getEncoder("string"); } @Deprecated @@ -158,7 +158,7 @@ public final class MacroFormRenderer imp if (UtilValidate.isEmpty(value)) { return value; } - StringUtil.SimpleEncoder encoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder encoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (modelFormField.getEncodeOutput() && encoder != null) { value = encoder.encode(value); } else { @@ -3088,7 +3088,7 @@ public final class MacroFormRenderer imp parameters.append(parameter.getName()); parameters.append("'"); parameters.append(",'value':'"); - parameters.append(StringUtil.getEncoder("html").encode(parameter.getValue(context))); + parameters.append(UtilCodec.getEncoder("html").encode(parameter.getValue(context))); parameters.append("'}"); } parameters.append("]"); Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Mon Dec 29 18:24:57 2014 @@ -34,6 +34,7 @@ import java.util.concurrent.atomic.Atomi import org.ofbiz.base.util.BshUtil; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; @@ -1515,9 +1516,9 @@ public class ModelForm extends ModelWidg */ public String getTarget(Map<String, Object> context, String targetType) { Map<String, Object> expanderContext = context; - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { - expanderContext = StringUtil.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder); + expanderContext = UtilCodec.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder); } try { // use the same Interpreter (ie with the same context setup) for all evals Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Mon Dec 29 18:24:57 2014 @@ -42,6 +42,7 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.UtilFormatOut; import org.ofbiz.base.util.UtilGenerics; @@ -343,7 +344,7 @@ public class ModelFormField { } if (this.getEncodeOutput() && returnValue != null) { - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) returnValue = simpleEncoder.encode(returnValue); } @@ -602,7 +603,7 @@ public class ModelFormField { if (UtilValidate.isNotEmpty(tooltip)) tooltipString = tooltip.expandString(context); if (this.getEncodeOutput()) { - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) tooltipString = simpleEncoder.encode(tooltipString); } @@ -1489,7 +1490,7 @@ public class ModelFormField { } } if (UtilValidate.isNotEmpty(this.description) && retVal != null && this.getModelFormField().getEncodeOutput()) { - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { retVal = simpleEncoder.encode(retVal); } @@ -2067,7 +2068,7 @@ public class ModelFormField { public String getValue(Map<String, Object> context) { if (UtilValidate.isNotEmpty(this.value)) { String valueEnc = this.value.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { valueEnc = simpleEncoder.encode(valueEnc); } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java Mon Dec 29 18:24:57 2014 @@ -31,8 +31,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; -import org.ofbiz.base.util.StringUtil.SimpleEncoder; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilHttp; import org.ofbiz.base.util.UtilMisc; @@ -90,7 +89,7 @@ public class HtmlFormRenderer extends Ht protected String lastFieldGroupId = ""; protected boolean renderPagination = true; protected boolean javaScriptEnabled = false; - private SimpleEncoder internalEncoder; + private UtilCodec.SimpleEncoder internalEncoder; protected HtmlFormRenderer() {} @@ -100,7 +99,7 @@ public class HtmlFormRenderer extends Ht ServletContext ctx = (ServletContext) request.getAttribute("servletContext"); this.rh = (RequestHandler) ctx.getAttribute("_REQUEST_HANDLER_"); this.javaScriptEnabled = UtilHttp.isJavaScriptEnabled(request); - internalEncoder = StringUtil.getEncoder("string"); + internalEncoder = UtilCodec.getEncoder("string"); } public boolean getRenderPagination() { @@ -362,7 +361,7 @@ public class HtmlFormRenderer extends Ht if (UtilValidate.isEmpty(value)) { return value; } - StringUtil.SimpleEncoder encoder = (StringUtil.SimpleEncoder)context.get("simpleEncoder"); + UtilCodec.SimpleEncoder encoder = (UtilCodec.SimpleEncoder)context.get("simpleEncoder"); if (modelFormField.getEncodeOutput() && encoder != null) { value = encoder.encode(value); } else { Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java Mon Dec 29 18:24:57 2014 @@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletRes import javax.servlet.http.HttpSession; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.entity.Delegator; @@ -185,7 +186,7 @@ public class HtmlMenuRenderer extends Ht renderLink(writer, context, link); } else { String txt = menuItem.getTitle(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { txt = simpleEncoder.encode(txt); } @@ -407,7 +408,7 @@ public class HtmlMenuRenderer extends Ht writer.append(uniqueItemName); writer.append("\">"); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); for (Map.Entry<String, String> parameter: link.getParameterMap(context).entrySet()) { writer.append("<input name=\""); writer.append(parameter.getKey()); Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MacroMenuRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MacroMenuRenderer.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MacroMenuRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MacroMenuRenderer.java Mon Dec 29 18:24:57 2014 @@ -33,6 +33,7 @@ import javax.servlet.http.HttpServletRes import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.template.FreeMarkerWorker; @@ -309,7 +310,7 @@ public class MacroMenuRenderer implement linkStr = sw.toString(); } else { linkStr = menuItem.getTitle(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { linkStr = simpleEncoder.encode(linkStr); } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java Mon Dec 29 18:24:57 2014 @@ -30,6 +30,7 @@ import javax.xml.parsers.ParserConfigura import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilFormatOut; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; @@ -647,7 +648,7 @@ public class ModelMenuItem extends Model String txt = this.textExdr.expandString(context); if (UtilValidate.isEmpty(txt)) txt = linkMenuItem.getTitle(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { txt = simpleEncoder.encode(txt); } @@ -672,9 +673,9 @@ public class ModelMenuItem extends Model } public String getTarget(Map<String, Object> context) { - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { - return this.targetExdr.expandString(StringUtil.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder)); + return this.targetExdr.expandString(UtilCodec.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder)); } else { return this.targetExdr.expandString(context); } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java Mon Dec 29 18:24:57 2014 @@ -30,6 +30,7 @@ import java.util.Map; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; @@ -88,7 +89,7 @@ public class HtmlWidget extends ModelScr } @Override public String getAsString() { - return StringUtil.getEncoder("html").encode(super.getAsString()); + return UtilCodec.getEncoder("html").encode(super.getAsString()); } } @@ -100,7 +101,7 @@ public class HtmlWidget extends ModelScr @Override public String getAsString() { - return StringUtil.getEncoder("html").encode(super.getAsString()); + return UtilCodec.getEncoder("html").encode(super.getAsString()); } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenViewHandler.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenViewHandler.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenViewHandler.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenViewHandler.java Mon Dec 29 18:24:57 2014 @@ -30,7 +30,7 @@ import javax.xml.parsers.ParserConfigura import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; @@ -147,7 +147,7 @@ public class MacroScreenViewHandler exte ScreenStringRenderer screenStringRenderer = loadRenderers(request, response, context, writer); ScreenRenderer screens = new ScreenRenderer(writer, context, screenStringRenderer); context.put("screens", screens); - context.put("simpleEncoder", StringUtil.getEncoder(UtilProperties.getPropertyValue("widget", getName() + ".encoder"))); + context.put("simpleEncoder", UtilCodec.getEncoder(UtilProperties.getPropertyValue("widget", getName() + ".encoder"))); screenStringRenderer.renderScreenBegin(writer, context); screens.render(page); screenStringRenderer.renderScreenEnd(writer, context); Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java Mon Dec 29 18:24:57 2014 @@ -34,15 +34,14 @@ import javax.xml.parsers.ParserConfigura import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; -import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.collections.MapStack; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; -import org.ofbiz.entity.condition.EntityCondition; import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.widget.ModelWidget; import org.ofbiz.widget.ModelWidgetAction; @@ -607,7 +606,7 @@ public abstract class ModelScreenWidget public String getTitle(Map<String, Object> context) { String title = this.titleExdr.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { title = simpleEncoder.encode(title); } @@ -893,7 +892,7 @@ public abstract class ModelScreenWidget public String getText(Map<String, Object> context) { String text = this.textExdr.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { text = simpleEncoder.encode(text); } @@ -1470,7 +1469,7 @@ public abstract class ModelScreenWidget public String getText(Map<String, Object> context) { String text = this.textExdr.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { text = simpleEncoder.encode(text); } @@ -1487,9 +1486,9 @@ public abstract class ModelScreenWidget public String getTarget(Map<String, Object> context) { Map<String, Object> expanderContext = context; - StringUtil.SimpleEncoder simpleEncoder = context == null ? null : (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = context == null ? null : (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { - expanderContext = StringUtil.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder); + expanderContext = UtilCodec.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder); } return this.targetExdr.expandString(expanderContext); } @@ -1632,7 +1631,7 @@ public abstract class ModelScreenWidget public String getAlt(Map<String, Object> context) { String alt = this.alt.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { alt = simpleEncoder.encode(alt); } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenFopViewHandler.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenFopViewHandler.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenFopViewHandler.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenFopViewHandler.java Mon Dec 29 18:24:57 2014 @@ -32,7 +32,7 @@ import javax.xml.transform.stream.Stream import org.apache.fop.apps.Fop; import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.entity.Delegator; @@ -82,7 +82,7 @@ public class ScreenFopViewHandler extend // this is the object used to render forms from their definitions screens.getContext().put("formStringRenderer", formStringRenderer); - screens.getContext().put("simpleEncoder", StringUtil.getEncoder(EntityUtilProperties.getPropertyValue("widget", getName() + ".encoder", delegator))); + screens.getContext().put("simpleEncoder", UtilCodec.getEncoder(EntityUtilProperties.getPropertyValue("widget", getName() + ".encoder", delegator))); screens.render(page); } catch (Exception e) { renderError("Problems with the response writer/output stream", e, "[Not Yet Rendered]", request, response); Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java Mon Dec 29 18:24:57 2014 @@ -35,10 +35,10 @@ import javax.xml.parsers.ParserConfigura import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilFormatOut; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilHttp; -import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.collections.MapStack; @@ -782,7 +782,7 @@ public class ModelTree extends ModelWidg public String getText(Map<String, Object> context) { String text = this.textExdr.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { text = simpleEncoder.encode(text); } @@ -886,7 +886,7 @@ public class ModelTree extends ModelWidg public String getText(Map<String, Object> context) { String text = this.textExdr.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { text = simpleEncoder.encode(text); } @@ -906,7 +906,7 @@ public class ModelTree extends ModelWidg } public String getTitle(Map<String, Object> context) { String title = this.titleExdr.expandString(context); - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { title = simpleEncoder.encode(title); } @@ -914,9 +914,9 @@ public class ModelTree extends ModelWidg } public String getTarget(Map<String, Object> context) { - StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder"); + UtilCodec.SimpleEncoder simpleEncoder = (UtilCodec.SimpleEncoder) context.get("simpleEncoder"); if (simpleEncoder != null) { - return this.targetExdr.expandString(StringUtil.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder)); + return this.targetExdr.expandString(UtilCodec.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context, simpleEncoder)); } else { return this.targetExdr.expandString(context); } Modified: ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java?rev=1648403&r1=1648402&r2=1648403&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java (original) +++ ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java Mon Dec 29 18:24:57 2014 @@ -34,6 +34,7 @@ import javolution.util.FastMap; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; @@ -179,7 +180,7 @@ public class ProductsExportToEbay { Delegator delegator = dctx.getDelegator(); String webSiteUrl = (String)context.get("webSiteUrl"); - StringUtil.SimpleEncoder encoder = StringUtil.getEncoder("xml"); + UtilCodec.SimpleEncoder encoder = UtilCodec.getEncoder("xml"); // Get the list of products to be exported to eBay try { |
Free forum by Nabble | Edit this page |