User: ihi Date: 2006/10/18 06:10:52 Modified: dba/connectivity/source/drivers/mozab/mozillasrc/MQuery.cxx
Log: INTEGRATION: CWS dba205b (1.17.38); FILE MERGED 2006/08/09 19:52:38 fs 1.17.38.1: refactored the OColumnAlias class, in preparation of fixing #b6248060# File Changes: Directory: /dba/connectivity/source/drivers/mozab/mozillasrc/ ============================================================= File [changed]: MQuery.cxx Url: http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/mozillasrc/MQuery.cxx?r1=1.18&r2=1.19 Delta lines: +10 -33 --------------------- --- MQuery.cxx 17 Sep 2006 03:02:15 -0000 1.18 +++ MQuery.cxx 18 Oct 2006 13:10:49 -0000 1.19 @@ -94,6 +94,7 @@ } // ------------------------------------------------------------------------- +/* MQuery::MQuery() { OSL_TRACE( "IN MQuery::MQuery()\n" ); @@ -105,14 +106,15 @@ OSL_TRACE( "\tOUT MQuery::MQuery()\n" ); } +*/ // ------------------------------------------------------------------------- -MQuery::MQuery(const ::std::map< ::rtl::OUString, ::rtl::OUString> & ca) +MQuery::MQuery( const OColumnAlias& _ca ) + :m_rColumnAlias( _ca ) { OSL_TRACE( "IN MQuery::MQuery( ca )\n" ); construct(); - m_aColumnAliasMap = ca; #if OSL_DEBUG_LEVEL > 0 m_oThreadID = osl_getThreadIdentifier(NULL); #endif @@ -164,16 +166,8 @@ ::std::vector< ::rtl::OUString>::iterator aIterAttr = attrs.begin(); ::std::map< ::rtl::OUString, ::rtl::OUString>::iterator aIterMap; - for(aIterAttr = attrs.begin(); aIterAttr != attrs.end();++aIterAttr) - { - aIterMap = m_aColumnAliasMap.find(*aIterAttr); - if (aIterMap == m_aColumnAliasMap.end()) { - // Not found. - m_aAttributes.push_back(*aIterAttr); - } else { - m_aAttributes.push_back(aIterMap->second); - } - } + for ( aIterAttr = attrs.begin(); aIterAttr != attrs.end();++aIterAttr ) + m_aAttributes.push_back( m_rColumnAlias.getProgrammaticNameOrFallbackToAlias( *aIterAttr ) ); OSL_TRACE("\tOUT MQuery::setAttributes()\n"); } @@ -278,13 +272,7 @@ // Check if it's an alias first... rtl::OUString attrName; ::std::map< ::rtl::OUString, ::rtl::OUString>::const_iterator aIterMap; - aIterMap = _aQuery->getColumnAliasMap().find(evStr->getName()); - if (aIterMap == _aQuery->getColumnAliasMap().end()) { - // Not found. - attrName = evStr->getName(); - } else { - attrName = aIterMap->second; - } + attrName = _aQuery->getColumnAlias().getProgrammaticNameOrFallbackToAlias( evStr->getName() ); string aMiName = MTypeConverter::ouStringToStlString(attrName); boolString->SetName(strdup(aMiName.c_str())); OSL_TRACE("Name = %s ;", aMiName.c_str() ); @@ -751,13 +739,7 @@ switch ( nType ) { case DataType::VARCHAR: - { - ::std::map< ::rtl::OUString, ::rtl::OUString>::const_iterator aIterMap = m_aColumnAliasMap.find(aDBColumnName); - if (aIterMap != m_aColumnAliasMap.end()) - xResEntry->setValue(aIterMap->second, rValue.getString()); - else - xResEntry->setValue( aDBColumnName, rValue.getString()); - } + xResEntry->setValue( m_rColumnAlias.getProgrammaticNameOrFallbackToAlias( aDBColumnName ), rValue.getString() ); break; default: OSL_ENSURE( sal_False, "invalid data type!" ); @@ -784,14 +766,9 @@ switch ( nType ) { case DataType::VARCHAR: - { - ::std::map< ::rtl::OUString, ::rtl::OUString>::const_iterator aIterMap = m_aColumnAliasMap.find(aDBColumnName); - if (aIterMap != m_aColumnAliasMap.end()) - rValue = xResEntry->getValue(aIterMap->second); - else - rValue = xResEntry->getValue( aDBColumnName ); - } + rValue = xResEntry->getValue( m_rColumnAlias.getProgrammaticNameOrFallbackToAlias( aDBColumnName ) ); break; + default: rValue.setNull(); break; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
