Tag: cws_src680_dba24b
User: fs      
Date: 2007-08-29 12:02:49+0000
Modified:
   dba/dbaccess/source/ui/dlg/dbwizsetup.cxx

Log:
 during #i80930#: DST_EMBEDDED -> DST_EMBEDDED_HSQLDB. The approach to read the 
concrete type of the embedded DB from the configuration does not work, there 
are enough places where we silently assume 'embedded == embedded HSQLDB'

File Changes:

Directory: /dba/dbaccess/source/ui/dlg/
=======================================

File [changed]: dbwizsetup.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/dbwizsetup.cxx?r1=1.26.26.1&r2=1.26.26.2
Delta lines:  +24 -8
--------------------
--- dbwizsetup.cxx      2007-08-28 13:27:04+0000        1.26.26.1
+++ dbwizsetup.cxx      2007-08-29 12:02:46+0000        1.26.26.2
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: dbwizsetup.cxx,v $
  *
- *  $Revision: 1.26.26.1 $
+ *  $Revision: 1.26.26.2 $
  *
- *  last change: $Author: fs $ $Date: 2007/08/28 13:27:04 $
+ *  last change: $Author: fs $ $Date: 2007/08/29 12:02:46 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -159,6 +159,9 @@
 #ifndef _COM_SUN_STAR_FRAME_XDESKTOP_HPP_
 #include <com/sun/star/frame/XDesktop.hpp>
 #endif
+#ifndef _COM_SUN_STAR_SDBC_XDRIVERACCESS_HPP_ 
+#include <com/sun/star/sdbc/XDriverAccess.hpp>
+#endif
 /** === end UNO includes === **/
 
 #ifndef _DBAUI_LINKEDDOCUMENTS_HXX_
@@ -347,7 +350,7 @@
        declareAuthDepPath( DST_EVOLUTION_GROUPWISE,EVOLUTION_PATH_GROUPWISE, 
PAGE_DBSETUPWIZARD_INTRO, PAGE_DBSETUPWIZARD_AUTHENTIFICATION, 
PAGE_DBSETUPWIZARD_FINAL, -1 );
        declareAuthDepPath( DST_EVOLUTION_LDAP,     EVOLUTION_PATH_LDAP,    
PAGE_DBSETUPWIZARD_INTRO, PAGE_DBSETUPWIZARD_AUTHENTIFICATION, 
PAGE_DBSETUPWIZARD_FINAL, -1 );
     declareAuthDepPath( DST_KAB,                KAB_PATH,               
PAGE_DBSETUPWIZARD_INTRO, PAGE_DBSETUPWIZARD_AUTHENTIFICATION, 
PAGE_DBSETUPWIZARD_FINAL, -1 );
-    declareAuthDepPath( 
m_pCollection->getEmbeddedDatabaseType(getORB()),CREATENEW_PATH, 
PAGE_DBSETUPWIZARD_INTRO, PAGE_DBSETUPWIZARD_AUTHENTIFICATION, 
PAGE_DBSETUPWIZARD_FINAL, -1 );
+    declareAuthDepPath( getDefaultDatabaseType(),CREATENEW_PATH,        
PAGE_DBSETUPWIZARD_INTRO, PAGE_DBSETUPWIZARD_AUTHENTIFICATION, 
PAGE_DBSETUPWIZARD_FINAL, -1 );
     declareAuthDepPath( DST_USERDEFINE1,        USERDEFINED_PATH,       
PAGE_DBSETUPWIZARD_INTRO, 
PAGE_DBSETUPWIZARD_USERDEFINED,PAGE_DBSETUPWIZARD_AUTHENTIFICATION, 
PAGE_DBSETUPWIZARD_FINAL, -1 );
     declarePath       (                         OPEN_DOC_PATH,          
PAGE_DBSETUPWIZARD_INTRO, -1 );
 
@@ -622,7 +625,7 @@
        return m_pImpl->createConnection();
 }
 // 
-----------------------------------------------------------------------------
-Reference< XMultiServiceFactory > ODbTypeWizDialogSetup::getORB()
+Reference< XMultiServiceFactory > ODbTypeWizDialogSetup::getORB() const
 {
        return m_pImpl->getORB();
 }
@@ -986,17 +989,30 @@
     }
 
     //-------------------------------------------------------------------------
+    DATASOURCE_TYPE ODbTypeWizDialogSetup::getDefaultDatabaseType() const
+    {
+        DATASOURCE_TYPE eRet = DST_DBASE;
+
+        ::rtl::OUString sURL = m_pCollection->getDatasourcePrefix( 
DST_EMBEDDED_HSQLDB );
+        Reference< XDriverAccess > xDriverManager( getORB()->createInstance( 
SERVICE_SDBC_DRIVERMANAGER ), UNO_QUERY );
+        if ( xDriverManager.is() && xDriverManager->getDriverByURL( sURL 
).is() )
+            eRet = DST_EMBEDDED_HSQLDB;
+
+        return eRet;
+    }
+
+    //-------------------------------------------------------------------------
     void ODbTypeWizDialogSetup::CreateDatabase()
     {
                ::rtl::OUString sUrl;
-               DATASOURCE_TYPE eType = 
m_pCollection->getEmbeddedDatabaseType(getORB());
-               if ( eType == DST_EMBEDDED )
+               DATASOURCE_TYPE eType = getDefaultDatabaseType();
+               if ( eType == DST_EMBEDDED_HSQLDB )
                {
-                       sUrl = m_pCollection->getEmbeddedDatabaseURL(getORB());
+                       sUrl = m_pCollection->getDatasourcePrefix( 
DST_EMBEDDED_HSQLDB );
                        Reference< XPropertySet > xDatasource = 
m_pImpl->getCurrentDataSource();
                        OSL_ENSURE(xDatasource.is(),"DataSource is null!");
                        if ( xDatasource.is() )
-                               
xDatasource->setPropertyValue(PROPERTY_INFO,makeAny(m_pCollection->getEmbeddedDatabaseProperties(getORB())));
+                               xDatasource->setPropertyValue( PROPERTY_INFO, 
makeAny( m_pCollection->getDefaultDBSettings( DST_EMBEDDED_HSQLDB ) ) );
                        m_pImpl->translateProperties(xDatasource,*m_pOutSet);
                }
                if ( eType == DST_DBASE )




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

Reply via email to