> On 2011-06-13 17:33:14, Henry Saputra wrote:
> > The JSON-RPC API calls will also have this extension field support because 
> > it uses the same JSON converter, right? 
> > 
> > Is this is to support model extension as mentioned in 
> > http://opensocial-resources.googlecode.com/svn/spec/2.0/OpenSocial-Specification.xml#rfc.section.5.2
> > 
> > 
> > - Henry

Correct, JSON-RPC and all other APIs will pick this up; the serialization 
happens deep down in the JSON & XML converters.

Also correct, this change will make it almost trivial to implement extensions 
which, by definition, are supported by the OpenSocial spec.

I've uploaded a revised patch to address your comments, adding ASF license 
headers to the new files and correcting formatting.

Thanks for the review, Henry.


- Eric


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/881/#review803
-----------------------------------------------------------


On 2011-06-13 19:06:19, Eric Woods wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/881/
> -----------------------------------------------------------
> 
> (Updated 2011-06-13 19:06:19)
> 
> 
> Review request for shindig.
> 
> 
> Summary
> -------
> 
> This is a much-needed improvement to the Shindig REST API. This patch adds 
> support for dynamic extensions to Shindig's data model. For example, fields 
> that are not explicitly defined in ActivityEntry may be posted to the 
> Activity Streams REST API, and Shindig will receive, persist, and retrieve 
> them properly. This will circumvent the need for continued maintenance as 
> field requirements change, especially for internal changes that aren't pushed 
> back to Shindig.
> 
> To enable dynamic extensions to an existing data model, simply extend 
> ExtendableBean.
> 
> I recommend using the JSON API when handling extensions. The JSON API fully 
> supports all CRUD operations with extensions "out-of-the-box".
> 
> The XML API has a number of limitations with respect to extensions due 
> Shindig's design and use of xstream:
> * To serialize extensions to XML, the extension's field name must be 
> predefined in the parent POJO.
> * Serialization of dynamic extensions doesn't follow all OpenSocial 
> conventions
> * Limited XML POST support (which has always been the case) 
> 
> 
> Diffs
> -----
> 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/ExtendableBeanConverter.java
>  PRE-CREATION 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/model/ExtendableBean.java
>  PRE-CREATION 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/model/ExtendableBeanImpl.java
>  PRE-CREATION 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityEntryImpl.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityObjectImpl.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ExtensionImpl.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/MediaLinkImpl.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/XStream081Configuration.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityEntry.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityObject.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Extension.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/MediaLink.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonActivityEntryTest.java
>  1134325 
>   
> http://svn.apache.org/repos/asf/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonExtension.json
>  PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/881/diff
> 
> 
> Testing
> -------
> 
> Yes.
> 
> 
> Thanks,
> 
> Eric
> 
>

Reply via email to