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() {