Tag: cws_src680_dbodf12import
User: oj      
Date: 2007-11-01 09:13:33+0000
Modified:
   dba/dbaccess/source/filter/xml/dbloader2.cxx
   dba/dbaccess/source/filter/xml/makefile.mk
   dba/dbaccess/source/filter/xml/xmlColumn.cxx
   dba/dbaccess/source/filter/xml/xmlDataSource.cxx
   dba/dbaccess/source/filter/xml/xmlDataSource.hxx
   dba/dbaccess/source/filter/xml/xmlDataSourceInfo.cxx
   dba/dbaccess/source/filter/xml/xmlDataSourceInfo.hxx
   dba/dbaccess/source/filter/xml/xmlDataSourceSetting.cxx
   dba/dbaccess/source/filter/xml/xmlDataSourceSetting.hxx
   dba/dbaccess/source/filter/xml/xmlDataSourceSettings.cxx
   dba/dbaccess/source/filter/xml/xmlDataSourceSettings.hxx
   dba/dbaccess/source/filter/xml/xmlDatabase.cxx
   dba/dbaccess/source/filter/xml/xmlDatabase.hxx
   dba/dbaccess/source/filter/xml/xmlEnums.hxx
   dba/dbaccess/source/filter/xml/xmlLogin.cxx
   dba/dbaccess/source/filter/xml/xmlTableFilterList.cxx
   dba/dbaccess/source/filter/xml/xmlfilter.cxx
   dba/dbaccess/source/filter/xml/xmlfilter.hxx

Log:
 #i83190# implement odf12 importer

File Changes:

Directory: /dba/dbaccess/source/filter/xml/
===========================================

File [changed]: dbloader2.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/dbloader2.cxx?r1=1.29&r2=1.29.32.1
Delta lines:  +4 -4
-------------------
--- dbloader2.cxx       2007-09-26 14:41:50+0000        1.29
+++ dbloader2.cxx       2007-11-01 09:13:30+0000        1.29.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: dbloader2.cxx,v $
  *
- *  $Revision: 1.29 $
+ *  $Revision: 1.29.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:41:50 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:30 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -254,7 +254,7 @@
                if ( xProp.is() )
                {
                        ::rtl::OUString sMediaType;
-                       xProp->getPropertyValue( 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MediaType")) ) >>= sMediaType;
+                       xProp->getPropertyValue( INFO_MEDIATYPE ) >>= 
sMediaType;
                        if ( 
sMediaType.equalsAscii(MIMETYPE_OASIS_OPENDOCUMENT_DATABASE_ASCII) )
                                return 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StarBase"));
                        ::comphelper::disposeComponent(xProp);

File [changed]: makefile.mk
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/makefile.mk?r1=1.6&r2=1.6.224.1
Delta lines:  +9 -3
-------------------
--- makefile.mk 2006-05-24 14:12:04+0000        1.6
+++ makefile.mk 2007-11-01 09:13:31+0000        1.6.224.1
@@ -4,9 +4,9 @@
 #
 #   $RCSfile: makefile.mk,v $
 #
-#   $Revision: 1.6 $
+#   $Revision: 1.6.224.1 $
 #
-#   last change: $Author: vg $ $Date: 2006/05/24 14:12:04 $
+#   last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
 #
 #   The Contents of this file are made available subject to
 #   the terms of GNU Lesser General Public License Version 2.1.
@@ -66,6 +66,12 @@
                        $(SLO)$/xmlStyleImport.obj                      \
                        $(SLO)$/xmlHelper.obj                           \
                        $(SLO)$/xmlAutoStyle.obj                        \
+                       $(SLO)$/xmlConnectionData.obj           \
+                       $(SLO)$/xmlDatabaseDescription.obj      \
+                       $(SLO)$/xmlFileBasedDatabase.obj        \
+                       $(SLO)$/xmlServerDatabase.obj           \
+                       $(SLO)$/xmlConnectionResource.obj       \
+                       $(SLO)$/xmlJavaClassPath.obj            \
                        $(SLO)$/xmlservices.obj
 
 # --- Library -----------------------------------

File [changed]: xmlColumn.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlColumn.cxx?r1=1.8&r2=1.8.32.1
Delta lines:  +6 -3
-------------------
--- xmlColumn.cxx       2007-09-26 14:42:03+0000        1.8
+++ xmlColumn.cxx       2007-11-01 09:13:31+0000        1.8.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlColumn.cxx,v $
  *
- *  $Revision: 1.8 $
+ *  $Revision: 1.8.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:42:03 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -134,6 +134,9 @@
                 if ( sValue.getLength() && sType.getLength() )
                     
SvXMLUnitConverter::convertAny(m_aDefaultValue,sType,sValue);
                 break;
+            case XML_TOK_COLUMN_VISIBLE:
+                m_bHidden = sValue.equalsAscii("false");
+                break;
                }
        }
        OSL_ENSURE(m_sName.getLength(),"Invalid column name of length: ZERO");

File [changed]: xmlDataSource.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSource.cxx?r1=1.10&r2=1.10.32.1
Delta lines:  +68 -24
---------------------
--- xmlDataSource.cxx   2007-09-26 14:42:29+0000        1.10
+++ xmlDataSource.cxx   2007-11-01 09:13:31+0000        1.10.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSource.cxx,v $
  *
- *  $Revision: 1.10 $
+ *  $Revision: 1.10.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:42:29 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -77,7 +77,8 @@
 #ifndef TOOLS_DIAGNOSE_EX_H
 #include <tools/diagnose_ex.h>
 #endif
-
+#include "xmlConnectionData.hxx"
+#include "xmlJavaClassPath.hxx"
 namespace dbaxml
 {
        using namespace ::com::sun::star::uno;
@@ -86,8 +87,9 @@
 
 OXMLDataSource::OXMLDataSource( ODBFilter& rImport,
                                sal_uInt16 nPrfx, const ::rtl::OUString& 
_sLocalName,
-                               const Reference< XAttributeList > & _xAttrList 
) :
+                               const Reference< XAttributeList > & 
_xAttrList,bool _bAsDataSource ) :
        SvXMLImportContext( rImport, nPrfx, _sLocalName )
+    ,m_bAsDataSource(_bAsDataSource)
 {
     DBG_CTOR(OXMLDataSource,NULL);
 
@@ -98,8 +100,12 @@
        Reference<XPropertySet> xDataSource = rImport.getDataSource();
 
        PropertyValue aProperty;
+    bool bParameter_name_substitution = false;
+    bool bFoundTableNameLengthLimited = false;
+    bool bFoundAppendTableAliasName = false;
+    bool bFoundSuppressVersionColumns = false;
 
-       sal_Int16 nLength = (xDataSource.is() && _xAttrList.is()) ? 
_xAttrList->getLength() : 0;
+       const sal_Int16 nLength = (xDataSource.is() && _xAttrList.is()) ? 
_xAttrList->getLength() : 0;
        static const ::rtl::OUString s_sTRUE = 
::xmloff::token::GetXMLToken(XML_TRUE);
        for(sal_Int16 i = 0; i < nLength; ++i)
        {
@@ -127,6 +133,7 @@
                                try
                                {
                                        
xDataSource->setPropertyValue(PROPERTY_SUPPRESSVERSIONCL,makeAny(sValue == 
s_sTRUE ? sal_True : sal_False));
+                    bFoundSuppressVersionColumns = true;
                                }
                                catch(Exception)
                                {
@@ -150,6 +157,7 @@
                        case XML_TOK_IS_TABLE_NAME_LENGTH_LIMITED:
                                aProperty.Name = INFO_ALLOWLONGTABLENAMES;
                                aProperty.Value <<= (sValue == s_sTRUE ? 
sal_True : sal_False);
+                bFoundTableNameLengthLimited = true;
                                break;
                        case XML_TOK_SYSTEM_DRIVER_SETTINGS:
                                aProperty.Name = INFO_ADDITIONALOPTIONS;
@@ -161,10 +169,12 @@
                        case XML_TOK_APPEND_TABLE_ALIAS_NAME:
                                aProperty.Name = INFO_APPEND_TABLE_ALIAS;
                                aProperty.Value <<= (sValue == s_sTRUE ? 
sal_True : sal_False);
+                bFoundAppendTableAliasName = true;
                                break;
                        case XML_TOK_PARAMETER_NAME_SUBSTITUTION:
                                aProperty.Name = INFO_PARAMETERNAMESUBST;
                                aProperty.Value <<= (sValue == s_sTRUE ? 
sal_True : sal_False);
+                bParameter_name_substitution = true;
                                break;
                        case XML_TOK_IGNORE_DRIVER_PRIVILEGES:
                                aProperty.Name = INFO_IGNOREDRIVER_PRIV;
@@ -197,7 +207,39 @@
                {
                        if ( !aProperty.Value.hasValue() )
                                aProperty.Value <<= sValue;
-                       addInfo(aProperty);
+                       rImport.addInfo(aProperty);
+               }
+       }
+    if ( rImport.isNewFormat() )
+    {
+        if ( !bFoundTableNameLengthLimited )
+        {
+            aProperty.Name = INFO_ALLOWLONGTABLENAMES;
+            aProperty.Value <<= sal_True;
+                   rImport.addInfo(aProperty);
+        }
+        if ( !bParameter_name_substitution )
+        {
+            aProperty.Name = INFO_PARAMETERNAMESUBST;
+            aProperty.Value <<= sal_True;
+                   rImport.addInfo(aProperty);
+        }
+        if ( !bFoundAppendTableAliasName )
+        {
+            aProperty.Name = INFO_APPEND_TABLE_ALIAS;
+            aProperty.Value <<= sal_True;
+                   rImport.addInfo(aProperty);
+        }
+        if ( !bFoundSuppressVersionColumns )
+        {
+            try
+                       {
+                               
xDataSource->setPropertyValue(PROPERTY_SUPPRESSVERSIONCL,makeAny(sal_True));
+                       }
+                       catch(Exception)
+                       {
+                DBG_UNHANDLED_EXCEPTION();
+                       }
                }
        }
 }
@@ -233,12 +275,29 @@
                case XML_TOK_AUTO_INCREMENT:
                case XML_TOK_DELIMITER:
                case XML_TOK_FONT_CHARSET:
+        case XML_TOK_CHARACTER_SET:
                        GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
-                       pContext = new OXMLDataSourceInfo( GetOwnImport(), 
nPrefix, rLocalName,xAttrList,*this );
+                       pContext = new OXMLDataSourceInfo( GetOwnImport(), 
nPrefix, rLocalName,xAttrList);
                        break;
                case XML_TOK_DATA_SOURCE_SETTINGS:
                        GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
-                       pContext = new OXMLDataSourceSettings( GetOwnImport(), 
nPrefix, rLocalName, *this );
+                       pContext = new OXMLDataSourceSettings( GetOwnImport(), 
nPrefix, rLocalName);
+                       break;
+        case XML_TOK_CONNECTION_DATA:
+            GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
+                       pContext = new OXMLConnectionData( GetOwnImport(), 
nPrefix, rLocalName);
+            break;
+        case XML_TOK_DRIVER_SETTINGS:
+            GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
+                       pContext = new OXMLDataSource( GetOwnImport(), nPrefix, 
rLocalName, xAttrList,false);
+            break;
+        case XML_TOK_JAVA_CLASSPATH:
+            GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
+                       pContext = new OXMLJavaClassPath( GetOwnImport(), 
nPrefix, rLocalName,xAttrList );
+            break;
+        case XML_TOK_APPLICATION_CONNECTION_SETTINGS:
+            GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
+                       pContext = new OXMLDataSource( GetOwnImport(), nPrefix, 
rLocalName, xAttrList,false);
                        break;
        }
 
@@ -253,21 +312,6 @@
        return static_cast<ODBFilter&>(GetImport());
 }
 // 
-----------------------------------------------------------------------------
-void OXMLDataSource::EndElement()
-{
-       Reference<XPropertySet> xDataSource(GetOwnImport().getDataSource());
-       if ( !m_aInfoSequence.empty() && xDataSource.is() )
-       {
-               try
-               {
-                       
xDataSource->setPropertyValue(PROPERTY_INFO,makeAny(Sequence<PropertyValue>(&(*m_aInfoSequence.begin()),m_aInfoSequence.size())));
-               }
-               catch(Exception)
-               {
-            DBG_UNHANDLED_EXCEPTION();
-               }
-       }
-}
 
 //----------------------------------------------------------------------------
 } // namespace dbaxml

File [changed]: xmlDataSource.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSource.hxx?r1=1.3&r2=1.3.350.1
Delta lines:  +6 -17
--------------------
--- xmlDataSource.hxx   2005-09-08 14:02:31+0000        1.3
+++ xmlDataSource.hxx   2007-11-01 09:13:31+0000        1.3.350.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSource.hxx,v $
  *
- *  $Revision: 1.3 $
+ *  $Revision: 1.3.350.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 14:02:31 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -48,31 +48,20 @@
        class ODBFilter;
        class OXMLDataSource : public SvXMLImportContext
        {
-               typedef ::std::vector< ::com::sun::star::beans::PropertyValue> 
TInfoSequence;
-               TInfoSequence m_aInfoSequence;
+        bool        m_bAsDataSource;
 
                ODBFilter& GetOwnImport();
        public:
 
                OXMLDataSource( ODBFilter& rImport, sal_uInt16 nPrfx,
                                        const ::rtl::OUString& rLName,
-                                       const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList );
+                                       const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList,
+                    bool _bAsDataSource = true);
                virtual ~OXMLDataSource();
 
                virtual SvXMLImportContext *CreateChildContext( sal_uInt16 
nPrefix,
                                        const ::rtl::OUString& rLocalName,
                                        const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList );
-
-               virtual void EndElement();
-
-               /** add a Info to the sequence which will be appened to the 
data source
-                       @param  _rInfo
-                               The property to append.
-               */
-               inline void addInfo(const 
::com::sun::star::beans::PropertyValue& _rInfo)
-               {
-                       m_aInfoSequence.push_back(_rInfo);
-               }
        };
 // 
-----------------------------------------------------------------------------
 } // namespace dbaxml

File [changed]: xmlDataSourceInfo.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSourceInfo.cxx?r1=1.8&r2=1.8.32.1
Delta lines:  +38 -12
---------------------
--- xmlDataSourceInfo.cxx       2007-09-26 14:42:43+0000        1.8
+++ xmlDataSourceInfo.cxx       2007-11-01 09:13:31+0000        1.8.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSourceInfo.cxx,v $
  *
- *  $Revision: 1.8 $
+ *  $Revision: 1.8.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:42:43 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -76,10 +76,8 @@
 OXMLDataSourceInfo::OXMLDataSourceInfo( ODBFilter& rImport
                                ,sal_uInt16 nPrfx
                                ,const ::rtl::OUString& _sLocalName
-                               ,const Reference< XAttributeList > & _xAttrList 
-                               ,OXMLDataSource& _rParent) :
+                               ,const Reference< XAttributeList > & 
_xAttrList) :
        SvXMLImportContext( rImport, nPrfx, _sLocalName )
-       ,m_rParent(_rParent)
 {
     DBG_CTOR(OXMLDataSourceInfo,NULL);
 
@@ -89,7 +87,9 @@
 
        PropertyValue aProperty;
        sal_Int16 nLength = (_xAttrList.is()) ? _xAttrList->getLength() : 0;
-       sal_Bool bAutoEnabled = sal_False;
+       bool bAutoEnabled = false;
+    bool bFoundField = false,bFoundThousand = false, bFoundCharset = false;
+    ::std::vector< sal_uInt16 > aTokens;
        for(sal_Int16 i = 0; i < nLength; ++i)
        {
                ::rtl::OUString sLocalName;
@@ -99,43 +99,69 @@
 
                aProperty.Name = ::rtl::OUString();
 
-               switch( rTokenMap.Get( nPrefix, sLocalName ) )
+        sal_uInt16 nToken = rTokenMap.Get( nPrefix, sLocalName );
+        aTokens.push_back(nToken);
+               switch( nToken )
                {
                        case XML_TOK_ADDITIONAL_COLUMN_STATEMENT:
                                aProperty.Name = PROPERTY_AUTOINCREMENTCREATION;
-                               bAutoEnabled = sal_True;
+                               bAutoEnabled = true;
                                break;
                        case XML_TOK_ROW_RETRIEVING_STATEMENT:
                                aProperty.Name = INFO_AUTORETRIEVEVALUE;
-                               bAutoEnabled = sal_True;
+                               bAutoEnabled = true;
                                break;
                        case XML_TOK_STRING:
                                aProperty.Name = INFO_TEXTDELIMITER;
                                break;
                        case XML_TOK_FIELD:
                                aProperty.Name = INFO_FIELDDELIMITER;
+                bFoundField = true;
                                break;
                        case XML_TOK_DECIMAL:
                                aProperty.Name = INFO_DECIMALDELIMITER;
                                break;
                        case XML_TOK_THOUSAND:
                                aProperty.Name = INFO_THOUSANDSDELIMITER;
+                bFoundThousand = true;
                                break;
                        case XML_TOK_ENCODING:
                                aProperty.Name = INFO_CHARSET;
+                bFoundCharset = true;
                                break;
                }
                if ( aProperty.Name.getLength() )
                {
                        aProperty.Value <<= sValue;
-                       m_rParent.addInfo(aProperty);
+                       rImport.addInfo(aProperty);
                }
        }
        if ( bAutoEnabled )
        {
                aProperty.Name = INFO_AUTORETRIEVEENABLED;
                aProperty.Value <<= sal_True;
-               m_rParent.addInfo(aProperty);
+               rImport.addInfo(aProperty);
+       }
+    if ( rImport.isNewFormat() )
+    {
+        if ( !bFoundField )
+        {
+            aProperty.Name = INFO_FIELDDELIMITER;
+            aProperty.Value <<= 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(";"));
+                   rImport.addInfo(aProperty);
+        }
+        if ( !bFoundThousand )
+        {
+            aProperty.Name = INFO_THOUSANDSDELIMITER;
+            aProperty.Value <<= 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(","));
+                   rImport.addInfo(aProperty);
+        }
+        if ( !bFoundCharset )
+        {
+            aProperty.Name = INFO_CHARSET;
+            aProperty.Value <<= 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("utf8"));
+                   rImport.addInfo(aProperty);
+        }        
        }
 }
 // 
-----------------------------------------------------------------------------

File [changed]: xmlDataSourceInfo.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSourceInfo.hxx?r1=1.3&r2=1.3.350.1
Delta lines:  +4 -7
-------------------
--- xmlDataSourceInfo.hxx       2005-09-08 14:03:08+0000        1.3
+++ xmlDataSourceInfo.hxx       2007-11-01 09:13:31+0000        1.3.350.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSourceInfo.hxx,v $
  *
- *  $Revision: 1.3 $
+ *  $Revision: 1.3.350.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 14:03:08 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -42,17 +42,14 @@
 namespace dbaxml
 {
        class ODBFilter;
-       class OXMLDataSource;
        class OXMLDataSourceInfo : public SvXMLImportContext
        {
-               OXMLDataSource& m_rParent;
                ODBFilter& GetOwnImport();
        public:
 
                OXMLDataSourceInfo( ODBFilter& rImport, sal_uInt16 nPrfx,
                                        const ::rtl::OUString& rLName,
-                                       const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList
-                                       ,OXMLDataSource& _rParent);
+                                       const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList);
                virtual ~OXMLDataSourceInfo();
        };
 // 
-----------------------------------------------------------------------------

File [changed]: xmlDataSourceSetting.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSourceSetting.cxx?r1=1.10&r2=1.10.32.1
Delta lines:  +6 -8
-------------------
--- xmlDataSourceSetting.cxx    2007-09-26 14:42:55+0000        1.10
+++ xmlDataSourceSetting.cxx    2007-11-01 09:13:31+0000        1.10.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSourceSetting.cxx,v $
  *
- *  $Revision: 1.10 $
+ *  $Revision: 1.10.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:42:55 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -76,10 +76,8 @@
                                ,sal_uInt16 nPrfx
                                ,const ::rtl::OUString& _sLocalName
                                ,const Reference< XAttributeList > & _xAttrList 
-                               ,OXMLDataSource& _rParent
                                ,OXMLDataSourceSetting* _pContainer) :
        SvXMLImportContext( rImport, nPrfx, _sLocalName )
-       ,m_rParent(_rParent)
        ,m_pContainer(_pContainer)
        ,m_bIsList(sal_False)
 {
@@ -152,11 +150,11 @@
        {
                case XML_TOK_DATA_SOURCE_SETTING:
                        GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
-                       pContext = new OXMLDataSourceSetting( GetOwnImport(), 
nPrefix, rLocalName,xAttrList,m_rParent);
+                       pContext = new OXMLDataSourceSetting( GetOwnImport(), 
nPrefix, rLocalName,xAttrList);
                        break;
                case XML_TOK_DATA_SOURCE_SETTING_VALUE:
                        GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
-                       pContext = new OXMLDataSourceSetting( GetOwnImport(), 
nPrefix, rLocalName,xAttrList,m_rParent,this );
+                       pContext = new OXMLDataSourceSetting( GetOwnImport(), 
nPrefix, rLocalName,xAttrList,this );
                        break;
        }
 
@@ -178,7 +176,7 @@
         if ( !m_bIsList && ( m_aPropType.getTypeClass() == TypeClass_STRING ) 
&& !m_aSetting.Value.hasValue() )
             m_aSetting.Value <<= ::rtl::OUString();
 
-               m_rParent.addInfo(m_aSetting);
+               GetOwnImport().addInfo(m_aSetting);
        }
 }
 // 
-----------------------------------------------------------------------------

File [changed]: xmlDataSourceSetting.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSourceSetting.hxx?r1=1.4&r2=1.4.350.1
Delta lines:  +3 -5
-------------------
--- xmlDataSourceSetting.hxx    2005-09-08 14:03:39+0000        1.4
+++ xmlDataSourceSetting.hxx    2007-11-01 09:13:31+0000        1.4.350.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSourceSetting.hxx,v $
  *
- *  $Revision: 1.4 $
+ *  $Revision: 1.4.350.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 14:03:39 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -53,7 +53,6 @@
        {
                ::com::sun::star::beans::PropertyValue m_aSetting;
                ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any> 
m_aInfoSequence;
-               OXMLDataSource& m_rParent;
                OXMLDataSourceSetting* m_pContainer;
                ::com::sun::star::uno::Type     m_aPropType;                    
// the type of the property the instance imports currently
                sal_Bool m_bIsList;
@@ -65,7 +64,6 @@
                OXMLDataSourceSetting( ODBFilter& rImport, sal_uInt16 nPrfx,
                                        const ::rtl::OUString& rLName,
                                        const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList
-                                       ,OXMLDataSource& _rParent
                                        ,OXMLDataSourceSetting* _pContainer = 
NULL);
                virtual ~OXMLDataSourceSetting();
 

File [changed]: xmlDataSourceSettings.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSourceSettings.cxx?r1=1.8&r2=1.8.32.1
Delta lines:  +5 -7
-------------------
--- xmlDataSourceSettings.cxx   2007-09-26 14:43:08+0000        1.8
+++ xmlDataSourceSettings.cxx   2007-11-01 09:13:31+0000        1.8.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSourceSettings.cxx,v $
  *
- *  $Revision: 1.8 $
+ *  $Revision: 1.8.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:43:08 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -76,10 +76,8 @@
 
 OXMLDataSourceSettings::OXMLDataSourceSettings( ODBFilter& rImport
                                ,sal_uInt16 nPrfx
-                               ,const ::rtl::OUString& _sLocalName
-                               ,OXMLDataSource& _rParent) :
+                               ,const ::rtl::OUString& _sLocalName) :
        SvXMLImportContext( rImport, nPrfx, _sLocalName )
