details:   https://code.openbravo.com/erp/devel/pi/rev/0a461eef07c3
changeset: 32423:0a461eef07c3
user:      Stefan Hühner <stefan.huehner <at> openbravo.com>
date:      Thu Jul 06 13:18:39 2017 +0200
summary:   Fixed 36431. Cleanup logging: Removes uses of printStackTrace + 
System.*.print*

Cleanup some uses of bad logging + mention of same in comments.
In case of CryptoUtiliy, delete main method having bad usages (api-change).

details:   https://code.openbravo.com/erp/devel/pi/rev/36b24dd5e2ff
changeset: 32424:36b24dd5e2ff
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Jul 07 12:28:04 2017 +0200
summary:   fixed bug 36444: SqlC generates code hides stack traces in case of 
error

  Show stack traces when error occurs in sqlc methods. By default it is still 
not
  shown, but it can be enabled by setting DEBUG log lovel.

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
 |   1 -
 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
              |   1 -
 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
      |   3 -
 src-core/src/org/openbravo/data/Sqlc.java                                      
                                   |  48 ++++++++-
 src-core/src/org/openbravo/utils/CryptoUtility.java                            
                                   |  10 --
 src-test/src/org/openbravo/test/base/TestLogAppender.java                      
                                   |   6 +-
 src-test/src/org/openbravo/test/system/ErrorTextParserTest.java                
                                   |  40 ++++++++-
 src/org/openbravo/dal/security/EntityAccessChecker.java                        
                                   |   3 +-
 8 files changed, 85 insertions(+), 27 deletions(-)

diffs (262 lines):

diff -r aa2d71ec3678 -r 36b24dd5e2ff 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
 Fri Jul 07 10:34:39 2017 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
 Fri Jul 07 12:28:04 2017 +0200
@@ -97,7 +97,6 @@
 
   public String generate() {
     final String jsCode = super.generate();
-    // System.err.println(jsCode);
     return jsCode;
   }
 
diff -r aa2d71ec3678 -r 36b24dd5e2ff 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
--- 
a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
      Fri Jul 07 10:34:39 2017 +0200
+++ 
b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
      Fri Jul 07 12:28:04 2017 +0200
@@ -180,7 +180,6 @@
       log.error(e.getMessage(), e);
       writeResult(response, JsonUtils.convertExceptionToJson(e));
     } catch (final Throwable t) {
-      t.printStackTrace(System.err);
       if (SessionHandler.isSessionHandlerPresent()) {
         SessionHandler.getInstance().setDoRollback(true);
       }
diff -r aa2d71ec3678 -r 36b24dd5e2ff 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
--- 
a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
      Fri Jul 07 10:34:39 2017 +0200
+++ 
b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java
      Fri Jul 07 12:28:04 2017 +0200
@@ -108,9 +108,6 @@
       jsonResponse.put(JsonConstants.RESPONSE_DATA, new 
JSONArray(jsonObjects));
       jsonResult.put(JsonConstants.RESPONSE_RESPONSE, jsonResponse);
 
-      // if (jsonObjects.size() > 0) {
-      // System.err.println(jsonObjects.get(0));
-      // }
       return jsonResult.toString();
     } catch (JSONException e) {
       throw new OBException(e);
diff -r aa2d71ec3678 -r 36b24dd5e2ff src-core/src/org/openbravo/data/Sqlc.java
--- a/src-core/src/org/openbravo/data/Sqlc.java Fri Jul 07 10:34:39 2017 +0200
+++ b/src-core/src/org/openbravo/data/Sqlc.java Fri Jul 07 12:28:04 2017 +0200
@@ -1285,12 +1285,20 @@
     out2.append("      instance.hasData = instance.result.isBeforeFirst();\n");
     out2.append("      instance.countRecord = 0;\n");
     out2.append("    } catch (SQLException e) {\n");
-    out2.append("      log4j.error(\"SQL error in query: \" + strSql + 
\"Exception:\" + e);\n");
+    out2.append("      if (log4j.isDebugEnabled()) {\n");
+    out2.append("        log4j.error(\"SQL error in query: \" + strSql, 
e);\n");
+    out2.append("      } else {\n");
+    out2.append("        log4j.error(\"SQL error in query: \" + strSql + \" 
:\" + e);\n");
+    out2.append("      }\n");
     out2.append("      instance.errorOcurred = true;\n");
     out2.append("      throw new ServletException(\"@CODE=\" + 
Integer.toString(e.getErrorCode()) + \"@\"\n");
     out2.append("          + e.getMessage());\n");
     out2.append("    } catch (Exception ex) {\n");
-    out2.append("      log4j.error(\"Exception in query: \" + strSql + 
\"Exception:\", ex);\n");
+    out2.append("      if (log4j.isDebugEnabled()) {\n");
+    out2.append("        log4j.error(\"Exception in query: \" + strSql, 
ex);\n");
+    out2.append("      } else {\n");
+    out2.append("        log4j.error(\"Exception in query: \" + strSql + \" 
:\" + ex);\n");
+    out2.append("      }\n");
     out2.append("      instance.errorOcurred = true;\n");
     out2.append("      throw new ServletException(\"@CODE=@\" + 
ex.getMessage());\n");
     out2.append("    }\n");
@@ -1374,10 +1382,18 @@
       out2.append("      }\n");
       out2.append("      resultKey.close();\n");
       out2.append("    } catch(SQLException e){\n");
-      out2.append("      log4j.error(\"SQL error in query: \" + strSql1 + 
\"Exception:\"+ e);\n");
+      out2.append("      if (log4j.isDebugEnabled()) {\n");
+      out2.append("        log4j.error(\"SQL error in query: \" + strSql, 
e);\n");
+      out2.append("      } else {\n");
+      out2.append("        log4j.error(\"SQL error in query: \" + strSql + \" 
:\" + e);\n");
+      out2.append("      }\n");
       out2.append("      throw new ServletException(\"@CODE=\" + 
Integer.toString(e.getErrorCode()) + \"@\" + e.getMessage());\n");
       out2.append("    } catch(Exception ex){\n");
-      out2.append("      log4j.error(\"Exception in query: \" + strSql1 + 
\"Exception:\"+ ex);\n");
+      out2.append("      if (log4j.isDebugEnabled()) {\n");
+      out2.append("        log4j.error(\"Exception in query: \" + strSql, 
ex);\n");
+      out2.append("      } else {\n");
+      out2.append("        log4j.error(\"Exception in query: \" + strSql + \" 
:\" + ex);\n");
+      out2.append("      }\n");
       out2.append("      throw new ServletException(\"@CODE=@\" + 
ex.getMessage());\n");
       out2.append("    } finally {\n");
       out2.append("      try {\n");
@@ -1494,10 +1510,18 @@
       }
     }
     out2.append("    } catch(SQLException e){\n");
-    out2.append("      log4j.error(\"SQL error in query: \" + strSql + 
\"Exception:\"+ e);\n");
+    out2.append("      if (log4j.isDebugEnabled()) {\n");
+    out2.append("        log4j.error(\"SQL error in query: \" + strSql, 
e);\n");
+    out2.append("      } else {\n");
+    out2.append("        log4j.error(\"SQL error in query: \" + strSql + \" 
:\" + e);\n");
+    out2.append("      }\n");
     out2.append("      throw new ServletException(\"@CODE=\" + 
Integer.toString(e.getErrorCode()) + \"@\" + e.getMessage());\n");
     out2.append("    } catch(Exception ex){\n");
-    out2.append("      log4j.error(\"Exception in query: \" + strSql + 
\"Exception:\"+ ex);\n");
+    out2.append("      if (log4j.isDebugEnabled()) {\n");
+    out2.append("        log4j.error(\"Exception in query: \" + strSql, 
ex);\n");
+    out2.append("      } else {\n");
+    out2.append("        log4j.error(\"Exception in query: \" + strSql + \" 
:\" + ex);\n");
+    out2.append("      }\n");
     out2.append("      throw new ServletException(\"@CODE=@\" + 
ex.getMessage());\n");
     out2.append("    } finally {\n");
     out2.append("      try {\n");
@@ -1553,7 +1577,11 @@
       if (outParams > 0)
         out2.append(paramsReceipt.toString());
       out2.append("      } catch(SQLException e){\n");
