You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Jayansh Shinde (JIRA)" <ji...@apache.org> on 2019/04/27 19:57:00 UTC

[jira] [Issue Comment Deleted] (OFBIZ-10966) JSON entity data import and export utility

     [ https://issues.apache.org/jira/browse/OFBIZ-10966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jayansh Shinde updated OFBIZ-10966:
-----------------------------------
    Comment: was deleted

(was: The import service will read the json data and validate it and then convert same to ofbiz’s entity data(GenericEntity) and commit to database using some handler class. e.g. JsonDataHandler convert given json data to List<GenericValue> and write it to DB. Similar to:


private void writeValues(List<GenericValue> valuesToWrite) throws GenericEntityException {
    if (this.checkDataOnly) {
        EntityDataAssert.checkValueList(valuesToWrite, delegator, this.getMessageList());
    } else {
        delegator.storeAll(valuesToWrite, new EntityStoreOptions(createDummyFks));
    }
}

Export service may require new method (org.apache.ofbiz.entity.GenericEntity#writeJsonText) similar to existing org.apache.ofbiz.entity.GenericEntity#writeXmlText )

> 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
>            Priority: Minor
>
> 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)