User: obo Date: 2006/07/10 08:05:04 Modified: dba/dbaccess/source/core/api/column.cxx
Log: INTEGRATION: CWS qiq (1.49.124); FILE MERGED 2006/06/30 13:26:32 fs 1.49.124.3: warning-free code 2006/06/27 11:56:11 fs 1.49.124.2: RESYNC: (1.49-1.50); FILE MERGED 2006/06/16 11:47:36 fs 1.49.124.1: during #i51143#: refactored VCollection: - createEmptyObject now named createDescriptor - cloneObject removed - appendObject now returns the newly created object (previously done via a subsequent call to cloneObject) File Changes: Directory: /dba/dbaccess/source/core/api/ ========================================= File [changed]: column.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/column.cxx?r1=1.50&r2=1.51 Delta lines: +40 -34 --------------------- --- column.cxx 20 Jun 2006 02:38:33 -0000 1.50 +++ column.cxx 10 Jul 2006 15:05:01 -0000 1.51 @@ -96,6 +96,9 @@ #ifndef _CONNECTIVITY_DBTOOLS_HXX_ #include <connectivity/dbtools.hxx> #endif +#ifndef _DBHELPER_DBEXCEPTION_HXX_ +#include <connectivity/dbexception.hxx> +#endif #ifndef DBA_CONTAINERMEDIATOR_HXX #include "ContainerMediator.hxx" #endif @@ -107,6 +110,7 @@ using namespace dbaccess; using namespace connectivity; +using namespace connectivity; using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::sdbcx; using namespace ::com::sun::star::beans; @@ -431,7 +435,8 @@ ::getCppuType(static_cast< ::rtl::OUString* >(NULL))); break; case PROPERTY_ID_CONTROLDEFAULT: - if ( bModified = !::comphelper::compare(rValue,m_aControlDefault) ) + bModified = rValue != m_aControlDefault; + if ( bModified ) { rConvertedValue = rValue; rOldValue = m_aControlDefault; @@ -650,11 +655,11 @@ return xRet; } // ------------------------------------------------------------------------- -Reference< XPropertySet > OColumns::createEmptyObject() +Reference< XPropertySet > OColumns::createDescriptor() { if ( m_pColFactoryImpl ) { - Reference<XPropertySet> xRet = m_pColFactoryImpl->createEmptyObject(); + Reference<XPropertySet> xRet = m_pColFactoryImpl->createColumnDescriptor(); Reference<XChild> xChild(xRet,UNO_QUERY); if ( xChild.is() ) xChild->setParent(static_cast<XChild*>(static_cast<TXChild*>(this))); @@ -742,50 +747,51 @@ } // ------------------------------------------------------------------------- // XAppend -void OColumns::appendObject( const Reference< XPropertySet >& descriptor ) +sdbcx::ObjectType OColumns::appendObject( const ::rtl::OUString& _rForName, const Reference< XPropertySet >& descriptor ) { - Reference<XAppend> xAppend(m_xDrvColumns,UNO_QUERY); - if(xAppend.is()) + sdbcx::ObjectType xReturn; + + Reference< XAppend > xAppend( m_xDrvColumns, UNO_QUERY ); + if ( xAppend.is() ) { xAppend->appendByDescriptor(descriptor); } - else if(m_pTable && !m_pTable->isNew() && m_bAddColumn) + else if ( m_pTable && !m_pTable->isNew() ) { - OColumns_BASE::appendObject(descriptor); + if ( m_bAddColumn ) + xReturn = OColumns_BASE::appendObject( _rForName, descriptor ); + else + ::dbtools::throwGenericSQLException( DBA_RES( RID_STR_NO_COLUMN_ADD ), static_cast<XChild*>(static_cast<TXChild*>(this)) ); } - else if(m_pTable && !m_pTable->isNew() && !m_bAddColumn) - throw SQLException(DBACORE_RESSTRING(RID_STR_NO_COLUMN_ADD),static_cast<XChild*>(static_cast<TXChild*>(this)),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HY000")),1000,Any()); + + if ( m_pColFactoryImpl ) + m_pColFactoryImpl->columnAppended( descriptor ); + ::dbaccess::notifyDataSourceModified(m_xParent,sal_True); + + return xReturn.is() ? xReturn : createObject( _rForName ); } // ------------------------------------------------------------------------- // XDrop void OColumns::dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName) { - Reference<XDrop> xDrop(m_xDrvColumns,UNO_QUERY); - if(xDrop.is()) + Reference< XDrop > xDrop( m_xDrvColumns, UNO_QUERY ); + if ( xDrop.is() ) { - xDrop->dropByName(_sElementName); + xDrop->dropByName( _sElementName ); } - else if(m_pTable && !m_pTable->isNew() && m_bDropColumn) + else if ( m_pTable && !m_pTable->isNew() ) { + if ( m_bDropColumn ) OColumns_BASE::dropObject(_nPos,_sElementName); + else + ::dbtools::throwGenericSQLException( DBA_RES( RID_STR_NO_COLUMN_DROP ), static_cast<XChild*>(static_cast<TXChild*>(this)) ); } - else if(m_pTable && !m_pTable->isNew() && !m_bDropColumn) - throw SQLException(DBACORE_RESSTRING(RID_STR_NO_COLUMN_DROP),static_cast<XChild*>(static_cast<TXChild*>(this)),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HY000")),1000,Any()); + if ( m_pColFactoryImpl ) m_pColFactoryImpl->columnDropped(_sElementName); - ::dbaccess::notifyDataSourceModified(m_xParent,sal_True); -} -// ------------------------------------------------------------------------- -connectivity::sdbcx::ObjectType OColumns::cloneObject(const Reference< XPropertySet >& _xDescriptor) -{ - Reference<XPropertySet> xProp = createEmptyObject(); - if ( xProp.is() ) - ::comphelper::copyProperties(_xDescriptor,xProp); - if ( m_pColFactoryImpl ) - m_pColFactoryImpl->columnCloned(xProp); - return xProp; + ::dbaccess::notifyDataSourceModified(m_xParent,sal_True); } // ----------------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
