details:   https://code.openbravo.com/erp/devel/pi/rev/582660de04fd
changeset: 33863:582660de04fd
user:      Carlos Aristu <carlos.aristu <at> openbravo.com>
date:      Wed Apr 25 09:49:14 2018 +0200
summary:   fixes issue 38442: replace setParameter(int, Object) with 
setParameter(String, Object)

details:   https://code.openbravo.com/erp/devel/pi/rev/c5d8fbd7e953
changeset: 33864:c5d8fbd7e953
user:      Carlos Aristu <carlos.aristu <at> openbravo.com>
date:      Wed Apr 25 10:06:27 2018 +0200
summary:   fixes issue 38442: replace setString(int, String) with 
setParameter(String, Object)

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
                                     |  11 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
                                  |   6 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java
                              |  10 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/businesslogic/CloneOrderActionHandler.java
           |   4 +-
 
modules/org.openbravo.client.myob/src/org/openbravo/client/myob/WidgetProvider.java
                                                |  12 +-
 
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
 |  61 +++++----
 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java
                              |  10 +-
 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
                               |  21 +-
 src-test/src/org/openbravo/test/dal/DalComplexQueryTestOrderLine.java          
                                                    |   8 +-
 src-test/src/org/openbravo/test/dal/IssuesTest.java                            
                                                    |  10 +-
 src/org/openbravo/base/structure/BaseOBObject.java                             
                                                    |  10 +-
 
src/org/openbravo/erpCommon/ad_process/assets/AssetLinearDepreciationMethodProcess.java
                                            |   8 +-
 src/org/openbravo/erpCommon/utility/DimensionDisplayUtility.java               
                                                    |  42 +++---
 src/org/openbravo/materialmgmt/InventoryCountProcess.java                      
                                                    |   6 +-
 14 files changed, 110 insertions(+), 109 deletions(-)

diffs (truncated from 610 to 300 lines):

diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
    Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
    Wed Apr 25 10:06:27 2018 +0200
@@ -149,12 +149,11 @@
         .getInstance()
         .getSession()
         .createQuery(
-            "select max(f.lineNo) as maxLineno from FIN_Finacc_Transaction as 
f where account.id=?");
-    query.setString(0, financialAccount.getId());
-    for (Object obj : query.list()) {
-      if (obj != null) {
-        return (Long) obj;
-      }
+            "select max(f.lineNo) as maxLineno from FIN_Finacc_Transaction as 
f where account.id=:accountId");
+    query.setParameter("accountId", financialAccount.getId());
+    Long maxLineNo = (Long) query.uniqueResult();
+    if (maxLineNo != null) {
+      return maxLineNo;
     }
     return 0l;
   }
diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
 Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
 Wed Apr 25 10:06:27 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):  ______________________________________.
  *************************************************************************
@@ -1496,9 +1496,9 @@
       hql.append("inner join psd." + 
FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS + " as pd ");
       hql.append("inner join pd." + FIN_PaymentDetail.PROPERTY_FINPAYMENT + " 
as p ");
       hql.append("WHERE ppd." + 
FIN_PaymentPropDetail.PROPERTY_FINPAYMENTPROPOSAL + "."
-          + FIN_PaymentProposal.PROPERTY_ID + "= ?");
+          + FIN_PaymentProposal.PROPERTY_ID + "= :paymentProposalId");
       final Query obqPay = session.createQuery(hql.toString());
-      obqPay.setParameter(0, paymentProposal.getId());
+      obqPay.setParameter("paymentProposalId", paymentProposal.getId());
 
       return obqPay.list();
 
diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java
     Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java
     Wed Apr 25 10:06:27 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) 2009-2014 Openbravo SLU 
+ * All portions are Copyright (C) 2009-2018 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -86,8 +86,8 @@
         // select the alert rules
         final String hql = "select distinct(e.alertRule) from  "
             + AlertRecipient.ENTITY_NAME
