----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/881/#review821 -----------------------------------------------------------
Ship it! Eric, LGTM with small nits. And thanks for the wiki post, really helps. Should add link to the page for your checkin comment. http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/xstream/ExtendableBeanConverter.java <https://reviews.apache.org/r/881/#comment1781> a bit of nitpick: looks like this is 4 spaces instead of 2 spaces http://svn.apache.org/repos/asf/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/model/ExtendableBeanImpl.java <https://reviews.apache.org/r/881/#comment1802> another small nit: extra spaces for indent? - Henry 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 > >
