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]

Reply via email to