-            + " e where e.alertRule.active = true and (e.userContact.id=? "
-            + " or (e.userContact.id = null and e.role.id = ?))"
+            + " e where e.alertRule.active = true and (e.userContact.id= 
:userId "
+            + " or (e.userContact.id = null and e.role.id = :roleId))"
 
             // select only those rules that are client/org visible from 
current role
             + " and e.alertRule.client.id " + 
OBDal.getInstance().getReadableClientsInClause()
@@ -95,8 +95,8 @@
             + OBDal.getInstance().getReadableOrganizationsInClause();
 
         final Query qry = OBDal.getInstance().getSession().createQuery(hql);
-        qry.setParameter(0, OBContext.getOBContext().getUser().getId());
-        qry.setParameter(1, OBContext.getOBContext().getRole().getId());
+        qry.setParameter("userId", OBContext.getOBContext().getUser().getId());
+        qry.setParameter("roleId", OBContext.getOBContext().getRole().getId());
 
         for (Object o : qry.list()) {
           final AlertRule alertRule = (AlertRule) o;
diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.client.application/src/org/openbravo/client/application/businesslogic/CloneOrderActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/businesslogic/CloneOrderActionHandler.java
  Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/businesslogic/CloneOrderActionHandler.java
  Wed Apr 25 10:06:27 2018 +0200
@@ -209,9 +209,9 @@
   public static BigDecimal getLineNetAmt(String strOrderId) {
 
     BigDecimal bdLineNetAmt = new BigDecimal("0");
-    final String readLineNetAmtHql = " select (coalesce(ol.lineNetAmount,0) + 
coalesce(ol.freightAmount,0) + coalesce(ol.chargeAmount,0)) as LineNetAmt from 
OrderLine ol where ol.salesOrder.id=?";
+    final String readLineNetAmtHql = " select (coalesce(ol.lineNetAmount,0) + 
coalesce(ol.freightAmount,0) + coalesce(ol.chargeAmount,0)) as LineNetAmt from 
OrderLine ol where ol.salesOrder.id=:orderId";
     final Query readLineNetAmtQry = 
OBDal.getInstance().getSession().createQuery(readLineNetAmtHql);
-    readLineNetAmtQry.setString(0, strOrderId);
+    readLineNetAmtQry.setParameter("orderId", strOrderId);
 
     for (int i = 0; i < readLineNetAmtQry.list().size(); i++) {
       bdLineNetAmt = bdLineNetAmt.add(((BigDecimal) 
readLineNetAmtQry.list().get(i)));
diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.client.myob/src/org/openbravo/client/myob/WidgetProvider.java
--- 
a/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/WidgetProvider.java
       Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/WidgetProvider.java
       Wed Apr 25 10:06:27 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-2015 Openbravo SLU
+ * All portions are Copyright (C) 2010-2018 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -416,9 +416,9 @@
       translatedValues.put(allowedValue, allowedValue);
     }
 
-    final String readReferenceHql = "select searchKey, name from ADList where 
reference.id=?";
+    final String readReferenceHql = "select searchKey, name from ADList where 
reference.id=:referenceId";
     final Query readReferenceQry = 
