User: ihi     
Date: 2007-11-21 15:03:52+0000
Modified:
   dba/connectivity/source/drivers/jdbc/JStatement.cxx

Log:
 INTEGRATION: CWS dba24c (1.3.34); FILE MERGED
 2007/10/29 09:44:13 fs 1.3.34.2: adjusted some log levels
 2007/10/15 13:32:36 fs 1.3.34.1: #i82222# when executing statements, also put 
the DriverClassLoader of the connection in place as ContextClassLoader

File Changes:

Directory: /dba/connectivity/source/drivers/jdbc/
=================================================

File [changed]: JStatement.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/jdbc/JStatement.cxx?r1=1.3&r2=1.4
Delta lines:  +41 -31
---------------------
--- JStatement.cxx      2007-06-27 14:36:28+0000        1.3
+++ JStatement.cxx      2007-11-21 15:03:49+0000        1.4
@@ -35,22 +35,14 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_connectivity.hxx"
-#ifndef _CONNECTIVITY_JAVA_SQL_STATEMENT_HXX_
-#include "java/sql/JStatement.hxx"
-#endif
 
-#ifndef _CONNECTIVITY_JAVA_SQL_RESULTSET_HXX_
+#include "java/sql/JStatement.hxx"
 #include "java/sql/ResultSet.hxx"
-#endif
-#ifndef _CONNECTIVITY_JAVA_SQL_CONNECTION_HXX_
 #include "java/sql/Connection.hxx"
-#endif
-#ifndef _CONNECTIVITY_JAVA_SQL_SQLWARNING_HXX_
 #include "java/sql/SQLWarning.hxx"
-#endif
-#ifndef _CONNECTIVITY_JAVA_TOOLS_HXX_
 #include "java/tools.hxx"
-#endif
+#include "java/ContextClassLoader.hxx"
+
 #ifndef _COMPHELPER_PROPERTY_HXX_
 #include <comphelper/property.hxx>
 #endif
@@ -168,7 +160,7 @@
 // 
-----------------------------------------------------------------------------
 void SAL_CALL java_sql_Statement_Base::disposing(void)
 {
-    m_aLogger.log( LogLevel::INFO, STR_LOG_CLOSING_STATEMENT );
+    m_aLogger.log( LogLevel::FINE, STR_LOG_CLOSING_STATEMENT );
        java_sql_Statement_BASE::disposing();
        clearObject();
 }
@@ -315,7 +307,7 @@
 
 sal_Bool SAL_CALL java_sql_Statement_Base::execute( const ::rtl::OUString& sql 
) throw(SQLException, RuntimeException)
 {
-    m_aLogger.log( LogLevel::INFO, STR_LOG_EXECUTE_STATEMENT, sql );
+    m_aLogger.log( LogLevel::FINE, STR_LOG_EXECUTE_STATEMENT, sql );
 
        jboolean out(sal_False);
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
@@ -332,11 +324,17 @@
                        mID  = t.pEnv->GetMethodID( getMyClass(), cMethodName, 
cSignature );OSL_ENSURE(mID,"Unknown method id!");
                if( mID ){
                        // Parameter konvertieren
-                       jstring str = convertwchar_tToJavaString(t.pEnv,sql);
-                       out = t.pEnv->CallBooleanMethod( object, mID, str );
-                       // und aufraeumen
-                       t.pEnv->DeleteLocalRef(str);
+            jdbc::LocalRef< jstring > str( t.env(), 
convertwchar_tToJavaString( t.pEnv, sql ) );
+            {
+                jdbc::ContextClassLoaderScope ccl( t.env(),
+                    m_pConnection ? m_pConnection->getDriverClassLoader() : 
jdbc::GlobalRef< jobject >(),
+                    m_aLogger,
+                    *this
+                );
+
+                           out = t.pEnv->CallBooleanMethod( object, mID, 
str.get() );
                        ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
+            }
                } //mID
        } //t.pEnv
        return out;
@@ -345,7 +343,7 @@
 
 Reference< XResultSet > SAL_CALL java_sql_Statement_Base::executeQuery( const 
::rtl::OUString& sql ) throw(SQLException, RuntimeException)
 {
-    m_aLogger.log( LogLevel::INFO, STR_LOG_EXECUTE_QUERY, sql );
+    m_aLogger.log( LogLevel::FINE, STR_LOG_EXECUTE_QUERY, sql );
 
     jobject out(0);
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
@@ -362,11 +360,17 @@
                        mID  = t.pEnv->GetMethodID( getMyClass(), cMethodName, 
cSignature );OSL_ENSURE(mID,"Unknown method id!");
                if( mID ){
                        // Parameter konvertieren
-                       jstring str = convertwchar_tToJavaString(t.pEnv,sql);
-                       out = t.pEnv->CallObjectMethod( object, mID, str);
-                       // und aufraeumen
-                       t.pEnv->DeleteLocalRef(str);
+            jdbc::LocalRef< jstring > str( t.env(), 
convertwchar_tToJavaString( t.pEnv, sql ) );
+            {
+                jdbc::ContextClassLoaderScope ccl( t.env(),
+                    m_pConnection ? m_pConnection->getDriverClassLoader() : 
jdbc::GlobalRef< jobject >(),
+                    m_aLogger,
+                    *this
+                );
+
+                       out = t.pEnv->CallObjectMethod( object, mID, str.get() 
);
                        ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
+            }
                } //mID
        } //t.pEnv
        // ACHTUNG: der Aufrufer wird Eigentuemer des zurueckgelieferten 
Zeigers !!!
@@ -443,7 +447,7 @@
 
 sal_Int32 SAL_CALL java_sql_Statement_Base::executeUpdate( const 
::rtl::OUString& sql ) throw(SQLException, RuntimeException)
 {
-    m_aLogger.log( LogLevel::INFO, STR_LOG_EXECUTE_UPDATE, sql );
+    m_aLogger.log( LogLevel::FINE, STR_LOG_EXECUTE_UPDATE, sql );
 
        jint out(0);
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
@@ -459,11 +463,17 @@
                        mID  = t.pEnv->GetMethodID( getMyClass(), cMethodName, 
cSignature );OSL_ENSURE(mID,"Unknown method id!");
                if( mID ){
                        // Parameter konvertieren
-                       jstring str = convertwchar_tToJavaString(t.pEnv,sql);
-                       out = t.pEnv->CallIntMethod( object, mID, str );
-                       // und aufraeumen
-                       t.pEnv->DeleteLocalRef(str);
+            jdbc::LocalRef< jstring > str( t.env(), 
convertwchar_tToJavaString( t.pEnv, sql ) );
+            {
+                jdbc::ContextClassLoaderScope ccl( t.env(),
+                    m_pConnection ? m_pConnection->getDriverClassLoader() : 
jdbc::GlobalRef< jobject >(),
+                    m_aLogger,
+                    *this
+                );
+
+                       out = t.pEnv->CallIntMethod( object, mID, str.get() );
                        ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
+            }
                } //mID
        } //t.pEnv
        return (sal_Int32)out;
@@ -800,7 +810,7 @@
 
//------------------------------------------------------------------------------
 void java_sql_Statement_Base::setEscapeProcessing(sal_Bool _par0) 
throw(SQLException, RuntimeException)
 {
-    m_aLogger.log( LogLevel::INFO, STR_LOG_SET_ESCAPE_PROCESSING, _par0 );
+    m_aLogger.log( LogLevel::FINE, STR_LOG_SET_ESCAPE_PROCESSING, _par0 );
 
     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     m_bEscapeProcessing = _par0;




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to