Hi All

I've just made the following available via patchset and clone:
http://code.google.com/r/stevetbaker-mongodb-marshalldata/source/checkout
http://codereview.waveprotocol.org/48001/show

This patch builds on Anthony Watkins' MongoDB persistence work.

Anthony's original implementation stores the actual wave data as base
64 encoded
data.  I wanted to make the most of persisting to an unstructured JSON
store.

This is done by marshalling directly between protobuf messages and
DBObject,
which is the container object for MongoDB data. The marshalling is 2-
way and
happens in WaveStoreMarshaller.java

The marshaller code structure is based on JsonFormat.java:
http://code.google.com/p/protobuf-java-format/source/browse/trunk/protobuf-java-format/src/java/com/google/protobuf/JsonFormat.java?r=5

A big benefit of this patch is that the MongoDB database can be
browsed and all
wave data can be seen. It might also be possible to run MongoDB
queries based on
wave data.

Anthony Watkins has tested the change and said the following:
> Worked without a hitch for me.  Tested locally and through
> federation.  Looked at the data in mongoDB and selected items
> within the __data field (now that I can :) ).

The patchset is the difference between the clones awatkins03-mongodb
and
stevetbaker-mongodb-marshalldata.

If you want to try this out locally then you can pull in the changes
by running:
hg pull https://stevetbaker-mongodb-marshalldata.googlecode.com/hg/

You'll have to delete your mongo database every time you switch
between this and awatkins03-mongodb.

cheers

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

Reply via email to