LCOV - code coverage report
Current view: top level - libreoffice/connectivity/source/drivers/jdbc - ResultSet.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 378 0.0 %
Date: 2012-12-17 Functions: 0 92 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include "java/lang/String.hxx"
      21             : #include "java/lang/Boolean.hxx"
      22             : #include "java/sql/ResultSet.hxx"
      23             : #include "java/math/BigDecimal.hxx"
      24             : #include "java/sql/JStatement.hxx"
      25             : #include "java/sql/SQLWarning.hxx"
      26             : #include "java/sql/Timestamp.hxx"
      27             : #include "java/sql/Array.hxx"
      28             : #include "java/sql/Ref.hxx"
      29             : #include "java/sql/Clob.hxx"
      30             : #include "java/sql/Blob.hxx"
      31             : #include "java/sql/ResultSetMetaData.hxx"
      32             : #include "java/io/InputStream.hxx"
      33             : #include "java/io/Reader.hxx"
      34             : #include "java/tools.hxx"
      35             : #include <comphelper/property.hxx>
      36             : #include "connectivity/CommonTools.hxx"
      37             : #include <cppuhelper/typeprovider.hxx>
      38             : #include <comphelper/sequence.hxx>
      39             : #include <com/sun/star/beans/PropertyAttribute.hpp>
      40             : #include "TConnection.hxx"
      41             : #include <comphelper/types.hxx>
      42             : #include "connectivity/dbtools.hxx"
      43             : #include "connectivity/dbexception.hxx"
      44             : #include "resource/common_res.hrc"
      45             : #include "resource/sharedresources.hxx"
      46             : #include "java/LocalRef.hxx"
      47             : 
      48             : #include <rtl/logfile.hxx>
      49             : #include <string.h>
      50             : 
      51             : using namespace ::comphelper;
      52             : 
      53             : using namespace connectivity;
      54             : using namespace ::com::sun::star::uno;
      55             : using namespace ::com::sun::star::beans;
      56             : using namespace ::com::sun::star::sdbc;
      57             : using namespace ::com::sun::star::container;
      58             : using namespace ::com::sun::star::lang;
      59             : 
      60           0 : IMPLEMENT_SERVICE_INFO(java_sql_ResultSet,"com.sun.star.sdbcx.JResultSet","com.sun.star.sdbc.ResultSet");
      61             : //**************************************************************
      62             : //************ Class: java.sql.ResultSet
      63             : //**************************************************************
      64             : 
      65             : jclass java_sql_ResultSet::theClass = 0;
      66           0 : java_sql_ResultSet::java_sql_ResultSet( JNIEnv * pEnv, jobject myObj, const java::sql::ConnectionLog& _rParentLogger,java_sql_Connection& _rConnection, java_sql_Statement_Base* pStmt)
      67             :     :java_sql_ResultSet_BASE(m_aMutex)
      68             :     ,java_lang_Object( pEnv, myObj )
      69             :     ,OPropertySetHelper(java_sql_ResultSet_BASE::rBHelper)
      70             :     ,m_aLogger( _rParentLogger, java::sql::ConnectionLog::RESULTSET )
      71           0 :     ,m_pConnection(&_rConnection)
      72             : {
      73             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::java_sql_ResultSet" );
      74           0 :     SDBThreadAttach::addRef();
      75           0 :     osl_atomic_increment(&m_refCount);
      76           0 :     if ( pStmt )
      77           0 :         m_xStatement = *pStmt;
      78             : 
      79           0 :     osl_atomic_decrement(&m_refCount);
      80           0 : }
      81             : // -----------------------------------------------------------------------------
      82           0 : java_sql_ResultSet::~java_sql_ResultSet()
      83             : {
      84           0 :     if ( !java_sql_ResultSet_BASE::rBHelper.bDisposed && !java_sql_ResultSet_BASE::rBHelper.bInDispose )
      85             :     {
      86             :         // increment ref count to prevent double call of Dtor
      87           0 :         osl_atomic_increment( &m_refCount );
      88           0 :         dispose();
      89             :     }
      90           0 : }
      91             : 
      92           0 : jclass java_sql_ResultSet::getMyClass() const
      93             : {
      94             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getMyClass" );
      95             :     // the class must be fetched only once, therefore static
      96           0 :     if( !theClass )
      97           0 :         theClass = findMyClass("java/sql/ResultSet");
      98           0 :     return theClass;
      99             : }
     100             : 
     101             : // -------------------------------------------------------------------------
     102           0 : void java_sql_ResultSet::disposing(void)
     103             : {
     104             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::disposing" );
     105           0 :     OPropertySetHelper::disposing();
     106             : 
     107           0 :     ::osl::MutexGuard aGuard(m_aMutex);
     108           0 : m_xMetaData.clear();
     109           0 :     if( object )
     110             :     {
     111           0 :         SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     112             :         static jmethodID mID(NULL);
     113           0 :         callVoidMethod("close",mID);
     114           0 :         clearObject(*t.pEnv);
     115             :     }
     116             : 
     117           0 :     SDBThreadAttach::releaseRef();
     118           0 : }
     119             : // -------------------------------------------------------------------------
     120           0 : ::com::sun::star::uno::Any SAL_CALL java_sql_ResultSet::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException)
     121             : {
     122             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::queryInterface" );
     123           0 :     ::com::sun::star::uno::Any aRet = OPropertySetHelper::queryInterface(rType);
     124           0 :     return aRet.hasValue() ? aRet : java_sql_ResultSet_BASE::queryInterface(rType);
     125             : }
     126             : // -------------------------------------------------------------------------
     127           0 : ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL java_sql_ResultSet::getTypes(  ) throw(::com::sun::star::uno::RuntimeException)
     128             : {
     129             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getTypes" );
     130           0 :     ::cppu::OTypeCollection aTypes( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > *)0 ),
     131           0 :                                     ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > *)0 ),
     132           0 :                                     ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > *)0 ));
     133             : 
     134           0 :     return ::comphelper::concatSequences(aTypes.getTypes(),java_sql_ResultSet_BASE::getTypes());
     135             : }
     136             : // -------------------------------------------------------------------------
     137             : 
     138           0 : sal_Int32 SAL_CALL java_sql_ResultSet::findColumn( const ::rtl::OUString& columnName ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     139             : {
     140             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::findColumn" );
     141             :     static jmethodID mID(NULL);
     142           0 :     return callIntMethodWithStringArg("findColumn",mID,columnName);
     143             : }
     144             : // -------------------------------------------------------------------------
     145           0 : Reference< ::com::sun::star::io::XInputStream > SAL_CALL java_sql_ResultSet::getBinaryStream( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     146             : {
     147             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getBinaryStream" );
     148           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     149             :     static jmethodID mID(NULL);
     150           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getBinaryStream","(I)Ljava/io/InputStream;", mID, columnIndex);
     151             : 
     152             :     // WARNING: the caller becomes the owner of the returned pointer
     153           0 :     return out==0 ? 0 : new java_io_InputStream( t.pEnv, out );
     154             : }
     155             : // -------------------------------------------------------------------------
     156           0 : Reference< ::com::sun::star::io::XInputStream > SAL_CALL java_sql_ResultSet::getCharacterStream( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     157             : {
     158             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getCharacterStream" );
     159           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     160             :     static jmethodID mID(NULL);
     161           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getCharacterStream","(I)Ljava/io/Reader;", mID, columnIndex);
     162             : 
     163             :     // WARNING: the caller becomes the owner of the returned pointer
     164           0 :     return out==0 ? 0 : new java_io_Reader( t.pEnv, out );
     165             : }
     166             : // -------------------------------------------------------------------------
     167             : 
     168           0 : sal_Bool SAL_CALL java_sql_ResultSet::getBoolean( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     169             : {
     170             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getBoolean" );
     171             :     static jmethodID mID(NULL);
     172           0 :     return callBooleanMethodWithIntArg( "getBoolean", mID,columnIndex );
     173             : }
     174             : // -------------------------------------------------------------------------
     175             : 
     176           0 : sal_Int8 SAL_CALL java_sql_ResultSet::getByte( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     177             : {
     178             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getByte" );
     179             :     static jmethodID mID(NULL);
     180           0 :     jbyte (JNIEnv::*pCallMethod)( jobject obj, jmethodID methodID, ... ) = &JNIEnv::CallByteMethod;
     181           0 :     return callMethodWithIntArg<jbyte>(pCallMethod,"getByte","(I)B",mID,columnIndex);
     182             : }
     183             : // -------------------------------------------------------------------------
     184             : 
     185           0 : Sequence< sal_Int8 > SAL_CALL java_sql_ResultSet::getBytes( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     186             : {
     187             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getBytes" );
     188           0 :     Sequence< sal_Int8 > aSeq;
     189           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     190             :     static jmethodID mID(NULL);
     191           0 :     jbyteArray out = (jbyteArray)callObjectMethodWithIntArg(t.pEnv,"getBytes","(I)[B", mID, columnIndex);
     192           0 :     if (out)
     193             :     {
     194           0 :         jboolean p = sal_False;
     195           0 :         aSeq.realloc(t.pEnv->GetArrayLength(out));
     196           0 :         memcpy(aSeq.getArray(),t.pEnv->GetByteArrayElements(out,&p),aSeq.getLength());
     197           0 :         t.pEnv->DeleteLocalRef(out);
     198             :     }
     199           0 :     return aSeq;
     200             : }
     201             : // -------------------------------------------------------------------------
     202             : 
     203           0 : ::com::sun::star::util::Date SAL_CALL java_sql_ResultSet::getDate( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     204             : {
     205             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getDate" );
     206           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     207             :     static jmethodID mID(NULL);
     208           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getDate","(I)Ljava/sql/Date;", mID, columnIndex);
     209             :     // WARNING: the caller becomes the owner of the returned pointer
     210           0 :     return out ? static_cast <com::sun::star::util::Date> (java_sql_Date( t.pEnv, out )) : ::com::sun::star::util::Date();
     211             : }
     212             : // -------------------------------------------------------------------------
     213             : 
     214           0 : double SAL_CALL java_sql_ResultSet::getDouble( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     215             : {
     216             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getDouble" );
     217             :     static jmethodID mID(NULL);
     218           0 :     jdouble (JNIEnv::*pCallMethod)( jobject obj, jmethodID methodID, ... ) = &JNIEnv::CallDoubleMethod;
     219           0 :     return callMethodWithIntArg<double>(pCallMethod,"getDouble","(I)D",mID,columnIndex);
     220             : }
     221             : // -------------------------------------------------------------------------
     222             : 
     223           0 : float SAL_CALL java_sql_ResultSet::getFloat( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     224             : {
     225             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getFloat" );
     226             :     static jmethodID mID(NULL);
     227           0 :     jfloat (JNIEnv::*pCallMethod)( jobject obj, jmethodID methodID, ... ) = &JNIEnv::CallFloatMethod;
     228           0 :     return callMethodWithIntArg<jfloat>(pCallMethod,"getFloat","(I)F",mID,columnIndex);
     229             : }
     230             : // -------------------------------------------------------------------------
     231             : 
     232           0 : sal_Int32 SAL_CALL java_sql_ResultSet::getInt( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     233             : {
     234             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getInt" );
     235             :     static jmethodID mID(NULL);
     236           0 :     return callIntMethodWithIntArg("getInt",mID,columnIndex);
     237             : }
     238             : // -------------------------------------------------------------------------
     239             : 
     240           0 : sal_Int32 SAL_CALL java_sql_ResultSet::getRow(  ) throw(SQLException, RuntimeException)
     241             : {
     242             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getRow" );
     243             :     static jmethodID mID(NULL);
     244           0 :     return callIntMethod("getRow",mID);
     245             : }
     246             : // -------------------------------------------------------------------------
     247             : 
     248           0 : sal_Int64 SAL_CALL java_sql_ResultSet::getLong( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     249             : {
     250             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getLong" );
     251             :     static jmethodID mID(NULL);
     252           0 :     jlong (JNIEnv::*pCallMethod)( jobject obj, jmethodID methodID, ... ) = &JNIEnv::CallLongMethod;
     253           0 :     return callMethodWithIntArg<jlong>(pCallMethod,"getLong","(I)J",mID,columnIndex);
     254             : }
     255             : // -------------------------------------------------------------------------
     256             : 
     257           0 : ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > SAL_CALL java_sql_ResultSet::getMetaData(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     258             : {
     259             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getMetaData" );
     260           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     261             :     static jmethodID mID(NULL);
     262           0 :     jobject out = callObjectMethod(t.pEnv,"getMetaData","()Ljava/sql/ResultSetMetaData;", mID);
     263             : 
     264           0 :     return out==0 ? 0 : new java_sql_ResultSetMetaData( t.pEnv, out, m_aLogger,*m_pConnection );
     265             : }
     266             : // -------------------------------------------------------------------------
     267           0 : Reference< XArray > SAL_CALL java_sql_ResultSet::getArray( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     268             : {
     269             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getArray" );
     270           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     271             :     static jmethodID mID(NULL);
     272           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getArray","(I)Ljava/sql/Array;", mID, columnIndex);
     273             : 
     274             :     // WARNING: the caller becomes the owner of the returned pointer
     275           0 :     return out==0 ? 0 : new java_sql_Array( t.pEnv, out );
     276             : }
     277             : // -------------------------------------------------------------------------
     278             : 
     279           0 : Reference< XClob > SAL_CALL java_sql_ResultSet::getClob( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     280             : {
     281             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getClob" );
     282           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     283             :     static jmethodID mID(NULL);
     284           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getClob","(I)Ljava/sql/Clob;", mID, columnIndex);
     285             :     // WARNING: the caller becomes the owner of the returned pointer
     286           0 :     return out==0 ? 0 : new java_sql_Clob( t.pEnv, out );
     287             : }
     288             : // -------------------------------------------------------------------------
     289           0 : Reference< XBlob > SAL_CALL java_sql_ResultSet::getBlob( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     290             : {
     291             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getBlob" );
     292           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     293             :     static jmethodID mID(NULL);
     294           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getBlob","(I)Ljava/sql/Blob;", mID, columnIndex);
     295             :     // WARNING: the caller becomes the owner of the returned pointer
     296           0 :     return out==0 ? 0 : new java_sql_Blob( t.pEnv, out );
     297             : }
     298             : // -------------------------------------------------------------------------
     299             : 
     300           0 : Reference< XRef > SAL_CALL java_sql_ResultSet::getRef( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     301             : {
     302             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getRef" );
     303           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     304             :     static jmethodID mID(NULL);
     305           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getRef","(I)Ljava/sql/Ref;", mID, columnIndex);
     306             : 
     307             :     // WARNING: the caller becomes the owner of the returned pointer
     308           0 :     return out==0 ? 0 : new java_sql_Ref( t.pEnv, out );
     309             : }
     310             : // -------------------------------------------------------------------------
     311             : 
     312           0 : Any SAL_CALL java_sql_ResultSet::getObject( sal_Int32 columnIndex, const Reference< ::com::sun::star::container::XNameAccess >& typeMap ) throw(SQLException, RuntimeException)
     313             : {
     314             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getObject" );
     315           0 :     jobject out(0);
     316           0 :     Any aRet;
     317           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     318             :     {
     319             :         jvalue args[2];
     320             :         // convert parameter
     321           0 :         args[0].i = (sal_Int32)columnIndex;
     322           0 :         args[1].l = convertTypeMapToJavaMap(t.pEnv,typeMap);
     323             :         // initialize temporary Variable
     324             :         // Java-Call
     325             :         static jmethodID mID(NULL);
     326           0 :         if ( !mID  )
     327             :         {
     328             :             static const char * cSignature = "(I)Ljava/lang/Object;";
     329             :             static const char * cMethodName = "getObject";
     330             : 
     331           0 :             obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
     332             :         }
     333             : 
     334           0 :         out = t.pEnv->CallObjectMethodA( object, mID, args);
     335           0 :         t.pEnv->DeleteLocalRef((jstring)args[1].l);
     336           0 :         ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     337             :         // and clean up
     338           0 :         if ( out )
     339             :         {
     340           0 :             if ( t.pEnv->IsInstanceOf(out,java_lang_String::st_getMyClass()) )
     341             :             {
     342           0 :                 java_lang_String aVal(t.pEnv,out);
     343           0 :                 aRet <<= (::rtl::OUString)aVal;
     344             :             }
     345           0 :             else if ( t.pEnv->IsInstanceOf(out,java_lang_Boolean::st_getMyClass()) )
     346             :             {
     347           0 :                 java_lang_Boolean aVal(t.pEnv,out);
     348             :                 static jmethodID methodID = NULL;
     349           0 :                 aRet <<= aVal.callBooleanMethod("booleanValue",methodID);
     350             :             }
     351           0 :             else if ( t.pEnv->IsInstanceOf(out,java_sql_Date::st_getMyClass()) )
     352             :             {
     353           0 :                 java_sql_Date aVal(t.pEnv,out);
     354           0 :                 aRet <<= (::com::sun::star::util::Date)aVal;
     355             :             }
     356           0 :             else if ( t.pEnv->IsInstanceOf(out,java_sql_Time::st_getMyClass()) )
     357             :             {
     358           0 :                 java_sql_Time aVal(t.pEnv,out);
     359           0 :                 aRet <<= (::com::sun::star::util::Time)aVal;
     360             :             }
     361           0 :             else if ( t.pEnv->IsInstanceOf(out,java_sql_Timestamp::st_getMyClass()) )
     362             :             {
     363           0 :                 java_sql_Timestamp aVal(t.pEnv,out);
     364           0 :                 aRet <<= (::com::sun::star::util::DateTime)aVal;
     365             :             }
     366             :             else
     367           0 :                 t.pEnv->DeleteLocalRef(out);
     368             :         }
     369             :     } //t.pEnv
     370           0 :     return aRet;
     371             : }
     372             : // -------------------------------------------------------------------------
     373             : 
     374           0 : sal_Int16 SAL_CALL java_sql_ResultSet::getShort( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     375             : {
     376             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getShort" );
     377             :     static jmethodID mID(NULL);
     378           0 :     jshort (JNIEnv::*pCallMethod)( jobject obj, jmethodID methodID, ... ) = &JNIEnv::CallShortMethod;
     379           0 :     return callMethodWithIntArg<jshort>(pCallMethod,"getShort","(I)S",mID,columnIndex);
     380             : }
     381             : // -------------------------------------------------------------------------
     382             : 
     383             : 
     384           0 : ::rtl::OUString SAL_CALL java_sql_ResultSet::getString( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     385             : {
     386             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getString" );
     387             :     static jmethodID mID(NULL);
     388           0 :     return callStringMethodWithIntArg("getString",mID,columnIndex);
     389             : }
     390             : // -------------------------------------------------------------------------
     391             : 
     392             : 
     393           0 : ::com::sun::star::util::Time SAL_CALL java_sql_ResultSet::getTime( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     394             : {
     395             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getTime" );
     396           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     397             :     static jmethodID mID(NULL);
     398           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getTime","(I)Ljava/sql/Time;", mID, columnIndex);
     399             :     // WARNING: the caller becomes the owner of the returned pointer
     400           0 :     return out ? static_cast <com::sun::star::util::Time> (java_sql_Time( t.pEnv, out )) : ::com::sun::star::util::Time();
     401             : }
     402             : // -------------------------------------------------------------------------
     403             : 
     404             : 
     405           0 : ::com::sun::star::util::DateTime SAL_CALL java_sql_ResultSet::getTimestamp( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
     406             : {
     407             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getTimestamp" );
     408           0 :     SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
     409             :     static jmethodID mID(NULL);
     410           0 :     jobject out = callObjectMethodWithIntArg(t.pEnv,"getTimestamp","(I)Ljava/sql/Timestamp;", mID, columnIndex);
     411             :     // WARNING: the caller becomes the owner of the returned pointer
     412           0 :     return out ? static_cast <com::sun::star::util::DateTime> (java_sql_Timestamp( t.pEnv, out )) : ::com::sun::star::util::DateTime();
     413             : }
     414             : // -------------------------------------------------------------------------
     415             : 
     416           0 : sal_Bool SAL_CALL java_sql_ResultSet::isAfterLast(  ) throw(SQLException, RuntimeException)
     417             : {
     418             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::isAfterLast" );
     419             :     static jmethodID mID(NULL);
     420           0 :     return callBooleanMethod( "isAfterLast", mID );
     421             : }
     422             : // -------------------------------------------------------------------------
     423           0 : sal_Bool SAL_CALL java_sql_ResultSet::isFirst(  ) throw(SQLException, RuntimeException)
     424             : {
     425             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::isFirst" );
     426             :     static jmethodID mID(NULL);
     427           0 :     return callBooleanMethod( "isFirst", mID );
     428             : }
     429             : // -------------------------------------------------------------------------
     430           0 : sal_Bool SAL_CALL java_sql_ResultSet::isLast(  ) throw(SQLException, RuntimeException)
     431             : {
     432             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::isLast" );
     433             :     static jmethodID mID(NULL);
     434           0 :     return callBooleanMethod( "isLast", mID );
     435             : }
     436             : // -------------------------------------------------------------------------
     437           0 : void SAL_CALL java_sql_ResultSet::beforeFirst(  ) throw(SQLException, RuntimeException)
     438             : {
     439             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::beforeFirst" );
     440             :     static jmethodID mID(NULL);
     441           0 :     callVoidMethod("beforeFirst",mID);
     442           0 : }
     443             : // -------------------------------------------------------------------------
     444           0 : void SAL_CALL java_sql_ResultSet::afterLast(  ) throw(SQLException, RuntimeException)
     445             : {
     446             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::afterLast" );
     447             :     static jmethodID mID(NULL);
     448           0 :     callVoidMethod("afterLast",mID);
     449           0 : }
     450             : // -------------------------------------------------------------------------
     451             : 
     452           0 : void SAL_CALL java_sql_ResultSet::close(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     453             : {
     454             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::close" );
     455           0 :     dispose();
     456           0 : }
     457             : // -------------------------------------------------------------------------
     458             : 
     459           0 : sal_Bool SAL_CALL java_sql_ResultSet::first(  ) throw(SQLException, RuntimeException)
     460             : {
     461             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::first" );
     462             :     static jmethodID mID(NULL);
     463           0 :     return callBooleanMethod( "first", mID );
     464             : }
     465             : // -------------------------------------------------------------------------
     466             : 
     467           0 : sal_Bool SAL_CALL java_sql_ResultSet::last(  ) throw(SQLException, RuntimeException)
     468             : {
     469             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::last" );
     470             :     static jmethodID mID(NULL);
     471           0 :     return callBooleanMethod( "last", mID );
     472             : }
     473             : // -------------------------------------------------------------------------
     474           0 : sal_Bool SAL_CALL java_sql_ResultSet::absolute( sal_Int32 row ) throw(SQLException, RuntimeException)
     475             : {
     476             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::absolute" );
     477             :     static jmethodID mID(NULL);
     478           0 :     return callBooleanMethodWithIntArg( "absolute", mID,row );
     479             : }
     480             : // -------------------------------------------------------------------------
     481           0 : sal_Bool SAL_CALL java_sql_ResultSet::relative( sal_Int32 row ) throw(SQLException, RuntimeException)
     482             : {
     483             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::relative" );
     484             :     static jmethodID mID(NULL);
     485           0 :     return callBooleanMethodWithIntArg( "relative", mID,row );
     486             : }
     487             : // -------------------------------------------------------------------------
     488           0 : sal_Bool SAL_CALL java_sql_ResultSet::previous(  ) throw(SQLException, RuntimeException)
     489             : {
     490             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::previous" );
     491             :     static jmethodID mID(NULL);
     492           0 :     return callBooleanMethod( "previous", mID );
     493             : }
     494             : // -------------------------------------------------------------------------
     495           0 : Reference< XInterface > SAL_CALL java_sql_ResultSet::getStatement(  ) throw(SQLException, RuntimeException)
     496             : {
     497             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getStatement" );
     498           0 :     return m_xStatement;
     499             : }
     500             : // -------------------------------------------------------------------------
     501             : 
     502           0 : sal_Bool SAL_CALL java_sql_ResultSet::rowDeleted(  ) throw(SQLException, RuntimeException)
     503             : {
     504             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::rowDeleted" );
     505             :     static jmethodID mID(NULL);
     506           0 :     return callBooleanMethod( "rowDeleted", mID );
     507             : }
     508             : // -------------------------------------------------------------------------
     509           0 : sal_Bool SAL_CALL java_sql_ResultSet::rowInserted(  ) throw(SQLException, RuntimeException)
     510             : {
     511             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::rowInserted" );
     512             :     static jmethodID mID(NULL);
     513           0 :     return callBooleanMethod( "rowInserted", mID );
     514             : }
     515             : // -------------------------------------------------------------------------
     516           0 : sal_Bool SAL_CALL java_sql_ResultSet::rowUpdated(  ) throw(SQLException, RuntimeException)
     517             : {
     518             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::rowUpdated" );
     519             :     static jmethodID mID(NULL);
     520           0 :     return callBooleanMethod( "rowUpdated", mID );
     521             : }
     522             : // -------------------------------------------------------------------------
     523             : 
     524           0 : sal_Bool SAL_CALL java_sql_ResultSet::isBeforeFirst(  ) throw(SQLException, RuntimeException)
     525             : {
     526             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::isBeforeFirst" );
     527             :     static jmethodID mID(NULL);
     528           0 :     return callBooleanMethod( "isBeforeFirst", mID );
     529             : }
     530             : // -------------------------------------------------------------------------
     531             : 
     532           0 : sal_Bool SAL_CALL java_sql_ResultSet::next(  ) throw(SQLException, RuntimeException)
     533             : {
     534             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::next" );
     535             :     static jmethodID mID(NULL);
     536           0 :     return callBooleanMethod( "next", mID );
     537             : }
     538             : // -------------------------------------------------------------------------
     539             : 
     540           0 : sal_Bool SAL_CALL java_sql_ResultSet::wasNull(  ) throw(SQLException, RuntimeException)
     541             : {
     542             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::wasNull" );
     543             :     static jmethodID mID(NULL);
     544           0 :     return callBooleanMethod( "wasNull", mID );
     545             : }
     546             : // -------------------------------------------------------------------------
     547             : 
     548           0 : void SAL_CALL java_sql_ResultSet::cancel(  ) throw(::com::sun::star::uno::RuntimeException)
     549             : {
     550             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::cancel" );
     551             :     static jmethodID mID(NULL);
     552           0 :     callVoidMethod("cancel",mID);
     553           0 : }
     554             : // -------------------------------------------------------------------------
     555             : // -------------------------------------------------------------------------
     556           0 : void SAL_CALL java_sql_ResultSet::clearWarnings(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     557             : {
     558             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::clearWarnings" );
     559             :     static jmethodID mID(NULL);
     560           0 :     callVoidMethod("clearWarnings",mID);
     561           0 : }
     562             : // -------------------------------------------------------------------------
     563           0 : ::com::sun::star::uno::Any SAL_CALL java_sql_ResultSet::getWarnings(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     564             : {
     565             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getWarnings" );
     566           0 :     SDBThreadAttach t;
     567             :     static jmethodID mID(NULL);
     568           0 :     jobject out = callObjectMethod(t.pEnv,"getWarnings","()Ljava/sql/SQLWarning;", mID);
     569             :     // WARNING: the caller becomes the owner of the returned pointer
     570           0 :     if( out )
     571             :     {
     572           0 :         java_sql_SQLWarning_BASE        warn_base( t.pEnv, out );
     573             :         return makeAny(
     574             :             static_cast< starsdbc::SQLException >(
     575           0 :                 java_sql_SQLWarning(warn_base,*this)));
     576             :     }
     577             : 
     578           0 :     return ::com::sun::star::uno::Any();
     579             : }
     580             : // -------------------------------------------------------------------------
     581             : 
     582           0 : void SAL_CALL java_sql_ResultSet::insertRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     583             : {
     584             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::insertRow" );
     585             :     static jmethodID mID(NULL);
     586           0 :     callVoidMethod("insertRow",mID);
     587           0 : }
     588             : // -------------------------------------------------------------------------
     589           0 : void SAL_CALL java_sql_ResultSet::updateRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     590             : {
     591             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateRow" );
     592             :     static jmethodID mID(NULL);
     593           0 :     callVoidMethod("updateRow",mID);
     594           0 : }
     595             : // -------------------------------------------------------------------------
     596           0 : void SAL_CALL java_sql_ResultSet::deleteRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     597             : {
     598             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::deleteRow" );
     599             :     static jmethodID mID(NULL);
     600           0 :     callVoidMethod("deleteRow",mID);
     601           0 : }
     602             : // -------------------------------------------------------------------------
     603             : 
     604           0 : void SAL_CALL java_sql_ResultSet::cancelRowUpdates(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     605             : {
     606             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::cancelRowUpdates" );
     607             :     static jmethodID mID(NULL);
     608           0 :     callVoidMethod("cancelRowUpdates",mID);
     609           0 : }
     610             : // -------------------------------------------------------------------------
     611             : 
     612           0 : void SAL_CALL java_sql_ResultSet::moveToInsertRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     613             : {
     614             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::moveToInsertRow" );
     615             :     static jmethodID mID(NULL);
     616           0 :     callVoidMethod("moveToInsertRow",mID);
     617           0 : }
     618             : // -------------------------------------------------------------------------
     619             : 
     620           0 : void SAL_CALL java_sql_ResultSet::moveToCurrentRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     621             : {
     622             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::moveToCurrentRow" );
     623             :     static jmethodID mID(NULL);
     624           0 :     callVoidMethod("moveToCurrentRow",mID);
     625           0 : }
     626             : // -------------------------------------------------------------------------
     627             : 
     628           0 : void SAL_CALL java_sql_ResultSet::updateNull( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     629             : {
     630             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateNull" );
     631             :     static jmethodID mID(NULL);
     632           0 :     callVoidMethodWithIntArg("updateNull",mID,columnIndex);
     633           0 : }
     634             : // -------------------------------------------------------------------------
     635             : 
     636           0 : void SAL_CALL java_sql_ResultSet::updateBoolean( sal_Int32 columnIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     637             : {
     638             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateBoolean" );
     639             :     static jmethodID mID(NULL);
     640           0 :     callVoidMethod("updateBoolean", "(IZ)V", mID, columnIndex, x);
     641           0 : }
     642             : // -------------------------------------------------------------------------
     643           0 : void SAL_CALL java_sql_ResultSet::updateByte( sal_Int32 columnIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     644             : {
     645             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateByte" );
     646             :     static jmethodID mID(NULL);
     647           0 :     callVoidMethod("updateByte", "(IB)V", mID, columnIndex, x);
     648           0 : }
     649             : // -------------------------------------------------------------------------
     650             : 
     651           0 : void SAL_CALL java_sql_ResultSet::updateShort( sal_Int32 columnIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     652             : {
     653             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateShort" );
     654             :     static jmethodID mID(NULL);
     655           0 :     callVoidMethod("updateShort", "(IS)V", mID, columnIndex, x);
     656           0 : }
     657             : // -------------------------------------------------------------------------
     658           0 : void SAL_CALL java_sql_ResultSet::updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     659             : {
     660             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateInt" );
     661             :     static jmethodID mID(NULL);
     662           0 :     callVoidMethod("updateInt", "(II)V", mID, columnIndex, x);
     663           0 : }
     664             : // -------------------------------------------------------------------------
     665           0 : void SAL_CALL java_sql_ResultSet::updateLong( sal_Int32 columnIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     666             : {
     667             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateLong" );
     668             :     static jmethodID mID(NULL);
     669           0 :     callVoidMethod("updateLong", "(IJ)V", mID, columnIndex, x);
     670           0 : }
     671             : // -------------------------------------------------------------------------
     672             : 
     673             : // -----------------------------------------------------------------------
     674           0 : void SAL_CALL java_sql_ResultSet::updateFloat( sal_Int32 columnIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     675             : {
     676             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateFloat" );
     677             :     static jmethodID mID(NULL);
     678           0 :     callVoidMethod("updateFloat", "(IF)V", mID, columnIndex, x);
     679           0 : }
     680             : // -------------------------------------------------------------------------
     681             : 
     682           0 : void SAL_CALL java_sql_ResultSet::updateDouble( sal_Int32 columnIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     683             : {
     684             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateDouble" );
     685             :     static jmethodID mID(NULL);
     686           0 :     callVoidMethod("updateDouble", "(ID)V", mID, columnIndex, x);
     687           0 : }
     688             : // -------------------------------------------------------------------------
     689             : 
     690           0 : void SAL_CALL java_sql_ResultSet::updateString( sal_Int32 columnIndex, const ::rtl::OUString& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     691             : {
     692             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateString" );
     693           0 :     SDBThreadAttach t;
     694             : 
     695             :     {
     696             : 
     697             :         // initialize temporary variable
     698             :         // Java-Call
     699             :         static jmethodID mID(NULL);
     700           0 :         if ( !mID  )
     701             :         {
     702             :             static const char * cSignature = "(ILjava/lang/String;)V";
     703             :             static const char * cMethodName = "updateString";
     704             : 
     705           0 :             obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
     706             :         }
     707             : 
     708             :         {
     709             :             // convert parameter
     710           0 :             jdbc::LocalRef< jstring > str( t.env(),convertwchar_tToJavaString(t.pEnv,x));
     711           0 :             t.pEnv->CallVoidMethod( object, mID,columnIndex,str.get());
     712           0 :             ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     713             :         }
     714           0 :     }
     715           0 : }
     716             : // -------------------------------------------------------------------------
     717             : 
     718           0 : void SAL_CALL java_sql_ResultSet::updateBytes( sal_Int32 columnIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     719             : {
     720             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateBytes" );
     721           0 :     SDBThreadAttach t;
     722             : 
     723             :     {
     724             :         // initialize temporary variable
     725             :         // Java-Call
     726             :         static jmethodID mID(NULL);
     727           0 :         if ( !mID  )
     728             :         {
     729             :             static const char * cSignature = "(I[B)V";
     730             :             static const char * cMethodName = "updateBytes";
     731             : 
     732           0 :             obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
     733             :         }
     734             : 
     735             :         {
     736           0 :             jbyteArray aArray = t.pEnv->NewByteArray(x.getLength());
     737           0 :             t.pEnv->SetByteArrayRegion(aArray,0,x.getLength(),(jbyte*)x.getConstArray());
     738             :             // convert parameter
     739           0 :             t.pEnv->CallVoidMethod( object, mID,columnIndex,aArray);
     740           0 :             t.pEnv->DeleteLocalRef(aArray);
     741           0 :             ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     742             :         }
     743           0 :     }
     744           0 : }
     745             : // -------------------------------------------------------------------------
     746             : 
     747           0 : void SAL_CALL java_sql_ResultSet::updateDate( sal_Int32 columnIndex, const ::com::sun::star::util::Date& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     748             : {
     749             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateDate" );
     750           0 :     java_sql_Date aD(x);
     751             :     static jmethodID mID(NULL);
     752           0 :     callVoidMethod("updateDate", "(ILjava/sql/Date;)V", mID, columnIndex, aD.getJavaObject());
     753           0 : }
     754             : // -------------------------------------------------------------------------
     755             : 
     756           0 : void SAL_CALL java_sql_ResultSet::updateTime( sal_Int32 columnIndex, const ::com::sun::star::util::Time& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     757             : {
     758             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateTime" );
     759           0 :     java_sql_Time aD(x);
     760             :     static jmethodID mID(NULL);
     761           0 :     callVoidMethod("updateTime", "(ILjava/sql/Time;)V", mID, columnIndex, aD.getJavaObject());
     762           0 : }
     763             : // -------------------------------------------------------------------------
     764             : 
     765           0 : void SAL_CALL java_sql_ResultSet::updateTimestamp( sal_Int32 columnIndex, const ::com::sun::star::util::DateTime& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     766             : {
     767             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateTimestamp" );
     768           0 :     java_sql_Timestamp aD(x);
     769             :     static jmethodID mID(NULL);
     770           0 :     callVoidMethod("updateTimestamp", "(ILjava/sql/Timestamp;)V", mID, columnIndex, aD.getJavaObject());
     771           0 : }
     772             : // -------------------------------------------------------------------------
     773             : 
     774           0 : void SAL_CALL java_sql_ResultSet::updateBinaryStream( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     775             : {
     776             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateBinaryStream" );
     777             :     try
     778             :     {
     779           0 :         SDBThreadAttach t;
     780             :         {
     781             : 
     782             :             // initialize temporary variable
     783             :             // Java-Call
     784             :             static jmethodID mID(NULL);
     785           0 :             if ( !mID  )
     786             :             {
     787             :                 static const char * cSignature = "(ILjava/io/InputStream;I)V";
     788             :                 static const char * cMethodName = "updateBinaryStream";
     789           0 :                 obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
     790             :             }
     791             : 
     792             :             {
     793             :                 // convert Parameter
     794           0 :                 jobject obj = createByteInputStream(x,length);
     795           0 :                 t.pEnv->CallVoidMethod( object, mID, columnIndex,obj,length);
     796           0 :                 ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     797             :             }
     798           0 :         }
     799             :     }
     800           0 :     catch(const Exception&)
     801             :     {
     802           0 :         ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateBinaryStream", *this );
     803             :     }
     804           0 : }
     805             : // -------------------------------------------------------------------------
     806           0 : void SAL_CALL java_sql_ResultSet::updateCharacterStream( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     807             : {
     808             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateCharacterStream" );
     809             :     try
     810             :     {
     811           0 :         SDBThreadAttach t;
     812             :         {
     813             : 
     814             :             // initialize temporary variable
     815             :             // Java-Call
     816             :             static jmethodID mID(NULL);
     817           0 :             if ( !mID  )
     818             :             {
     819             :                 static const char * cSignature = "(ILjava/io/Reader;I)V";
     820             :                 static const char * cMethodName = "updateCharacterStream";
     821           0 :                 obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
     822             :             }
     823             : 
     824             :             {
     825             :                 // convert Parameter
     826           0 :                 jobject obj = createCharArrayReader(x,length);
     827           0 :                 t.pEnv->CallVoidMethod( object, mID, columnIndex,obj,length);
     828           0 :                 ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     829             :             }
     830           0 :         }
     831             :     }
     832           0 :     catch(const Exception&)
     833             :     {
     834           0 :         ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateCharacterStream", *this );
     835             :     }
     836           0 : }
     837             : // -------------------------------------------------------------------------
     838           0 : void SAL_CALL java_sql_ResultSet::updateObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     839             : {
     840             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateObject" );
     841           0 :     if(!::dbtools::implUpdateObject(this,columnIndex,x))
     842             :     {
     843           0 :         ::connectivity::SharedResources aResources;
     844             :         const ::rtl::OUString sError( aResources.getResourceStringWithSubstitution(
     845             :                 STR_UNKNOWN_COLUMN_TYPE,
     846             :                 "$position$", ::rtl::OUString::valueOf(columnIndex)
     847           0 :              ) );
     848           0 :         ::dbtools::throwGenericSQLException(sError,*this);
     849             :     }
     850           0 : }
     851             : // -------------------------------------------------------------------------
     852             : 
     853           0 : void SAL_CALL java_sql_ResultSet::updateNumericObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x, sal_Int32 scale ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     854             : {
     855             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::updateNumericObject" );
     856             :     //  OSL_FAIL("java_sql_ResultSet::updateNumericObject: NYI");
     857             :     try
     858             :     {
     859           0 :         SDBThreadAttach t;
     860             : 
     861             :         {
     862             : 
     863             :             // initialize temporary variable
     864             :             // Java-Call
     865             :             static jmethodID mID(NULL);
     866           0 :             if ( !mID  )
     867             :             {
     868             :                 static const char * cSignature = "(ILjava/lang/Object;I)V";
     869             :                 static const char * cMethodName = "updateObject";
     870             : 
     871           0 :                 obtainMethodId(t.pEnv, cMethodName,cSignature, mID);
     872             :             }
     873             : 
     874             :             {
     875             :                 // convert parameter
     876           0 :                 double nTemp = 0.0;
     877           0 :                 ::std::auto_ptr<java_math_BigDecimal> pBigDecimal;
     878           0 :                 if ( x >>= nTemp)
     879             :                 {
     880           0 :                     pBigDecimal.reset(new java_math_BigDecimal(nTemp));
     881             :                 }
     882             :                 else
     883           0 :                     pBigDecimal.reset(new java_math_BigDecimal(::comphelper::getString(x)));
     884             : 
     885           0 :                 t.pEnv->CallVoidMethod( object, mID, columnIndex,pBigDecimal->getJavaObject(),scale);
     886           0 :                 ThrowLoggedSQLException( m_aLogger, t.pEnv, *this );
     887             :             }
     888           0 :         }
     889             :     }
     890           0 :     catch(const Exception&)
     891             :     {
     892           0 :         updateObject( columnIndex,x);
     893             :     }
     894           0 : }
     895             : //------------------------------------------------------------------------------
     896           0 : sal_Int32 java_sql_ResultSet::getResultSetConcurrency() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     897             : {
     898             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getResultSetConcurrency" );
     899             :     static jmethodID mID(NULL);
     900           0 :     return callIntMethod("getConcurrency",mID,true);
     901             : }
     902             : //------------------------------------------------------------------------------
     903           0 : sal_Int32 java_sql_ResultSet::getResultSetType() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     904             : {
     905             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getResultSetType" );
     906             :     static jmethodID mID(NULL);
     907           0 :     return callIntMethod("getType",mID,true);
     908             : }
     909             : //------------------------------------------------------------------------------
     910           0 : sal_Int32 java_sql_ResultSet::getFetchDirection() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     911             : {
     912             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getFetchDirection" );
     913             :     static jmethodID mID(NULL);
     914           0 :     return callIntMethod("getFetchDirection",mID,true);
     915             : }
     916             : //------------------------------------------------------------------------------
     917           0 : sal_Int32 java_sql_ResultSet::getFetchSize() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     918             : {
     919             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getFetchSize" );
     920             :     static jmethodID mID(NULL);
     921           0 :     return callIntMethod("getFetchSize",mID,true);
     922             : }
     923             : //------------------------------------------------------------------------------
     924           0 : ::rtl::OUString java_sql_ResultSet::getCursorName() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     925             : {
     926             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getCursorName" );
     927             :     static jmethodID mID(NULL);
     928           0 :     return callStringMethod("getCursorName",mID);
     929             : }
     930             : 
     931             : //------------------------------------------------------------------------------
     932           0 : void java_sql_ResultSet::setFetchDirection(sal_Int32 _par0) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     933             : {
     934             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::setFetchDirection" );
     935             :     static jmethodID mID(NULL);
     936           0 :     callVoidMethodWithIntArg("setFetchDirection",mID,_par0,true);
     937           0 : }
     938             : //------------------------------------------------------------------------------
     939           0 : void SAL_CALL java_sql_ResultSet::refreshRow(  ) throw(SQLException, RuntimeException)
     940             : {
     941             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::refreshRow" );
     942             :     static jmethodID mID(NULL);
     943           0 :     callVoidMethod("refreshRow",mID);
     944           0 : }
     945             : //------------------------------------------------------------------------------
     946           0 : void java_sql_ResultSet::setFetchSize(sal_Int32 _par0) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
     947             : {
     948             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::setFetchSize" );
     949             :     static jmethodID mID(NULL);
     950           0 :     callVoidMethodWithIntArg("setFetchSize",mID,_par0,true);
     951           0 : }
     952             : // -------------------------------------------------------------------------
     953           0 : ::cppu::IPropertyArrayHelper* java_sql_ResultSet::createArrayHelper( ) const
     954             : {
     955             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::createArrayHelper" );
     956           0 :     Sequence< Property > aProps(5);
     957           0 :     Property* pProperties = aProps.getArray();
     958           0 :     sal_Int32 nPos = 0;
     959           0 :     DECL_PROP1IMPL(CURSORNAME,          ::rtl::OUString) PropertyAttribute::READONLY);
     960           0 :     DECL_PROP0(FETCHDIRECTION,      sal_Int32);
     961           0 :     DECL_PROP0(FETCHSIZE,           sal_Int32);
     962           0 :     DECL_PROP1IMPL(RESULTSETCONCURRENCY,sal_Int32) PropertyAttribute::READONLY);
     963           0 :     DECL_PROP1IMPL(RESULTSETTYPE,       sal_Int32) PropertyAttribute::READONLY);
     964             : 
     965           0 :     return new ::cppu::OPropertyArrayHelper(aProps);
     966             : }
     967             : // -------------------------------------------------------------------------
     968           0 : ::cppu::IPropertyArrayHelper & java_sql_ResultSet::getInfoHelper()
     969             : {
     970             :     //RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getInfoHelper" );
     971           0 :     return *const_cast<java_sql_ResultSet*>(this)->getArrayHelper();
     972             : }
     973             : // -------------------------------------------------------------------------
     974           0 : sal_Bool java_sql_ResultSet::convertFastPropertyValue(
     975             :                             ::com::sun::star::uno::Any & rConvertedValue,
     976             :                             ::com::sun::star::uno::Any & rOldValue,
     977             :                             sal_Int32 nHandle,
     978             :                             const ::com::sun::star::uno::Any& rValue )
     979             :                                 throw (::com::sun::star::lang::IllegalArgumentException)
     980             : {
     981             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::convertFastPropertyValue" );
     982           0 :     sal_Bool bRet = sal_False;
     983           0 :     switch(nHandle)
     984             :     {
     985             :         case PROPERTY_ID_CURSORNAME:
     986             :         case PROPERTY_ID_RESULTSETCONCURRENCY:
     987             :         case PROPERTY_ID_RESULTSETTYPE:
     988           0 :             throw ::com::sun::star::lang::IllegalArgumentException();
     989             :         case PROPERTY_ID_FETCHDIRECTION:
     990           0 :             bRet = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchDirection());
     991           0 :             break;
     992             :         case PROPERTY_ID_FETCHSIZE:
     993           0 :             bRet = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchSize());
     994             :         default:
     995             :             ;
     996             :     }
     997           0 :     return bRet;
     998             : }
     999             : 
    1000             : // -------------------------------------------------------------------------
    1001           0 : void java_sql_ResultSet::setFastPropertyValue_NoBroadcast(
    1002             :                                 sal_Int32 nHandle,
    1003             :                                 const ::com::sun::star::uno::Any& rValue
    1004             :                                                  )
    1005             :                                                  throw (::com::sun::star::uno::Exception)
    1006             : {
    1007             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::setFastPropertyValue_NoBroadcast" );
    1008           0 :     switch(nHandle)
    1009             :     {
    1010             :         case PROPERTY_ID_CURSORNAME:
    1011             :         case PROPERTY_ID_RESULTSETCONCURRENCY:
    1012             :         case PROPERTY_ID_RESULTSETTYPE:
    1013           0 :             throw ::com::sun::star::uno::Exception();
    1014             :         case PROPERTY_ID_FETCHDIRECTION:
    1015           0 :             setFetchDirection(comphelper::getINT32(rValue));
    1016           0 :             break;
    1017             :         case PROPERTY_ID_FETCHSIZE:
    1018           0 :             setFetchSize(comphelper::getINT32(rValue));
    1019           0 :             break;
    1020             :         default:
    1021             :             ;
    1022             :     }
    1023           0 : }
    1024             : // -------------------------------------------------------------------------
    1025           0 : void java_sql_ResultSet::getFastPropertyValue(
    1026             :                                 ::com::sun::star::uno::Any& rValue,
    1027             :                                 sal_Int32 nHandle
    1028             :                                      ) const
    1029             : {
    1030             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getFastPropertyValue" );
    1031             :     try
    1032             :     {
    1033           0 :         switch(nHandle)
    1034             :         {
    1035             :             case PROPERTY_ID_CURSORNAME:
    1036           0 :                 rValue <<= getCursorName();
    1037           0 :                 break;
    1038             :             case PROPERTY_ID_RESULTSETCONCURRENCY:
    1039           0 :                 rValue <<= getResultSetConcurrency();
    1040           0 :                 break;
    1041             :             case PROPERTY_ID_RESULTSETTYPE:
    1042           0 :                 rValue <<= getResultSetType();
    1043           0 :                 break;
    1044             :             case PROPERTY_ID_FETCHDIRECTION:
    1045           0 :                 rValue <<= getFetchDirection();
    1046           0 :                 break;
    1047             :             case PROPERTY_ID_FETCHSIZE:
    1048           0 :                 rValue <<= getFetchSize();
    1049           0 :                 break;
    1050             :         }
    1051             :     }
    1052           0 :     catch(const Exception&)
    1053             :     {
    1054             :     }
    1055           0 : }
    1056             : // -----------------------------------------------------------------------------
    1057           0 : void SAL_CALL java_sql_ResultSet::acquire() throw()
    1058             : {
    1059           0 :     java_sql_ResultSet_BASE::acquire();
    1060           0 : }
    1061             : // -----------------------------------------------------------------------------
    1062           0 : void SAL_CALL java_sql_ResultSet::release() throw()
    1063             : {
    1064           0 :     java_sql_ResultSet_BASE::release();
    1065           0 : }
    1066             : // -----------------------------------------------------------------------------
    1067           0 : ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL java_sql_ResultSet::getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException)
    1068             : {
    1069             :     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "jdbc", "Ocke.Janssen@sun.com", "java_sql_ResultSet::getPropertySetInfo" );
    1070           0 :     return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
    1071             : }
    1072             : // -----------------------------------------------------------------------------
    1073             : 
    1074             : 
    1075             : 
    1076             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10