summaryrefslogtreecommitdiff
path: root/connectivity/workben/testmoz
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/workben/testmoz')
-rw-r--r--connectivity/workben/testmoz/initUNO.cxx48
-rw-r--r--connectivity/workben/testmoz/main.cxx697
-rwxr-xr-xconnectivity/workben/testmoz/makefile.mk70
-rw-r--r--connectivity/workben/testmoz/mozthread.cxx480
4 files changed, 0 insertions, 1295 deletions
diff --git a/connectivity/workben/testmoz/initUNO.cxx b/connectivity/workben/testmoz/initUNO.cxx
deleted file mode 100644
index d685577634..0000000000
--- a/connectivity/workben/testmoz/initUNO.cxx
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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 "rtl/bootstrap.hxx"
-#include "cppuhelper/bootstrap.hxx"
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-
-using namespace cppu;
-using namespace com::sun::star::lang;
-using namespace com::sun::star;
-using namespace com::sun::star::uno;
-
-Reference< XMultiServiceFactory > InitializeFac( void )
-{
- Reference<XComponentContext> xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext();
- Reference<XMultiServiceFactory> xMS(xComponentContext->getServiceManager(), UNO_QUERY);
- return xMS;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/workben/testmoz/main.cxx b/connectivity/workben/testmoz/main.cxx
deleted file mode 100644
index bc8a662f4a..0000000000
--- a/connectivity/workben/testmoz/main.cxx
+++ /dev/null
@@ -1,697 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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 <connectivity/sqlparse.hxx>
-#include "connectivity/sqliterator.hxx"
-#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
-#include <com/sun/star/sdbcx/XDataDefinitionSupplier.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/beans/PropertyState.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <unotools/processfactory.hxx>
-#include <cppuhelper/servicefactory.hxx>
-#include <com/sun/star/sdbc/XConnection.hpp>
-#include <com/sun/star/sdbc/XDriver.hpp>
-#include <com/sun/star/sdbc/XDriverAccess.hpp>
-#include <com/sun/star/sdbcx/XRowLocate.hpp>
-#include <com/sun/star/sdbc/XRowUpdate.hpp>
-#include <com/sun/star/sdbc/XResultSetUpdate.hpp>
-#include <com/sun/star/sdbcx/XDeleteRows.hpp>
-#include <com/sun/star/sdbc/XCloseable.hpp>
-#include <com/sun/star/sdb/XDatabaseEnvironment.hpp>
-#include <com/sun/star/uno/Any.hxx>
-
-#include "connectivity/sqlnode.hxx"
-#include <ucbhelper/contentbroker.hxx>
-#include <comphelper/regpathhelper.hxx>
-#include <rtl/ustring.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <osl/process.h>
-
-#include <cppuhelper/bootstrap.hxx>
-#include <cppuhelper/servicefactory.hxx>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/registry/XImplementationRegistration.hpp>
-#include <com/sun/star/ucb/XContentProviderManager.hpp>
-
-#include <ucbhelper/content.hxx>
-#include <osl/module.h>
-#include <tools/config.hxx>
-
-#include <stdio.h>
-
-using namespace comphelper;
-using namespace cppu;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-using namespace com::sun::star::ucb;
-using namespace com::sun::star::beans;
-
-using namespace connectivity;
-using namespace com::sun::star::sdb;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-using namespace ::com::sun::star::container;
-using namespace com::sun::star::registry;
-
-using ::rtl::OUString;
-using ::rtl::OUStringBuffer;
-using ::rtl::OUStringToOString;
-
-#define OUtoCStr( x ) (OUStringToOString ( (x), RTL_TEXTENCODING_ASCII_US ).getStr())
-Reference< XContentProviderManager > globalUcb;
-#define PRINTSTR(x) printf("%s",x);
-
-int autoTest(Reference<XResultSet> &xRes);
-
-void printColumns( Reference<XResultSet> &xRes )
-{
- if(xRes.is()) {
- char* aPat = " %-22s ";
- char* aPat_Short = " %-12s ";
- Reference<XResultSetMetaData> xMeta = Reference<XResultSetMetaDataSupplier>(xRes,UNO_QUERY)->getMetaData();
- printf( "ColumnCount = %d\n", xMeta->getColumnCount());
- for(sal_Int32 i=1;i<=xMeta->getColumnCount();++i)
- {
- const char *str = OUtoCStr(xMeta->getColumnName(i));
- printf( aPat, str );
- }
- printf("\n");
- printf("------------------------------------------------------------------------------------------\n");
- } else {
- printf(": FAILED to get a ResultSet \n");
- }
-}
-void printXResultSet( Reference<XResultSet> &xRes )
-{
- if(xRes.is()) {
- char* aPat = " %-22s ";
- char* aPat_Short = " %-12s ";
- Reference<XRow> xRow(xRes,UNO_QUERY);
- Reference<XResultSetMetaData> xMeta = Reference<XResultSetMetaDataSupplier>(xRes,UNO_QUERY)->getMetaData();
- for(sal_Int32 j=1;j<=xMeta->getColumnCount();++j)
- {
- try {
- const char *str = OUtoCStr(xRow->getString(j));
- printf( aPat_Short, str );
- } catch (...) {
- printf(" Ex ");
- }
- }
- printf("\n");
- } else {
- printf(": FAILED to get a ResultSet \n");
- }
-}
-
-void printXResultSets( Reference<XResultSet> &xRes )
-{
- if(xRes.is()) {
- printColumns(xRes);
- sal_Int32 nRows = 0;
- while( xRes.is() && xRes->next())
- {
- printXResultSet(xRes);
- nRows++;
- }
- printf( "%d Row(s)\n", nRows);
- } else {
- printf(": FAILED to get a ResultSet \n");
- }
-}
-
-static const char * const components[] =
-{
- SAL_MODULENAME( "ucb1" ) // KSO, ABI
- , SAL_MODULENAME( "ucpfile1" )
- , SAL_MODULENAME( "cfgmgr2" )
- , "sax.uno" SAL_DLLEXTENSION
- , "stocservices.uno" SAL_DLLEXTENSION
- , SAL_MODULENAME( "fileacc" )
- , SAL_MODULENAME( "mcnttype" ) //Clipboard Ask Oliver Braun
- , "i18npool.uno" SAL_DLLEXTENSION
- // Reading of files in specific encodings like UTF-8 using
- // createUnoService( "com.sun.star.io.TextInputStream" ) and such
- , "textinstream.uno" SAL_DLLEXTENSION
- , "textoutstream.uno" SAL_DLLEXTENSION
- , "introspection.uno" SAL_DLLEXTENSION
- , "corereflection.uno" SAL_DLLEXTENSION
- // RemoteUno
- , "connector.uno" SAL_DLLEXTENSION
- , "bridgefac.uno" SAL_DLLEXTENSION
- , "remotebridge.uno" SAL_DLLEXTENSION
- , "dbtools2" SAL_DLLEXTENSION
- , "mozab2" SAL_DLLEXTENSION
- , "mozabdrv2" SAL_DLLEXTENSION
- , "sdbc2" SAL_DLLEXTENSION
- , "dbpool2" SAL_DLLEXTENSION
-#ifdef SAL_UNX
- , SVLIBRARY( "dtransX11" ) // OBR
-#endif
-#ifdef SAL_W32
- , SAL_MODULENAME( "sysdtrans" )
- , SAL_MODULENAME( "ftransl" )
- , SAL_MODULENAME( "dnd" )
-#endif
- , 0
-};
-
-Reference< XMultiServiceFactory > InitializeFac( void )
-{
- OUString path;
- if( osl_Process_E_None != osl_getExecutableFile( (rtl_uString**)&path ) )
- {
- printf("Exit.\n");
- exit( 1 );
- }
- OSL_ASSERT( path.lastIndexOf( '/' ) >= 0 );
-
-
- ::rtl::OUStringBuffer bufServices( path.copy( 0, path.lastIndexOf( '/' )+1 ) );
- bufServices.appendAscii("services.rdb");
- OUString services = bufServices.makeStringAndClear();
-
- ::rtl::OUStringBuffer bufTypes( path.copy( 0, path.lastIndexOf( '/' )+1 ) );
- bufTypes.appendAscii("types.rdb");
- OUString types = bufTypes.makeStringAndClear();
-
- printf("Create Registry.\n");
-
- Reference< XMultiServiceFactory > xSMgr;
- try
- {
- xSMgr = createRegistryServiceFactory( types, services, sal_True );
- }
- catch( com::sun::star::uno::Exception & )
- {
- try
- {
- {
- Reference< XMultiServiceFactory > interimSmgr =
- createRegistryServiceFactory( types, sal_True );
- Reference< XImplementationRegistration > xIR(
- interimSmgr->createInstance(
- OUString::(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.registry.ImplementationRegistration" )) ), UNO_QUERY );
-
- Reference< XSimpleRegistry > xReg(
- interimSmgr->createInstance(
- OUString::(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.registry.SimpleRegistry" )) ), UNO_QUERY );
- if ( xReg.is() )
- {
- xReg->open(services, sal_False, sal_True);
- if ( xReg->isValid() )
- {
- OUString loader( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.loader.SharedLibrary" ));
- for( sal_Int32 i = 0; components[i] ; i ++ )
- {
- printf("Registering %s ... ", components[i]);
- xIR->registerImplementation(
- loader, OUString::createFromAscii(components[i]),xReg);
- printf("done\n");
- }
- xReg->close();
- } else
- {
- printf("Cannot open Registry. Terminating Program\n");
- exit (1);
- }
- }
-
- Reference< XComponent > xComp( interimSmgr, UNO_QUERY );
- if( xComp.is() )
- xComp->dispose();
- }
-
- // now try it again readonly
- printf("Opening Registry readonly\n");
- xSMgr = createRegistryServiceFactory( types, services, sal_True );
- }
- catch( com::sun::star::uno::Exception & exc )
- {
- fprintf( stderr, "Couldn't bootstrap uno servicemanager for reason : %s\n" ,
- OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ).getStr() );
- }
- }
-
- printf("set global factory.\n");
-
- //////////////////////////////////////////////////////////////////////
- // set global factory
- setProcessServiceFactory( xSMgr );
-
-
-// Create unconfigured Ucb:
- Sequence< Any > aArgs;
- ::ucb::ContentBroker::initialize( xSMgr, aArgs );
- Reference< XContentProviderManager > xUcb =
- ucb::ContentBroker::get()->getContentProviderManagerInterface();
-
- Reference< XContentProvider > xFileProvider
- ( xSMgr->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.FileContentProvider")) ), UNO_QUERY );
- xUcb->registerContentProvider( xFileProvider, OUString(RTL_CONSTASCII_USTRINGPARAM("file")), sal_True );
-
-
- globalUcb = xUcb;
- return xSMgr;
-}
-
-int TestMetaData(Reference< ::com::sun::star::sdbc::XConnection> &pConnection)
-{
- // Test some metadata
- Reference< XDatabaseMetaData > xDmd = pConnection->getMetaData();
- if ( xDmd.is() ) {
- printf(": got DatabaseMetaData \n");
-
- OUString sQuoteStr = xDmd->getIdentifierQuoteString();
- printf( "Quote String : '%s'\n", OUtoCStr( sQuoteStr ) );
-
- OUString sSQLCmds = xDmd->getSQLKeywords();
- printf( "SQL Commands : '%s'\n", OUtoCStr( sSQLCmds ) );
-
- printf("Testing getColumns() : START\n");
- {
- Reference<XResultSet> xRes = xDmd->getColumns(
- makeAny(OUString(RTL_CONSTASCII_USTRINGPARAM(""))), // Catalog
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // Schema
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // TabName
- OUString(RTL_CONSTASCII_USTRINGPARAM("%"))
- );
- printXResultSets( xRes );
- }
- printf("Testing getColumns() : END\n");
-
- printf("Testing getTypeInfo() : START\n");
- {
- Reference<XResultSet> xRes = xDmd-> getTypeInfo();
- printXResultSets( xRes );
- }
- printf("Testing getTypeInfo() : END\n");
-
- printf("Testing getTables() : START\n");
- {
- Reference<XResultSet> xRes = xDmd->getTables(
- makeAny(OUString(RTL_CONSTASCII_USTRINGPARAM(""))), // Catalog
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // Schema
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // TabName
- Sequence<rtl::OUString>()
- );
- printXResultSets( xRes );
- }
- printf("Testing getTables() : END\n");
-
- } else {
- printf(": FAILED to get DatabaseMetaData \n");
- }
-
- return 0;
-}
-int TestBookMark(Reference<XResultSet> &xRes);
-int TestRowUpdate(Reference<XResultSet> &xRes);
-
-Reference<XResultSet> TestQuery(Reference< ::com::sun::star::sdbc::XConnection> &pConnection,sal_Int32 choice)
-{
- // Try a query
- printf("Testing createStatement() & executeQuery() : START\n");
- Reference<XStatement> xStmt = pConnection->createStatement();
- Reference<XResultSet> xRes;
- if(xStmt.is())
- {
- printf(": got statement\n");
- printf(": excuteQuery() : START \n");
-// SELECT "First Name", "Display Name", "E-mail" FROM "addr" "addr"
- char sql[256]="SELECT \"First Name\", \"Display Name\", \"E-mail\" FROM \"addr\"";
- if (choice!=-1)
- {
- printf("Please input a query,end by \";\" and less then 256 char plz:\n");
- char ch=0;
- int index=0;
- while (ch != ';')
- {
- scanf("%c",&ch);
- sql[index++] = ch;
- }
- sql[index]= 0;
- printf("SQL:%s\n",sql);
- }
- try
- {
- sal_Int32 times=0;
- for (times = 0;times< 100;times ++)
- {
- Reference<XResultSet> tmpRes =
- xStmt->executeQuery(OUString::createFromAscii(sql));
-
- autoTest( tmpRes );
- Reference<XCloseable> clsRes(tmpRes,UNO_QUERY);
- clsRes->close();
- printf("Current Times:%d\n",times);
- }
- TestBookMark(xRes);
- TestRowUpdate(xRes);
- } catch ( Exception &e ) {
- printf( "Exception caught : %s\n", OUtoCStr( e.Message) );
- } catch (...) {
- printf( "Non-UNO Exception caught\n" );
- }
- printf(": excuteQuery() : END \n");
- }
- else
- {
- printf(": FAILED to get statement\n");
- }
- printf("Testing createStatement() & executeQuery() : END\n");
- return xRes;
-}
-Reference< ::com::sun::star::sdbc::XConnection> TestConnected
- (Reference< ::com::sun::star::sdbc::XDriver> &pDriver,sal_Int32 choice)
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> pConnection;
- printf("Begin Connect!\n");
- OUString url;
- Sequence<PropertyValue> aValue;
-
- switch (choice)
- {
- case -1:
- case 1: //mozilla
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:mozilla://"));
- break;
- case 2:
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:ldap://"));
- char hostname[40],basedn[40];
- scanf("%s %s",hostname,basedn);
- aValue.realloc(2);
- aValue[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HostName"));
- aValue[0].Value <<= rtl::OUString::createFromAscii(hostname);
- aValue[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BaseDN"));
- aValue[1].Value <<= rtl::OUString::createFromAscii(basedn);
- break;
- case 3:
- case 4:
- break;
- case 5:
- //Default LDAP AB
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:ldap://"));
- aValue.realloc(2);
- aValue[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HostName"));
- aValue[0].Value <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sun-ds"));
- aValue[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BaseDN"));
- aValue[1].Value <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("dc=sun,dc=com"));
- break;
- default:
- return pConnection;
- break;
- }
- pConnection =
- pDriver->connect(url,aValue);
- return pConnection;
- }
-
-void menuBookmark()
-{
- PRINTSTR("0 Exit\n")
- PRINTSTR("1 Show Max rowcount\n")
- PRINTSTR("2 Move First\n")
- PRINTSTR("3 Record bookmark 1\n")
- PRINTSTR("4 Record bookmark 2\n")
- PRINTSTR("5 Move to bookmark. Usage: 5 bookid\n")
- PRINTSTR("6 moveRelativeToBookmark, follow bookid rows plz\n")
- PRINTSTR("7 compareBookmark\n")
- PRINTSTR("8 print boomark hash. Usage: 8 bookid\n")
- PRINTSTR("9 print current row\n")
- PRINTSTR("10 Auto test\n")
-
- PRINTSTR("Please Input you choice:")
-}
-int autoTest(Reference<XResultSet> &xRes)
-{
- sal_Int32 nRows = 0;
- printColumns(xRes);
- if(xRes.is()) {
- while( xRes.is() && xRes->next())
- {
- nRows++;
- }
- printf( "%d Row(s)\n", nRows);
- sal_Int32 times;
- sal_Int32 pos;
- for(times = 1;times < 100; times ++)
- {
- pos= rand() % nRows+1;
- printf("pos:%d\n",pos);
- xRes->absolute(pos);
- printXResultSet(xRes);
- }
- } else {
- printf(": FAILED to get a ResultSet \n");
- }
- return 0;
-}
-int TestBookMark(Reference<XResultSet> &xRes)
-{
- Reference<XResultSet> mRes(xRes);
- if (!mRes.is() || !mRes->first())
- {
- return sal_False;
- }
-
- Reference<XRow> mRow(xRes,UNO_QUERY);
- Reference<XResultSetMetaData> xMeta = Reference<XResultSetMetaDataSupplier>(mRes,UNO_QUERY)->getMetaData();
- printXResultSet(mRes);
- Reference< ::com::sun::star::sdbcx::XRowLocate> xRowLocate(xRes, UNO_QUERY);
- ::com::sun::star::uno::Any xBookMark[2];
- int index;
- if (xRowLocate.is())
- {
- int choice=-1;
- while (choice)
- {
- menuBookmark();
-
- scanf("%d",&choice);
- printf("Your choice is:%d\n",choice);
- switch (choice)
- {
- case 1:
- printf("Rowcount:Current don't know\n");
- break;
- case 2:
- if (!mRes->isFirst()) mRes->first();
- break;
- case 3:
- xBookMark[0] = xRowLocate->getBookmark();
- break;
- case 4:
- xBookMark[1] = xRowLocate->getBookmark();
- break;
- case 5:
- scanf("%d",&index);
- if (index == 1 || index == 2)
- xRowLocate->moveToBookmark(xBookMark[index-1]);
- break;
- case 6:
- int rows;
- scanf("%d %d",&index,&rows);
- if (index == 1 || index == 2)
- xRowLocate->moveRelativeToBookmark(xBookMark[index-1],rows);
- break;
- case 7:
- printf("compareBookmarks:%d\n",xRowLocate->compareBookmarks(xBookMark[0],xBookMark[1]));
- break;
- case 8:
- scanf("%d",&index);
- printf("HashBookmark[%d]:%d\n",index,xRowLocate->hashBookmark(xBookMark[index-1]));
- break;
- case 9:
- printXResultSet(mRes);
- break;
- case 10:
- autoTest(mRes);
- break;
- default:
- break;
- }
- }
- }
- return 0;
-}
-void menuRowUpdate()
-{
- PRINTSTR("0 Exit\n")
- PRINTSTR("1 Print Columns\n")
- PRINTSTR("2 Move to row. Usage:2 rowid\n")
- PRINTSTR("3 Print Row values\n")
- PRINTSTR("4 Change Column Value: 4 columnid newvalue\n")
- PRINTSTR("5 Commit changes\n")
- PRINTSTR("6 Delete Current Row\n")
- PRINTSTR("Please Input Your choice:")
-}
-int TestRowUpdate(Reference<XResultSet> &xRes)
-{
- if (!xRes.is() || !xRes->first())
- {
- return sal_False;
- }
- printf("Test XRowUpdate START\n");
- Reference< ::com::sun::star::sdbc::XRowUpdate> xRowUpdate(xRes, UNO_QUERY);
- Reference< ::com::sun::star::sdbc::XResultSetUpdate> xResultSetUpdate(xRes, UNO_QUERY);
- int index;
- if (xRowUpdate.is())
- {
- int choice=-1;
- char newString[256];
- while (choice)
- {
- menuRowUpdate();
-
- scanf("%d",&choice);
- printf("Your choice is:%d\n",choice);
- switch (choice)
- {
- case 1:
- printColumns(xRes);
- break;
- case 2:
- scanf("%d",&index);
- xRes->absolute(index);
- break;
- case 3:
- printXResultSet(xRes);
- break;
- case 4:
- scanf("%d %s",&index,newString);
- xRowUpdate->updateString(index,OUString::createFromAscii(newString));
- printXResultSet(xRes);
- break;
- case 5:
- if (xResultSetUpdate.is())
- {
- xResultSetUpdate->updateRow();
- printXResultSet(xRes);
- }
- else
- printf("Can't update!\n");
- break;
- case 6:
- if (xResultSetUpdate.is())
- {
- xResultSetUpdate->deleteRow();
- printXResultSet(xRes);
- }
- else
- printf("Can't update!\n");
- break;
-
- default:
- break;
- }
- }
- }
- printf("Test XRowUpdate END\n");
- return 0;
-}
-
-void menuMain()
-{
- PRINTSTR("0 Exit\n")
- PRINTSTR("1 Open Mozilla Address Book\n")
- PRINTSTR("2 Open LDAP. Pleae follow hostname and base dn.\n")
- PRINTSTR("3 Open Outlook Address Book\n")
- PRINTSTR("4 Open OE Address Book\n")
- PRINTSTR("Please Input your choice:")
-}
-#if (defined UNX)
-int main( int argc, char * argv[] )
-#else
-int _cdecl main( int argc, char * argv[] )
-#endif
-
-{
- Reference< XMultiServiceFactory > xMgr = InitializeFac();
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> m_xConnection;
- try
- {
- Reference< ::com::sun::star::sdbc::XDriver>
- m_xDriver(xMgr->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.sdbc.MozabDriver"))),
- UNO_QUERY);
- if(m_xDriver.is())
- {
- int choice=-1;
- if (argc > 1 )
- {
- menuMain();
- scanf("%d",&choice);
- }
-
- while (choice)
- {
-
- m_xConnection = TestConnected(m_xDriver,choice);
- if(m_xConnection.is())
- {
- if (!TestMetaData(m_xConnection))
- {
- Reference<XResultSet> xRes=TestQuery(m_xConnection,choice);
- if (xRes.is())
- {
- }
- }
- }else printf("Can't connected!\n");
-
- if (argc > 1)
- {
- menuMain();
- scanf("%d",&choice);
- }
- else
- choice = 0;
-
- }
- } else {
- printf("No driver!\n");
- }
- }
- catch(...)
- {
- printf("Exception thrown!\n");
- }
- printf("Exiting...\n");
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/workben/testmoz/makefile.mk b/connectivity/workben/testmoz/makefile.mk
deleted file mode 100755
index 7d906a2be4..0000000000
--- a/connectivity/workben/testmoz/makefile.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=connectivity
-TARGET=testmoz
-TARGETTYPE=CUI
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-OBJFILES= $(OBJ)$/main.obj
-
-
-APPSTDLIBS=$(SALLIB) \
- \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(UCBHELPERLIB) \
- $(DBTOOLSLIB) \
- $(COMPHELPERLIB)
-
-
-# ... cfgapi ..............................
-
-APP1TARGET= $(TARGET)
-APP1OBJS= $(OBJFILES)
-APP1STDLIBS = $(APPSTDLIBS)
-
-
-
-APP2TARGET = mozThread
-APP2OBJS = $(OBJ)$/initUNO.obj \
- $(OBJ)$/mozthread.obj
-
-APP2STDLIBS = $(APPSTDLIBS)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/connectivity/workben/testmoz/mozthread.cxx b/connectivity/workben/testmoz/mozthread.cxx
deleted file mode 100644
index 880ce3d4de..0000000000
--- a/connectivity/workben/testmoz/mozthread.cxx
+++ /dev/null
@@ -1,480 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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 <connectivity/sqlparse.hxx>
-#include "connectivity/sqliterator.hxx"
-#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
-#include <com/sun/star/sdbcx/XDataDefinitionSupplier.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/beans/PropertyState.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <unotools/processfactory.hxx>
-#include <cppuhelper/servicefactory.hxx>
-#include <com/sun/star/sdbc/XConnection.hpp>
-#include <com/sun/star/sdbc/XDriver.hpp>
-#include <com/sun/star/sdbc/XDriverAccess.hpp>
-#include <com/sun/star/sdbcx/XRowLocate.hpp>
-#include <com/sun/star/sdbc/XRowUpdate.hpp>
-#include <com/sun/star/sdbc/XResultSetUpdate.hpp>
-#include <com/sun/star/sdbcx/XDeleteRows.hpp>
-#include <com/sun/star/sdbc/XCloseable.hpp>
-#include <com/sun/star/sdb/XDatabaseEnvironment.hpp>
-#include <com/sun/star/uno/Any.hxx>
-
-#include "connectivity/sqlnode.hxx"
-#include <ucbhelper/contentbroker.hxx>
-#include <comphelper/regpathhelper.hxx>
-#include <rtl/ustring.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <osl/process.h>
-
-#include <cppuhelper/bootstrap.hxx>
-#include <cppuhelper/servicefactory.hxx>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/registry/XImplementationRegistration.hpp>
-#include <com/sun/star/ucb/XContentProviderManager.hpp>
-
-#include <ucbhelper/content.hxx>
-#include <osl/module.h>
-#include <tools/config.hxx>
-
-#include <stdio.h>
-#include <osl/thread.hxx>
-#include <osl/diagnose.h>
-#include <osl/conditn.hxx>
-#include <time.h>
-
-
-using namespace comphelper;
-using namespace cppu;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-using namespace com::sun::star::ucb;
-using namespace com::sun::star::beans;
-
-using namespace connectivity;
-using namespace com::sun::star::sdb;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-using namespace ::com::sun::star::container;
-using namespace com::sun::star::registry;
-
-using ::rtl::OUString;
-using ::rtl::OUStringToOString;
-
-extern Reference< XMultiServiceFactory > InitializeFac( void );
-Reference< XMultiServiceFactory > mMgr;
-
-#define OUtoCStr( x ) (OUStringToOString ( (x), RTL_TEXTENCODING_ASCII_US ).getStr())
-#define PRINTSTR(x) printf("%s",x);
-#define PRINTLN(x) printf("%s\n",x);
-
-const int testLDAP=0;
-const int testMozilla=1;
-const int testOp=2;
-const int testOe=3;
-
-static int testCount = 0;
-static int testList[4] = {0,0,0,0};
-
-int autoTest(Reference<XResultSet> &xRes);
-
-void printColumns( Reference<XResultSet> &xRes )
-{
- if(xRes.is())
- {
- char* aPat = " %-22s ";
- char* aPat_Short = " %-12s ";
- Reference<XResultSetMetaData> xMeta = Reference<XResultSetMetaDataSupplier>(xRes,UNO_QUERY)->getMetaData();
- OSL_TRACE( "ColumnCount = %d\n", xMeta->getColumnCount());
- for(sal_Int32 i=1;i<=xMeta->getColumnCount();++i)
- {
- const char *str = OUtoCStr(xMeta->getColumnName(i));
- OSL_TRACE( aPat, str );
- }
- OSL_TRACE("\n");
- OSL_TRACE("------------------------------------------------------------------------------------------\n");
- }
- else
- {
- OSL_TRACE(": FAILED to get a ResultSet \n");
- }
-}
-void printXResultSet( Reference<XResultSet> &xRes )
-{
- if(xRes.is())
- {
- char* aPat = " %-22s ";
- char* aPat_Short = " %-12s ";
- Reference<XRow> xRow(xRes,UNO_QUERY);
- Reference<XResultSetMetaData> xMeta = Reference<XResultSetMetaDataSupplier>(xRes,UNO_QUERY)->getMetaData();
- for(sal_Int32 j=1;j<=xMeta->getColumnCount();++j)
- {
- try
- {
- const char *str = OUtoCStr(xRow->getString(j));
- OSL_TRACE( aPat_Short, str );
- } catch (...) {
- OSL_TRACE(" Ex ");
- }
- }
- OSL_TRACE("\n");
- }
- else
- OSL_TRACE("FAILED to get a ResultSet \n");
-}
-
-void printXResultSets( Reference<XResultSet> &xRes )
-{
- if(xRes.is())
- {
- printColumns(xRes);
- sal_Int32 nRows = 0;
- while( xRes.is() && xRes->next())
- {
- printXResultSet(xRes);
- nRows++;
- }
- OSL_TRACE( "%d Row(s)\n", nRows);
- }else
- OSL_TRACE("FAILED to get a ResultSet \n");
-}
-
-
-
-int TestMetaData(Reference< ::com::sun::star::sdbc::XConnection> &pConnection)
-{
- // Test some metadata
- Reference< XDatabaseMetaData > xDmd = pConnection->getMetaData();
- if ( xDmd.is() )
- {
- OSL_TRACE(": got DatabaseMetaData \n");
-
- OUString sQuoteStr = xDmd->getIdentifierQuoteString();
- OSL_TRACE( "Quote String : '%s'\n", OUtoCStr( sQuoteStr ) );
-
- OUString sSQLCmds = xDmd->getSQLKeywords();
- OSL_TRACE( "SQL Commands : '%s'\n", OUtoCStr( sSQLCmds ) );
-
- OSL_TRACE("Testing getColumns() : START\n");
- {
- Reference<XResultSet> xRes = xDmd->getColumns(
- makeAny(OUString(RTL_CONSTASCII_USTRINGPARAM(""))), // Catalog
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // Schema
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // TabName
- OUString(RTL_CONSTASCII_USTRINGPARAM("%"))
- );
- printXResultSets( xRes );
- }
- OSL_TRACE("Testing getColumns() : END\n");
-
- OSL_TRACE("Testing getTypeInfo() : START\n");
- {
- Reference<XResultSet> xRes = xDmd-> getTypeInfo();
- printXResultSets( xRes );
- }
- OSL_TRACE("Testing getTypeInfo() : END\n");
-
- OSL_TRACE("Testing getTables() : START\n");
- {
- Reference<XResultSet> xRes = xDmd->getTables(
- makeAny(OUString(RTL_CONSTASCII_USTRINGPARAM(""))), // Catalog
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // Schema
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // TabName
- Sequence<rtl::OUString>() );
- printXResultSets( xRes );
- }
- OSL_TRACE("Testing getTables() : END\n");
-
- }
- else
- OSL_TRACE(": FAILED to get DatabaseMetaData \n");
- return 0;
-}
-
-void TestQuery(Reference< ::com::sun::star::sdbc::XConnection> &pConnection)
-{
- // Try a query
- OSL_TRACE("Testing createStatement() & executeQuery() : START\n");
- Reference<XStatement> xStmt = pConnection->createStatement();
- Reference<XResultSet> xRes;
- if(xStmt.is())
- {
- OSL_TRACE(": got statement\n");
- OSL_TRACE(": excuteQuery() : START \n");
-// SELECT "First Name", "Display Name", "E-mail" FROM tablename
- OUString sqlPrefix(RTL_CONSTASCII_USTRINGPARAM("SELECT \"First Name\", \"Display Name\", \"E-mail\" FROM "));
- try
- {
- sal_Int32 times=0;
- Reference< XDatabaseMetaData > xDmd = pConnection->getMetaData();
- if ( xDmd.is() )
- {
- OSL_TRACE("getTables() : START\n");
- OUString qut = xDmd->getIdentifierQuoteString();
-
- Reference<XResultSet> xRes = xDmd->getTables(
- makeAny(OUString(RTL_CONSTASCII_USTRINGPARAM(""))), // Catalog
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // Schema
- OUString(RTL_CONSTASCII_USTRINGPARAM("%")), // TabName
- Sequence<rtl::OUString>() );
- sal_Int32 nTables = 0;
- while( xRes.is() && xRes->next())
- {
- Reference<XRow> xRow(xRes,UNO_QUERY);
- const char *strTableName = OUtoCStr(xRow->getString(3));
- OSL_TRACE("Testing Table:%s\n",strTableName);
-
- Reference<XResultSet> tmpRes =
- xStmt->executeQuery(sqlPrefix + qut + xRow->getString(3) + qut);
- autoTest( tmpRes );
- Reference<XCloseable> clsRes(tmpRes,UNO_QUERY);
- clsRes->close();
- nTables++;
- }
- OSL_TRACE("Tested Tables:%d\n",nTables);
- }
- } catch ( Exception &e ) {
- OSL_TRACE( "Exception caught : %s\n", OUtoCStr( e.Message) );
- }
-// catch (...) {
-// OSL_TRACE( "Non-UNO Exception caught\n" );
-// }
- OSL_TRACE("excuteQuery() : END \n");
- }
- else
- {
- OSL_TRACE(": FAILED to get statement\n");
- }
- OSL_TRACE("Testing createStatement() & executeQuery() : END\n");
-}
-Reference< ::com::sun::star::sdbc::XConnection> TestConnected
- (Reference< ::com::sun::star::sdbc::XDriver> &pDriver)
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> pConnection;
- OSL_TRACE("Begin Connect!\n");
- OUString url;
- Sequence<PropertyValue> aValue;
- int nType=0;
- srand( (unsigned)time( NULL ) );
- nType = rand() % testCount + 1;
- int nIndex=0,nCount=0;
- for ( nIndex = 0; nIndex< 4;nIndex++)
- {
- if (testList[nIndex])
- nCount++;
- if (nCount == nType)
- break;
- }
- switch( nIndex)
- {
- case testLDAP:
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:ldap://"));
- aValue.realloc(2);
- aValue[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HostName"));
- aValue[0].Value <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sun-ds"));
- aValue[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BaseDN"));
- aValue[1].Value <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("dc=sun,dc=com"));
- break;
- case testMozilla:
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:mozilla://"));
- break;
- case testOp:
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:outlook://"));
- break;
- case testOe:
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:outlookexp://"));
- break;
- default:
- url=OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:mozilla://"));
- break;
- }
- pConnection =
- pDriver->connect(url,aValue);
- return pConnection;
- }
-
-int autoTest(Reference<XResultSet> &xRes)
-{
- printColumns(xRes);
- if(xRes.is())
- {
- sal_Int32 nRows = 0;
- while( xRes.is() && xRes->next())
- {
- nRows++;
- }
- OSL_TRACE( "%d Row(s)\n", nRows);
- sal_Int32 times;
- sal_Int32 pos;
- if (nRows)
- {
- for(times = 1;times < 10; times ++)
- {
- pos= rand() % nRows+1;
- OSL_TRACE("pos:%d\n",pos);
- xRes->absolute(pos);
- printXResultSet(xRes);
- }
- }
- }
- else
- {
- OSL_TRACE(": FAILED to get a ResultSet \n");
- }
- TimeValue timeValue = { 1, 0 }; //sleep 1 Seconds to give time to other threads
- osl_waitThread(&timeValue);
- return 0;
-}
-void SAL_CALL mozThread(void*)
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> m_xConnection;
- try
- {
- Reference< ::com::sun::star::sdbc::XDriver>
- m_xDriver(mMgr->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.sdbc.MozabDriver"))),
- UNO_QUERY);
- if(m_xDriver.is())
- {
-
- m_xConnection = TestConnected(m_xDriver);
- if(m_xConnection.is())
- {
- if (!TestMetaData(m_xConnection))
- {
- TestQuery(m_xConnection);
- }
- }
- else
- OSL_TRACE("Can't connected!\n");
-
- }
- else
- {
- OSL_TRACE("No driver!\n");
- }
- } catch ( Exception &e ) {
- OSL_TRACE( "Exception caught : %s\n", OUtoCStr( e.Message) );
- }
-// catch (...) {
-// OSL_TRACE( "Non-UNO Exception caught\n" );
-// }
-}
-const int THREAD_COUNT=100;
-
-
-void usage()
-{
- PRINTLN("mozThread [opts] threadcount");
- PRINTLN("opts:");
- PRINTLN("-l test ldap");
- PRINTLN("-m test mozilla");
- PRINTLN("-p test outlook");
- PRINTLN("-e test outlook express");
- PRINTLN("0 < threadcount <= 100, default 100");
-}
-#if (defined UNX)
-int main( int argc, char * argv[] )
-#else
-int _cdecl main( int argc, char * argv[] )
-#endif
-
-{
- OSL_TRACE("Init UNO\n");
- Reference< XMultiServiceFactory > xMgr =InitializeFac();
- int threadCount=THREAD_COUNT;
- int nAc;
- for (nAc = 1; nAc < argc; nAc ++)
- {
- if (strcmp(argv[nAc],"-l") ==0)
- {
- testList[testLDAP] = 1;
- }else if(strcmp(argv[nAc],"-m") ==0)
- {
- testList[testMozilla]=1;
- }else if(strcmp(argv[nAc],"-p") ==0)
- {
- testList[testOp]=1;
- }else if(strcmp(argv[nAc],"-e") ==0)
- {
- testList[testOe]=1;
- }else if(strcmp(argv[nAc],"-h") ==0 || strcmp(argv[nAc],"--help") ==0)
- {
- usage();
- return 0;
- }else
- {
- int tmpCount = atoi(argv[nAc]);
- if (tmpCount > 0 && tmpCount < threadCount)
- {
- threadCount = tmpCount;
- }
- }
- }
- testCount = testList[testLDAP] + testList[testMozilla] + testList[testOp] + testList[testOe];
- if ( testCount == 0)
- {
- testList[testLDAP] = 1;
- testCount = 1;
- }
-
- if (!xMgr.is())
- {
- OSL_TRACE("Error init UNO\n");
- return 1;
- }
- else
- OSL_TRACE("UNO initted\n");
-
- mMgr = xMgr;
- oslThread xThreads[THREAD_COUNT];
- int index=0;
- for(index=0;index < threadCount; index++)
- {
- xThreads[index] = osl_createThread(mozThread,(void*)NULL);
- TimeValue timeValue = { 1, 0 }; //sleep 1 Seconds to give time to other threads
- osl_waitThread(&timeValue);
- }
- for(index=0;index < threadCount; index++)
- {
- if (osl_isThreadRunning(xThreads[index]))
- osl_joinWithThread(xThreads[index]);
- }
- OSL_TRACE("Exiting...\n");
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */