diff options
author | Kurt Zenker <kz@openoffice.org> | 2009-06-05 12:31:05 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2009-06-05 12:31:05 +0000 |
commit | 33e3bcc6dacf4437fa82b00e83e0176a7a726e75 (patch) | |
tree | 58d4a535a4ebd07b27c72851e80cec1327ded6d5 /connectivity/source/drivers/evoab/LDatabaseMetaData.cxx | |
parent | 60698c8a619f219129dbeac7da1f962f3fa63f6a (diff) |
CWS-TOOLING: integrate CWS evoab2def
2009-05-28 16:00:19 +0200 fs r272412 : don't use createFalse - Evo 2.22 simply hangs when ask for all contacts without a first name. Instead, in the WHERE 0=1 case, simply create an empty result set
2009-05-22 14:25:51 +0200 fs r272193 : #i10000#
2009-05-22 14:25:37 +0200 fs r272192 : oops, ENABLE_EVOAB2 for some platforms only, not generically
2009-05-22 14:19:00 +0200 fs r272191 : #i10000#
2009-05-22 12:42:38 +0200 fs r272183 : when sorting, properly use a syslocale collator, instead of comparing the numerical values of the string's UTF-16 code points
2009-05-20 15:09:00 +0200 fs r272131 : clear/getWarnings: also allowed without cache
2009-05-20 14:11:19 +0200 fs r272128 : removed debug traces
2009-05-20 14:03:31 +0200 fs r272126 : #i55701# +STR_SORT_BY_COL_ONLY
2009-05-20 14:02:29 +0200 fs r272125 : implement sorting
2009-05-20 10:10:19 +0200 fs r272107 : #i10000#
2009-05-19 16:02:17 +0200 fs r272089 : #i10000#
2009-05-19 16:02:02 +0200 fs r272088 : #i55701# strings for new error condition DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 16:01:31 +0200 fs r272087 : #i55701# use DATA_CANNOT_SELECT_UNFILTERED as standardized error code
2009-05-19 15:59:59 +0200 fs r272086 : #i55701# +DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 15:46:12 +0200 fs r272084 : #i55701# recognize the DATA_CANNOT_SELECT_UNFILTERED error condition, and allow filtering in this case, even when the result set is empty
2009-05-19 09:06:50 +0200 fs r272059 : merging changes from CWS dba32b, to prevent future conflicts with upcoming local changes
2009-05-18 21:48:58 +0200 fs r272054 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:48:42 +0200 fs r272053 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:47:41 +0200 fs r272052 : +setExternalWarnings
2009-05-18 21:47:12 +0200 fs r272051 : #i55701# when re/loading the form, display any possible warnings
2009-05-18 21:43:26 +0200 fs r272050 : #i55701# implement XWarningsSupplier, exposing the warnings of our result set
2009-05-18 21:42:51 +0200 fs r272049 : #i55701# implement XWarningsSupplier, exposing the warnings of our aggregate RowSet
2009-05-18 17:53:59 +0200 fs r272041 : #i55701# moved the (I)WarningsContainer from dbaccess to connectivity, to be able to use it in the latter module, too
2009-05-18 17:24:10 +0200 fs r272040 : #i55701# properly enable the various Evolution types
2009-05-18 14:52:19 +0200 fs r272024 : #i55701# properly enable the Evolution types
2009-05-18 13:57:10 +0200 fs r272018 : fixed/extended whereAnalysis (column searching still not enabled, as neither LIKE nor = seem to work with my (somewhat older) Evolution version)
2009-05-18 13:56:08 +0200 fs r272017 : extended showParseTree
2009-05-18 13:55:25 +0200 fs r272016 : extended showParseTree
2009-05-18 11:40:16 +0200 fs r272008 : #i55701#
2009-05-18 11:39:02 +0200 fs r272006 : let the PreparedStatement return proper meta data, too
2009-05-18 10:05:37 +0200 fs r271999 : moved the XStatement interface to from OCommonStatement to OStatement - the former class is also the base for other classes which should not have this interface
2009-05-15 21:53:22 +0200 fs r271973 : collectColumnInformation: report invalid meta data as assertion
2009-05-15 21:51:40 +0200 fs r271972 : showParseTree should be const
2009-05-15 21:51:26 +0200 fs r271971 : showParseTree should be const
2009-05-15 21:51:03 +0200 fs r271970 : properly recognize the 'WHERE 0 = 1' clause, this way having proper statement meta data, this way saving much much calls from the DBA framework
2009-05-15 20:29:03 +0200 fs r271969 : cleaned up the mess with the statement classes
2009-05-15 15:51:11 +0200 fs r271944 : let the result set properly init its meta data
2009-05-15 15:29:54 +0200 fs r271939 : proper property implementations for the resultset class
2009-05-15 15:01:31 +0200 fs r271936 : proper property implementations for the statement class
2009-05-08 14:46:33 +0200 fs r271717 : component_foo must be PUBLIC
2009-05-06 09:20:05 +0200 fs r271565 : #i10000# (warnings on unxlngi6)
2009-05-06 09:01:30 +0200 fs r271564 : #i101493#
2009-05-05 23:08:12 +0200 fs r271560 : #i55701# merging the changes from the ancient (CVS-based) CWS evoab2default into this CWS here
Diffstat (limited to 'connectivity/source/drivers/evoab/LDatabaseMetaData.cxx')
-rw-r--r-- | connectivity/source/drivers/evoab/LDatabaseMetaData.cxx | 394 |
1 files changed, 0 insertions, 394 deletions
diff --git a/connectivity/source/drivers/evoab/LDatabaseMetaData.cxx b/connectivity/source/drivers/evoab/LDatabaseMetaData.cxx deleted file mode 100644 index 5a0f80781d2a..000000000000 --- a/connectivity/source/drivers/evoab/LDatabaseMetaData.cxx +++ /dev/null @@ -1,394 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: LDatabaseMetaData.cxx,v $ - * $Revision: 1.8 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "LDatabaseMetaData.hxx" -#include "LConnection.hxx" -#include <com/sun/star/sdbc/DataType.hpp> -#include <com/sun/star/sdbc/ResultSetType.hpp> -#include <com/sun/star/sdbc/ColumnValue.hpp> -#include <com/sun/star/beans/XFastPropertySet.hpp> -#include <com/sun/star/sdbc/ResultSetConcurrency.hpp> -#include <com/sun/star/sdbcx/XColumnsSupplier.hpp> -#include <com/sun/star/sdbcx/XIndexesSupplier.hpp> -#include <com/sun/star/ucb/XContentAccess.hpp> -#ifndef _COM_SUN_STAR_SQLC_XROW_HPP_ -#include <com/sun/star/sdbc/XRow.hpp> -#endif -#include <tools/urlobj.hxx> -#include "FDatabaseMetaDataResultSet.hxx" -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <comphelper/extract.hxx> -#include <comphelper/types.hxx> -#include "LFolderList.hxx" -#include "connectivity/CommonTools.hxx" -#include <vos/process.hxx> -#include <osl/process.h> -#include <tools/debug.hxx> -#include <map> -#include <vector> - -#ifndef CONNECTIVITY_EVOAB_DEBUG_HELPER_HXX -#include "LDebug.hxx" -#endif -#include "diagnose_ex.h" - -using namespace ::comphelper; -using namespace connectivity; -using namespace connectivity::evoab; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::ucb; -using namespace osl; -using namespace vos; - -namespace connectivity -{ - namespace evoab - { - static sal_Int32 const s_nCOLUMN_SIZE = 256; - static sal_Int32 const s_nDECIMAL_DIGITS = 0; - static sal_Int32 const s_nNULLABLE = 1; - static sal_Int32 const s_nCHAR_OCTET_LENGTH = 65535; - } -} - -OEvoabDatabaseMetaData::OEvoabDatabaseMetaData(::connectivity::file::OConnection* _pCon) :ODatabaseMetaData(_pCon) -{ -} -// ------------------------------------------------------------------------- -OEvoabDatabaseMetaData::~OEvoabDatabaseMetaData() -{ -} -// ------------------------------------------------------------------------- -Reference< XResultSet > OEvoabDatabaseMetaData::impl_getTypeInfo_throw( ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTypeInfo); - Reference< XResultSet > xRef = pResult; - static ODatabaseMetaDataResultSet::ORows aRows; - if(aRows.empty()) - { - ODatabaseMetaDataResultSet::ORow aRow; - - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(new ORowSetValueDecorator(::rtl::OUString::createFromAscii("CHAR"))); - aRow.push_back(new ORowSetValueDecorator(DataType::CHAR)); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)254)); - aRow.push_back(ODatabaseMetaDataResultSet::getQuoteValue()); - aRow.push_back(ODatabaseMetaDataResultSet::getQuoteValue()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)ColumnValue::NULLABLE)); - aRow.push_back(ODatabaseMetaDataResultSet::get1Value()); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)ColumnSearch::CHAR)); - aRow.push_back(ODatabaseMetaDataResultSet::get1Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)10)); - - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("VARCHAR")); - aRow[2] = new ORowSetValueDecorator(DataType::VARCHAR); - aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRows.push_back(aRow); - - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("LONGVARCHAR")); - aRow[2] = new ORowSetValueDecorator(DataType::LONGVARCHAR); - aRow[3] = new ORowSetValueDecorator((sal_Int32)65535); - aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("DATE")); - aRow[2] = new ORowSetValueDecorator(DataType::DATE); - aRow[3] = new ORowSetValueDecorator((sal_Int32)10); - aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("TIME")); - aRow[2] = new ORowSetValueDecorator(DataType::TIME); - aRow[3] = new ORowSetValueDecorator((sal_Int32)8); - aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("TIMESTAMP")); - aRow[2] = new ORowSetValueDecorator(DataType::TIMESTAMP); - aRow[3] = new ORowSetValueDecorator((sal_Int32)19); - aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue(); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("BOOL")); - aRow[2] = new ORowSetValueDecorator(DataType::BIT); - aRow[3] = ODatabaseMetaDataResultSet::get1Value(); - aRow[9] = ODatabaseMetaDataResultSet::getBasicValue(); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("DECIMAL")); - aRow[2] = new ORowSetValueDecorator(DataType::DECIMAL); - aRow[3] = new ORowSetValueDecorator((sal_Int32)20); - aRow[15] = new ORowSetValueDecorator((sal_Int32)15); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("DOUBLE")); - aRow[2] = new ORowSetValueDecorator(DataType::DOUBLE); - aRow[3] = new ORowSetValueDecorator((sal_Int32)20); - aRow[15] = ODatabaseMetaDataResultSet::get0Value(); - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("NUMERIC")); - aRow[2] = new ORowSetValueDecorator(DataType::NUMERIC); - aRow[3] = new ORowSetValueDecorator((sal_Int32)20); - aRow[15] = new ORowSetValueDecorator((sal_Int32)20); - aRows.push_back(aRow); - } - - pResult->setRows(aRows); - return xRef; -} -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getColumns( - const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& tableNamePattern, - const ::rtl::OUString& columnNamePattern ) throw(SQLException, RuntimeException) -{ - OSL_TRACE("OEvoabDatabaseMetaData::getColumns()::Entered\n"); - EVO_TRACE_STRING("OEvoabDatabaseMetaData::getColumns()::schemaPattern = %s\n", schemaPattern ); - EVO_TRACE_STRING("OEvoabDatabaseMetaData::getColumns()::tableNamePattern = %s\n", tableNamePattern ); - EVO_TRACE_STRING("OEvoabDatabaseMetaData::getColumns()::columnNamePattern = %s\n", columnNamePattern ); - - ::osl::MutexGuard aGuard( m_aMutex ); - - Reference< XTablesSupplier > xTables = m_pConnection->createCatalog(); - if(!xTables.is()) - throw SQLException(); - - Reference< XNameAccess> xNames = xTables->getTables(); - if(!xNames.is()) - throw SQLException(); - - ODatabaseMetaDataResultSet::ORows aRows; - ODatabaseMetaDataResultSet::ORow aRow(19); - aRow[10] = new ORowSetValueDecorator((sal_Int32)10); - Sequence< ::rtl::OUString> aTabNames(xNames->getElementNames()); - const ::rtl::OUString* pTabBegin = aTabNames.getConstArray(); - const ::rtl::OUString* pTabEnd = pTabBegin + aTabNames.getLength(); - for(;pTabBegin != pTabEnd;++pTabBegin) - { - if(match(tableNamePattern,*pTabBegin,'\0')) - { - Reference< XColumnsSupplier> xTable; - ::cppu::extractInterface(xTable,xNames->getByName(*pTabBegin)); - aRow[3] = new ORowSetValueDecorator(*pTabBegin); - - Reference< XNameAccess> xColumns = xTable->getColumns(); - if(!xColumns.is()) - throw SQLException(); - - Sequence< ::rtl::OUString> aColNames(xColumns->getElementNames()); - - const ::rtl::OUString* pBegin = aColNames.getConstArray(); - const ::rtl::OUString* pEnd = pBegin + aColNames.getLength(); - Reference< XPropertySet> xColumn; - for(sal_Int32 i=1;pBegin != pEnd;++pBegin,++i) - { - if(match(columnNamePattern,*pBegin,'\0')) - { - aRow[4] = new ORowSetValueDecorator(*pBegin); - - ::cppu::extractInterface(xColumn,xColumns->getByName(*pBegin)); - OSL_ENSURE(xColumn.is(),"Columns contains a column who isn't a fastpropertyset!"); - aRow[5] = new ORowSetValueDecorator(getINT32(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)))); - aRow[6] = new ORowSetValueDecorator(getString(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPENAME)))); - aRow[7] = new ORowSetValueDecorator(getINT32(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)))); - aRow[9] = new ORowSetValueDecorator(getINT32(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE)))); - aRow[11] = new ORowSetValueDecorator(getINT32(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISNULLABLE)))); - aRow[13] = new ORowSetValueDecorator(getString(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DEFAULTVALUE)))); - - switch((sal_Int32)aRow[5]->getValue()) - { - case DataType::CHAR: - case DataType::VARCHAR: - aRow[16] = new ORowSetValueDecorator((sal_Int32)254); - break; - case DataType::LONGVARCHAR: - aRow[16] = new ORowSetValueDecorator((sal_Int32)65535); - break; - default: - aRow[16] = new ORowSetValueDecorator((sal_Int32)0); - } - aRow[17] = new ORowSetValueDecorator(i); - switch(sal_Int32(aRow[11]->getValue())) - { - case ColumnValue::NO_NULLS: - aRow[18] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("NO")); - break; - case ColumnValue::NULLABLE: - aRow[18] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("YES")); - break; - default: - aRow[18] = new ORowSetValueDecorator(::rtl::OUString()); - } - aRows.push_back(aRow); - } - } - } - } - - ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eColumns); - Reference< XResultSet > xRef = pResult; - pResult->setRows(aRows); - - return xRef; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getURL( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:flat:")) + m_pConnection->getURL(); -} -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables( - const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, - const ::rtl::OUString& /*tableNamePattern*/, const Sequence< ::rtl::OUString >& types ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - - ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTables); - Reference< XResultSet > xRef = pResult; - - // check if any type is given - // when no types are given then we have to return all tables e.g. TABLE - - static const ::rtl::OUString aTable(::rtl::OUString::createFromAscii("TABLE")); - - sal_Bool bTableFound = sal_True; - sal_Int32 nLength = types.getLength(); - if(nLength) - { - bTableFound = sal_False; - - const ::rtl::OUString* pBegin = types.getConstArray(); - const ::rtl::OUString* pEnd = pBegin + nLength; - for(;pBegin != pEnd;++pBegin) - { - if(*pBegin == aTable) - { - bTableFound = sal_True; - break; - } - } - } - if(!bTableFound) - return xRef; - - OEvoabConnection* pOEvoabConnection = (OEvoabConnection*)m_pConnection; - OEvoabFolderList* pFolderList = new OEvoabFolderList( pOEvoabConnection ); - - - ODatabaseMetaDataResultSet::ORows aRows; - sal_Bool bMoreData = sal_True; - ::rtl::OUString aName, aLocation; - sal_Int32 nCardsCount; - - pFolderList->initializeRow(3); - bMoreData = pFolderList->first(); - OSL_TRACE("OEvoabDatabaseMetaData::getTables()::first %d\n",bMoreData ); - do - { - if(bMoreData) - bMoreData = pFolderList->getRow(); - if(bMoreData) - { - aLocation = pFolderList->getString(1); - aName = pFolderList->getString(2); - nCardsCount = pFolderList->getInt(3); - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aLocation = %s\n", aLocation ); - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aName = %s\n", aName ); - OSL_TRACE("OEvoabDatabaseMetaData::getTables()::nCardsCount = %d\n", nCardsCount); - - ODatabaseMetaDataResultSet::ORow aRow(3); - aRow.reserve(6); - aRow.push_back(new ORowSetValueDecorator(aName)); - aRow.push_back(new ORowSetValueDecorator(aTable)); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRows.push_back(aRow); - - ::rtl::OUString aWorkingDir = pOEvoabConnection->getDriver()->getWorkingDirPath(); - ::rtl::OUString aCLICommand = pOEvoabConnection->getDriver()->getEvoab_CLI_EffectiveCommand(); - ::rtl::OUString aArg1 = aLocation; - ::rtl::OUString aArg2 = ::rtl::OUString::createFromAscii(pOEvoabConnection->getDriver()->getEVOAB_CLI_ARG_OUTPUT_FILE_PREFIX()); - aArg2 += aWorkingDir; - aArg2 += aName; - aArg2 += ::rtl::OUString::createFromAscii("."); - aArg2 += ::rtl::OUString(pOEvoabConnection->getExtension()); - ::rtl::OUString aArg3 = ::rtl::OUString::createFromAscii(pOEvoabConnection->getDriver()->getEVOAB_CLI_ARG_OUTPUT_FORMAT()); - - OArgumentList aArgs(3,&aArg1,&aArg2,&aArg3); - - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aCLICommand = %s\n", aCLICommand ); - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aWorkingDir = %s\n", aWorkingDir ); - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aArg1 = %s\n", aArg1 ); - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aArg2 = %s\n", aArg2 ); - EVO_TRACE_STRING( "OEvoabDatabaseMetaData::getTables()::aArg3 = %s\n", aArg3 ); - - OProcess aApp( aCLICommand,aWorkingDir); - OSL_VERIFY_EQUALS( - aApp.execute( (OProcess::TProcessOption)(OProcess::TOption_Hidden | OProcess::TOption_Wait | OProcess::TOption_SearchPath),aArgs), - OProcess::E_None, - "Error at execute evolution-addressbook-exporter to get VCards" ); - - bMoreData = pFolderList->next(); - } - } - while ( bMoreData ); - - delete pFolderList; - pFolderList = NULL; - - pResult->setRows(aRows); - - return xRef; -} |