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