Hi, Suggestion: This came up with one of the discussion with Pramod, will it be a good idea, for database input operators to generate pojo based on the selected column field names and types? No need to accept json input from user.
Question: How can we share this POJO among multiple operators when application is already launched and class is generated on the fly? -Priyanka On Thu, Jan 21, 2016 at 11:16 PM, Chinmay Kolhatkar <[email protected] > wrote: > Hi All, > > We're planning to add a utility in malhar-library for generating a POJO > class on the fly from given JSON schema. > > Use case is where the application is provided with schema and that needs to > be used in one or more operators either as a tuple over the stream OR for > processing. > > General Design: > 1. Utility will be provided with fqcn of the class and schema definition > provided as json. > 2. The schema definition will look like following: > { > "fqcn":"<qualified class name>", > "fields": [ > { > "name":"field1", > "type":"long" > }, > { > "name":"field2", > "type": "string" > } > ] > } > 3. Supported types identified in "type" JSON field are: > boolean, char, byte, short, int, float, long, double > 4. The output of this utility will be a generated .class file in the form > of FSDataOutputStream. > 5. Xbean asm5 library will be used for this. > 6. Following methods will be added to the generated class: > a. Getter/Setter methods for given fields. > b. simple toString - Generate string equivalent for all the fields > c. hashCode method - calculate the overall hashCode using individual > field hashcodes, similar to how String.hashCode generates hashCode of > string using chars in it. > d. equals method - Similar to how String.equals method has done it > using individual char. > > > Questions I have about the functionality: > 1. Should the utility also support nested pojo definition via schema json? > In such case the field definition can look like following: > { "name":"nestedField", "type":"<fqcn of nested class>", > "fields":[....] } > The nested class will be provided > > 2. Should the utility also support giving out the JarOutputStream which > will have a generated jar? > > Please let me know your thoughts. > > Thanks, > Chinmay. >
