[
https://issues.apache.org/jira/browse/OFBIZ-10966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16884393#comment-16884393
]
Mathieu Lirzin commented on OFBIZ-10966:
----------------------------------------
Hello Jayansh,
I have done a cursory look at [^OFBIZ-10966.patch] but it is a bit hard to do
the review of your patch without some Javadoc explaining what the methods are
supposed to do and tests demonstrating what those methods are actually
achieving.
Additionally I would be nice If you could try to write smaller methods to
reduce the number of indentation levels. Some methods goes up to 8 indentation
levels, I would suggest reducing that to a maximum of 3.
Thanks for continuing your work on that issue. I am assigned to it because I am
doing the review of your code.
> JSON entity data import and export utility
> ------------------------------------------
>
> Key: OFBIZ-10966
> URL: https://issues.apache.org/jira/browse/OFBIZ-10966
> Project: OFBiz
> Issue Type: New Feature
> Components: framework
> Reporter: Jayansh Shinde
> Assignee: Mathieu Lirzin
> Priority: Minor
> Fix For: Upcoming Branch
>
> Attachments: OFBIZ-10966.patch, OFBIZ-10966_27062019.patch,
> OFBiz-Web-Tools-JSON-Data-Export-All.png,
> OFBiz-Web-Tools-JSON-Data-Import-Dir.png, exportJson.png, importJson.png
>
>
> Currently, we support import/export entity data in XML format.
> Nowadays JSON is widely used in industry, we can have support for JSON
> format which looks quite similar to XML support.
> Here is example of XML data and it's JSON version
> {code:java}
> <Party partyId="123456" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
> {code}
> {code:java}
> {“Party”:
> {"partyId":"123456","partyTypeId":"PERSON","statusId":"PARTY_ENABLED”}}
> {code}
>
> *Design Proposal*
> We can write *entityImportJson* and *entityImportDirJson* services for
> importing JSON from screen and directory respectively.
> And the *entityExportAllJson* service for exporting entity data in JSON.
>
> *Import Design*
> The import service will perform following operations:
> 1.) Validate the input JSON data (I am in process of exploring the way for
> this)
> 2.) On successful validation, convert JSON to OFBiz's entity model
> (GenericValue)
> 3.) The GenericValue will be inserted in database by some handler class for
> e.g we can write JsonDataHandler, it will convert given JSON to
> List<GenericValue>, and finally write it to database (Similar pattern is used
> in XML import).
>
> *Export Design*
> Based on existing XML pattern the writeXmlText method of GenericEntity class
> write the exported data in XML format.
> In the similar way, we can implement writeJsonText to export data in JSON
> format.
> Please free feel to share your thought.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)