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

Reply via email to