You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacques Le Roux <ja...@les7arts.com> on 2016/04/13 13:31:08 UTC
Re: svn commit: r1738590 -
/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServic
es.java
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, <jl...@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);
>> + }
>> + }
>> }
>> }
>>
>>
>>
>>