[ 
https://issues.apache.org/jira/browse/SHINDIG-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Lindner resolved SHINDIG-888.
----------------------------------

       Resolution: Fixed
    Fix Version/s: trunk
         Assignee: Paul Lindner

resolved


> Reduce json output by making isOwner/isViewer implicitly false
> --------------------------------------------------------------
>
>                 Key: SHINDIG-888
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-888
>             Project: Shindig
>          Issue Type: Improvement
>          Components: Java
>    Affects Versions: trunk
>            Reporter: Paul Lindner
>            Assignee: Paul Lindner
>             Fix For: trunk
>
>
> Hi,
> Just like to get some feedback on a simple change that reduces the size of 
> responses to friend requests.
> Right now when you fetch you get an extreme amount of wasted output from the 
> isOwner/isViewer fields of each person.
> We should implicitly declare that these fields are false unless set to true.  
> This should shave off about 38 octets of data for each friend in the response.
> The JS API would not be affected as this construct is used in person.js
>   return !!this.isOwner_;
> Here's a simplistic patch:
> ===================================================================
> --- 
> java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java
>     (revision 737569)
> +++ 
> java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanJsonConverter.java
>     (working copy)
> @@ -155,7 +155,12 @@
>        try {
>          Object val = getter.method.invoke(pojo, EMPTY_OBJECT);
>          if (val != null) {
> -          toReturn.put(getter.fieldName, translateObjectToJson(val));
> +          String attribute = getter.fieldName;
> +          Object value = translateObjectToJson(val);
> +
> +          if (!(attribute.equals("isOwner") || attribute.equals("isViewer") 
> && value.equals(Boolean.FALSE))) {
> +            toReturn.put(attribute, value);
> +          }
>          }
>        } catch (JSONException e) {
>          throw new RuntimeException(errorMessage(pojo, getter), e);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to