# HG changeset patch
# Parent cbd03f10a48ceed72473a1f17e32d736fd52fc8c
fixes issue 16622: make ReadOnlyDataSource check for _noCount parameter & disable count operation when present & true

diff --git a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
--- a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
+++ b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
@@ -63,6 +63,9 @@
     if (endRowStr != null) {
       doCount = true;
     }
+    boolean preventCountOperation = !parameters.containsKey(JsonConstants.NOCOUNT_PARAMETER)
+        || "true".equals(parameters.get(JsonConstants.NOCOUNT_PARAMETER));
+
     final List<JSONObject> jsonObjects = fetchJSONObject(parameters);
 
     // now jsonfy the data
@@ -72,7 +75,7 @@
       jsonResponse.put(JsonConstants.RESPONSE_STATUS, JsonConstants.RPCREQUEST_STATUS_SUCCESS);
       jsonResponse.put(JsonConstants.RESPONSE_STARTROW, startRow);
       jsonResponse.put(JsonConstants.RESPONSE_ENDROW, jsonObjects.size() + startRow - 1);
-      if (doCount) {
+      if (doCount && !preventCountOperation) {
         jsonResponse.put(JsonConstants.RESPONSE_TOTALROWS, getCount(parameters));
       }
       jsonResponse.put(JsonConstants.RESPONSE_DATA, new JSONArray(jsonObjects));
