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

Reply via email to