You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/04/23 09:19:01 UTC
svn commit: r1470834 - in
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb:
assembler/classic/ImportSql.java
resource/jdbc/logging/LoggingPreparedSqlStatement.java
Author: rmannibucau
Date: Tue Apr 23 07:19:01 2013
New Revision: 1470834
URL: http://svn.apache.org/r1470834
Log:
TOMEE-905 TOMEE-906 avoid NPE when logging sql statements + allowing to deactivate sql imports
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ImportSql.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ImportSql.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ImportSql.java?rev=1470834&r1=1470833&r2=1470834&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ImportSql.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ImportSql.java Tue Apr 23 07:19:01 2013
@@ -17,6 +17,7 @@
package org.apache.openejb.assembler.classic;
import org.apache.openejb.OpenEJBRuntimeException;
+import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
@@ -35,6 +36,8 @@ import java.util.Enumeration;
public class ImportSql {
private static final Logger LOGGER = Logger.getInstance(LogCategory.OPENEJB, EntityManagerFactoryCallable.class.getName());
+ public static final String OPENEJB_SQL_IMPORT = "openejb.sql.import";
+
public static final String IMPORT_FILE_PREFIX = "import-";
public static final String IMPORT_FILE_EXTENSION = ".sql";
@@ -58,7 +61,7 @@ public class ImportSql {
}
public boolean hasSomethingToImport() {
- return !done && imports != null && imports.hasMoreElements();
+ return !done && imports != null && imports.hasMoreElements() && SystemInstance.get().getOptions().get(OPENEJB_SQL_IMPORT, true);
}
public void doImport() {
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java?rev=1470834&r1=1470833&r2=1470834&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java Tue Apr 23 07:19:01 2013
@@ -59,8 +59,12 @@ public class LoggingPreparedSqlStatement
if (str.contains("?")) {
try {
str = str.replaceFirst("\\?", param.value.toString());
- } catch (Exception e) {
- str = str.replaceFirst("\\?", param.value.getClass().getName());
+ } catch (final Exception e) {
+ if (param.value == null) {
+ str = str.replaceFirst("\\?", "null");
+ } else {
+ str = str.replaceFirst("\\?", param.value.getClass().getName());
+ }
}
lastBatch = param.batchIndex;
} else {
@@ -72,7 +76,11 @@ public class LoggingPreparedSqlStatement
try {
str += param.value.toString();
} catch (Exception e) {
- str += param.value.getClass().getName();
+ if (param.value == null) {
+ str += "null";
+ } else {
+ str += param.value.getClass().getName();
+ }
}
if (i == parameters.size() - 1 || parameters.get(i + 1).batchIndex != lastBatch) {