-       ,m_rParent(_rParent)
 {
     DBG_CTOR(OXMLDataSourceSettings,NULL);
 
@@ -104,7 +102,7 @@
        {
                case XML_TOK_DATA_SOURCE_SETTING:
                        GetOwnImport().GetProgressBarHelper()->Increment( 
PROGRESS_BAR_STEP );
-                       pContext = new OXMLDataSourceSetting( GetOwnImport(), 
nPrefix, rLocalName,xAttrList,m_rParent );
+                       pContext = new OXMLDataSourceSetting( GetOwnImport(), 
nPrefix, rLocalName,xAttrList);
                        break;
        }
 

File [changed]: xmlDataSourceSettings.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDataSourceSettings.hxx?r1=1.4&r2=1.4.222.1
Delta lines:  +4 -8
-------------------
--- xmlDataSourceSettings.hxx   2006-06-20 02:50:21+0000        1.4
+++ xmlDataSourceSettings.hxx   2007-11-01 09:13:31+0000        1.4.222.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDataSourceSettings.hxx,v $
  *
- *  $Revision: 1.4 $
+ *  $Revision: 1.4.222.1 $
  *
- *  last change: $Author: hr $ $Date: 2006/06/20 02:50:21 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -42,16 +42,12 @@
 namespace dbaxml
 {
        class ODBFilter;
-       class OXMLDataSource;
        class OXMLDataSourceSettings : public SvXMLImportContext
        {
-               OXMLDataSource& m_rParent;
                ODBFilter& GetOwnImport();
        public:
 
-               OXMLDataSourceSettings( ODBFilter& rImport, sal_uInt16 nPrfx,
-                                       const ::rtl::OUString& rLName
-                                       ,OXMLDataSource& _rParent);
+               OXMLDataSourceSettings( ODBFilter& rImport, sal_uInt16 
nPrfx,const ::rtl::OUString& rLName);
                virtual ~OXMLDataSourceSettings();
 
                virtual SvXMLImportContext *CreateChildContext( sal_uInt16 
nPrefix,

File [changed]: xmlDatabase.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDatabase.cxx?r1=1.8&r2=1.8.32.1
Delta lines:  +9 -3
-------------------
--- xmlDatabase.cxx     2007-09-26 14:43:21+0000        1.8
+++ xmlDatabase.cxx     2007-11-01 09:13:31+0000        1.8.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDatabase.cxx,v $
  *
- *  $Revision: 1.8 $
+ *  $Revision: 1.8.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:43:21 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -138,6 +138,7 @@
                        }
                        break;
                case XML_TOK_TABLES:
+        case XML_TOK_SCHEMA_DEFINITION:
                        {
                                
GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
                                Reference<XTablesSupplier> 
xSup(GetOwnImport().getDataSource(),UNO_QUERY);
@@ -158,6 +159,11 @@
 {
        return static_cast<ODBFilter&>(GetImport());
 }
+// 
-----------------------------------------------------------------------------
+void OXMLDatabase::EndElement()
+{
+       GetOwnImport().setPropertyInfo();
+}
 
 //----------------------------------------------------------------------------
 } // namespace dbaxml

File [changed]: xmlDatabase.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlDatabase.hxx?r1=1.4&r2=1.4.222.1
Delta lines:  +5 -3
-------------------
--- xmlDatabase.hxx     2006-06-20 02:50:45+0000        1.4
+++ xmlDatabase.hxx     2007-11-01 09:13:31+0000        1.4.222.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlDatabase.hxx,v $
  *
- *  $Revision: 1.4 $
+ *  $Revision: 1.4.222.1 $
  *
- *  last change: $Author: hr $ $Date: 2006/06/20 02:50:45 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -54,6 +54,8 @@
                virtual SvXMLImportContext *CreateChildContext( sal_uInt16 
nPrefix,
                                        const ::rtl::OUString& rLocalName,
                                        const ::com::sun::star::uno::Reference< 
::com::sun::star::xml::sax::XAttributeList > & xAttrList );
+
+        virtual void EndElement();
        };
 // 
-----------------------------------------------------------------------------
 } // namespace dbaxml

File [changed]: xmlEnums.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlEnums.hxx?r1=1.5&r2=1.5.350.1
Delta lines:  +31 -8
--------------------
--- xmlEnums.hxx        2005-09-08 14:05:59+0000        1.5
+++ xmlEnums.hxx        2007-11-01 09:13:31+0000        1.5.350.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlEnums.hxx,v $
  *
- *  $Revision: 1.5 $
+ *  $Revision: 1.5.350.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 14:05:59 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -52,7 +52,8 @@
                XML_TOK_FORMS,
                XML_TOK_REPORTS,
                XML_TOK_QUERIES,
-               XML_TOK_TABLES
+               XML_TOK_TABLES,
+        XML_TOK_SCHEMA_DEFINITION
        };
        enum XMLDataSource
        {
@@ -79,12 +80,33 @@
                XML_TOK_DELIMITER,
                XML_TOK_DATA_SOURCE_SETTINGS,
                XML_TOK_FONT_CHARSET,
-               XML_TOK_ENCODING
+               XML_TOK_ENCODING,
+        XML_TOK_DATABASE_DESCRIPTION,
+        XML_TOK_COMPOUND_DATABASE,
+        XML_TOK_DB_HREF,
+        XML_TOK_MEDIA_TYPE,
+        XML_TOK_DB_TYPE,
+        XML_TOK_HOSTNAME,
+        XML_TOK_PORT,
+        XML_TOK_LOCAL_SOCKET,
+        XML_TOK_DATABASE_NAME,
+        XML_TOK_CONNECTION_DATA,
+        XML_TOK_DRIVER_SETTINGS,
+        XML_TOK_JAVA_CLASSPATH,
+        XML_TOK_CHARACTER_SET,
+        XML_TOK_APPLICATION_CONNECTION_SETTINGS
+       };
+    enum XMLDatabaseDescription
+    {
+        XML_TOK_FILE_BASED_DATABASE,
+        XML_TOK_SERVER_DATABASE
        };
        enum XMLLogin
        {
                XML_TOK_USER_NAME,
-               XML_TOK_IS_PASSWORD_REQUIRED
+               XML_TOK_IS_PASSWORD_REQUIRED,
+        XML_TOK_USE_SYSTEM_USER,
+        XML_TOK_LOGIN_TIMEOUT
        };
        enum XMLDataSourceInfo
        {
@@ -147,7 +169,8 @@
                XML_TOK_COLUMN_HELP_MESSAGE,
                XML_TOK_COLUMN_VISIBILITY,
         XML_TOK_COLUMN_DEFAULT_VALUE,
-        XML_TOK_COLUMN_TYPE_NAME
+        XML_TOK_COLUMN_TYPE_NAME,
+        XML_TOK_COLUMN_VISIBLE
        };
 // 
-----------------------------------------------------------------------------
 } // namespace dbaxml

File [changed]: xmlLogin.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlLogin.cxx?r1=1.8&r2=1.8.32.1
Delta lines:  +47 -7
--------------------
--- xmlLogin.cxx        2007-09-26 14:44:15+0000        1.8
+++ xmlLogin.cxx        2007-11-01 09:13:31+0000        1.8.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlLogin.cxx,v $
  *
- *  $Revision: 1.8 $
+ *  $Revision: 1.8.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:44:15 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -62,12 +62,13 @@
 #ifndef TOOLS_DIAGNOSE_EX_H
 #include <tools/diagnose_ex.h>
 #endif
-
+#include <com/sun/star/sdbc/XDataSource.hpp>
 #include <vector>
 
 namespace dbaxml
 {
        using namespace ::com::sun::star::uno;
+    using namespace ::com::sun::star::sdbc;
        using namespace ::com::sun::star::xml::sax;
 DBG_NAME(OXMLLogin)
 
@@ -84,8 +85,9 @@
 
        Reference<XPropertySet> xDataSource(rImport.getDataSource());
 
-       sal_Int16 nLength = (xDataSource.is() && _xAttrList.is()) ? 
_xAttrList->getLength() : 0;
+       const sal_Int16 nLength = (xDataSource.is() && _xAttrList.is()) ? 
_xAttrList->getLength() : 0;
        static const ::rtl::OUString s_sTRUE = 
::xmloff::token::GetXMLToken(XML_TRUE);
+    bool bUserFound = false;
        for(sal_Int16 i = 0; i < nLength; ++i)
        {
                ::rtl::OUString sLocalName;
@@ -98,10 +100,48 @@
                        switch( rTokenMap.Get( nPrefix, sLocalName ) )
                        {
                                case XML_TOK_USER_NAME:
+                    if ( !bUserFound )
+                    {
+                        bUserFound = true;
+                        try
+                        {
                                        
xDataSource->setPropertyValue(PROPERTY_USER,makeAny(sValue));
+                        }
+                                       catch(Exception)
+                                       {
+                            DBG_UNHANDLED_EXCEPTION();
+                                       }
+                    }
                                        break;
                                case XML_TOK_IS_PASSWORD_REQUIRED:
+                    try
+                                   {
                                        
xDataSource->setPropertyValue(PROPERTY_ISPASSWORDREQUIRED,makeAny((sValue == 
s_sTRUE ? sal_True : sal_False)));
+                    }
+                                   catch(Exception)
+                                   {
+                        DBG_UNHANDLED_EXCEPTION();
+                                   }
+                                       break;
+                case XML_TOK_USE_SYSTEM_USER:
+                    if ( !bUserFound )
+                    {
+                        bUserFound = true;
+                        PropertyValue aProperty;                        
+                        aProperty.Name = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UseSystemUser"));
+                        aProperty.Value <<= (sValue == s_sTRUE ? sal_True : 
sal_False);
+                        rImport.addInfo(aProperty);
+                    }
+                    break;
+                case XML_TOK_LOGIN_TIMEOUT:
+                    try
+                    {
+                        Reference< 
XDataSource>(xDataSource,UNO_QUERY_THROW)->setLoginTimeout(sValue.toInt32());
+                    }
+                                   catch(Exception)
+                                   {
+                        DBG_UNHANDLED_EXCEPTION();
+                                   }
                                        break;
                        }
                }

File [changed]: xmlTableFilterList.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlTableFilterList.cxx?r1=1.9&r2=1.9.32.1
Delta lines:  +5 -3
-------------------
--- xmlTableFilterList.cxx      2007-09-26 14:45:08+0000        1.9
+++ xmlTableFilterList.cxx      2007-11-01 09:13:31+0000        1.9.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlTableFilterList.cxx,v $
  *
- *  $Revision: 1.9 $
+ *  $Revision: 1.9.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:45:08 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -108,6 +108,8 @@
                        pContext = new OXMLTableFilterPattern( GetImport(), 
nPrefix, rLocalName,sal_True,*this);
                else if ( IsXMLToken( rLocalName, XML_TABLE_TYPE ) )
                        pContext = new OXMLTableFilterPattern( GetImport(), 
nPrefix, rLocalName,sal_False,*this);
+        else if ( IsXMLToken( rLocalName, XML_TABLE_INCLUDE_FILTER ) )
+            pContext = new OXMLTableFilterList( GetImport(), nPrefix, 
rLocalName );        
        }
 
        if( !pContext )

File [changed]: xmlfilter.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlfilter.cxx?r1=1.16&r2=1.16.32.1
Delta lines:  +89 -35
---------------------
--- xmlfilter.cxx       2007-09-26 14:45:36+0000        1.16
+++ xmlfilter.cxx       2007-11-01 09:13:31+0000        1.16.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlfilter.cxx,v $
  *
- *  $Revision: 1.16 $
+ *  $Revision: 1.16.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:45:36 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -129,6 +129,7 @@
 #ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
 #include <toolkit/helper/vclunohelper.hxx>
 #endif
+#include <tools/diagnose_ex.h>
 
 using namespace ::com::sun::star;
 
@@ -304,6 +305,7 @@
 
 ODBFilter::ODBFilter( const uno::Reference< XMultiServiceFactory >& _rxMSF ) 
        :SvXMLImport(_rxMSF)
+    ,m_bNewFormat(false)
 {
     DBG_CTOR(ODBFilter,NULL);
 
@@ -566,6 +568,8 @@
                        { XML_NAMESPACE_DB,     XML_REPORTS,    
XML_TOK_REPORTS},
                        { XML_NAMESPACE_DB,     XML_QUERIES,    
XML_TOK_QUERIES},
                        { XML_NAMESPACE_DB,     XML_TABLES,             
XML_TOK_TABLES},
+            { XML_NAMESPACE_DB,        XML_TABLE_REPRESENTATIONS,  
XML_TOK_TABLES},
+            { XML_NAMESPACE_DB,        XML_SCHEMA_DEFINITION,          
XML_TOK_SCHEMA_DEFINITION},
                        XML_TOKEN_MAP_END
                };
                m_pDatabaseElemTokenMap.reset(new SvXMLTokenMap( aElemTokenMap 
));
@@ -602,6 +606,21 @@
                        { XML_NAMESPACE_DB,     XML_DELIMITER,                  
                        XML_TOK_DELIMITER},
                        { XML_NAMESPACE_DB,     XML_DATA_SOURCE_SETTINGS,       
                XML_TOK_DATA_SOURCE_SETTINGS},
                        { XML_NAMESPACE_DB,     XML_FONT_CHARSET,               
                        XML_TOK_FONT_CHARSET},
+            // db odf 12
+            { XML_NAMESPACE_DB,            XML_CONNECTION_DATA,                
                XML_TOK_CONNECTION_DATA},
+            { XML_NAMESPACE_DB,            XML_DATABASE_DESCRIPTION,           
        XML_TOK_DATABASE_DESCRIPTION},
+            { XML_NAMESPACE_DB,            XML_COMPOUND_DATABASE,              
                XML_TOK_COMPOUND_DATABASE},
+            { XML_NAMESPACE_XLINK,     XML_HREF,                               
            XML_TOK_DB_HREF},
+            { XML_NAMESPACE_DB,            XML_MEDIA_TYPE,                     
                XML_TOK_MEDIA_TYPE},
+            { XML_NAMESPACE_DB,            XML_TYPE,                           
            XML_TOK_DB_TYPE},
+            { XML_NAMESPACE_DB,            XML_HOSTNAME,                       
                XML_TOK_HOSTNAME},
+            { XML_NAMESPACE_DB,            XML_PORT,                           
            XML_TOK_PORT},
+            { XML_NAMESPACE_DB,            XML_LOCAL_SOCKET,                   
        XML_TOK_LOCAL_SOCKET},
+            { XML_NAMESPACE_DB,            XML_DATABASE_NAME,                  
        XML_TOK_DATABASE_NAME},
+            { XML_NAMESPACE_DB,            XML_DRIVER_SETTINGS,                
            XML_TOK_DRIVER_SETTINGS},
+            { XML_NAMESPACE_DB,            XML_JAVA_CLASSPATH,                 
        XML_TOK_JAVA_CLASSPATH},
+            { XML_NAMESPACE_DB,            XML_CHARACTER_SET,                  
        XML_TOK_CHARACTER_SET},
+            { XML_NAMESPACE_DB,            
XML_APPLICATION_CONNECTION_SETTINGS,XML_TOK_APPLICATION_CONNECTION_SETTINGS},   
         
                        XML_TOKEN_MAP_END
                };
                m_pDataSourceElemTokenMap.reset(new SvXMLTokenMap( 
aElemTokenMap ));
@@ -617,6 +636,8 @@
                {
                        { XML_NAMESPACE_DB,     XML_USER_NAME,                  
        XML_TOK_USER_NAME},
                        { XML_NAMESPACE_DB,     XML_IS_PASSWORD_REQUIRED,       
XML_TOK_IS_PASSWORD_REQUIRED},
+            { XML_NAMESPACE_DB,        XML_USE_SYSTEM_USER,            
XML_TOK_USE_SYSTEM_USER},
+            { XML_NAMESPACE_DB,        XML_LOGIN_TIMEOUT,                  
XML_TOK_LOGIN_TIMEOUT},
                        XML_TOKEN_MAP_END
                };
                m_pLoginElemTokenMap.reset(new SvXMLTokenMap( aElemTokenMap ));
@@ -624,6 +645,21 @@
        return *m_pLoginElemTokenMap;
 }
 // 
-----------------------------------------------------------------------------
+const SvXMLTokenMap& ODBFilter::GetDatabaseDescriptionElemTokenMap() const
+{
+       if ( !m_pDatabaseDescriptionElemTokenMap.get() )
+       {
+               static __FAR_DATA SvXMLTokenMapEntry aElemTokenMap[]=
+               {
+                       { XML_NAMESPACE_DB,     XML_FILE_BASED_DATABASE,        
XML_TOK_FILE_BASED_DATABASE},
+                       { XML_NAMESPACE_DB,     XML_SERVER_DATABASE,        
XML_TOK_SERVER_DATABASE},
+                       XML_TOKEN_MAP_END
+               };
+               m_pDatabaseDescriptionElemTokenMap.reset(new SvXMLTokenMap( 
aElemTokenMap ));
+       }
+       return *m_pDatabaseDescriptionElemTokenMap;
+}
+// 
-----------------------------------------------------------------------------
 const SvXMLTokenMap& ODBFilter::GetDataSourceInfoElemTokenMap() const
 {
        if ( !m_pDataSourceInfoElemTokenMap.get() )
@@ -661,6 +697,7 @@
                        { XML_NAMESPACE_DB,     XML_QUERY_COLLECTION,           
XML_TOK_QUERY_COLLECTION},
                        { XML_NAMESPACE_DB,     XML_QUERY,                      
                XML_TOK_QUERY},
                        { XML_NAMESPACE_DB,     XML_TABLE,                      
                XML_TOK_TABLE},
+            { XML_NAMESPACE_DB,        XML_TABLE_REPRESENTATION,       
XML_TOK_TABLE},
                        { XML_NAMESPACE_DB,     XML_COLUMN,                     
                XML_TOK_COLUMN},
                        XML_TOKEN_MAP_END
                };
