User: ihi     
Date: 2007-11-27 12:23:41+0000
Modified:
   dba/connectivity/source/drivers/jdbc/JConnection.cxx

Log:
 INTEGRATION: CWS dba24lms (1.7.8); FILE MERGED
 2007/11/14 12:52:15 oj 1.7.8.1: #i11746# insert Ignore Currency

File Changes:

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

File [changed]: JConnection.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/jdbc/JConnection.cxx?r1=1.8&r2=1.9
Delta lines:  +19 -48
---------------------
--- JConnection.cxx     2007-11-21 15:03:14+0000        1.8
+++ JConnection.cxx     2007-11-27 12:23:39+0000        1.9
@@ -82,7 +82,7 @@
 #include "resource/jdbc_log.hrc"
 #include "com/sun/star/uno/XComponentContext.hpp"
 #include "jvmaccess/classpath.hxx"
-
+#include <comphelper/sequenceashashmap.hxx>
 #include <jni.h>
 
 #include <list>
@@ -308,6 +308,7 @@
     ,m_aLogger( _rDriver.getLogger() )
     ,m_bParameterSubstitution(sal_False)
     ,m_bIgnoreDriverPrivileges(sal_True)
+    ,m_bIgnoreCurrency(sal_False)
 {      
 }
 // 
-----------------------------------------------------------------------------
@@ -914,6 +915,7 @@
        return Any();
 }
 // 
-----------------------------------------------------------------------------
+<<<<<<< JConnection.cxx
 namespace
 {
     bool lcl_setSystemProperties_nothrow( const java::sql::ConnectionLog& 
_rLogger,
@@ -971,43 +973,17 @@
     SDBThreadAttach t;
        try
        {
+        ::rtl::OUString sDriverClassPath,sDriverClass;
+        sDriverClass = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("JavaDriverClass")),sDriverClass);
+        sDriverClassPath = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("JavaDriverClassPath")),sDriverClassPath);
+        bAutoRetrievingEnabled = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsAutoRetrievingEnabled")),bAutoRetrievingEnabled);
+        sGeneratedValueStatement = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoRetrievingStatement")),sGeneratedValueStatement);
+        m_bParameterSubstitution = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParameterNameSubstitution")),m_bParameterSubstitution);
+        m_bIgnoreDriverPrivileges = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IgnoreDriverPrivileges")),m_bIgnoreDriverPrivileges);
+        m_bIgnoreCurrency = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IgnoreCurrency")),m_bIgnoreCurrency);
         Sequence< NamedValue > aSystemProperties;
-        const PropertyValue* pJavaDriverClass = 0;
-        const PropertyValue* pJavaDriverClassPath = 0;
-               const PropertyValue* pBegin     = info.getConstArray();
-               const PropertyValue* pEnd       = pBegin + info.getLength();
-               for(;pBegin != pEnd;++pBegin)
-               {
-            if (!pBegin->Name.compareToAscii("JavaDriverClass"))
-            {
-                pJavaDriverClass = pBegin;
-            }
-            else if (!pBegin->Name.compareToAscii("JavaDriverClassPath"))
-            {
-                pJavaDriverClassPath = pBegin;
-            }
-                       else 
if(!pBegin->Name.compareToAscii("IsAutoRetrievingEnabled"))
-                       {
-                               OSL_VERIFY( pBegin->Value >>= 
bAutoRetrievingEnabled );
-                       }
-                       else 
if(!pBegin->Name.compareToAscii("AutoRetrievingStatement"))
-                       {
-                               OSL_VERIFY( pBegin->Value >>= 
sGeneratedValueStatement );
-                       }
-                       else 
if(!pBegin->Name.compareToAscii("ParameterNameSubstitution"))
-                       {
-                               OSL_VERIFY( pBegin->Value >>= 
m_bParameterSubstitution );
-                       }
-                       else 
if(!pBegin->Name.compareToAscii("IgnoreDriverPrivileges"))
-                       {
-                               OSL_VERIFY( pBegin->Value >>= 
m_bIgnoreDriverPrivileges );
-                       }
-            else if(!pBegin->Name.compareToAscii("SystemProperties"))
-            {
-                OSL_VERIFY( pBegin->Value >>= aSystemProperties );
-            }
-               }
-        if ( !object && pJavaDriverClass != 0 )
+        aSystemProperties = 
aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SystemProperties")),aSystemProperties);
+        if ( !object )
         {
             if ( !lcl_setSystemProperties_nothrow( getLogger(), *t.pEnv, 
aSystemProperties ) )
                 ThrowLoggedSQLException( getLogger(), t.pEnv, *this );
@@ -1018,35 +994,30 @@
             java_sql_SQLException_BASE::getMyClass();
             java_lang_Throwable::getMyClass();
 
-            ::rtl::OUString aStr;
-            OSL_VERIFY( pJavaDriverClass->Value >>= aStr );
-            OSL_ASSERT( aStr.getLength());
-            if ( !aStr.getLength() )
+            if ( !sDriverClass.getLength() )
             {
                 m_aLogger.log( LogLevel::SEVERE, STR_LOG_NO_DRIVER_CLASS );
                 throw SQLException(::rtl::OUString::createFromAscii("The 
specified driver was empty!"),*this,::rtl::OUString(),1000,Any());
             }
             else
             {
-                m_aLogger.log( LogLevel::INFO, STR_LOG_LOADING_DRIVER, aStr );
+                m_aLogger.log( LogLevel::INFO, STR_LOG_LOADING_DRIVER, 
sDriverClass );
                 // the driver manager holds the class of the driver for later 
use
                 ::std::auto_ptr< java_lang_Class > pDrvClass;
-                if ( pJavaDriverClassPath == 0 )
+                if ( !sDriverClassPath.getLength() )
                 {
                                        // if forName didn't find the class it 
will throw an exception
-                                       pDrvClass = ::std::auto_ptr< 
java_lang_Class >(java_lang_Class::forName(aStr));
+                                       pDrvClass = ::std::auto_ptr< 
java_lang_Class >(java_lang_Class::forName(sDriverClass));
                 }
                 else
                 {
-                    ::rtl::OUString classpath;
-                    OSL_VERIFY( pJavaDriverClassPath->Value >>= classpath );
 
                     LocalRef< jclass > driverClass(t.env());
                     LocalRef< jobject > driverClassLoader(t.env());
 
                     loadClass(
                         m_pDriver->getContext().getUNOContext(),
-                        t.env(), classpath, aStr, &driverClassLoader, 
&driverClass );
+                        t.env(), sDriverClassPath, sDriverClass, 
&driverClassLoader, &driverClass );
 
                     m_pDriverClassLoader.set( driverClassLoader );
                     pDrvClass.reset( new java_lang_Class( t.pEnv, 
driverClass.release() ) );




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

Reply via email to