details: https://code.openbravo.com/erp/devel/pi/rev/b1cfd9a88be0 changeset: 33847:b1cfd9a88be0 user: Carlos Aristu <carlos.aristu <at> openbravo.com> date: Wed Apr 18 09:01:42 2018 +0200 summary: fixes issue 38382: Deprecate positional query parameters in OBQuery
- Deprecate OBQuery.setParameters(List) method. - Declare OBQuery.getParameters() as private because it is only used internally. - Deprecate OBDal.createQuery(Class, String List), which is making use of OBQuery.setParameters(List). - Deprecate OBDal.createQuery(String, String, List), which is making use of OBQuery.setParameters(List). details: https://code.openbravo.com/erp/devel/pi/rev/b19430097c35 changeset: 33848:b19430097c35 user: Carlos Aristu <carlos.aristu <at> openbravo.com> date: Wed Apr 18 09:14:05 2018 +0200 summary: related to issue 38382: use named parameters instead of positional parameters diffstat: modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java | 22 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java | 72 ++++---- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/MatchTransactionDao.java | 76 +++++---- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java | 41 ++-- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_BankStatementProcess.java | 33 +++- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java | 21 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/ComputeWindowActionHandler.java | 10 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java | 16 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationHandler.java | 42 ++-- modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ADTreeDatasourceService.java | 19 +- modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/LinkToParentTreeDatasourceService.java | 46 +++--- src-test/src/org/openbravo/test/dal/DalComplexQueryRequisitionTest.java | 67 ++++---- src-test/src/org/openbravo/test/dal/DalComplexQueryTestOrderLine.java | 14 +- src-test/src/org/openbravo/test/dal/DalQueryTest.java | 11 +- src-test/src/org/openbravo/test/security/AccessLevelTest.java | 33 ++-- src/org/openbravo/dal/service/OBDal.java | 73 ++++++++- src/org/openbravo/dal/service/OBQuery.java | 51 ++++-- src/org/openbravo/erpCommon/ad_callouts/SE_Locator_Activate.java | 27 +- src/org/openbravo/erpCommon/ad_process/assets/AssetLinearDepreciationMethodProcess.java | 23 +- src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal.java | 14 +- src/org/openbravo/erpCommon/ad_reports/ReportProjectProfitabilityJR.java | 48 +++--- src/org/openbravo/erpCommon/businessUtility/Preferences.java | 52 +++--- src/org/openbravo/erpCommon/utility/ReferencedLink.java | 9 +- 23 files changed, 459 insertions(+), 361 deletions(-) diffs (truncated from 2137 to 300 lines): diff -r 77f54a865e67 -r b19430097c35 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java Tue Apr 17 15:16:30 2018 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java Wed Apr 18 09:14:05 2018 +0200 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -20,9 +20,9 @@ import java.io.IOException; import java.io.PrintWriter; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Vector; import javax.servlet.ServletException; @@ -586,25 +586,27 @@ return Utility.messageBD(myPool, "Y", vars.getLanguage()); if ("N".equals(strPosted)) return Utility.messageBD(myPool, "N", vars.getLanguage()); - final List<Object> parameters = new ArrayList<Object>(); + final Map<String, Object> parameters = new HashMap<>(); final StringBuilder whereClause = new StringBuilder(); whereClause.append(" as l"); whereClause.append(" where l." + org.openbravo.model.ad.domain.List.PROPERTY_REFERENCE - + ".id = ?"); - whereClause.append(" and l." + org.openbravo.model.ad.domain.List.PROPERTY_SEARCHKEY + " = ?"); + + ".id = :referenceId"); + whereClause.append(" and l." + org.openbravo.model.ad.domain.List.PROPERTY_SEARCHKEY + + " = :searchKey"); // Reference ID for Posted list is 234 - parameters.add("234"); - parameters.add(strPosted); + parameters.put("referenceId", "234"); + parameters.put("searchKey", strPosted); OBContext.setAdminMode(); try { final OBQuery<org.openbravo.model.ad.domain.List> obQuery = OBDal.getInstance().createQuery( org.openbravo.model.ad.domain.List.class, whereClause.toString()); - obQuery.setParameters(parameters); + obQuery.setNamedParameters(parameters); List<org.openbravo.model.ad.domain.List> list = null; - if (obQuery != null && obQuery.list().size() > 0) { + if (!obQuery.list().isEmpty()) { list = obQuery.list(); - } else + } else { return strPosted; + } return list.get(0).getName(); } finally { OBContext.restorePreviousMode(); diff -r 77f54a865e67 -r b19430097c35 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java Tue Apr 17 15:16:30 2018 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java Wed Apr 18 09:14:05 2018 +0200 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): Enterprise Intelligence Systems (http://www.eintel.com.au). ************************************************************************* @@ -231,7 +231,7 @@ String strAmountFrom, String strAmountTo) { final StringBuilder whereClause = new StringBuilder(); - final List<Object> parameters = new ArrayList<Object>(); + final Map<String, Object> parameters = new HashMap<>(); // FIXME: added to access the FIN_PaymentSchedule and FIN_PaymentScheduleDetail tables to be // removed when new security implementation is done @@ -313,14 +313,14 @@ if (transactionDateFrom != null) { whereClause.append(" and inv."); whereClause.append(Invoice.PROPERTY_INVOICEDATE); - whereClause.append(" >= ?"); - parameters.add(transactionDateFrom); + whereClause.append(" >= :transactionDateFrom"); + parameters.put("transactionDateFrom", transactionDateFrom); } if (transactionDateTo != null) { whereClause.append(" and inv."); whereClause.append(Invoice.PROPERTY_INVOICEDATE); - whereClause.append(" < ?"); - parameters.add(transactionDateTo); + whereClause.append(" < :transactionDateTo"); + parameters.put("transactionDateTo", transactionDateTo); } whereClause.append(" and inv."); whereClause.append(Invoice.PROPERTY_SALESTRANSACTION); @@ -381,14 +381,14 @@ if (transactionDateFrom != null) { whereClause.append(" and ord."); whereClause.append(Order.PROPERTY_ORDERDATE); - whereClause.append(" >= ?"); - parameters.add(transactionDateFrom); + whereClause.append(" >= :transactionDateFrom"); + parameters.put("transactionDateFrom", transactionDateFrom); } if (transactionDateTo != null) { whereClause.append(" and ord."); whereClause.append(Order.PROPERTY_ORDERDATE); - whereClause.append(" < ?"); - parameters.add(transactionDateTo); + whereClause.append(" < :transactionDateTo"); + parameters.put("transactionDateTo", transactionDateTo); } if (!StringUtils.isEmpty(strDocumentNo)) { whereClause.append(" and ord."); @@ -414,8 +414,8 @@ whereClause.append(FIN_PaymentSchedule.PROPERTY_DUEDATE); whereClause.append(", ops."); whereClause.append(FIN_PaymentSchedule.PROPERTY_DUEDATE); - whereClause.append(") >= ?"); - parameters.add(dueDateFrom); + whereClause.append(") >= :dueDateFrom"); + parameters.put("dueDateFrom", dueDateFrom); } // dateTo if (dueDateTo != null) { @@ -423,8 +423,8 @@ whereClause.append(FIN_PaymentSchedule.PROPERTY_DUEDATE); whereClause.append(", ops."); whereClause.append(FIN_PaymentSchedule.PROPERTY_DUEDATE); - whereClause.append(") < ?"); - parameters.add(dueDateTo); + whereClause.append(") < :dueDateTo"); + parameters.put("dueDateTo", dueDateTo); } // expecteddateFrom @@ -433,8 +433,8 @@ whereClause.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE); whereClause.append(", ops."); whereClause.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE); - whereClause.append(") >= ?"); - parameters.add(expectedDateFrom); + whereClause.append(") >= :expectedDateFrom"); + parameters.put("expectedDateFrom", expectedDateFrom); } // expecteddateTo if (expectedDateTo != null) { @@ -442,8 +442,8 @@ whereClause.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE); whereClause.append(", ops."); whereClause.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE); - whereClause.append(") < ?"); - parameters.add(expectedDateTo); + whereClause.append(") < :expectedDateTo"); + parameters.put("expectedDateTo", expectedDateTo); } // TODO: Add order to show first scheduled payments from invoices and later scheduled payments @@ -470,7 +470,7 @@ final OBQuery<FIN_PaymentScheduleDetail> obqPSD = OBDal.getInstance().createQuery( FIN_PaymentScheduleDetail.class, whereClause.toString()); - obqPSD.setParameters(parameters); + obqPSD.setNamedParameters(parameters); return obqPSD.list(); } finally { @@ -1208,7 +1208,7 @@ OBContext.setAdminMode(); try { final StringBuilder whereClause = new StringBuilder(); - final List<Object> parameters = new ArrayList<Object>(); + final Map<String, Object> parameters = new HashMap<>(); whereClause.append(" as p "); whereClause.append(" where p."); @@ -1224,18 +1224,17 @@ whereClause.append(" as ft"); whereClause.append(" where ft."); whereClause.append(FIN_FinaccTransaction.PROPERTY_ACCOUNT); - whereClause.append(".id = ? "); + whereClause.append(".id = :accountId "); whereClause.append(" and ft."); whereClause.append(FIN_FinaccTransaction.PROPERTY_PROCESSED); whereClause.append(" = true) "); whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_ACCOUNT); - whereClause.append(".id = ? "); + whereClause.append(".id = :accountId "); whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_STATUS); whereClause.append(" IN ('RPR', 'PPM')"); - parameters.add(account.getId()); - parameters.add(account.getId()); + parameters.put("accountId", account.getId()); // IsReceipt whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_RECEIPT); @@ -1251,15 +1250,15 @@ if (fromDate != null) { whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_PAYMENTDATE); - whereClause.append(" >= ? "); - parameters.add(fromDate); + whereClause.append(" >= :fromDate "); + parameters.put("fromDate", fromDate); } // To Date if (toDate != null) { whereClause.append(" AND p."); whereClause.append(FIN_Payment.PROPERTY_PAYMENTDATE); - whereClause.append(" < ?"); - parameters.add(toDate); + whereClause.append(" < :toDate"); + parameters.put("toDate", toDate); } // Order by date and payment no whereClause.append(" ORDER BY p."); @@ -1338,7 +1337,7 @@ OBContext.setAdminMode(); try { final StringBuilder whereClause = new StringBuilder(); - final List<Object> parameters = new ArrayList<Object>(); + final Map<String, Object> parameters = new HashMap<>(); whereClause.append(" as p "); whereClause.append(" where p."); @@ -1353,7 +1352,7 @@ whereClause.append(" as ft"); whereClause.append(" where ft."); whereClause.append(FinAccPaymentMethod.PROPERTY_ACCOUNT); - whereClause.append(".id = ?) "); + whereClause.append(".id = :accountId) "); whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_STATUS); whereClause.append(" IN ('RPR', 'PPM')"); @@ -1366,9 +1365,8 @@ whereClause.append(".id"); whereClause.append(" from "); whereClause.append(" FIN_Financial_Account as fa"); - whereClause.append(" where fa.id = ? )"); - parameters.add(account.getId()); - parameters.add(account.getId()); + whereClause.append(" where fa.id = :accountId )"); + parameters.put("accountId", account.getId()); // IsReceipt whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_RECEIPT); @@ -1384,15 +1382,15 @@ if (fromDate != null) { whereClause.append(" and p."); whereClause.append(FIN_Payment.PROPERTY_PAYMENTDATE); - whereClause.append(" >= ? "); - parameters.add(fromDate); + whereClause.append(" >= :fromDate "); + parameters.put("fromDate", fromDate); } // To Date if (toDate != null) { whereClause.append(" AND p."); whereClause.append(FIN_Payment.PROPERTY_PAYMENTDATE); - whereClause.append(" < ?"); - parameters.add(toDate); + whereClause.append(" < :toDate"); + parameters.put("toDate", toDate); } // Order by date and payment no whereClause.append(" ORDER BY p."); diff -r 77f54a865e67 -r b19430097c35 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/MatchTransactionDao.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/MatchTransactionDao.java Tue Apr 17 15:16:30 2018 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/MatchTransactionDao.java Wed Apr 18 09:14:05 2018 +0200 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2010-2011 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -22,7 +22,9 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.ServletException; @@ -257,7 +259,7 @@ String strFinancialAccountId, Date transactionDate, String strReference, BigDecimal amount, String strBpartner, List<FIN_FinaccTransaction> excluded) { final StringBuilder whereClause = new StringBuilder(); - final List<Object> parameters = new ArrayList<Object>(); + final Map<String, Object> parameters = new HashMap<>(); ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits