details:   https://code.openbravo.com/erp/devel/pi/rev/9dadb3c0427b
changeset: 19668:9dadb3c0427b
user:      Javier Etxarri <javier.echarri <at> openbravo.com>
date:      Wed Feb 13 17:47:47 2013 +0100
summary:   Fixes issue 23064: When one alert is trying to insert a value with '
openbravo is having problems

diffstat:

 src/org/openbravo/erpCommon/ad_process/AlertProcess.java |  41 ++++++++++++---
 1 files changed, 31 insertions(+), 10 deletions(-)

diffs (65 lines):

diff -r 20934ef12e27 -r 9dadb3c0427b 
src/org/openbravo/erpCommon/ad_process/AlertProcess.java
--- a/src/org/openbravo/erpCommon/ad_process/AlertProcess.java  Wed Feb 13 
16:55:42 2013 +0100
+++ b/src/org/openbravo/erpCommon/ad_process/AlertProcess.java  Wed Feb 13 
17:47:47 2013 +0100
@@ -157,10 +157,11 @@
         .getProperty("dateTimeFormat.sql");
 
     // These fields are foreign keys that might be null
-    String userStr = user.isEmpty() ? null : "\'" + user + "\'";
-    String roleStr = role.isEmpty() ? null : "\'" + role + "\'";
-    String ruleIdStr = ruleId.isEmpty() ? null : "\'" + ruleId + "\'";
-    String recordIdStr = recordId.isEmpty() ? null : "\'" + recordId + "\'";
+
+    String userStr = user.isEmpty() ? null : user;
+    String roleStr = role.isEmpty() ? null : role;
+    String ruleIdStr = ruleId.isEmpty() ? null : ruleId;
+    String recordIdStr = recordId.isEmpty() ? null : recordId;
     // The date needs to be formated
     String createdStr = "to_timestamp(\'" + created + "\', \'" + 
dateTimeFormat + "\')";
     // These field needs to be escaped
@@ -173,19 +174,39 @@
     sqlBuilder.append("AD_ALERTRULE_ID, RECORD_ID, REFERENCEKEY_ID, ");
     sqlBuilder.append("DESCRIPTION, AD_USER_ID, AD_ROLE_ID, STATUS) ");
     sqlBuilder.append("VALUES ");
-    sqlBuilder.append("(\'" + alertId + "\', \'" + clientId + "\', \'" + orgId 
+ "\', ");
-    sqlBuilder.append("\'Y\'" + ", " + createdStr + ", \'" + createdBy + "\', 
" + "now()" + ", "
-        + "\'0\'" + ", ");
-    sqlBuilder.append(ruleIdStr + ", " + recordIdStr + ", \'" + referenceKey + 
"\', ");
-    sqlBuilder.append("\'" + descriptionStr + "\', " + userStr + ", " + 
roleStr + ", " + "\'NEW\'"
-        + ")");
+    sqlBuilder.append("(?, ?, ?, " + "\'Y\', " + createdStr + ", ?, " + 
"now()" + ", " + "\'0\'"
+        + ", ?, ?, ?, ?, ?, ?, " + "\'NEW\')");
     String strSql = sqlBuilder.toString();
 
     int updateCount = 0;
     PreparedStatement st = null;
 
+    int iParameter = 0;
+
     try {
       st = connectionProvider.getPreparedStatement(strSql);
+
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, alertId);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, clientId);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, orgId);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, createdBy);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, ruleIdStr);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, recordIdStr);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, referenceKey);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, descriptionStr);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, userStr);
+      iParameter++;
+      UtilSql.setValue(st, iParameter, 12, null, roleStr);
+
       updateCount = st.executeUpdate();
     } catch (SQLException e) {
       log4j.error("SQL error in query: " + strSql + "Exception:" + e);

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to