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: RESTful API (Java)
Affects Versions: trunk
Reporter: Paul Lindner
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.