[jira] [Commented] (OFBIZ-10966) JSON entity data import and export utility

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-10966) JSON entity data import and export utility

Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-10966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16874471#comment-16874471 ]

Mathieu Lirzin commented on OFBIZ-10966:
----------------------------------------

Hello,

Even if this feature is interesting, I must say that I am really unhappy with the poor quality of the code that has been committed to trunk. Dead code, unused imports, redundant dependency, low level iterator instead of foreach loops... to me this is unacceptable given the programming standards I expect from this community.

One major issue that need to be fixed ASAP is the usage of a new dependency for JSON manipulation which is outdated (no generics) and pointless since we already depend on Jackson which is doing a better job.

> 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: Jacques Le Roux
>            Priority: Minor
>             Fix For: Upcoming Branch
>
>         Attachments: 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.3#76005)