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.
