calrissian / mango

Common utilities for rapid application development
Apache License 2.0
17 stars 7 forks source link

Integrate MetadataSerDe from Accumulo Recipes into Mango #165

Open cjnolet opened 9 years ago

cjnolet commented 9 years ago

This is something that was created for serializing Map<String,String> into a series of bytes and back to a map again. It was implemented as a strategy pattern so different (faster) implementations could always be written at a later time.

While this has been extremely useful for Accumulo Recipes, there are folks who want to use it on projects like Kafka to serialize metadata for the message keys. I would like it if we could integrate that here so they don't need to pull in Accumulo dependencies to make that possible.

eawagner commented 9 years ago

If we do this, I would like to make something not tied to simply metadata (I mean use a different name), but possibly for defining serialization strategies for complex objects in general. For instance, a List, or Map<Integer, String> to extend the current need for Map<String, String> being used. To be clear, I don't want to implement SerDe's for all data structures, just come up with an API that facilitates that. Similar to how the TypeEncoders can be customized.

I guess this would live in the serialize package?

Also can we make sure all work on this is done via a pull request. This way we can merge it in fully when its ready.

cjnolet commented 9 years ago

Yes, new stuff like this should certainly be done in a pull request.

On Thu, Mar 5, 2015 at 10:46 PM, eawagner notifications@github.com wrote:

If we do this, I would like to make something not tied to simply metadata (I mean use a different name), but possibly for defining serialization strategies for complex objects in general. For instance, a List, or Map to extend the current need for Map being used. To be clear, I don't want to implement SerDe's for all data structures, just come up with an API that facilitates that. Similar to how the TypeEncoders can be customized.

I guess this would live in the serialize package?

Also can we make sure all work on this is done via a pull request. This way we can merge it in fully when its ready.

— Reply to this email directly or view it on GitHub https://github.com/calrissian/mango/issues/165#issuecomment-77502186.