-      out2.append("        log4j.error(\"SQL error in query: \" + strSql + 
\"Exception:\"+ e);\n");
+      out2.append("      if (log4j.isDebugEnabled()) {\n");
+      out2.append("        log4j.error(\"SQL error in query: \" + strSql, 
e);\n");
+      out2.append("      } else {\n");
+      out2.append("        log4j.error(\"SQL error in query: \" + strSql + \" 
:\" + e);\n");
+      out2.append("      }\n");
       out2.append("        throw new ServletException(\"@CODE=\" + 
Integer.toString(e.getErrorCode()) + \"@\" + e.getMessage());\n");
       out2.append("      } catch(NoConnectionAvailableException ec){\n");
       out2.append("        log4j.error(\"Connection error in query: \" + 
strSql + \"Exception:\"+ ec);\n");
@@ -1562,7 +1590,11 @@
       out2.append("        log4j.error(\"Pool error in query: \" + strSql + 
\"Exception:\"+ ep);\n");
       out2.append("        throw new 
ServletException(\"@CODE=NoConnectionAvailable\");\n");
       out2.append("      } catch(Exception ex){\n");
-      out2.append("        log4j.error(\"Exception in query: \" + strSql + 
\"Exception:\"+ ex);\n");
+      out2.append("      if (log4j.isDebugEnabled()) {\n");
+      out2.append("        log4j.error(\"Exception in query: \" + strSql, 
ex);\n");
+      out2.append("      } else {\n");
+      out2.append("        log4j.error(\"Exception in query: \" + strSql + \" 
:\" + ex);\n");
+      out2.append("      }\n");
       out2.append("        throw new ServletException(\"@CODE=@\" + 
ex.getMessage());\n");
       out2.append("      }\n");
       out2.append("    }\n");
diff -r aa2d71ec3678 -r 36b24dd5e2ff 
src-core/src/org/openbravo/utils/CryptoUtility.java
--- a/src-core/src/org/openbravo/utils/CryptoUtility.java       Fri Jul 07 
10:34:39 2017 +0200
+++ b/src-core/src/org/openbravo/utils/CryptoUtility.java       Fri Jul 07 
12:28:04 2017 +0200
@@ -24,16 +24,6 @@
   public CryptoUtility() {
   }
 
-  public static void main(String argv[]) throws Exception {
-    System.out.println("Enter encryption password:  ");
-    System.out.flush();
-    String clave = argv[0];
-    System.out.println("************* " + clave);
-    String strEnc = CryptoUtility.encrypt(clave);
-    System.out.println("ENCRYPTED TEXT: " + strEnc);
-    System.out.println("DECRYPTED TEXT: " + CryptoUtility.decrypt(strEnc));
-  }
-
   private static void initCipher() {
     try {
       s_key = new SecretKeySpec(new byte[] { 100, 25, 28, -122, -26, 94, -3, 
-72 }, "DES");
diff -r aa2d71ec3678 -r 36b24dd5e2ff 
src-test/src/org/openbravo/test/base/TestLogAppender.java
--- a/src-test/src/org/openbravo/test/base/TestLogAppender.java Fri Jul 07 
10:34:39 2017 +0200
+++ b/src-test/src/org/openbravo/test/base/TestLogAppender.java Fri Jul 07 
12:28:04 2017 +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) 2016 Openbravo SLU 
+ * All portions are Copyright (C) 2016-2017 Openbravo SLU 
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -19,6 +19,7 @@
 package org.openbravo.test.base;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -47,6 +48,9 @@
       messages.put(event.getLevel(), levelMsgs);
     }
     levelMsgs.add(event.getMessage().toString());
+    if (event.getThrowableStrRep() != null) {
+      levelMsgs.addAll(Arrays.asList(event.getThrowableStrRep()));
+    }
   }
 
   @Override
diff -r aa2d71ec3678 -r 36b24dd5e2ff 
src-test/src/org/openbravo/test/system/ErrorTextParserTest.java
--- a/src-test/src/org/openbravo/test/system/ErrorTextParserTest.java   Fri Jul 
07 10:34:39 2017 +0200
+++ b/src-test/src/org/openbravo/test/system/ErrorTextParserTest.java   Fri Jul 
07 12:28:04 2017 +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-2014 Openbravo SLU
+ * All portions are Copyright (C) 2010-2017 Openbravo SLU
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -19,12 +19,18 @@
 
 package org.openbravo.test.system;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.Matchers.hasItem;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
 
 import java.sql.Connection;
 
 import javax.servlet.ServletException;
 
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
 import org.junit.Test;
 import org.openbravo.base.secureApp.VariablesSecureApp;
 import org.openbravo.database.ConnectionProvider;
@@ -91,6 +97,38 @@
     }
   }
 
+  @Test
+  public void whenStatementFailsNoStackTraceIsLoggedByDefault() throws 
Exception {
+    setTestLogAppenderLevel(Level.INFO);
+
+    doErrorTextParserTest(1);
+
+    assertThat(
+        "Stack trace shouldn't be included in log",
+        getTestLogAppender().getMessages(Level.ERROR),
+        not(hasItem(containsString("at 
org.openbravo.test.system.ErrorTextParserTestData.insertUserPK"))));
+  }
+
+  @Test
+  public void whenStatementFailsStackTraceIsLoggedHavingDebugLogLevel() throws 
Exception {
+    Logger sqlcLogger = Logger.getLogger(ErrorTextParserTestData.class);
+    Level originalLogLevel = sqlcLogger.getLevel();
+
+    try {
+      setTestLogAppenderLevel(Level.DEBUG);
+      sqlcLogger.setLevel(Level.DEBUG);
+
+      doErrorTextParserTest(1);
+
+      assertThat(
+          "Stack trace should be included in log",
+          getTestLogAppender().getMessages(Level.ERROR),
+          hasItem(containsString("at 
org.openbravo.test.system.ErrorTextParserTestData.insertUserPK")));
+    } finally {
+      sqlcLogger.setLevel(originalLogLevel);
+    }
+  }
+
   private void doErrorTextParserTest(int testCase) throws Exception {
     ConnectionProvider conn = getConnectionProvider();
     VariablesSecureApp vars = new VariablesSecureApp("", "", "");
diff -r aa2d71ec3678 -r 36b24dd5e2ff 
src/org/openbravo/dal/security/EntityAccessChecker.java
--- a/src/org/openbravo/dal/security/EntityAccessChecker.java   Fri Jul 07 
10:34:39 2017 +0200
+++ b/src/org/openbravo/dal/security/EntityAccessChecker.java   Fri Jul 07 
12:28:04 2017 +0200
@@ -372,8 +372,7 @@
   }
 
   /**
-   * Dumps the readable, writable, derived readable entities to the System.err 
outputstream. For
-   * debugging purposes.
+   * Dumps the readable, writable, derived readable entities. For debugging 
purposes.
    */
   public void dump() {
     log.info("");

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