OBDal.getInstance().getSession().createQuery(readReferenceHql);
-    readReferenceQry.setString(0, referenceId);
+    readReferenceQry.setParameter("referenceId", referenceId);
     for (Object o : readReferenceQry.list()) {
       final Object[] row = (Object[]) o;
       final String value = (String) row[0];
@@ -430,11 +430,11 @@
 
     // set the default if no translation found
     final String hql = "select al.searchKey, trl.name from ADList al, 
ADListTrl trl where "
-        + " al.reference.id=? and trl.listReference=al and trl.language.id=?"
+        + " al.reference.id=:referenceId and trl.listReference=al and 
trl.language.id=:languageId"
         + " and al.active=true and trl.active=true";
     final Query qry = OBDal.getInstance().getSession().createQuery(hql);
-    qry.setString(0, referenceId);
-    qry.setString(1, userLanguageId);
+    qry.setParameter("referenceId", referenceId);
+    qry.setParameter("languageId", userLanguageId);
     for (Object o : qry.list()) {
       final Object[] row = (Object[]) o;
       translatedValues.put((String) row[0], (String) row[1]);
diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
--- 
a/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
        Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
        Wed Apr 25 10:06:27 2018 +0200
@@ -28,6 +28,8 @@
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Vector;
 
@@ -250,7 +252,7 @@
       throws OBException {
 
     StringBuilder hsqlScript = new StringBuilder();
-    final java.util.List<Object> parameters = new ArrayList<Object>();
+    final Map<String, Object> parameters = new HashMap<>();
 
     String dateFormatString = 
OBPropertiesProvider.getInstance().getOpenbravoProperties()
         .getProperty("dateFormat.java");
@@ -342,28 +344,28 @@
       if (StringUtils.isNotEmpty(strDueDateFrom)) {
         hsqlScript.append(" and invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_DUEDATE);
-        hsqlScript.append(" >= ?");
-        parameters.add(FIN_Utility.getDate(strDueDateFrom));
+        hsqlScript.append(" >= :dueDateFrom");
+        parameters.put("dueDateFrom", FIN_Utility.getDate(strDueDateFrom));
       }
       if (StringUtils.isNotEmpty(strDueDateTo)) {
         hsqlScript.append(" and invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_DUEDATE);
-        hsqlScript.append(" <= ?");
-        parameters.add(FIN_Utility.getDate(strDueDateTo));
+        hsqlScript.append(" <= :dueDateTo");
+        parameters.put("dueDateTo", FIN_Utility.getDate(strDueDateTo));
       }
 
       // expected date from - expected date to
       if (StringUtils.isNotEmpty(strExpectedDateFrom)) {
         hsqlScript.append(" and invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE);
-        hsqlScript.append(" >= ?");
-        parameters.add(FIN_Utility.getDate(strExpectedDateFrom));
+        hsqlScript.append(" >= :expectedDateFrom");
+        parameters.put("expectedDateFrom", 
FIN_Utility.getDate(strExpectedDateFrom));
       }
       if (StringUtils.isNotEmpty(strExpectedDateTo)) {
         hsqlScript.append(" and invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE);
-        hsqlScript.append(" <= ?");
-        parameters.add(FIN_Utility.getDate(strExpectedDateTo));
+        hsqlScript.append(" <= :expectedDateTo");
+        parameters.put("expectedDateTo", 
FIN_Utility.getDate(strExpectedDateTo));
       }
 
       // document date from - document date to
@@ -372,37 +374,36 @@
         hsqlScript.append(Invoice.PROPERTY_INVOICEDATE);
         hsqlScript.append(", pay.");
         hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
-        hsqlScript.append(") >= ?");
-        parameters.add(FIN_Utility.getDate(strDocumentDateFrom));
+        hsqlScript.append(") >= :documentDateFrom");
+        parameters.put("documentDateFrom", 
FIN_Utility.getDate(strDocumentDateFrom));
       }
       if (StringUtils.isNotEmpty(strDocumentDateTo)) {
         hsqlScript.append(" and coalesce(inv.");
         hsqlScript.append(Invoice.PROPERTY_INVOICEDATE);
         hsqlScript.append(", pay.");
         hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
-        hsqlScript.append(") <= ?");
-        parameters.add(FIN_Utility.getDate(strDocumentDateTo));
+        hsqlScript.append(") <= :documentDateTo");
+        parameters.put("documentDateTo", 
FIN_Utility.getDate(strDocumentDateTo));
       }
 
       // payment date from - payment date to
       if (StringUtils.isNotEmpty(strPaymentDateFrom)) {
         hsqlScript.append(" and ((pay.");
         hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
-        hsqlScript.append(" >= ?)  or (pay.");
+        hsqlScript.append(" >= :paymetDateFrom)  or (pay.");
         hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
         hsqlScript.append(" is null and invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE);
-        hsqlScript.append(" >= ?))");
-        parameters.add(FIN_Utility.getDate(strPaymentDateFrom));
-        parameters.add(FIN_Utility.getDate(strPaymentDateFrom));
+        hsqlScript.append(" >= :paymetDateFrom))");
+        parameters.put("paymetDateFrom", 
FIN_Utility.getDate(strPaymentDateFrom));
       }
       if (StringUtils.isNotEmpty(strPaymentDateTo)) {
         hsqlScript.append(" and coalesce(pay.");
         hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
         hsqlScript.append(", invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_EXPECTEDDATE);
-        hsqlScript.append(") <= ?");
-        parameters.add(FIN_Utility.getDate(strPaymentDateTo));
+        hsqlScript.append(") <= :paymentDateTo");
+        parameters.put("paymentDateTo", FIN_Utility.getDate(strPaymentDateTo));
       }
 
       // Empty Business Partner included
@@ -577,8 +578,8 @@
         hsqlScript.append(" != '0'");
         hsqlScript.append(" and invps.");
         hsqlScript.append(FIN_PaymentSchedule.PROPERTY_DUEDATE);
-        hsqlScript.append(" <  ?");
-        parameters.add(DateUtils.truncate(new Date(), Calendar.DATE));
+        hsqlScript.append(" <  :dueDate");
+        parameters.put("dueDate", DateUtils.truncate(new Date(), 
Calendar.DATE));
       }
 
       if (!StringUtils.equals(strBAZero, "Y")) {
@@ -592,12 +593,13 @@
         final Session sessionCount = OBDal.getReadOnlyInstance().getSession();
         final Query queryCount = sessionCount
             .createQuery("select count(*)" + hsqlScript.toString());
-        int px = 0;
-        for (final Object param : parameters) {
+        for (Entry<String, Object> entry : parameters.entrySet()) {
+          String paramName = entry.getKey();
+          Object param = entry.getValue();
           if (param instanceof BaseOBObject) {
-            queryCount.setEntity(px++, param);
+            queryCount.setEntity(paramName, param);
           } else {
-            queryCount.setParameter(px++, param);
+            queryCount.setParameter(paramName, param);
           }
         }
         final Long hqlRecordsCount = (Long) queryCount.list().get(0);
@@ -710,12 +712,13 @@
       final Session session = OBDal.getReadOnlyInstance().getSession();
       final Query query = session.createQuery(hsqlScript.toString());
 
-      int pos = 0;
-      for (final Object param : parameters) {
+      for (Entry<String, Object> entry : parameters.entrySet()) {
+        String paramName = entry.getKey();
+        Object param = entry.getValue();
         if (param instanceof BaseOBObject) {
-          query.setEntity(pos++, param);
+          query.setEntity(paramName, param);
         } else {
-          query.setParameter(pos++, param);
+          query.setParameter(paramName, param);
         }
       }
 
diff -r f7a294ef4724 -r c5d8fbd7e953 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java
--- 
a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java
     Tue Apr 24 18:47:33 2018 +0200
+++ 
b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java
     Wed Apr 25 10:06:27 2018 +0200
@@ -159,9 +159,9 @@
 
     final List<RefListEntry> translatedValues = new ArrayList<RefListEntry>();
 
-    final String readReferenceHql = "select searchKey, name, sequenceNumber 
from ADList rlist where reference.id=? and rlist.active=true";
+    final String readReferenceHql = "select searchKey, name, sequenceNumber 
from ADList rlist where reference.id=:referenceId and rlist.active=true";
     final Query readReferenceQry = 
OBDal.getInstance().getSession().createQuery(readReferenceHql);
-    readReferenceQry.setString(0, referenceId);
+    readReferenceQry.setParameter("referenceId", referenceId);
     for (Object o : readReferenceQry.list()) {
       final Object[] row = (Object[]) o;
       final String value = (String) row[0];

------------------------------------------------------------------------------
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