Hi Christian, I agree with your concerns, I will come with a prototype as soon as possible to get your feedback proceed forward. Regards Kevin
On Mon, Jul 6, 2015 at 2:02 PM, Amend, Christian <christian.am...@sap.com> wrote: > Hi Kevin, > > your idea of using a custom deserializer instead of pure annotations > sounds very good to me. This would make it easier to first deserialize the > existing schemas and then move to the type definitions afterwards. This way > you already have the schema CSDL classes ready and can attach the types as > you deserialize them. I am looking forward to a first prototype ☺ > > About the general architecture: I would suggest that the deserializer > should not validate the document it is parsing for semantics. This means > that if a server sends a metadata document that contains an entity set with > a type that is not present we do not throw an exception during parsing. > This is to save performance for bigger metadata documents and also because > a server should always send a valid metadata document. > > WDYT? > > Best Regards, > Christian > > From: Kevin Ratnasekera [mailto:djkevincr1...@gmail.com] > Sent: Samstag, 4. Juli 2015 21:49 > To: dev@olingo.apache.org > Cc: Amend, Christian; amend.christ...@gmail.com > Subject: JSON Metadata Document client side deserializer > > Hi Olingo Community, > Regarding the Json metadata document GSoC project currently I have > progressed upto the metadata document serialization at the server side. [1] > Now I have moved implementation of client side metadata document > de-serialization. > When I have look at the current Service Document Json deserializer and > metadata document xml deserialzer in client core lib, the approach which is > used to deserialize either Json and xml payloads of metadata/service > document is writing custom Jackson deserializer classes. For the Json > service document a single custom deserializer ( > JSONServiceDocumentDeserializer ) is being used, and for the xml metadata > document case set of deserializer classes for parts of metadata document > (EntityContainerDeserialize, ReferenceDeserializer) and they are registered > on jackson mapper object using annotations first and then called > recursively when we go through the each element of metadata document when > parsing the relevant payload. > I am thinking of adapting the similar approach to Json metadata document > deserialization, basically to write Jackson custom deserializer classes for > json metadata document elements similar to xml case ( but there are some > changes documents). I see some advantages of this basically this approach > is complaint with the current approach, custom deserializer classes are > more robust and adaptable complex custom cases when compared to approaches > just simply use Jackson annotations to map json fields to java object > fields. > Are there any other approaches available to achieve this? And What should > be the best approach to use? > Regards > Kevin > [1]https://github.com/djkevincr/olingo-odata4/tree/jsonMetadata >