That's right, but don't we have already a Jira opened for that at large?
Jacques
Le 11/04/2016 16:38, Pierre Smits a écrit :
This
{code}
if (viewSize == null) viewSize = UtilProperties.getPropertyAsInteger("widget",
"widget.form.defaultViewSize", 20);
{code}
should use EntityUtilProperties to maximise multi-tenancy support.
Best regards,
Pierre
Pierre Smits
ORRTIZ.COM <http://www.orrtiz.com>
OFBiz based solutions & services
OFBiz Extensions Marketplace
http://oem.ofbizci.net/oci-2/
On Mon, Apr 11, 2016 at 4:33 PM, <jler...@apache.org> wrote:
Author: jleroux
Date: Mon Apr 11 14:33:16 2016
New Revision: 1738590
URL: http://svn.apache.org/viewvc?rev=1738590&view=rev
Log:
This slipped in by error in r1738588
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java?rev=1738590&r1=1738589&r2=1738590&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java
Mon Apr 11 14:33:16 2016
@@ -35,7 +35,6 @@ import org.ofbiz.base.util.UtilGenerics;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilProperties;
import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.base.util.collections.PagedList;
import org.ofbiz.entity.Delegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
@@ -46,13 +45,13 @@ import org.ofbiz.entity.condition.Entity
import org.ofbiz.entity.condition.EntityOperator;
import org.ofbiz.entity.model.DynamicViewEntity;
import org.ofbiz.entity.model.ModelKeyMap;
+import org.ofbiz.entity.util.EntityListIterator;
import org.ofbiz.entity.util.EntityQuery;
import org.ofbiz.security.Security;
import org.ofbiz.service.DispatchContext;
import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.LocalDispatcher;
import org.ofbiz.service.ServiceUtil;
-import org.ofbiz.widget.renderer.Paginator;
/**
* OrderLookupServices
@@ -67,9 +66,10 @@ public class OrderLookupServices {
Security security = dctx.getSecurity();
GenericValue userLogin = (GenericValue) context.get("userLogin");
- Integer viewIndex = Paginator.getViewIndex(context, "viewIndex",
1);
- Integer viewSize = Paginator.getViewSize(context, "viewSize");
-
+ Integer viewIndex = (Integer) context.get("viewIndex");
+ if (viewIndex == null) viewIndex = 1;
+ Integer viewSize = (Integer) context.get("viewSize");
+ if (viewSize == null) viewSize =
UtilProperties.getPropertyAsInteger("widget",
"widget.form.defaultViewSize", 20);
String showAll = (String) context.get("showAll");
String useEntryDate = (String) context.get("useEntryDate");
Locale locale = (Locale) context.get("locale");
@@ -582,29 +582,47 @@ public class OrderLookupServices {
int orderCount = 0;
// get the index for the partial list
- int lowIndex = 0;
- int highIndex = 0;
+ int lowIndex = (((viewIndex.intValue() - 1) *
viewSize.intValue()) + 1);
+ int highIndex = viewIndex.intValue() * viewSize.intValue();
if (cond != null) {
- PagedList<GenericValue> pagedOrderList = null;
+ EntityListIterator eli = null;
try {
// do the lookup
- pagedOrderList = EntityQuery.use(delegator)
+ eli = EntityQuery.use(delegator)
.select(fieldsToSelect)
.from(dve)
.where(cond)
.orderBy(orderBy)
.distinct() // set distinct on so we only get one
row per order
+ .maxRows(highIndex)
.cursorScrollInsensitive()
- .queryPagedList(viewIndex - 1, viewSize);
+ .queryIterator();
+
+ orderCount = eli.getResultsSizeAfterPartialList();
+
+ // get the partial list for this page
+ eli.beforeFirst();
+ if (orderCount > viewSize.intValue()) {
+ orderList = eli.getPartialList(lowIndex,
viewSize.intValue());
+ } else if (orderCount > 0) {
+ orderList = eli.getCompleteList();
+ }
- orderCount = pagedOrderList.getSize();
- lowIndex = pagedOrderList.getStartIndex();
- highIndex = pagedOrderList.getEndIndex();
- orderList = pagedOrderList.getData();
+ if (highIndex > orderCount) {
+ highIndex = orderCount;
+ }
} catch (GenericEntityException e) {
Debug.logError(e, module);
return ServiceUtil.returnError(e.getMessage());
+ } finally {
+ if (eli != null) {
+ try {
+ eli.close();
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, e.getMessage(), module);
+ }
+ }
}
}