On 04/14/2010 04:27 PM, fmancinelli (SVN) wrote:
> Author: fmancinelli
> Date: 2010-04-14 16:27:12 +0200 (Wed, 14 Apr 2010)
> New Revision: 28305
>
> Modified:
>
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedObjectReader.java
>
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedPropertyReader.java
> Log:
> XWIKI-5109 The application/x-www-form-urlencoded reader for objects and
> properties is broken.
>
> Modified the readers in order to implement the correct behavior.
>
>
> Modified:
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedObjectReader.java
> ===================================================================
> ---
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedObjectReader.java
> 2010-04-14 13:42:32 UTC (rev 28304)
> +++
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedObjectReader.java
> 2010-04-14 14:27:12 UTC (rev 28305)
> @@ -99,7 +99,7 @@
> if (name.startsWith(PROPERTY_PREFIX)) {
> Property property = objectFactory.createProperty();
> property.setName(name.replace(PROPERTY_PREFIX, ""));
> - property.setValue(httpServletRequest.getParameter(name));
> + property.setValue(form.getFirstValue(name));
> object.getProperties().add(property);
> }
> }
>
> Modified:
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedPropertyReader.java
> ===================================================================
> ---
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedPropertyReader.java
> 2010-04-14 13:42:32 UTC (rev 28304)
> +++
> platform/core/trunk/xwiki-rest/src/main/java/org/xwiki/rest/representations/objects/FormUrlEncodedPropertyReader.java
> 2010-04-14 14:27:12 UTC (rev 28305)
> @@ -81,7 +81,7 @@
> while (names.hasMoreElements()) {
> String name = (String) names.nextElement();
> if (name.startsWith(PROPERTY_PREFIX)) {
> - property.setName(name);
> + property.setName(name.replace(PROPERTY_PREFIX, ""));
replace is not a good method, since it replaces from everywhere in the
string. You should use StringUtils.removeStart(name, PROPERTY_PREFIX)
>
> property.setValue(httpServletRequest.getParameter(name));
> break;
> }
> @@ -89,8 +89,8 @@
> } else {
> for (String name : form.getNames())
> if (name.startsWith(PROPERTY_PREFIX)) {
> - property.setName(name);
> - property.setValue(httpServletRequest.getParameter(name));
> + property.setName(name.replace(PROPERTY_PREFIX, ""));
> + property.setValue(form.getFirstValue(name));
> break;
> }
> }
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs