I really don't think this is a good idea. The parameters are defined
by the spec and you should be strict about them.

Florent

On Wed, Mar 24, 2010 at 8:14 PM, fmui <[email protected]> wrote:
> Author: fmui
> Date: Wed Mar 24 19:14:47 2010
> New Revision: 927159
>
> URL: http://svn.apache.org/viewvc?rev=927159&view=rev
> Log:
> made parameter recognition case-insensitive in AtomPub server
>
> Modified:
>    
> incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-impl/src/main/java/org/apache/opencmis/server/impl/atompub/AtomPubUtils.java
>
> Modified: 
> incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-impl/src/main/java/org/apache/opencmis/server/impl/atompub/AtomPubUtils.java
> URL: 
> http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-impl/src/main/java/org/apache/opencmis/server/impl/atompub/AtomPubUtils.java?rev=927159&r1=927158&r2=927159&view=diff
> ==============================================================================
> --- 
> incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-impl/src/main/java/org/apache/opencmis/server/impl/atompub/AtomPubUtils.java
>  (original)
> +++ 
> incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-impl/src/main/java/org/apache/opencmis/server/impl/atompub/AtomPubUtils.java
>  Wed Mar 24 19:14:47 2010
> @@ -128,15 +128,30 @@ public final class AtomPubUtils {
>   /**
>    * Extracts a string parameter.
>    */
> + �...@suppresswarnings("unchecked")
>   public static String getStringParameter(HttpServletRequest request, String 
> name) {
> -    return request.getParameter(name);
> +    if (name == null) {
> +      return null;
> +    }
> +
> +    Map<String, String[]> parameters = (Map<String, String[]>) 
> request.getParameterMap();
> +    for (Map.Entry<String, String[]> parameter : parameters.entrySet()) {
> +      if (name.equalsIgnoreCase(parameter.getKey())) {
> +        if (parameter.getValue() == null) {
> +          return null;
> +        }
> +        return parameter.getValue()[0];
> +      }
> +    }
> +
> +    return null;
>   }
>
>   /**
>    * Extracts a boolean parameter (with default).
>    */
>   public static boolean getBooleanParameter(HttpServletRequest request, 
> String name, boolean def) {
> -    String value = request.getParameter(name);
> +    String value = getStringParameter(request, name);
>     if (value == null) {
>       return def;
>     }
> @@ -148,7 +163,7 @@ public final class AtomPubUtils {
>    * Extracts a boolean parameter.
>    */
>   public static Boolean getBooleanParameter(HttpServletRequest request, 
> String name) {
> -    String value = request.getParameter(name);
> +    String value = getStringParameter(request, name);
>     if (value == null) {
>       return null;
>     }
> @@ -172,7 +187,7 @@ public final class AtomPubUtils {
>    * Extracts an integer parameter.
>    */
>   public static BigInteger getBigIntegerParameter(HttpServletRequest request, 
> String name) {
> -    String value = request.getParameter(name);
> +    String value = getStringParameter(request, name);
>     if (value == null) {
>       return null;
>     }
> @@ -190,7 +205,7 @@ public final class AtomPubUtils {
>    */
>   @SuppressWarnings("unchecked")
>   public static <T> T getEnumParameter(HttpServletRequest request, String 
> name, Class<T> clazz) {
> -    String value = request.getParameter(name);
> +    String value = getStringParameter(request, name);
>     if (value == null) {
>       return null;
>     }
>
>
>



-- 
Florent Guillaume, Director of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87

Reply via email to