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]
