Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java Thu Oct 30 06:10:58 2014 @@ -28,6 +28,7 @@ import org.ofbiz.base.util.UtilValidate; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; import org.ofbiz.service.ModelService; @@ -172,7 +173,7 @@ public class OrderChangeHelper { Delegator delegator = dispatcher.getDelegator(); GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "ERROR: Unable to get OrderHeader for OrderID : " + orderId, module); } @@ -306,7 +307,7 @@ public class OrderChangeHelper { // find the workEffortId for this order List workEfforts = null; try { - workEfforts = delegator.findByAnd("WorkEffort", UtilMisc.toMap("currentStatusId", "WF_SUSPENDED", "sourceReferenceId", orderId)); + workEfforts = EntityQuery.use(delegator).from("WorkEffort").where("currentStatusId", "WF_SUSPENDED", sourceReferenceId", orderId).queryList(); } catch (GenericEntityException e) { Debug.logError(e, "Problems getting WorkEffort with order ref number: " + orderId, module); return false; @@ -348,7 +349,7 @@ public class OrderChangeHelper { // find the workEffortId for this order GenericValue workEffort = null; try { - List workEfforts = delegator.findByAnd("WorkEffort", UtilMisc.toMap("workEffortTypeId", "WORK_FLOW", "sourceReferenceId", orderId)); + List workEfforts = EntityQuery.use(delegator).from("WorkEffort").where("workEffortTypeId", "WORK_FLOW", "sourceReferenceId", orderId).queryList(); if (workEfforts != null && workEfforts.size() > 1) { Debug.logWarning("More then one workflow found for defined order: " + orderId, module); }
Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java Thu Oct 30 06:10:58 2014 @@ -21,7 +21,6 @@ package org.ofbiz.order.order; import java.io.IOException; import java.io.StringWriter; import java.io.Writer; -import java.util.List; import java.util.Locale; import java.util.Map; @@ -32,13 +31,12 @@ import javolution.util.FastMap; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.UtilHttp; -import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.cache.UtilCache; import org.ofbiz.content.content.ContentWorker; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericValue; -import org.ofbiz.entity.util.EntityUtil; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.service.LocalDispatcher; /** @@ -134,9 +132,12 @@ public class OrderContentWrapper { mimeTypeId = "text/html"; } - List<GenericValue> orderContentList = delegator.findByAnd("OrderContent", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItemSeqId, "orderContentTypeId", orderContentTypeId), UtilMisc.toList("-fromDate"), true); - orderContentList = EntityUtil.filterByDate(orderContentList); - GenericValue orderContent = EntityUtil.getFirst(orderContentList); + GenericValue orderContent = EntityQuery.use(delegator).from("OrderContent") + .where("orderId", orderId, + "orderItemSeqId", orderItemSeqId, + "orderContentTypeId", orderContentTypeId) + .orderBy("-fromDate") + .cache().filterByDate().queryFirst(); if (orderContent != null) { // when rendering the order content, always include the OrderHeader/OrderItem and OrderContent records that this comes from Map<String, Object> inContext = FastMap.newInstance(); Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderEvents.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderEvents.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderEvents.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderEvents.java Thu Oct 30 06:10:58 2014 @@ -32,11 +32,11 @@ import javax.servlet.http.HttpSession; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.UtilHttp; -import org.ofbiz.base.util.UtilMisc; import org.ofbiz.content.data.DataResourceWorker; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; @@ -61,15 +61,18 @@ public class OrderEvents { try { // has the userLogin.partyId ordered a product with DIGITAL_DOWNLOAD content associated for the given dataResourceId? - List<GenericValue> orderRoleAndProductContentInfoList = delegator.findByAnd("OrderRoleAndProductContentInfo", - UtilMisc.toMap("partyId", userLogin.get("partyId"), "dataResourceId", dataResourceId, "productContentTypeId", "DIGITAL_DOWNLOAD", "statusId", "ITEM_COMPLETED"), null, false); + GenericValue orderRoleAndProductContentInfo = EntityQuery.use(delegator).from("OrderRoleAndProductContentInfo") + .where("partyId", userLogin.get("partyId"), + "dataResourceId", dataResourceId, + "productContentTypeId", "DIGITAL_DOWNLOAD", + "statusId", "ITEM_COMPLETED") + .queryFirst(); - if (orderRoleAndProductContentInfoList.size() == 0) { + if (orderRoleAndProductContentInfo == null) { request.setAttribute("_ERROR_MESSAGE_", "No record of purchase for digital download found (dataResourceId=[" + dataResourceId + "])."); return "error"; } - GenericValue orderRoleAndProductContentInfo = orderRoleAndProductContentInfoList.get(0); // TODO: check validity based on ProductContent fields: useCountLimit, useTime/useTimeUomId @@ -113,7 +116,7 @@ public class OrderEvents { if (orderItemSeqIds != null) { for (String orderItemSeqId : orderItemSeqIds) { try { - GenericValue orderItem = delegator.findOne("OrderItem", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItemSeqId), false); + GenericValue orderItem = EntityQuery.use(delegator).from("OrderItem").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryOne(); List<GenericValue> orderItemShipGroupAssocs = orderItem.getRelated("OrderItemShipGroupAssoc", null, null, false); for (GenericValue orderItemShipGroupAssoc : orderItemShipGroupAssocs) { GenericValue orderItemShipGroup = orderItemShipGroupAssoc.getRelatedOne("OrderItemShipGroup", false); Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderListState.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderListState.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderListState.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderListState.java Thu Oct 30 06:10:58 2014 @@ -32,15 +32,14 @@ import javolution.util.FastMap; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.UtilDateTime; -import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; import org.ofbiz.entity.condition.EntityCondition; import org.ofbiz.entity.condition.EntityOperator; -import org.ofbiz.entity.util.EntityFindOptions; import org.ofbiz.entity.util.EntityListIterator; +import org.ofbiz.entity.util.EntityQuery; /** * Session object for keeping track of the list of orders. @@ -260,10 +259,12 @@ public class OrderListState implements S allConditions.add(typeConditionsList); } - EntityCondition queryConditionsList = EntityCondition.makeCondition(allConditions, EntityOperator.AND); - EntityFindOptions options = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true); - options.setMaxRows(viewSize * (viewIndex + 1)); - EntityListIterator iterator = delegator.find("OrderHeader", queryConditionsList, null, null, UtilMisc.toList("orderDate DESC"), options); + EntityListIterator iterator = EntityQuery.use(delegator).from("OrderHeader") + .where(allConditions) + .orderBy("orderDate DESC") + .maxRows(viewSize * (viewIndex + 1)) + .cursorScrollInsensitive() + .queryIterator(); // get subset corresponding to pagination state List<GenericValue> orders = iterator.getPartialList(viewSize * viewIndex, viewSize); Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java Thu Oct 30 06:10:58 2014 @@ -23,8 +23,10 @@ import java.math.BigDecimal; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; import javolution.util.FastList; +import javolution.util.FastSet; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; @@ -44,8 +46,8 @@ 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.EntityFindOptions; 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; @@ -75,7 +77,7 @@ public class OrderLookupServices { } // list of fields to select (initial list) - List<String> fieldsToSelect = FastList.newInstance(); + Set<String> fieldsToSelect = FastSet.newInstance(); fieldsToSelect.add("orderId"); fieldsToSelect.add("orderName"); fieldsToSelect.add("statusId"); @@ -253,7 +255,7 @@ public class OrderLookupServices { if (UtilValidate.isNotEmpty(userLoginId) && UtilValidate.isEmpty(partyId)) { GenericValue ul = null; try { - ul = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", userLoginId), true); + ul = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", userLoginId).cache().queryOne(); } catch (GenericEntityException e) { Debug.logWarning(e.getMessage(), module); } @@ -384,7 +386,7 @@ public class OrderLookupServices { } else { GenericValue product = null; try { - product = delegator.findOne("Product", UtilMisc.toMap("productId", productId), false); + product = EntityQuery.use(delegator).from("Product").where("productId", productId).queryOne(); } catch (GenericEntityException e) { Debug.logWarning(e.getMessage(), module); } @@ -565,9 +567,6 @@ public class OrderLookupServices { conditions.add(exprs); } - // set distinct on so we only get one row per order - EntityFindOptions findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true); - // create the main condition EntityCondition cond = null; if (conditions.size() > 0 || showAll.equalsIgnoreCase("Y")) { @@ -584,13 +583,19 @@ public class OrderLookupServices { // get the index for the partial list int lowIndex = (((viewIndex.intValue() - 1) * viewSize.intValue()) + 1); int highIndex = viewIndex.intValue() * viewSize.intValue(); - findOpts.setMaxRows(highIndex); if (cond != null) { EntityListIterator eli = null; try { // do the lookup - eli = delegator.findListIteratorByCondition(dve, cond, null, fieldsToSelect, orderBy, findOpts); + eli = EntityQuery.use(delegator) + .select(fieldsToSelect) + .from(dve) + .orderBy(orderBy) + .distinct() // set distinct on so we only get one row per order + .maxRows(highIndex) + .cursorScrollInsensitive() + .queryIterator(); orderCount = eli.getResultsSizeAfterPartialList(); Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java Thu Oct 30 06:10:58 2014 @@ -50,6 +50,7 @@ import org.ofbiz.entity.condition.Entity import org.ofbiz.entity.condition.EntityConditionList; import org.ofbiz.entity.condition.EntityExpr; import org.ofbiz.entity.condition.EntityOperator; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.entity.util.EntityUtil; import org.ofbiz.product.product.ProductWorker; import org.ofbiz.security.Security; @@ -129,7 +130,7 @@ public class OrderReadHelper { public OrderReadHelper(Delegator delegator, String orderId) { try { - this.orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + this.orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { String errMsg = "Error finding order with ID [" + orderId + "]: " + e.toString(); Debug.logError(e, errMsg, module); @@ -163,7 +164,7 @@ public class OrderReadHelper { String productStoreId = orderHeader.getString("productStoreId"); try { Delegator delegator = orderHeader.getDelegator(); - GenericValue productStore = delegator.findOne("ProductStore", UtilMisc.toMap("productStoreId", productStoreId), true); + GenericValue productStore = EntityQuery.use(delegator).from("ProductStore").where("productStoreId", productStoreId).cache().queryOne(); return productStore; } catch (GenericEntityException ex) { Debug.logError(ex, "Failed to get product store for order header [" + orderHeader + "] due to exception "+ ex.getMessage(), module); @@ -665,7 +666,8 @@ public class OrderReadHelper { List<GenericValue> paymentPreferences = null; try { Delegator delegator = orderHeader.getDelegator(); - paymentPreferences = delegator.findByAnd("OrderPurchasePaymentSummary", UtilMisc.toMap("orderId", orderHeader.getString("orderId")), null, false); + paymentPreferences = EntityQuery.use(delegator).from("OrderPurchasePaymentSummary") + .where("orderId", orderHeader.get("orderId")).queryList(); } catch (GenericEntityException e) { Debug.logWarning(e, module); } @@ -730,10 +732,10 @@ public class OrderReadHelper { GenericValue orderRole = EntityUtil.getFirst(orderHeader.getRelated("OrderRole", UtilMisc.toMap("roleTypeId", roleTypeId), null, false)); if (orderRole != null) { - partyObject = delegator.findOne("Person", UtilMisc.toMap("partyId", orderRole.getString("partyId")), false); + partyObject = EntityQuery.use(delegator).from("Person").where("partyId", orderRole.getString("partyId")).queryOne(); if (partyObject == null) { - partyObject = delegator.findOne("PartyGroup", UtilMisc.toMap("partyId", orderRole.getString("partyId")), false); + partyObject = EntityQuery.use(delegator).from("PartyGroup").where("partyId", orderRole.getString("partyId")).queryOne(); } } } catch (GenericEntityException e) { @@ -998,7 +1000,7 @@ public class OrderReadHelper { try { String virtualId = ProductWorker.getVariantVirtualId(product); if (UtilValidate.isNotEmpty(virtualId)) { - GenericValue virtual = delegator.findOne("Product", UtilMisc.toMap("productId", virtualId), true); + GenericValue virtual = EntityQuery.use(delegator).from("Product").where("productId", virtualId).cache().queryOne(); if (virtual != null) { weight = virtual.getBigDecimal("weight"); } @@ -1114,7 +1116,7 @@ public class OrderReadHelper { try { String virtualId = ProductWorker.getVariantVirtualId(product); if (UtilValidate.isNotEmpty(virtualId)) { - GenericValue virtual = delegator.findOne("Product", UtilMisc.toMap("productId", virtualId), true); + GenericValue virtual = EntityQuery.use(delegator).from("Product").where("productId", virtualId).cache().queryOne(); if (virtual != null) { if (height == null) height = virtual.getBigDecimal("shippingHeight"); if (width == null) width = virtual.getBigDecimal("shippingWidth"); @@ -1160,9 +1162,11 @@ public class OrderReadHelper { // get the virtual product and check its weight GenericValue virtual = null; try { - List<GenericValue> virtuals = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productIdTo", product.getString("productId"), "productAssocTypeId", "PRODUCT_VARIANT"), UtilMisc.toList("-fromDate"), false); - virtuals = EntityUtil.filterByDate(virtuals); - virtual = EntityUtil.getFirst(virtuals); + virtual = EntityQuery.use(delegator).from("ProductAssoc") + .where("productIdTo", product.get("productId"), + "productAssocTypeId", "PRODUCT_VARIANT") + .orderBy("-fromDate") + .filterByDate().queryFirst(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting virtual product"); } @@ -1214,8 +1218,10 @@ public class OrderReadHelper { // get the email addresses from the order contact mech(s) List<GenericValue> orderContactMechs = null; try { - Map<String, Object> ocFields = UtilMisc.toMap("orderId", orderHeader.get("orderId"), "contactMechPurposeTypeId", "ORDER_EMAIL"); - orderContactMechs = delegator.findByAnd("OrderContactMech", ocFields, null, false); + orderContactMechs = EntityQuery.use(delegator).from("OrderContactMech") + .where("orderId", orderHeader.get("orderId"), + "contactMechPurposeTypeId", "ORDER_EMAIL") + .queryList(); } catch (GenericEntityException e) { Debug.logWarning(e, "Problems getting order contact mechs", module); } @@ -1315,7 +1321,8 @@ public class OrderReadHelper { Delegator delegator = orderHeader.getDelegator(); List<GenericValue> surveys = null; try { - surveys = delegator.findByAnd("SurveyResponse", UtilMisc.toMap("orderId", orderHeader.getString("orderId")), null, false); + surveys = EntityQuery.use(delegator).from("SurveyResponse") + .where("orderId", orderHeader.get("orderId")).queryList(); } catch (GenericEntityException e) { Debug.logError(e, module); } @@ -1382,7 +1389,7 @@ public class OrderReadHelper { Delegator delegator = orderHeader.getDelegator(); GenericValue orderDeliverySchedule = null; try { - orderDeliverySchedule = delegator.findOne("OrderDeliverySchedule", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", "_NA_"), false); + orderDeliverySchedule = EntityQuery.use(delegator).from("OrderDeliverySchedule").where("orderId", orderId, "orderItemSeqId", "_NA_").queryOne(); } catch (GenericEntityException e) { } Timestamp estimatedShipDate = null; @@ -1549,9 +1556,10 @@ public class OrderReadHelper { GenericValue workOrderItemFulFillment = null; GenericValue workEffort = null; try { - List<GenericValue> workOrderItemFulFillments = delegator.findByAnd("WorkOrderItemFulfillment", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItemSeqId), null, true); - if (!UtilValidate.isEmpty(workOrderItemFulFillments)) { - workOrderItemFulFillment = EntityUtil.getFirst(workOrderItemFulFillments); + workOrderItemFulFillment = EntityQuery.use(delegator).from("WorkOrderItemFulfillment") + .where("orderId", orderId, "orderItemSeqId", orderItemSeqId) + .cache().queryFirst(); + if (workOrderItemFulFillment != null) { workEffort = workOrderItemFulFillment.getRelatedOne("WorkEffort", false); } } catch (GenericEntityException e) { @@ -1584,7 +1592,8 @@ public class OrderReadHelper { Delegator delegator = orderHeader.getDelegator(); try { - orderItemPriceInfos = delegator.findByAnd("OrderItemPriceInfo", UtilMisc.toMap("orderId", orderHeader.get("orderId")), null, false); + orderItemPriceInfos = EntityQuery.use(delegator).from("OrderItemPriceInfo") + .where("orderId", orderHeader.get("orderId")).queryList(); } catch (GenericEntityException e) { Debug.logWarning(e, module); } @@ -1610,7 +1619,8 @@ public class OrderReadHelper { if (this.orderItemShipGrpInvResList == null) { Delegator delegator = orderItem.getDelegator(); try { - orderItemShipGrpInvResList = delegator.findByAnd("OrderItemShipGrpInvRes", UtilMisc.toMap("orderId", orderItem.get("orderId")), null, false); + orderItemShipGrpInvResList = EntityQuery.use(delegator).from("OrderItemShipGrpInvRes") + .where("orderId", orderItem.get("orderId")).queryList(); } catch (GenericEntityException e) { Debug.logWarning(e, "Trouble getting OrderItemShipGrpInvRes List", module); } @@ -1628,7 +1638,8 @@ public class OrderReadHelper { Delegator delegator = orderItem.getDelegator(); try { - orderItemIssuances = delegator.findByAnd("ItemIssuance", UtilMisc.toMap("orderId", orderItem.get("orderId")), null, false); + orderItemIssuances = EntityQuery.use(delegator).from("ItemIssuance") + .where("orderId", orderItem.get("orderId")).queryList(); } catch (GenericEntityException e) { Debug.logWarning(e, "Trouble getting ItemIssuance(s)", module); } @@ -1657,7 +1668,7 @@ public class OrderReadHelper { Delegator delegator = orderHeader.getDelegator(); if (this.orderReturnItems == null) { try { - this.orderReturnItems = delegator.findByAnd("ReturnItem", UtilMisc.toMap("orderId", orderHeader.getString("orderId")), null, false); + this.orderReturnItems = EntityQuery.use(delegator).from("ReturnItem").where("orderId", orderHeader.get("orderId")).queryList(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting ReturnItem from order", module); return null; @@ -2137,7 +2148,7 @@ public class OrderReadHelper { Delegator delegator = orderHeader.getDelegator(); Set<String> productPromoCodesEntered = FastSet.newInstance(); try { - for (GenericValue orderProductPromoCode: delegator.findByAnd("OrderProductPromoCode", UtilMisc.toMap("orderId", orderHeader.get("orderId")), null, true)) { + for (GenericValue orderProductPromoCode: EntityQuery.use(delegator).from("OrderProductPromoCode").where("orderId", orderHeader.get("orderId")).cache().queryList()) { productPromoCodesEntered.add(orderProductPromoCode.getString("productPromoCodeId")); } } catch (GenericEntityException e) { @@ -2149,7 +2160,7 @@ public class OrderReadHelper { public List<GenericValue> getProductPromoUse() { Delegator delegator = orderHeader.getDelegator(); try { - return delegator.findByAnd("ProductPromoUse", UtilMisc.toMap("orderId", orderHeader.get("orderId")), null, true); + return EntityQuery.use(delegator).from("ProductPromoUse").where("orderId", orderHeader.get("orderId")).cache().queryList(); } catch (GenericEntityException e) { Debug.logError(e, module); } @@ -2181,7 +2192,7 @@ public class OrderReadHelper { GenericValue orderHeader = null; if (orderId != null && delegator != null) { try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Cannot get order header", module); } @@ -2226,7 +2237,7 @@ public class OrderReadHelper { GenericValue productStore = null; if (orderHeader.get("productStoreId") != null) { try { - productStore = delegator.findOne("ProductStore", UtilMisc.toMap("productStoreId", orderHeader.getString("productStoreId")), true); + productStore = EntityQuery.use(delegator).from("ProductStore").where("productStoreId", orderHeader.getString("productStoreId")).cache().queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Cannot locate ProductStore from OrderHeader", module); } @@ -2292,7 +2303,7 @@ public class OrderReadHelper { String orderId = orderHeader.getString("orderId"); List<GenericValue> responses = null; try { - responses = delegator.findByAnd("SurveyResponse", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", "_NA_"), null, false); + responses = EntityQuery.use(delegator).from("SurveyResponse").where("orderId", orderId, "orderItemSeqId", "_NA_").queryList(); } catch (GenericEntityException e) { Debug.logError(e, module); } @@ -2309,7 +2320,7 @@ public class OrderReadHelper { String orderId = orderItem.getString("orderId"); List<GenericValue> responses = null; try { - responses = delegator.findByAnd("SurveyResponse", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItemSeqId), null, false); + responses = EntityQuery.use(delegator).from("SurveyResponse").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryList(); } catch (GenericEntityException e) { Debug.logError(e, module); } @@ -2629,15 +2640,15 @@ public class OrderReadHelper { BigDecimal quantity = BigDecimal.ZERO; // first find all open purchase orders - List<EntityExpr> openOrdersExprs = UtilMisc.toList(EntityCondition.makeCondition("orderTypeId", EntityOperator.EQUALS, "PURCHASE_ORDER")); - openOrdersExprs.add(EntityCondition.makeCondition("itemStatusId", EntityOperator.NOT_EQUAL, "ITEM_CANCELLED")); - openOrdersExprs.add(EntityCondition.makeCondition("itemStatusId", EntityOperator.NOT_EQUAL, "ITEM_REJECTED")); - openOrdersExprs.add(EntityCondition.makeCondition("itemStatusId", EntityOperator.NOT_EQUAL, "ITEM_COMPLETED")); - openOrdersExprs.add(EntityCondition.makeCondition("productId", EntityOperator.EQUALS, productId)); - EntityCondition openOrdersCond = EntityCondition.makeCondition(openOrdersExprs, EntityOperator.AND); List<GenericValue> openOrders = null; try { - openOrders = delegator.findList("OrderHeaderAndItems", openOrdersCond, null, null, null, false); + openOrders = EntityQuery.use(delegator).from("OrderHeaderAndItems") + .where(EntityCondition.makeCondition("orderTypeId", EntityOperator.EQUALS, "PURCHASE_ORDER"), + EntityCondition.makeCondition("itemStatusId", EntityOperator.NOT_EQUAL, "ITEM_CANCELLED"), + EntityCondition.makeCondition("itemStatusId", EntityOperator.NOT_EQUAL, "ITEM_REJECTED"), + EntityCondition.makeCondition("itemStatusId", EntityOperator.NOT_EQUAL, "ITEM_COMPLETED"), + EntityCondition.makeCondition("productId", EntityOperator.EQUALS, productId)) + .queryList(); } catch (GenericEntityException e) { Debug.logError(e, module); } @@ -2722,7 +2733,7 @@ public class OrderReadHelper { List<GenericValue> adjustments; try { // TODO: find on a view-entity with a sum is probably more efficient - adjustments = delegator.findByAnd("ReturnAdjustment", condition, null, false); + adjustments = EntityQuery.use(delegator).from("ReturnAdjustment").where(condition).queryList(); if (adjustments != null) { for (GenericValue returnAdjustment : adjustments) { total = total.add(setScaleByType("RET_SALES_TAX_ADJ".equals(returnAdjustment.get("returnAdjustmentTypeId")),returnAdjustment.getBigDecimal("amount"))); @@ -2933,20 +2944,21 @@ public class OrderReadHelper { BigDecimal accountLimit = getAccountLimit(billingAccount); balance = balance.add(accountLimit); // pending (not cancelled, rejected, or received) order payments - EntityConditionList<EntityExpr> whereConditions = EntityCondition.makeCondition(UtilMisc.toList( - EntityCondition.makeCondition("billingAccountId", EntityOperator.EQUALS, billingAccountId), - EntityCondition.makeCondition("paymentMethodTypeId", EntityOperator.EQUALS, "EXT_BILLACT"), - EntityCondition.makeCondition("statusId", EntityOperator.NOT_IN, UtilMisc.toList("ORDER_CANCELLED", "ORDER_REJECTED")), - EntityCondition.makeCondition("preferenceStatusId", EntityOperator.NOT_IN, UtilMisc.toList("PAYMENT_SETTLED", "PAYMENT_RECEIVED", "PAYMENT_DECLINED", "PAYMENT_CANCELLED")) // PAYMENT_NOT_AUTH - ), EntityOperator.AND); + List<GenericValue> orderPaymentPreferenceSums = EntityQuery.use(delegator) + .select("maxAmount") + .from("OrderPurchasePaymentSummary") + .where(EntityCondition.makeCondition("billingAccountId", EntityOperator.EQUALS, billingAccountId), + EntityCondition.makeCondition("paymentMethodTypeId", EntityOperator.EQUALS, "EXT_BILLACT"), + EntityCondition.makeCondition("statusId", EntityOperator.NOT_IN, UtilMisc.toList("ORDER_CANCELLED", "ORDER_REJECTED")), + EntityCondition.makeCondition("preferenceStatusId", EntityOperator.NOT_IN, UtilMisc.toList("PAYMENT_SETTLED", "PAYMENT_RECEIVED", "PAYMENT_DECLINED", "PAYMENT_CANCELLED"))) // PAYMENT_NOT_AUTH + .queryList(); - List<GenericValue> orderPaymentPreferenceSums = delegator.findList("OrderPurchasePaymentSummary", whereConditions, UtilMisc.toSet("maxAmount"), null, null, false); for (GenericValue orderPaymentPreferenceSum : orderPaymentPreferenceSums) { BigDecimal maxAmount = orderPaymentPreferenceSum.getBigDecimal("maxAmount"); balance = maxAmount != null ? balance.subtract(maxAmount) : balance; } - List<GenericValue> paymentAppls = delegator.findByAnd("PaymentApplication", UtilMisc.toMap("billingAccountId", billingAccountId), null, false); + List<GenericValue> paymentAppls = EntityQuery.use(delegator).from("PaymentApplication").where("billingAccountId", billingAccountId).queryList(); // TODO: cancelled payments? for (GenericValue paymentAppl : paymentAppls) { if (paymentAppl.getString("invoiceId") == null) { Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java Thu Oct 30 06:10:58 2014 @@ -48,6 +48,7 @@ import org.ofbiz.entity.condition.Entity import org.ofbiz.entity.condition.EntityConditionList; import org.ofbiz.entity.condition.EntityExpr; import org.ofbiz.entity.condition.EntityOperator; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.entity.util.EntityUtil; import org.ofbiz.order.thirdparty.paypal.ExpressCheckoutEvents; import org.ofbiz.product.product.ProductContentWrapper; @@ -140,7 +141,7 @@ public class OrderReturnServices { // get the return item information GenericValue returnItem = null; try { - returnItem = delegator.findOne("ReturnItem", UtilMisc.toMap("returnId", returnId, "returnItemSeqId", returnItemSeqId), false); + returnItem = EntityQuery.use(delegator).from("ReturnItem").where("returnId", returnId, "returnItemSeqId", returnItemSeqId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); throw new GeneralRuntimeException(e.getMessage()); @@ -200,7 +201,7 @@ public class OrderReturnServices { // get the return header GenericValue returnHeader = null; try { - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, @@ -248,7 +249,7 @@ public class OrderReturnServices { GenericValue productStoreEmail = null; try { - productStoreEmail = delegator.findOne("ProductStoreEmailSetting", UtilMisc.toMap("productStoreId", productStoreId, "emailType", emailType), false); + productStoreEmail = EntityQuery.use(delegator).from("ProductStoreEmailSetting").where("productStoreId", productStoreId, "emailType", emailType).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); } @@ -354,7 +355,7 @@ public class OrderReturnServices { if (returnItemResponse != null) { String replacementOrderId = returnItemResponse.getString("replacementOrderId"); Map<String, Object> svcCtx = UtilMisc.<String, Object>toMap("orderId", replacementOrderId, "userLogin", userLogin); - GenericValue orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", replacementOrderId), false); + GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", replacementOrderId).queryOne(); if ("ORDER_HOLD".equals(orderHeader.getString("statusId"))) { try { dispatcher.runSync("cancelOrderItem", svcCtx); @@ -460,7 +461,7 @@ public class OrderReturnServices { GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, @@ -604,7 +605,7 @@ public class OrderReturnServices { GenericValue returnHeader = null; List<GenericValue> returnItems = null; try { - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); if (returnHeader != null) { returnItems = returnHeader.getRelated("ReturnItem", null, null, false); } @@ -697,7 +698,7 @@ public class OrderReturnServices { GenericValue returnHeader = null; List<GenericValue> returnItems = null; try { - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); if (returnHeader != null) { returnItems = returnHeader.getRelated("ReturnItem", UtilMisc.toMap("returnTypeId", "RTN_CREDIT"), null, false); } @@ -775,7 +776,7 @@ public class OrderReturnServices { String thisBillingAccountId = billingAccountItr.next().getString("billingAccountId"); BigDecimal billingAccountBalance = ZERO; try { - GenericValue billingAccount = delegator.findOne("BillingAccount", UtilMisc.toMap("billingAccountId", thisBillingAccountId), false); + GenericValue billingAccount = EntityQuery.use(delegator).from("BillingAccount").where("billingAccountId", thisBillingAccountId).queryOne(); billingAccountBalance = OrderReadHelper.getBillingAccountBalance(billingAccount); } catch (GenericEntityException e) { return ServiceUtil.returnError(e.getMessage()); @@ -1083,7 +1084,7 @@ public class OrderReturnServices { GenericValue orderHeader = null; List<GenericValue> orderPayPrefs = FastList.newInstance(); try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); orderPayPrefs = orderHeader.getRelated("OrderPaymentPreference", null, UtilMisc.toList("-maxAmount"), false); } catch (GenericEntityException e) { Debug.logError("Problem looking up order information for orderId #" + orderId, module); @@ -1143,7 +1144,7 @@ public class OrderReturnServices { GenericValue returnHeader = null; List<GenericValue> returnItems = null; try { - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); if (returnHeader != null) { returnItems = returnHeader.getRelated("ReturnItem", UtilMisc.toMap("returnTypeId", returnTypeId), null, false); } @@ -1184,7 +1185,7 @@ public class OrderReturnServices { GenericValue orderHeader = null; List<GenericValue> orderPayPrefs = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); // sort these desending by maxAmount orderPayPrefs = orderHeader.getRelated("OrderPaymentPreference", null, UtilMisc.toList("-maxAmount"), false); @@ -1196,7 +1197,7 @@ public class OrderReturnServices { List<GenericValue> orderItemAssocs = delegator.findByAnd("OrderItemAssoc", UtilMisc.toMap("toOrderId", orderId, "orderItemAssocTypeId", "REPLACEMENT"), null, false); if (UtilValidate.isNotEmpty(orderItemAssocs)) { String originalOrderId = EntityUtil.getFirst(orderItemAssocs).getString("orderId"); - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", originalOrderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", originalOrderId).queryOne(); orderPayPrefs = orderHeader.getRelated("OrderPaymentPreference", null, UtilMisc.toList("-maxAmount"), false); orderPayPrefs = EntityUtil.filterByOr(orderPayPrefs, exprs); orderId = originalOrderId; @@ -1355,7 +1356,7 @@ public class OrderReturnServices { Map<String, Object> result = dispatcher.runSync("createOrderPaymentPreference", serviceContext); orderPaymentPreferenceNewId = (String) result.get("orderPaymentPreferenceId"); try { - refundOrderPaymentPreference = delegator.findOne("OrderPaymentPreference", false, "orderPaymentPreferenceId", orderPaymentPreferenceNewId); + refundOrderPaymentPreference = EntityQuery.use(delegator).from("OrderPaymentPreference").where("orderPaymentPreferenceId", orderPaymentPreferenceNewId).queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error,"OrderProblemsWithTheRefundSeeLogs", locale)); } @@ -1589,7 +1590,7 @@ public class OrderReturnServices { String responseId = (String) context.get("returnItemResponseId"); String errorMsg = "Failed to create payment applications for return item response [" + responseId + "]. "; try { - GenericValue response = delegator.findOne("ReturnItemResponse", UtilMisc.toMap("returnItemResponseId", responseId), false); + GenericValue response = EntityQuery.use(delegator).from("ReturnItemResponse").where("returnItemResponseId", responseId).queryOne(); if (response == null) { return ServiceUtil.returnError(errorMsg + "Return Item Response not found with ID [" + responseId + "]."); } @@ -1673,7 +1674,7 @@ public class OrderReturnServices { GenericValue returnHeader = null; List<GenericValue> returnItems = null; try { - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); if (returnHeader != null) { returnItems = returnHeader.getRelated("ReturnItem", UtilMisc.toMap("returnTypeId", returnTypeId), null, false); } @@ -1697,7 +1698,7 @@ public class OrderReturnServices { // get order header & payment prefs GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Cannot get Order details for #" + orderId, module); continue; @@ -2156,7 +2157,7 @@ public class OrderReturnServices { GenericValue returnHeader; List<GenericValue> returnItems = null; try { - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); if (returnHeader != null) { returnItems = returnHeader.getRelated("ReturnItem", UtilMisc.toMap("returnTypeId", "RTN_REFUND"), null, false); } @@ -2368,14 +2369,14 @@ public class OrderReturnServices { // if orderAdjustment is not empty, then copy most return adjustment information from orderAdjustment's if (orderAdjustmentId != null) { try { - orderAdjustment = delegator.findOne("OrderAdjustment", UtilMisc.toMap("orderAdjustmentId", orderAdjustmentId), false); + orderAdjustment = EntityQuery.use(delegator).from("OrderAdjustment").where("orderAdjustmentId", orderAdjustmentId).queryOne(); if (orderAdjustment == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "OrderCreateReturnAdjustmentNotFoundOrderAdjustment", UtilMisc.toMap("orderAdjustmentId", orderAdjustmentId), locale)); } // get returnHeaderTypeId from ReturnHeader and then use it to figure out return item type mapping - returnHeader = delegator.findOne("ReturnHeader", UtilMisc.toMap("returnId", returnId), false); + returnHeader = EntityQuery.use(delegator).from("ReturnHeader").where("returnId", returnId).queryOne(); String returnHeaderTypeId = ((returnHeader != null) && (returnHeader.getString("returnHeaderTypeId") != null)) ? returnHeader.getString("returnHeaderTypeId") : "CUSTOMER_RETURN"; returnItemTypeMap = delegator.findOne("ReturnItemTypeMap", UtilMisc.toMap("returnHeaderTypeId", returnHeaderTypeId, "returnItemMapKey", orderAdjustment.get("orderAdjustmentTypeId")), false); @@ -2470,7 +2471,7 @@ public class OrderReturnServices { try { - returnAdjustment = delegator.findOne("ReturnAdjustment", UtilMisc.toMap("returnAdjustmentId", context.get("returnAdjustmentId")), false); + returnAdjustment = EntityQuery.use(delegator).from("ReturnAdjustment").where("returnAdjustmentId", context.get("returnAdjustmentId")).queryOne(); if (returnAdjustment != null) { returnItem = delegator.findOne("ReturnItem", UtilMisc.toMap("returnId", returnAdjustment.get("returnId"), "returnItemSeqId", returnAdjustment.get("returnItemSeqId")), false); Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderServices.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/order/OrderServices.java Thu Oct 30 06:10:58 2014 @@ -63,6 +63,7 @@ import org.ofbiz.entity.transaction.Gene import org.ofbiz.entity.transaction.TransactionUtil; import org.ofbiz.entity.util.EntityFindOptions; import org.ofbiz.entity.util.EntityListIterator; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.entity.util.EntityTypeUtil; import org.ofbiz.entity.util.EntityUtil; import org.ofbiz.order.shoppingcart.CartItemModifyException; @@ -213,7 +214,7 @@ public class OrderServices { GenericValue productStore = null; if ((orderTypeId.equals("SALES_ORDER")) && (UtilValidate.isNotEmpty(productStoreId))) { try { - productStore = delegator.findOne("ProductStore", UtilMisc.toMap("productStoreId", productStoreId), true); + productStore = EntityQuery.use(delegator).from("ProductStore").where("productStoreId", productStoreId).cache().queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderErrorCouldNotFindProductStoreWithID",UtilMisc.toMap("productStoreId",productStoreId),locale) + e.toString()); @@ -231,7 +232,7 @@ public class OrderServices { // lookup the order type entity GenericValue orderType = null; try { - orderType = delegator.findOne("OrderType", UtilMisc.toMap("orderTypeId", orderTypeId), true); + orderType = EntityQuery.use(delegator).from("OrderType").where("orderTypeId", orderTypeId).cache().queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderErrorOrderTypeLookupFailed",locale) + e.toString()); @@ -280,15 +281,10 @@ public class OrderServices { normalizedItemQuantities.put(currentProductId, currentQuantity.add(orderItem.getBigDecimal("quantity"))); } - try { - // count product ordered quantities - // run this synchronously so it will run in the same transaction - dispatcher.runSync("countProductQuantityOrdered", UtilMisc.<String, Object>toMap("productId", currentProductId, "quantity", orderItem.getBigDecimal("quantity"), "userLogin", userLogin)); - } catch (GenericServiceException e1) { - Debug.logError(e1, "Error calling countProductQuantityOrdered service", module); - return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, - "OrderErrorCallingCountProductQuantityOrderedService",locale) + e1.toString()); - } + Map<String, Object> countContext = new HashMap<String, Object>(); + countContext.put("productId", currentProductId); + countContext.put("quantity", orderItem.getBigDecimal("quantity")); + countProductQuantityOrdered(ctx, countContext); } } @@ -306,7 +302,7 @@ public class OrderServices { GenericValue product = null; try { - product = delegator.findOne("Product", UtilMisc.toMap("productId", currentProductId), true); + product = EntityQuery.use(delegator).from("Product").where("productId", currentProductId).cache().queryOne(); } catch (GenericEntityException e) { String errMsg = UtilProperties.getMessage(resource_error, "product.not_found", new Object[] { currentProductId }, locale); Debug.logError(e, errMsg, module); @@ -1106,7 +1102,7 @@ public class OrderServices { Map<String, Object> ripCtx = FastMap.newInstance(); if (UtilValidate.isNotEmpty(inventoryFacilityId) && UtilValidate.isNotEmpty(productId) && orderItem.getBigDecimal("quantity").compareTo(BigDecimal.ZERO) > 0) { // do something tricky here: run as the "system" user - GenericValue permUserLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), true); + GenericValue permUserLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", "system").cache().queryOne(); ripCtx.put("productId", productId); ripCtx.put("facilityId", inventoryFacilityId); ripCtx.put("inventoryItemTypeId", "SERIALIZED_INV_ITEM"); @@ -1152,13 +1148,61 @@ public class OrderServices { return successResult; } + + public static Map<String, Object> countProductQuantityOrdered(DispatchContext ctx, Map<String, Object> context) { + Delegator delegator = ctx.getDelegator(); + Locale locale = (Locale) context.get("locale"); + List<GenericValue> productCalculatedInfoList = null; + GenericValue productCalculatedInfo = null; + String productId = (String) context.get("productId"); + BigDecimal quantity = (BigDecimal) context.get("quantity"); + try { + productCalculatedInfoList = delegator.findByAnd("ProductCalculatedInfo", UtilMisc.toMap("productId", productId), null, false); + if (UtilValidate.isEmpty(productCalculatedInfoList)) { + productCalculatedInfo = delegator.makeValue("ProductCalculatedInfo"); + productCalculatedInfo.set("productId", productId); + productCalculatedInfo.set("totalQuantityOrdered", quantity); + productCalculatedInfo.create(); + } else { + productCalculatedInfo = productCalculatedInfoList.get(0); + BigDecimal totalQuantityOrdered = productCalculatedInfo.getBigDecimal("totalQuantityOrdered"); + if (totalQuantityOrdered == null) { + productCalculatedInfo.set("totalQuantityOrdered", quantity); + } else { + productCalculatedInfo.set("totalQuantityOrdered", totalQuantityOrdered.add(quantity)); + } + } + productCalculatedInfo.store(); + } catch (GenericEntityException e) { + Debug.logError(e, "Error calling countProductQuantityOrdered service", module); + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, + "OrderErrorCallingCountProductQuantityOrderedService",locale) + e.toString()); + + } + + String virtualProductId = null; + try { + GenericValue product = delegator.findOne("Product", UtilMisc.toMap("productId", productId), true); + virtualProductId = ProductWorker.getVariantVirtualId(product); + } catch (GenericEntityException e) { + Debug.logError(e, "Error calling countProductQuantityOrdered service", module); + return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, + "OrderErrorCallingCountProductQuantityOrderedService",locale) + e.toString()); + } + + if (UtilValidate.isNotEmpty(virtualProductId)) { + context.put("productId", virtualProductId); + countProductQuantityOrdered(ctx, context); + } + return ServiceUtil.returnSuccess(); + } public static void reserveInventory(Delegator delegator, LocalDispatcher dispatcher, GenericValue userLogin, Locale locale, List<GenericValue> orderItemShipGroupInfo, List<String> dropShipGroupIds, Map<String, GenericValue> itemValuesBySeqId, String orderTypeId, String productStoreId, List<String> resErrorMessages) throws GeneralException { boolean isImmediatelyFulfilled = false; GenericValue productStore = null; if (UtilValidate.isNotEmpty(productStoreId)) { try { - productStore = delegator.findOne("ProductStore", UtilMisc.toMap("productStoreId", productStoreId), true); + productStore = EntityQuery.use(delegator).from("ProductStore").where("productStoreId", productStoreId).cache().queryOne(); } catch (GenericEntityException e) { throw new GeneralException(UtilProperties.getMessage(resource_error, "OrderErrorCouldNotFindProductStoreWithID", @@ -1265,7 +1309,7 @@ public class OrderServices { if (EntityTypeUtil.hasParentType(delegator, "ProductType", "productTypeId", product.getString("productTypeId"), "parentTypeId", "MARKETING_PKG_AUTO")) { // do something tricky here: run as the "system" user // that can actually create and run a production run - GenericValue permUserLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), true); + GenericValue permUserLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", "system").cache().queryOne(); Map<String, Object> inputMap = new HashMap<String, Object>(); if (UtilValidate.isNotEmpty(shipGroupFacilityId)) { inputMap.put("facilityId", shipGroupFacilityId); @@ -1361,7 +1405,7 @@ public class OrderServices { } if (EntityTypeUtil.hasParentType(delegator, "ProductType", "productTypeId", product.getString("productTypeId"), "parentTypeId", "MARKETING_PKG_AUTO")) { - GenericValue permUserLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), true); + GenericValue permUserLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", "system").cache().queryOne(); Map<String, Object> inputMap = new HashMap<String, Object>(); if (UtilValidate.isNotEmpty(shipGroupFacilityId)) { inputMap.put("facilityId", shipGroupFacilityId); @@ -1422,7 +1466,7 @@ public class OrderServices { GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { String errMsg = "ERROR: Could not set grantTotal on OrderHeader entity: " + e.toString(); Debug.logError(e, errMsg, module); @@ -1442,7 +1486,7 @@ public class OrderServices { if (UtilValidate.isNotEmpty(productStoreId)) { GenericValue productStore = null; try { - productStore = delegator.findOne("ProductStore", UtilMisc.toMap("productStoreId", productStoreId), true); + productStore = EntityQuery.use(delegator).from("ProductStore").where("productStoreId", productStoreId).cache().queryOne(); } catch (GenericEntityException e) { String errorMessage = UtilProperties.getMessage(resource_error, "OrderErrorCouldNotFindProductStoreWithID", @@ -1557,7 +1601,7 @@ public class OrderServices { // get the order header GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderErrorCannotGetOrderHeaderEntity",locale) + e.getMessage()); @@ -1624,7 +1668,7 @@ public class OrderServices { GenericValue orderItem = validOrderItems.get(i); String productId = orderItem.getString("productId"); try { - products.add(i, delegator.findOne("Product", UtilMisc.toMap("productId", productId), false)); // get the product entity + products.add(i, EntityQuery.use(delegator).from("Product").where("productId", productId).queryOne()); // get the product entity amounts.add(i, OrderReadHelper.getOrderItemSubTotal(orderItem, allAdjustments, true, false)); // get the item amount shipAmts.add(i, OrderReadHelper.getOrderItemAdjustmentsTotal(orderItem, allAdjustments, false, false, true)); // get the shipping amount itPrices.add(i, orderItem.getBigDecimal("unitPrice")); @@ -1729,7 +1773,7 @@ public class OrderServices { if (UtilValidate.isNotEmpty(orderItemSeqId)) { createOrderAdjContext.put("orderItemSeqId", orderItemSeqId); } else { - createOrderAdjContext.put("orderItemSeqId", "_NA_"); + createOrderAdjContext.put("orderItemSeqId", "_NA_"); } createOrderAdjContext.put("shipGroupSeqId", "_NA_"); createOrderAdjContext.put("description", "Tax adjustment due to order change"); @@ -1773,7 +1817,7 @@ public class OrderServices { // get the order header GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderErrorCannotGetOrderHeaderEntity",locale) + e.getMessage()); @@ -1872,7 +1916,7 @@ public class OrderServices { // get the order header GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Cannot get OrderHeader record", module); } @@ -1933,7 +1977,7 @@ public class OrderServices { // this is a bit of a pain: if the current statusId = ProductStore.headerApprovedStatus and we don't have that status in the history then we don't want to change it on approving the items if (UtilValidate.isNotEmpty(orderHeader.getString("productStoreId"))) { try { - GenericValue productStore = delegator.findOne("ProductStore", UtilMisc.toMap("productStoreId", orderHeader.getString("productStoreId")), false); + GenericValue productStore = EntityQuery.use(delegator).from("ProductStore").where("productStoreId", orderHeader.getString("productStoreId")).queryOne(); if (productStore != null) { String headerApprovedStatus = productStore.getString("headerApprovedStatus"); if (UtilValidate.isNotEmpty(headerApprovedStatus)) { @@ -2278,7 +2322,7 @@ public class OrderServices { } try { - GenericValue orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); if (orderHeader == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, @@ -2381,7 +2425,7 @@ public class OrderServices { //Locale locale = (Locale) context.get("locale"); try { - GenericValue shipGroup = delegator.findOne("OrderItemShipGroup", UtilMisc.toMap("orderId", orderId, "shipGroupSeqId", shipGroupSeqId), false); + GenericValue shipGroup = EntityQuery.use(delegator).from("OrderItemShipGroup").where("orderId", orderId, "shipGroupSeqId", shipGroupSeqId).queryOne(); if (shipGroup == null) { result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR); @@ -2525,7 +2569,7 @@ public class OrderServices { // get the order header and store GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting OrderHeader", module); } @@ -2542,7 +2586,7 @@ public class OrderServices { GenericValue productStoreEmail = null; try { - productStoreEmail = delegator.findOne("ProductStoreEmailSetting", UtilMisc.toMap("productStoreId", orderHeader.get("productStoreId"), "emailType", emailType), false); + productStoreEmail = EntityQuery.use(delegator).from("ProductStoreEmailSetting").where("productStoreId", orderHeader.get("productStoreId"), "emailType", emailType).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting the ProductStoreEmailSetting for productStoreId=" + orderHeader.get("productStoreId") + " and emailType=" + emailType, module); } @@ -2666,10 +2710,10 @@ public class OrderServices { // get the order/workflow info try { - workEffort = delegator.findOne("WorkEffort", UtilMisc.toMap("workEffortId", workEffortId), false); + workEffort = EntityQuery.use(delegator).from("WorkEffort").where("workEffortId", workEffortId).queryOne(); String sourceReferenceId = workEffort.getString("sourceReferenceId"); if (sourceReferenceId != null) - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", sourceReferenceId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", sourceReferenceId).queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderProblemWithEntityLookup", locale)); @@ -2679,7 +2723,7 @@ public class OrderServices { GenericValue party = null; Collection<GenericValue> assignedToEmails = null; try { - party = delegator.findOne("Party", UtilMisc.toMap("partyId", assignedToUser), false); + party = EntityQuery.use(delegator).from("Party").where("partyId", assignedToUser).queryOne(); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderProblemWithEntityLookup", locale)); @@ -2799,7 +2843,7 @@ public class OrderServices { GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting order header detial", module); return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, @@ -2822,7 +2866,7 @@ public class OrderServices { GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, @@ -2862,7 +2906,7 @@ public class OrderServices { //Locale locale = (Locale) context.get("locale"); try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); if (orderHeader != null) result.put("orderHeader", orderHeader); } catch (GenericEntityException e) { @@ -3120,7 +3164,7 @@ public class OrderServices { // need the order header GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "ERROR: Unable to get OrderHeader for orderId : " + orderId, module); return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, @@ -3204,7 +3248,7 @@ public class OrderServices { // do something tricky here: run as a different user that can actually create an invoice, post transaction, etc Map<String, Object> invoiceResult = null; try { - GenericValue permUserLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), false); + GenericValue permUserLogin = EntityQuery.use(delegator).from("UserLogin").where("userLoginId", "system").queryOne(); Map<String, Object> invoiceContext = UtilMisc.<String, Object>toMap("orderId", orderId, "billItems", itemsToInvoice, "userLogin", permUserLogin); invoiceResult = dispatcher.runSync("createInvoiceForOrder", invoiceContext); } catch (GenericEntityException e) { @@ -3355,7 +3399,7 @@ public class OrderServices { GenericValue custMethod = null; if (UtilValidate.isNotEmpty(content.getString("customMethodId"))) { try { - custMethod = delegator.findOne("CustomMethod", UtilMisc.toMap("customMethodId", content.get("customMethodId")), true); + custMethod = EntityQuery.use(delegator).from("CustomMethod").where("customMethodId", content.get("customMethodId")).cache().queryOne(); } catch (GenericEntityException e) { Debug.logError(e,"ERROR: Cannot get CustomMethod associate to Content entity: " + e.getMessage(),module); continue; @@ -4104,7 +4148,7 @@ public class OrderServices { String billingAccountId = cart.getBillingAccountId(); if (UtilValidate.isNotEmpty(billingAccountId)) { try { - GenericValue orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); orderHeader.set("billingAccountId", billingAccountId); toStore.add(orderHeader); } catch (GenericEntityException e) { @@ -4248,7 +4292,7 @@ public class OrderServices { } GenericValue oldOrderItem = null; try { - oldOrderItem = delegator.findOne("OrderItem", UtilMisc.toMap("orderId", valueObj.getString("orderId"), "orderItemSeqId", valueObj.getString("orderItemSeqId")), false); + oldOrderItem = EntityQuery.use(delegator).from("OrderItem").where("orderId", valueObj.getString("orderId"), "orderItemSeqId", valueObj.getString("orderItemSeqId")).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); throw new GeneralException(e.getMessage()); @@ -4499,7 +4543,7 @@ public class OrderServices { } try { // get the order payment preference - GenericValue orderPaymentPreference = delegator.findOne("OrderPaymentPreference", UtilMisc.toMap("orderPaymentPreferenceId", orderPaymentPreferenceId), false); + GenericValue orderPaymentPreference = EntityQuery.use(delegator).from("OrderPaymentPreference").where("orderPaymentPreferenceId", orderPaymentPreferenceId).queryOne(); if (orderPaymentPreference == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "OrderOrderPaymentCannotBeCreated", @@ -4614,7 +4658,7 @@ public class OrderServices { } GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); return ServiceUtil.returnError(e.getMessage()); @@ -4656,7 +4700,7 @@ public class OrderServices { } GenericValue orderHeader = null; try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, module); return ServiceUtil.returnError(e.getMessage()); @@ -4960,7 +5004,7 @@ public class OrderServices { String statusId = (String) context.get("statusId"); try { - GenericValue opp = delegator.findOne("OrderPaymentPreference", UtilMisc.toMap("orderPaymentPreferenceId", orderPaymentPreferenceId), false); + GenericValue opp = EntityQuery.use(delegator).from("OrderPaymentPreference").where("orderPaymentPreferenceId", orderPaymentPreferenceId).queryOne(); String paymentMethodId = null; String paymentMethodTypeId = null; @@ -4975,7 +5019,7 @@ public class OrderServices { } } if (paymentMethodTypeId == null) { - GenericValue method = delegator.findOne("PaymentMethod", UtilMisc.toMap("paymentMethodTypeId", paymentMethodTypeId), false); + GenericValue method = EntityQuery.use(delegator).from("PaymentMethod").where("paymentMethodTypeId", paymentMethodTypeId).queryOne(); paymentMethodId = checkOutPaymentId; paymentMethodTypeId = (String) method.get("paymentMethodTypeId"); } @@ -5023,7 +5067,7 @@ public class OrderServices { try { - GenericValue orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); if (UtilValidate.isEmpty(orderHeader)) { String errorMessage = UtilProperties.getMessage(resource_error, @@ -5095,7 +5139,7 @@ public class OrderServices { try { - GenericValue orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); if (UtilValidate.isEmpty(orderHeader)) { String errorMessage = UtilProperties.getMessage(resource_error, @@ -5323,14 +5367,14 @@ public class OrderServices { BigDecimal invoicedQuantity = ZERO; // Quantity invoiced for the target order item try { - orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); if (UtilValidate.isEmpty(orderHeader)) { String errorMessage = UtilProperties.getMessage(resource_error, "OrderErrorOrderIdNotFound", context, locale); Debug.logError(errorMessage, module); return ServiceUtil.returnError(errorMessage); } - orderItemToCheck = delegator.findOne("OrderItem", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", orderItemSeqId), false); + orderItemToCheck = EntityQuery.use(delegator).from("OrderItem").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryOne(); if (UtilValidate.isEmpty(orderItemToCheck)) { String errorMessage = UtilProperties.getMessage(resource_error, "OrderErrorOrderItemNotFound", context, locale); @@ -5435,10 +5479,10 @@ public class OrderServices { String changeReason = (String) context.get("changeReason"); Locale locale = (Locale) context.get("locale"); try { - GenericValue orderPaymentPreference = delegator.findOne("OrderPaymentPreference", UtilMisc.toMap("orderPaymentPreferenceId", orderPaymentPreferenceId), false); + GenericValue orderPaymentPreference = EntityQuery.use(delegator).from("OrderPaymentPreference").where("orderPaymentPreferenceId", orderPaymentPreferenceId).queryOne(); String orderId = orderPaymentPreference.getString("orderId"); String statusUserLogin = orderPaymentPreference.getString("createdByUserLogin"); - GenericValue orderHeader = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); if (orderHeader == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource_error, "OrderErrorCouldNotChangeOrderStatusOrderCannotBeFound", locale)); @@ -5787,4 +5831,4 @@ public class OrderServices { return ServiceUtil.returnSuccess(); } -} \ No newline at end of file +} Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/quote/QuoteServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/quote/QuoteServices.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/quote/QuoteServices.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/quote/QuoteServices.java Thu Oct 30 06:10:58 2014 @@ -33,6 +33,7 @@ import org.ofbiz.base.util.UtilValidate; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.service.DispatchContext; import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; @@ -63,7 +64,7 @@ public class QuoteServices { // get the quote and store GenericValue quote = null; try { - quote = delegator.findOne("Quote", UtilMisc.toMap("quoteId", quoteId), false); + quote = EntityQuery.use(delegator).from("Quote").where("quoteId", quoteId).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting Quote", module); } @@ -76,7 +77,7 @@ public class QuoteServices { GenericValue productStoreEmail = null; try { - productStoreEmail = delegator.findOne("ProductStoreEmailSetting", UtilMisc.toMap("productStoreId", quote.get("productStoreId"), "emailType", emailType), false); + productStoreEmail = EntityQuery.use(delegator).from("ProductStoreEmailSetting").where("productStoreId", quote.get("productStoreId"), "emailType", emailType).queryOne(); } catch (GenericEntityException e) { Debug.logError(e, "Problem getting the ProductStoreEmailSetting for productStoreId=" + quote.get("productStoreId") + " and emailType=" + emailType, module); } Modified: ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java?rev=1635399&r1=1635398&r2=1635399&view=diff ============================================================================== --- ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java (original) +++ ofbiz/branches/json-integration-refactoring/applications/order/src/org/ofbiz/order/requirement/RequirementServices.java Thu Oct 30 06:10:58 2014 @@ -31,6 +31,7 @@ import org.ofbiz.entity.condition.*; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; +import org.ofbiz.entity.util.EntityQuery; import org.ofbiz.entity.util.EntityUtil; import org.ofbiz.service.DispatchContext; import org.ofbiz.service.GenericServiceException; @@ -133,7 +134,7 @@ public class RequirementServices { // for good identification, get the UPCA type (UPC code) GenericValue gid = gids.get(productId); if (gid == null) { - gid = delegator.findOne("GoodIdentification", UtilMisc.toMap("goodIdentificationTypeId", "UPCA", "productId", requirement.get("productId")), false); + gid = EntityQuery.use(delegator).from("GoodIdentification").where("goodIdentificationTypeId", "UPCA", "productId", requirement.get("productId")).queryOne(); gids.put(productId, gid); } if (gid != null) union.put("idValue", gid.get("idValue")); @@ -208,7 +209,7 @@ public class RequirementServices { String orderId = (String) context.get("orderId"); try { - GenericValue order = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue order = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); GenericValue productStore = order.getRelatedOne("ProductStore", true); if (productStore == null) { Debug.logInfo("ProductStore for order ID " + orderId + " not found, requirements not created", module); @@ -267,7 +268,7 @@ public class RequirementServices { */ String orderId = (String) context.get("orderId"); try { - GenericValue order = delegator.findOne("OrderHeader", UtilMisc.toMap("orderId", orderId), false); + GenericValue order = EntityQuery.use(delegator).from("OrderHeader").where("orderId", orderId).queryOne(); GenericValue productStore = order.getRelatedOne("ProductStore", true); if (productStore == null) { Debug.logInfo("ProductStore for order ID " + orderId + " not found, ATP requirements not created", module); @@ -288,7 +289,7 @@ public class RequirementServices { if (ordered.compareTo(BigDecimal.ZERO) <= 0) continue; // get the minimum stock for this facility (if not configured assume a minimum of zero, ie create requirements when it goes into backorder) - GenericValue productFacility = delegator.findOne("ProductFacility", UtilMisc.toMap("facilityId", facilityId, "productId", product.get("productId")), false); + GenericValue productFacility = EntityQuery.use(delegator).from("ProductFacility").where("facilityId", facilityId, "productId", product.get("productId")).queryOne(); BigDecimal minimumStock = BigDecimal.ZERO; if (productFacility != null && productFacility.get("minimumStock") != null) { minimumStock = productFacility.getBigDecimal("minimumStock");