Author: lektran
Date: Thu Oct 30 04:16:45 2014
New Revision: 1635382
URL: http://svn.apache.org/r1635382
Log:
Partially convert ordermgr component's java files to EntityQuery
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/finaccount/FinAccountHelper.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderEvents.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderListState.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java
(original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/OrderManagerEvents.java
Thu Oct 30 04:16:45 2014
@@ -44,6 +44,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.order.OrderChangeHelper;
import org.ofbiz.service.GenericServiceException;
@@ -137,7 +138,7 @@ public class OrderManagerEvents {
GenericValue orderHeader = null;
List<GenericValue> orderRoles = null;
try {
- orderHeader = delegator.findOne("OrderHeader",
UtilMisc.toMap("orderId", orderId), false);
+ orderHeader =
EntityQuery.use(delegator).from("OrderHeader").where("orderId",
orderId).queryOne();
orderRoles = delegator.findList("OrderRole",
EntityCondition.makeCondition("orderId", EntityOperator.EQUALS, orderId), null,
null, null, false);
} catch (GenericEntityException e) {
Debug.logError(e, "Problems reading order header from
datasource.", module);
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/finaccount/FinAccountHelper.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/finaccount/FinAccountHelper.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/finaccount/FinAccountHelper.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/finaccount/FinAccountHelper.java
Thu Oct 30 04:16:45 2014
@@ -33,10 +33,8 @@ 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.EntityConditionList;
-import org.ofbiz.entity.condition.EntityExpr;
import org.ofbiz.entity.condition.EntityOperator;
-import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.entity.util.EntityQuery;
/**
* A package of methods for improving efficiency of financial accounts services
@@ -113,8 +111,9 @@ public class FinAccountHelper {
newAccountCode.append(char_pool[r.nextInt(char_pool.length)]);
}
- List<GenericValue> existingAccountsWithCode =
delegator.findByAnd("FinAccount", UtilMisc.toMap("finAccountCode",
newAccountCode.toString()), null, false);
- if (existingAccountsWithCode.size() == 0) {
+ GenericValue existingAccountWithCode =
EntityQuery.use(delegator).from("FinAccount")
+ .where("finAccountCode",
newAccountCode.toString()).queryFirst();
+ if (existingAccountWithCode == null) {
foundUniqueNewCode = true;
}
@@ -141,9 +140,9 @@ public class FinAccountHelper {
finAccountCode = finAccountCode.toUpperCase().replaceAll("[^0-9A-Z]",
"");
// now look for the account
- List<GenericValue> accounts = delegator.findByAnd("FinAccount",
UtilMisc.toMap("finAccountCode", finAccountCode), null, false);
- accounts = EntityUtil.filterByDate(accounts);
-
+ List<GenericValue> accounts =
EntityQuery.use(delegator).from("FinAccount")
+ .where("finAccountCode", finAccountCode)
+ .filterByDate().queryList();
if (UtilValidate.isEmpty(accounts)) {
// OK to display - not a code anyway
Debug.logWarning("No fin account found for account code [" +
finAccountCode + "]", module);
@@ -173,24 +172,26 @@ public class FinAccountHelper {
BigDecimal decrementTotal = ZERO; // decrease balance
// find the sum of all transactions which increase the value
- EntityConditionList<EntityCondition> incrementConditions =
EntityCondition.makeCondition(UtilMisc.toList(
- EntityCondition.makeCondition("finAccountId",
EntityOperator.EQUALS, finAccountId),
- EntityCondition.makeCondition("transactionDate",
EntityOperator.LESS_THAN_EQUAL_TO, asOfDateTime),
- EntityCondition.makeCondition(UtilMisc.toList(
- EntityCondition.makeCondition("finAccountTransTypeId",
EntityOperator.EQUALS, "DEPOSIT"),
- EntityCondition.makeCondition("finAccountTransTypeId",
EntityOperator.EQUALS, "ADJUSTMENT")),
- EntityOperator.OR)),
- EntityOperator.AND);
- List<GenericValue> transSums =
delegator.findList("FinAccountTransSum", incrementConditions,
UtilMisc.toSet("amount"), null, null, false);
+ List<GenericValue> transSums = EntityQuery.use(delegator)
+ .select("amount")
+ .from("FinAccountTransSum")
+ .where(EntityCondition.makeCondition("finAccountId",
EntityOperator.EQUALS, finAccountId),
+ EntityCondition.makeCondition("transactionDate",
EntityOperator.LESS_THAN_EQUAL_TO, asOfDateTime),
+ EntityCondition.makeCondition(UtilMisc.toList(
+
EntityCondition.makeCondition("finAccountTransTypeId", EntityOperator.EQUALS,
"DEPOSIT"),
+
EntityCondition.makeCondition("finAccountTransTypeId", EntityOperator.EQUALS,
"ADJUSTMENT")),
+ EntityOperator.OR))
+ .queryList();
incrementTotal = addFirstEntryAmount(incrementTotal, transSums,
"amount", (decimals+1), rounding);
// now find sum of all transactions with decrease the value
- EntityConditionList<EntityExpr> decrementConditions =
EntityCondition.makeCondition(UtilMisc.toList(
- EntityCondition.makeCondition("finAccountId",
EntityOperator.EQUALS, finAccountId),
- EntityCondition.makeCondition("transactionDate",
EntityOperator.LESS_THAN_EQUAL_TO, asOfDateTime),
- EntityCondition.makeCondition("finAccountTransTypeId",
EntityOperator.EQUALS, "WITHDRAWAL")),
- EntityOperator.AND);
- transSums = delegator.findList("FinAccountTransSum",
decrementConditions, UtilMisc.toSet("amount"), null, null, false);
+ transSums = EntityQuery.use(delegator)
+ .select("amount")
+ .from("FinAccountTransSum")
+ .where(EntityCondition.makeCondition("finAccountId",
EntityOperator.EQUALS, finAccountId),
+ EntityCondition.makeCondition("transactionDate",
EntityOperator.LESS_THAN_EQUAL_TO, asOfDateTime),
+ EntityCondition.makeCondition("finAccountTransTypeId",
EntityOperator.EQUALS, "WITHDRAWAL"))
+ .queryList();
decrementTotal = addFirstEntryAmount(decrementTotal, transSums,
"amount", (decimals+1), rounding);
// the net balance is just the incrementTotal minus the decrementTotal
@@ -211,13 +212,12 @@ public class FinAccountHelper {
BigDecimal netBalance = getBalance(finAccountId, asOfDateTime,
delegator);
// find sum of all authorizations which are not expired and which were
authorized before as of time
- EntityConditionList<EntityCondition> authorizationConditions =
EntityCondition.makeCondition(UtilMisc.toList(
- EntityCondition.makeCondition("finAccountId",
EntityOperator.EQUALS, finAccountId),
- EntityCondition.makeCondition("authorizationDate",
EntityOperator.LESS_THAN_EQUAL_TO, asOfDateTime),
- EntityUtil.getFilterByDateExpr(asOfDateTime)),
- EntityOperator.AND);
-
- List<GenericValue> authSums = delegator.findList("FinAccountAuthSum",
authorizationConditions, UtilMisc.toSet("amount"), null, null, false);
+ List<GenericValue> authSums = EntityQuery.use(delegator)
+ .select("amount")
+ .from("FinAccountAuthSum")
+ .where(EntityCondition.makeCondition("finAccountId",
EntityOperator.EQUALS, finAccountId),
+ EntityCondition.makeCondition("authorizationDate",
EntityOperator.LESS_THAN_EQUAL_TO, asOfDateTime))
+ .queryList();
BigDecimal authorizationsTotal = addFirstEntryAmount(ZERO, authSums,
"amount", (decimals+1), rounding);
@@ -239,7 +239,7 @@ public class FinAccountHelper {
public static boolean validatePin(Delegator delegator, String
finAccountId, String pinNumber) {
GenericValue finAccount = null;
try {
- finAccount = delegator.findOne("FinAccount",
UtilMisc.toMap("finAccountId", finAccountId), false);
+ finAccount =
EntityQuery.use(delegator).from("FinAccount").where("finAccountId",
finAccountId).queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
}
@@ -296,7 +296,7 @@ public class FinAccountHelper {
}
private static boolean checkIsNumberInDatabase(Delegator delegator, String
number) throws GenericEntityException {
- GenericValue finAccount = delegator.findOne("FinAccount",
UtilMisc.toMap("finAccountId", number), false);
+ GenericValue finAccount =
EntityQuery.use(delegator).from("FinAccount").where("finAccountId",
number).queryOne();
return finAccount == null;
}
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderChangeHelper.java
Thu Oct 30 04:16:45 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/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java
Thu Oct 30 04:16:45 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/trunk/applications/order/src/org/ofbiz/order/order/OrderEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderEvents.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderEvents.java
(original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderEvents.java
Thu Oct 30 04:16:45 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/trunk/applications/order/src/org/ofbiz/order/order/OrderListState.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderListState.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderListState.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderListState.java
Thu Oct 30 04:16:45 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/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=1635382&r1=1635381&r2=1635382&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
Thu Oct 30 04:16:45 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/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java?rev=1635382&r1=1635381&r2=1635382&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
Thu Oct 30 04:16:45 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) {