User: hr Date: 2007-11-01 15:06:06+0000 Modified: dba/dbaccess/source/ui/dlg/DbAdminImpl.cxx
Log: INTEGRATION: CWS dba24b (1.18.28); FILE MERGED 2007/08/28 13:26:46 fs 1.18.28.4: authentication information now available at the data source meta data 2007/08/27 20:31:00 fs 1.18.28.3: #i80930# fillDetailIds renamed to getSupportedIndirectSettings + now partly based on DataSourceUI, to avoid duplicated hard-coded data 2007/08/27 13:30:35 fs 1.18.28.2: #i80930# allow for no detail ids (fillDetailids) 2007/08/27 10:45:06 fs 1.18.28.1: re-factoring for #i80930#: made getDataSourceType static File Changes: Directory: /dba/dbaccess/source/ui/dlg/ ======================================= File [changed]: DbAdminImpl.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/DbAdminImpl.cxx?r1=1.18&r2=1.19 Delta lines: +18 -15 --------------------- --- DbAdminImpl.cxx 2007-07-06 08:11:06+0000 1.18 +++ DbAdminImpl.cxx 2007-11-01 15:06:03+0000 1.19 @@ -36,9 +36,9 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_dbaccess.hxx" -#ifndef _DBAUI_DBADMINIMPL_HXX_ #include "DbAdminImpl.hxx" -#endif +#include "dsmeta.hxx" + #ifndef _SFXPOOLITEM_HXX #include <svtools/poolitem.hxx> #endif @@ -232,6 +232,7 @@ m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_AUTORETRIEVEENABLED, INFO_AUTORETRIEVEENABLED)); m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_APPEND_TABLE_ALIAS, INFO_APPEND_TABLE_ALIAS)); m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_AS_BEFORE_CORRNAME, INFO_AS_BEFORE_CORRELATION_NAME ) ); + m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_CHECK_REQUIRED_FIELDS, INFO_FORMS_CHECK_REQUIRED_FIELDS ) ); m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_PARAMETERNAMESUBST, INFO_PARAMETERNAMESUBST)); m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_IGNOREDRIVER_PRIV, INFO_IGNOREDRIVER_PRIV)); m_aIndirectPropTranslator.insert(MapInt2String::value_type(DSID_BOOLEANCOMPARISON, PROPERTY_BOOLEANCOMPARISONMODE)); @@ -470,23 +471,27 @@ return m_xDatasource; } //------------------------------------------------------------------------- -DATASOURCE_TYPE ODbDataSourceAdministrationHelper::getDatasourceType(const SfxItemSet& _rSet) const +DATASOURCE_TYPE ODbDataSourceAdministrationHelper::getDatasourceType( const SfxItemSet& _rSet ) { - SFX_ITEMSET_GET(_rSet, pConnectURL, SfxStringItem, DSID_CONNECTURL, sal_True); - SFX_ITEMSET_GET(_rSet, pTypeCollection, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True); - DBG_ASSERT(pConnectURL && pTypeCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid items in the source set!"); + SFX_ITEMSET_GET( _rSet, pConnectURL, SfxStringItem, DSID_CONNECTURL, sal_True ); + SFX_ITEMSET_GET( _rSet, pTypeCollection, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True ); + DBG_ASSERT( pConnectURL && pTypeCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid items in the source set!" ); + if ( !pConnectURL || !pTypeCollection ) + return DST_UNKNOWN; + String sConnectURL = pConnectURL->GetValue(); ODsnTypeCollection* pCollection = pTypeCollection->getCollection(); - DBG_ASSERT(pCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid type collection!"); - return pCollection->getType(sConnectURL); + DBG_ASSERT( pCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid type collection!" ); + if ( !pCollection ) + return DST_UNKNOWN; + + return pCollection->getType( sConnectURL ); } //------------------------------------------------------------------------- sal_Bool ODbDataSourceAdministrationHelper::hasAuthentication(const SfxItemSet& _rSet) const { - DATASOURCE_TYPE eType = getDatasourceType(_rSet); - SFX_ITEMSET_GET(_rSet, pTypeCollection, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True); - return pTypeCollection->getCollection()->hasAuthentication(eType); + return DataSourceMetaData::getAuthentication( getDatasourceType( _rSet ) ) != AuthNone; } // ----------------------------------------------------------------------------- String ODbDataSourceAdministrationHelper::getConnectionURL() const @@ -764,9 +769,7 @@ // first determine which of all the items are relevant for the data source (depends on the connection url) DATASOURCE_TYPE eType = getDatasourceType(_rSource); ::std::vector< sal_Int32> aDetailIds; - ODriversSettings::fillDetailIds(eType,aDetailIds); - - DBG_ASSERT(!aDetailIds.empty(), "ODbDataSourceAdministrationHelper::fillDatasourceInfo: invalid item ids got from the page!"); + ODriversSettings::getSupportedIndirectSettings(eType,aDetailIds); // collect the translated property values for the relevant items PropertyValueSet aRelevantSettings; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
