Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Improved: OrderReadHelper.getOrderItemAttributes as non static function
(OFBIZ-11208) Currenlty if we use the java helper class OrderReadHelper to resolve the orderItemAttributes, it didn't use the a local cache and call each time the delegator throw a static function. I added a non static function to optimise database calling when you have multiple get to do. public String getOrderItemAttribute(String orderItemSeqId, String attributeName) { GenericValue orderItemAttribute = null; if (orderHeader != null) { if (orderItemAttributes == null) { try{ orderItemAttributes = EntityQuery.use(orderHeader.getDelegator()) .from("OrderItemAttribute") .where("orderId", getOrderId()) .queryList(); } catch (GenericEntityException e) { Debug.logError(e, module); } } orderItemAttribute = EntityUtil.getFirst( EntityUtil.filterByAnd(orderItemAttributes, UtilMisc.toMap("orderItemSeqId", orderItemSeqId, "attrName", attributeName))); } return orderItemAttribute != null ? orderItemAttribute.getString("attrValue"): null; } At the first call, we populate the OrderReadHelper with all orderItemAttributes liked to an order, and after just filter with the orderItemSeqId and the attribute name wanted Example: OrderReadHelper orh = new OrderReadHelper(orderHeader) ... for (GenericValue orderItem : orh.getOrderItems()) { listAttr << [startValue : orh.getOrderItemAttribute(orderItem.orderItemSeqId, "MyStartValue"), endValue : orh.getOrderItemAttribute(orderItem.orderItemSeqId, "MyEndValue")] } We request only for the first passage, after for all other line we use the local OrderReadHelper cache. Added also the same logical for OrderReadHelper.getOrderAttributes git-svn-id: https://svn.apache.org/repos/asf/ofbiz/ofbiz-framework/trunk@1867590 13f79535-47bb-0310-9956-ffa450edef68
- Loading branch information
Showing
with
56 additions
and 8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters