details: https://code.openbravo.com/erp/devel/pi/rev/90a660b52e07 changeset: 28061:90a660b52e07 user: Carlos Aristu <carlos.aristu <at> openbravo.com> date: Fri Nov 27 10:48:02 2015 +0100 summary: related to issue 29683: check client/org in web services when requesting by id
diffstat: modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java | 6 +++++- src/org/openbravo/service/rest/DalWebService.java | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diffs (46 lines): diff -r 3ed255ed467c -r 90a660b52e07 modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java --- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java Fri Nov 27 09:42:38 2015 +0100 +++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java Fri Nov 27 10:48:02 2015 +0100 @@ -45,6 +45,7 @@ import org.openbravo.dal.core.DalUtil; import org.openbravo.dal.core.OBContext; import org.openbravo.dal.service.OBDal; +import org.openbravo.dal.service.OBQuery; import org.openbravo.database.SessionInfo; import org.openbravo.erpCommon.utility.OBMessageUtils; import org.openbravo.service.db.DbUtility; @@ -131,7 +132,10 @@ // if the id is set that's a special case of one object being requested if (id != null) { bobs = new ArrayList<BaseOBObject>(); - final BaseOBObject bob = OBDal.getInstance().get(entityName, id); + final OBQuery<BaseOBObject> obq = OBDal.getInstance().createQuery(entityName, + JsonConstants.ID + " = '" + id + "'"); + obq.setMaxResult(1); + final BaseOBObject bob = obq.uniqueResult(); if (bob != null) { bobs.add(bob); } diff -r 3ed255ed467c -r 90a660b52e07 src/org/openbravo/service/rest/DalWebService.java --- a/src/org/openbravo/service/rest/DalWebService.java Fri Nov 27 09:42:38 2015 +0100 +++ b/src/org/openbravo/service/rest/DalWebService.java Fri Nov 27 10:48:02 2015 +0100 @@ -80,6 +80,7 @@ // Parameter to specify the list of properties to be returned public static final String PARAMETER_PROPERTIES = "_selectedProperties"; public static final String PARAMETER_NO_ACTIVE_FILTER = "_noActiveFilter"; + private static final String ID = "id"; /** * Performs the GET REST operation. This service handles multiple types of request: the request @@ -229,7 +230,10 @@ } } } else { - final BaseOBObject result = OBDal.getInstance().get(entityName, id); + final OBQuery<BaseOBObject> obq = OBDal.getInstance().createQuery(entityName, + ID + " = '" + id + "'"); + obq.setMaxResult(1); + final BaseOBObject result = obq.uniqueResult(); if (result == null) { throw new ResourceNotFoundException("No resource found for entity " + entityName ------------------------------------------------------------------------------ _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits