details: https://code.openbravo.com/erp/devel/pi/rev/71b2155a083e changeset: 34093:71b2155a083e user: Carlos Aristu <carlos.aristu <at> openbravo.com> date: Tue May 29 12:36:13 2018 +0200 summary: fixes big 38489: Display field of table reference can't be retrieved by some DS
Some datasources (like those extending ReadOnlyDataSourceService) use the DataToJsonConverter.convertToJsonObjects() method to return its result. When converting BaseOBObjects this method was not using the related Property to place its corresponding value into the resulting JSON. Now we make use of the Property, this allows to retrieve the "Display Field" if the Property is a table reference, when invoking the DataToJsonConverter.addBaseOBObject() method. diffstat: modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (23 lines): diff -r 406d0d7e6e88 -r 71b2155a083e modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java --- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java Mon May 28 13:56:14 2018 +0000 +++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java Tue May 29 12:36:13 2018 +0200 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2009-2017 Openbravo SLU + * All portions are Copyright (C) 2009-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -109,7 +109,9 @@ } final Object value = dataInstance.get(key); if (value instanceof BaseOBObject) { - addBaseOBObject(jsonObject, null, key, null, (BaseOBObject) value); + Property referencedProperty = property != null ? property.getReferencedProperty() + : null; + addBaseOBObject(jsonObject, property, key, referencedProperty, (BaseOBObject) value); } else { Object convertedValue = null; if (value != null && property != null && property.isPrimitive()) { ------------------------------------------------------------------------------ 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