@@ -724,6 +761,7 @@
                        { XML_NAMESPACE_DB,     XML_VISIBILITY,         
XML_TOK_COLUMN_VISIBILITY       },
             { XML_NAMESPACE_DB,        XML_DEFAULT_VALUE,      
XML_TOK_COLUMN_DEFAULT_VALUE},
             { XML_NAMESPACE_DB,        XML_TYPE_NAME,      
XML_TOK_COLUMN_TYPE_NAME    },            
+            { XML_NAMESPACE_DB,        XML_VISIBLE,        
XML_TOK_COLUMN_VISIBLE      },
                        XML_TOKEN_MAP_END
                };
                m_pColumnElemTokenMap.reset(new SvXMLTokenMap( aElemTokenMap ));
@@ -766,5 +804,21 @@
        return m_xColumnStylesPropertySetMapper;
 }
 // 
-----------------------------------------------------------------------------
+void ODBFilter::setPropertyInfo()
+{
+    Reference<XPropertySet> xDataSource(getDataSource());
+       if ( !m_aInfoSequence.empty() && xDataSource.is() )
+       {
+               try
+               {
+                       
xDataSource->setPropertyValue(PROPERTY_INFO,makeAny(Sequence<PropertyValue>(&(*m_aInfoSequence.begin()),m_aInfoSequence.size())));
+               }
+               catch(Exception)
+               {
+            DBG_UNHANDLED_EXCEPTION();
+               }
+       }
+}
+// 
-----------------------------------------------------------------------------
 }// dbaxml
 // 
-----------------------------------------------------------------------------

File [changed]: xmlfilter.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlfilter.hxx?r1=1.5&r2=1.5.32.1
Delta lines:  +24 -5
--------------------
--- xmlfilter.hxx       2007-09-26 14:45:49+0000        1.5
+++ xmlfilter.hxx       2007-11-01 09:13:31+0000        1.5.32.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: xmlfilter.hxx,v $
  *
- *  $Revision: 1.5 $
+ *  $Revision: 1.5.32.1 $
  *
- *  last change: $Author: hr $ $Date: 2007/09/26 14:45:49 $
+ *  last change: $Author: oj $ $Date: 2007/11/01 09:13:31 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -115,15 +115,17 @@
 {
 public:
        DECLARE_STL_USTRINGACCESS_MAP(Sequence<PropertyValue>,TPropertyNameMap);
-
+    typedef ::std::vector< ::com::sun::star::beans::PropertyValue> 
TInfoSequence;
 private:
        TPropertyNameMap                                                        
        m_aQuerySettings;
        TPropertyNameMap                                                        
        m_aTablesSettings;
+    TInfoSequence                                   m_aInfoSequence;
        Reference< XComponent >                                                 
m_xSrcDoc;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pDocElemTokenMap;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pDatabaseElemTokenMap;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pDataSourceElemTokenMap;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pLoginElemTokenMap;
+    mutable ::std::auto_ptr<SvXMLTokenMap>                     
m_pDatabaseDescriptionElemTokenMap;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pDataSourceInfoElemTokenMap;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pDocumentsElemTokenMap;
        mutable ::std::auto_ptr<SvXMLTokenMap>                  
m_pComponentElemTokenMap;
@@ -134,6 +136,7 @@
        mutable UniReference < XMLPropertySetMapper >   
m_xColumnStylesPropertySetMapper;
        Reference<XPropertySet>                                                 
m_xDataSource;
        sal_Int32                                                               
                m_nPreviewMode;
+    bool                                            m_bNewFormat;
 
        sal_Bool                                                        
implImport( const Sequence< PropertyValue >& rDescriptor ) throw 
(RuntimeException);
 
@@ -179,6 +182,7 @@
        const SvXMLTokenMap& GetDatabaseElemTokenMap() const;
        const SvXMLTokenMap& GetDataSourceElemTokenMap() const;
        const SvXMLTokenMap& GetLoginElemTokenMap() const;
+    const SvXMLTokenMap& GetDatabaseDescriptionElemTokenMap() const;
        const SvXMLTokenMap& GetDataSourceInfoElemTokenMap() const;
        const SvXMLTokenMap& GetDocumentsElemTokenMap() const;
        const SvXMLTokenMap& GetComponentElemTokenMap() const;
@@ -187,6 +191,21 @@
 
        UniReference < XMLPropertySetMapper > GetTableStylesPropertySetMapper() 
const;
        UniReference < XMLPropertySetMapper > 
GetColumnStylesPropertySetMapper() const;
+
+    /** add a Info to the sequence which will be appened to the data source
+               @param  _rInfo The property to append.
+       */
+       inline void addInfo(const ::com::sun::star::beans::PropertyValue& 
_rInfo)
+       {
+               m_aInfoSequence.push_back(_rInfo);
+       }
+
+    void setPropertyInfo();
+
+    const ::std::map< sal_uInt16,com::sun::star::beans::Property>& 
GetDataSourceInfoDefaulValueMap() const;
+
+    inline bool isNewFormat() const { return m_bNewFormat; }
+    inline void setNewFormat(bool _bNewFormat) { m_bNewFormat = _bNewFormat; }
 };
 
 // 
-----------------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to