User: rt Date: 05/03/30 03:52:07 Modified: /dba/connectivity/source/drivers/hsqldb/ StorageNativeInputStream.cxx
Log: INTEGRATION: CWS dba28 (1.3.22); FILE MERGED 2005/03/30 11:27:29 fs 1.3.22.3: RESYNC: (1.3-1.4); FILE MERGED 2005/03/23 14:58:31 fs 1.3.22.2: #i45314# logging facilities 2005/03/21 12:53:33 fs 1.3.22.1: copying the changes from CWS dba26 herein, since they're needed to fix i45314 File Changes: Directory: /dba/connectivity/source/drivers/hsqldb/ =================================================== File [changed]: StorageNativeInputStream.cxx Url: http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/hsqldb/StorageNativeInputStream.cxx?r1=1.4&r2=1.5 Delta lines: +74 -31 --------------------- --- StorageNativeInputStream.cxx 23 Mar 2005 09:41:37 -0000 1.4 +++ StorageNativeInputStream.cxx 30 Mar 2005 11:52:05 -0000 1.5 @@ -84,14 +84,21 @@ #ifndef _COMPHELPER_TYPES_HXX_ #include <comphelper/types.hxx> #endif -#include "hsqldb/HStorageAccess.h" +#ifndef CONNECTIVITY_HSQLDB_STORAGEACCESS_HXX +#include "hsqldb/HStorageAccess.hxx" +#endif #include "hsqldb/HStorageMap.hxx" #include "hsqldb/StorageNativeInputStream.h" #include "jvmaccess/virtualmachine.hxx" -#include "com/sun/star/lang/XSingleComponentFactory.hpp" +#ifndef _COM_SUN_STAR_LANG_XSINGLECOMPONENTFACTORY_HPP_ +#include <com/sun/star/lang/XSingleComponentFactory.hpp> +#endif + +#ifndef CONNECTIVITY_HSQLDB_ACCESSLOG_HXX +#include "accesslog.hxx" +#endif -#include <rtl/logfile.hxx> #include <limits> @@ -119,10 +126,8 @@ { #if OSL_DEBUG_LEVEL > 1 { - ::rtl::OUString sOrgName = StorageContainer::jstring2ustring(env,name); - sOrgName += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".input")); - ::rtl::OString sName = ::rtl::OUStringToOString(sOrgName,RTL_TEXTENCODING_ASCII_US); - getStreams()[sOrgName] = fopen( sName.getStr(), "a+" ); + OperationLogFile( env, name, "input" ).logOperation( "openStream" ); + LogFile( env, name, "input" ).create(); } #endif StorageContainer::registerStream(env,name,key,mode); @@ -137,7 +142,14 @@ JNIEXPORT jint JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeInputStream_read__Ljava_lang_String_2Ljava_lang_String_2 (JNIEnv * env, jobject obj_this,jstring key, jstring name) { - return Java_com_sun_star_sdbcx_comp_hsqldb_NativeStorageAccess_read__Ljava_lang_String_2Ljava_lang_String_2(env,obj_this,name,key); +#if OSL_DEBUG_LEVEL > 1 + OperationLogFile( env, name, "input" ).logOperation( "read()" ); + + DataLogFile aDataLog( env, name, "input" ); + return read_from_storage_stream( env, obj_this, name, key, &aDataLog ); +#else + return read_from_storage_stream( env, obj_this, name, key ); +#endif } // ----------------------------------------------------------------------------- @@ -149,7 +161,14 @@ JNIEXPORT jint JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeInputStream_read__Ljava_lang_String_2Ljava_lang_String_2_3BII (JNIEnv * env, jobject obj_this,jstring key, jstring name, jbyteArray buffer, jint off, jint len) { - return Java_com_sun_star_sdbcx_comp_hsqldb_NativeStorageAccess_read__Ljava_lang_String_2Ljava_lang_String_2_3BII(env,obj_this,name,key,buffer,off,len); +#if OSL_DEBUG_LEVEL > 1 + OperationLogFile( env, name, "input" ).logOperation( "read( byte[], int, int )" ); + + DataLogFile aDataLog( env, name, "input" ); + return read_from_storage_stream_into_buffer( env, obj_this, name, key, buffer, off, len, &aDataLog ); +#else + return read_from_storage_stream_into_buffer(env,obj_this,name,key,buffer,off,len); +#endif } // ----------------------------------------------------------------------------- @@ -162,12 +181,12 @@ (JNIEnv * env, jobject obj_this,jstring key, jstring name) { #if OSL_DEBUG_LEVEL > 1 - { - ::rtl::OUString sOrgName = StorageContainer::jstring2ustring(env,name); - sOrgName += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".input")); - fclose( getStreams()[sOrgName] ); - getStreams().erase(sOrgName); - } + OperationLogFile aOpLog( env, name, "input" ); + aOpLog.logOperation( "close" ); + aOpLog.close(); + + LogFile aDataLog( env, name, "input" ); + aDataLog.close(); #endif StorageContainer::revokeStream(env,name,key); } @@ -181,6 +200,10 @@ JNIEXPORT jlong JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeInputStream_skip (JNIEnv * env, jobject obj_this,jstring key, jstring name, jlong n) { +#if OSL_DEBUG_LEVEL > 1 + OperationLogFile( env, name, "input" ).logOperation( "skip()" ); +#endif + if ( n < 0 ) ThrowException( env, "java/io/IOException", @@ -244,6 +267,11 @@ JNIEXPORT jint JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeInputStream_available (JNIEnv * env, jobject obj_this,jstring key, jstring name) { +#if OSL_DEBUG_LEVEL > 1 + OperationLogFile aOpLog( env, name, "input" ); + aOpLog.logOperation( "available" ); +#endif + ::boost::shared_ptr<StreamHelper> pHelper = StorageContainer::getRegisteredStream(env,name,key); OSL_ENSURE(pHelper.get(),"No stream helper!"); Reference<XInputStream> xIn = pHelper.get() ? pHelper->getInputStream() : Reference<XInputStream>(); @@ -251,7 +279,11 @@ { try { - return xIn->available(); + jint nAvailable = xIn->available(); +#if OSL_DEBUG_LEVEL > 1 + aOpLog.logReturn( nAvailable ); +#endif + return nAvailable; } catch(Exception& e) { @@ -277,10 +309,17 @@ JNIEXPORT jint JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeInputStream_read__Ljava_lang_String_2Ljava_lang_String_2_3B (JNIEnv * env, jobject obj_this,jstring key, jstring name, jbyteArray buffer) { +#if OSL_DEBUG_LEVEL > 1 + OperationLogFile aOpLog( env, name, "input" ); + aOpLog.logOperation( "read( byte[] )" ); + + DataLogFile aDataLog( env, name, "input" ); +#endif + ::boost::shared_ptr<StreamHelper> pHelper = StorageContainer::getRegisteredStream(env,name,key); Reference< XInputStream> xIn = pHelper.get() ? pHelper->getInputStream() : Reference< XInputStream>(); OSL_ENSURE(xIn.is(),"Input stream is NULL!"); - sal_Int32 nBytesRead = 0; + jint nBytesRead = 0; if ( xIn.is() ) { jsize nLen = env->GetArrayLength(buffer); @@ -301,17 +340,21 @@ // must <= len. // if (nBytesRead <= 0) { +#if OSL_DEBUG_LEVEL > 1 + aOpLog.logReturn( (jint)-1 ); +#endif return -1; } OSL_ENSURE(nLen >= nBytesRead,"Buffer is too small!"); OSL_ENSURE(aData.getLength() >= nBytesRead,"Buffer is too small!"); env->SetByteArrayRegion(buffer,0,nBytesRead,&aData[0]); #if OSL_DEBUG_LEVEL > 1 - ::rtl::OUString sOrgName = StorageContainer::jstring2ustring(env,name); - sOrgName += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".input")); - fwrite(&aData[0],sizeof(sal_Int8),nBytesRead,getStreams()[sOrgName]); + aDataLog.write( &aData[0], nBytesRead ); #endif } +#if OSL_DEBUG_LEVEL > 1 + aOpLog.logReturn( nBytesRead ); +#endif return nBytesRead; } // ----------------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
