details: https://code.openbravo.com/erp/devel/pi/rev/5c0c3e9c06ff changeset: 32529:5c0c3e9c06ff user: Ranjith S R <ranjith <at> qualiantech.com> date: Thu Aug 03 16:48:09 2017 +0530 summary: Related to issue 35058 : Adding recordId column to c_import_entry, c_import_entry_archeive table
* If JsonData is added in ImportEntry, respective id of the Jsondata must be updated in recordId column diffstat: src-db/database/model/tables/C_IMPORT_ENTRY.xml | 4 + src-db/database/model/tables/C_IMPORT_ENTRY_ARCHIVE.xml | 4 + src-db/database/sourcedata/AD_COLUMN.xml | 80 +++++++++- src/org/openbravo/service/importprocess/ImportEntryManager.java | 24 +++ 4 files changed, 110 insertions(+), 2 deletions(-) diffs (194 lines): diff -r e862781be5c3 -r 5c0c3e9c06ff src-db/database/model/tables/C_IMPORT_ENTRY.xml --- a/src-db/database/model/tables/C_IMPORT_ENTRY.xml Wed Jul 26 17:24:11 2017 -0400 +++ b/src-db/database/model/tables/C_IMPORT_ENTRY.xml Thu Aug 03 16:48:09 2017 +0530 @@ -61,6 +61,10 @@ <default/> <onCreateDefault/> </column> + <column name="RECORD_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> <column name="RESPONSEINFO" primaryKey="false" required="false" type="CLOB" size="4000" autoIncrement="false"> <default/> <onCreateDefault/> diff -r e862781be5c3 -r 5c0c3e9c06ff src-db/database/model/tables/C_IMPORT_ENTRY_ARCHIVE.xml --- a/src-db/database/model/tables/C_IMPORT_ENTRY_ARCHIVE.xml Wed Jul 26 17:24:11 2017 -0400 +++ b/src-db/database/model/tables/C_IMPORT_ENTRY_ARCHIVE.xml Thu Aug 03 16:48:09 2017 +0530 @@ -57,6 +57,10 @@ <default/> <onCreateDefault/> </column> + <column name="RECORD_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> <column name="RESPONSEINFO" primaryKey="false" required="false" type="CLOB" size="4000" autoIncrement="false"> <default/> <onCreateDefault/> diff -r e862781be5c3 -r 5c0c3e9c06ff src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Jul 26 17:24:11 2017 -0400 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Thu Aug 03 16:48:09 2017 +0530 @@ -254864,6 +254864,44 @@ <!--26684F9855B64C9189052F01BA13592D--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--26684F9855B64C9189052F01BA13592D--></AD_COLUMN> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--><AD_COLUMN> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_COLUMN_ID><![CDATA[268BE109BD0C4FB8ADEAF3CC4ED68DE9]]></AD_COLUMN_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <NAME><![CDATA[Record ID]]></NAME> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <DESCRIPTION><![CDATA[An record identifier in the dictionary.]]></DESCRIPTION> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <HELP><![CDATA[The Record ID is the internal unique identifier of a record]]></HELP> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <COLUMNNAME><![CDATA[Record_ID]]></COLUMNNAME> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_TABLE_ID><![CDATA[C2968EF014C146B99A0C136BA9D6331F]]></AD_TABLE_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISKEY><![CDATA[N]]></ISKEY> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <SEQNO><![CDATA[190]]></SEQNO> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_ELEMENT_ID><![CDATA[538]]></AD_ELEMENT_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <POSITION><![CDATA[18]]></POSITION> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--268BE109BD0C4FB8ADEAF3CC4ED68DE9--></AD_COLUMN> + <!--268D8AD41BE941C6988EB4CA9C16F67D--><AD_COLUMN> <!--268D8AD41BE941C6988EB4CA9C16F67D--> <AD_COLUMN_ID><![CDATA[268D8AD41BE941C6988EB4CA9C16F67D]]></AD_COLUMN_ID> <!--268D8AD41BE941C6988EB4CA9C16F67D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -266015,7 +266053,7 @@ <!--4C9B2ECB281E4685B0E4D0292F40D79D--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> <!--4C9B2ECB281E4685B0E4D0292F40D79D--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--4C9B2ECB281E4685B0E4D0292F40D79D--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--4C9B2ECB281E4685B0E4D0292F40D79D--> <POSITION><![CDATA[17]]></POSITION> +<!--4C9B2ECB281E4685B0E4D0292F40D79D--> <POSITION><![CDATA[19]]></POSITION> <!--4C9B2ECB281E4685B0E4D0292F40D79D--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> <!--4C9B2ECB281E4685B0E4D0292F40D79D--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> <!--4C9B2ECB281E4685B0E4D0292F40D79D--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> @@ -324364,6 +324402,44 @@ <!--891617453C9C41799A5BC0D18D18E8BF--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--891617453C9C41799A5BC0D18D18E8BF--></AD_COLUMN> +<!--8921D7ADD67343B88ED545CF61BA56D0--><AD_COLUMN> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_COLUMN_ID><![CDATA[8921D7ADD67343B88ED545CF61BA56D0]]></AD_COLUMN_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <NAME><![CDATA[Record ID]]></NAME> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <DESCRIPTION><![CDATA[An record identifier in the dictionary.]]></DESCRIPTION> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <HELP><![CDATA[The Record ID is the internal unique identifier of a record]]></HELP> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <COLUMNNAME><![CDATA[Record_ID]]></COLUMNNAME> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_TABLE_ID><![CDATA[1B19E761F8E24E00B5FBF2C22082A006]]></AD_TABLE_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISKEY><![CDATA[N]]></ISKEY> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <SEQNO><![CDATA[190]]></SEQNO> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_ELEMENT_ID><![CDATA[538]]></AD_ELEMENT_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <POSITION><![CDATA[17]]></POSITION> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--8921D7ADD67343B88ED545CF61BA56D0--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--8921D7ADD67343B88ED545CF61BA56D0--></AD_COLUMN> + <!--89764FE12A384CAF9D50F6DB4DFD8521--><AD_COLUMN> <!--89764FE12A384CAF9D50F6DB4DFD8521--> <AD_COLUMN_ID><![CDATA[89764FE12A384CAF9D50F6DB4DFD8521]]></AD_COLUMN_ID> <!--89764FE12A384CAF9D50F6DB4DFD8521--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -364705,7 +364781,7 @@ <!--D453E5E38589426281AFEE3BCE556F11--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> <!--D453E5E38589426281AFEE3BCE556F11--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--D453E5E38589426281AFEE3BCE556F11--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--D453E5E38589426281AFEE3BCE556F11--> <POSITION><![CDATA[16]]></POSITION> +<!--D453E5E38589426281AFEE3BCE556F11--> <POSITION><![CDATA[18]]></POSITION> <!--D453E5E38589426281AFEE3BCE556F11--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> <!--D453E5E38589426281AFEE3BCE556F11--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> <!--D453E5E38589426281AFEE3BCE556F11--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> diff -r e862781be5c3 -r 5c0c3e9c06ff src/org/openbravo/service/importprocess/ImportEntryManager.java --- a/src/org/openbravo/service/importprocess/ImportEntryManager.java Wed Jul 26 17:24:11 2017 -0400 +++ b/src/org/openbravo/service/importprocess/ImportEntryManager.java Thu Aug 03 16:48:09 2017 +0530 @@ -41,6 +41,8 @@ import javax.inject.Inject; import org.apache.log4j.Logger; +import org.codehaus.jettison.json.JSONArray; +import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; import org.hibernate.Query; import org.hibernate.ScrollMode; @@ -280,6 +282,8 @@ * Note will commit the session/connection using {@link OBDal#commitAndClose()} */ public void createImportEntry(String id, String typeOfData, String json, boolean commitAndClose) { + String recordId = null; + JSONObject jsonData = null; OBContext.setAdminMode(true); try { // check if it is not there already or already archived @@ -306,6 +310,25 @@ } } + try { + jsonData = new JSONObject(json); + if (jsonData.has("id")) { + recordId = jsonData.optString("id", null); + } else if (jsonData.has("data")) { + JSONArray jsonArray = jsonData.optJSONArray("data"); + if (jsonArray == null || jsonArray.length() == 0) { + JSONObject jsonObject = jsonData.optJSONObject("data"); + if (jsonObject != null) { + recordId = jsonObject.optString("id", null); + } + } else if (jsonArray.length() == 1) { + recordId = jsonArray.getJSONObject(0).optString("id"); + } + } + } catch (JSONException e) { + log.error("Error while getting recordid", e); + } + ImportEntry importEntry = OBProvider.getInstance().get(ImportEntry.class); importEntry.setId(id); importEntry.setRole(OBDal.getInstance().getProxy(Role.class, @@ -316,6 +339,7 @@ importEntry.setImported(null); importEntry.setTypeofdata(typeOfData); importEntry.setJsonInfo(json); + importEntry.setRecordID(recordId); for (ImportEntryPreProcessor processor : entryPreProcessors) { processor.beforeCreate(importEntry); ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits