diff options
author | Noel Grandin <noel@peralex.com> | 2012-09-18 09:46:34 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-09-27 15:03:32 +0200 |
commit | 9c00e38b431b57c3760f6c0aa774424b3239eeda (patch) | |
tree | bfe1bdd57d15eafb617028243cf4ea892016a137 /dbaccess/source/ui/misc | |
parent | 8c20367a2e6d61f830f6dc336761909e38a6bcca (diff) |
fdo#46808, Adapt sdb::DatabaseContext UNO service to new style
Create a merged XDatabaseContext interface for this service to implement.
Which is backwards-compatible, but does not require creating a new service.
Quite a few IDL files had to be marked as published for this to work.
Change-Id: Ie9a0da88d8c33cc83fc9d2334ff83ab2744c222f
Diffstat (limited to 'dbaccess/source/ui/misc')
-rw-r--r-- | dbaccess/source/ui/misc/TokenWriter.cxx | 3 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/UITools.cxx | 33 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/WCopyTable.cxx | 3 |
3 files changed, 19 insertions, 20 deletions
diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx b/dbaccess/source/ui/misc/TokenWriter.cxx index 36c922cdc180..9c30b73dbf91 100644 --- a/dbaccess/source/ui/misc/TokenWriter.cxx +++ b/dbaccess/source/ui/misc/TokenWriter.cxx @@ -29,6 +29,7 @@ #include <comphelper/string.hxx> #include <comphelper/types.hxx> #include <connectivity/dbtools.hxx> +#include <com/sun/star/sdb/DatabaseContext.hpp> #include <com/sun/star/sdbc/XConnection.hpp> #include <com/sun/star/sdbcx/XColumnsSupplier.hpp> #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> @@ -276,7 +277,7 @@ void ODatabaseImportExport::initialize() if ( !m_xConnection.is() ) { // we need a connection OSL_ENSURE(!m_sDataSourceName.isEmpty(),"There must be a datsource name!"); - Reference<XNameAccess> xDatabaseContext = Reference< XNameAccess >(m_xFactory->createInstance(SERVICE_SDB_DATABASECONTEXT), UNO_QUERY); + Reference<XNameAccess> xDatabaseContext( DatabaseContext::create(comphelper::ComponentContext(m_xFactory).getUNOContext()), UNO_QUERY_THROW); Reference< XEventListener> xEvt((::cppu::OWeakObject*)this,UNO_QUERY); Reference< XConnection > xConnection; diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx index 4131abc204e0..0ac020f5e792 100644 --- a/dbaccess/source/ui/misc/UITools.cxx +++ b/dbaccess/source/ui/misc/UITools.cxx @@ -27,6 +27,7 @@ #include "dbtreelistbox.hxx" #include "defaultobjectnamecheck.hxx" #include <comphelper/extract.hxx> +#include <com/sun/star/sdb/DatabaseContext.hpp> #include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.hpp> #include <com/sun/star/sdb/XCompletedConnection.hpp> #include <com/sun/star/sdbc/XDataSource.hpp> @@ -223,7 +224,7 @@ Reference< XDataSource > getDataSourceByName( const ::rtl::OUString& _rDataSourc Window* _pErrorMessageParent, Reference< XMultiServiceFactory > _rxORB, ::dbtools::SQLExceptionInfo* _pErrorInfo ) { ::comphelper::ComponentContext aContext( _rxORB ); - Reference< XNameAccess > xDatabaseContext( aContext.createComponent( "com.sun.star.sdb.DatabaseContext" ), UNO_QUERY_THROW ); + Reference< XDatabaseContext > xDatabaseContext = DatabaseContext::create(aContext.getUNOContext()); Reference< XDataSource > xDatasource; Any aError; @@ -722,22 +723,18 @@ void setColumnProperties(const Reference<XPropertySet>& _rxColumn,const OFieldDe return sDefaultName; } // ----------------------------------------------------------------------------- -sal_Bool checkDataSourceAvailable(const ::rtl::OUString& _sDataSourceName,const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xORB) +sal_Bool checkDataSourceAvailable(const ::rtl::OUString& _sDataSourceName,const Reference< ::com::sun::star::uno::XComponentContext >& _xContext) { - sal_Bool bRet = sal_False; - Reference< XNameAccess > xDataBaseContext(_xORB->createInstance(SERVICE_SDB_DATABASECONTEXT), UNO_QUERY); - if ( xDataBaseContext.is() ) - { - bRet = xDataBaseContext->hasByName(_sDataSourceName); - if ( !bRet ) - { // try if this one is a URL - try - { - bRet = xDataBaseContext->getByName(_sDataSourceName).hasValue(); - } - catch(const Exception&) - { - } + Reference< XDatabaseContext > xDataBaseContext = DatabaseContext::create(_xContext); + sal_Bool bRet = xDataBaseContext->hasByName(_sDataSourceName); + if ( !bRet ) + { // try if this one is a URL + try + { + bRet = xDataBaseContext->getByName(_sDataSourceName).hasValue(); + } + catch(const Exception&) + { } } return bRet; @@ -1019,7 +1016,7 @@ const SfxFilter* getStandardDatabaseFilter() // ----------------------------------------------------------------------------- sal_Bool appendToFilter(const Reference<XConnection>& _xConnection, const ::rtl::OUString& _sName, - const Reference< XMultiServiceFactory >& _xFactory, + const Reference< XComponentContext >& _rxContext, Window* _pParent) { sal_Bool bRet = sal_False; @@ -1050,7 +1047,7 @@ sal_Bool appendToFilter(const Reference<XConnection>& _xConnection, bRet = sal_True; if(bHasToInsert) { - if(! ::dbaui::checkDataSourceAvailable(::comphelper::getString(xProp->getPropertyValue(PROPERTY_NAME)),_xFactory)) + if(! ::dbaui::checkDataSourceAvailable(::comphelper::getString(xProp->getPropertyValue(PROPERTY_NAME)),_rxContext)) { String aMessage(ModuleRes(STR_TABLEDESIGN_DATASOURCE_DELETED)); OSQLWarningBox( _pParent, aMessage ).Execute(); diff --git a/dbaccess/source/ui/misc/WCopyTable.cxx b/dbaccess/source/ui/misc/WCopyTable.cxx index 782eb3cb9f3f..e7e0ae95ccdf 100644 --- a/dbaccess/source/ui/misc/WCopyTable.cxx +++ b/dbaccess/source/ui/misc/WCopyTable.cxx @@ -46,6 +46,7 @@ #include <com/sun/star/sdbcx/XViewsSupplier.hpp> #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> +#include <comphelper/componentcontext.hxx> #include <comphelper/extract.hxx> #include <comphelper/types.hxx> #include <comphelper/interaction.hxx> @@ -1337,7 +1338,7 @@ Reference< XPropertySet > OCopyTableWizard::createTable() { xSuppDestinationColumns.set( xTable, UNO_QUERY_THROW ); // insert new table name into table filter - ::dbaui::appendToFilter( m_xDestConnection, m_sName, GetFactory(), this ); + ::dbaui::appendToFilter( m_xDestConnection, m_sName, comphelper::ComponentContext(GetFactory()).getUNOContext(), this ); // copy ui settings m_rSourceObject.copyUISettingsTo( xTable ); |