Author: fmeschbe Date: Mon Nov 2 20:01:12 2009 New Revision: 832083 URL: http://svn.apache.org/viewvc?rev=832083&view=rev Log: SLING-1167 move all string related parameter access to the ParameterMap class and convert the exact parameter request to a String or String[] on demand
Modified: sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterMap.java sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterSupport.java Modified: sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterMap.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterMap.java?rev=832083&r1=832082&r2=832083&view=diff ============================================================================== --- sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterMap.java (original) +++ sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterMap.java Mon Nov 2 20:01:12 2009 @@ -68,16 +68,22 @@ super.put(name, parameters); } + //---------- String parameter support + + String getStringValue(final String name) { + final RequestParameter param = getValue(name); + return (param != null) ? param.getString() : null; + } + + String[] getStringValues(final String name) { + return toStringArray(getValues(name)); + } + Map<String, String[]> getStringParameterMap() { if (this.stringParameterMap == null) { Map<String, String[]> pm = new HashMap<String, String[]>(); for (Map.Entry<String, RequestParameter[]> ppmEntry : entrySet()) { - RequestParameter[] pps = ppmEntry.getValue(); - String[] ps = new String[pps.length]; - for (int i = 0; i < pps.length; i++) { - ps[i] = pps[i].getString(); - } - pm.put(ppmEntry.getKey(), ps); + pm.put(ppmEntry.getKey(), toStringArray(ppmEntry.getValue())); } this.stringParameterMap = Collections.unmodifiableMap(pm); } @@ -125,4 +131,18 @@ public RequestParameter[] remove(Object key) { throw new UnsupportedOperationException("remove"); } + + //---------- internal + + private static String[] toStringArray(final RequestParameter[] params) { + if (params == null) { + return null; + } + + final String[] ps = new String[params.length]; + for (int i = 0; i < params.length; i++) { + ps[i] = params[i].getString(); + } + return ps; + } } Modified: sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterSupport.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterSupport.java?rev=832083&r1=832082&r2=832083&view=diff ============================================================================== --- sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterSupport.java (original) +++ sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/parameters/ParameterSupport.java Mon Nov 2 20:01:12 2009 @@ -82,12 +82,11 @@ } public String getParameter(String name) { - RequestParameter param = this.getRequestParameter(name); - return (param != null) ? param.getString() : null; + return getRequestParameterMapInternal().getStringValue(name); } public String[] getParameterValues(String name) { - return this.getParameterMap().get(name); + return getRequestParameterMapInternal().getStringValues(name); } public Map<String, String[]> getParameterMap() {