diff options
Diffstat (limited to 'testautomation/dbaccess/tools/dbcreatetools.inc')
-rw-r--r-- | testautomation/dbaccess/tools/dbcreatetools.inc | 1731 |
1 files changed, 0 insertions, 1731 deletions
diff --git a/testautomation/dbaccess/tools/dbcreatetools.inc b/testautomation/dbaccess/tools/dbcreatetools.inc deleted file mode 100644 index 222ec470ca89..000000000000 --- a/testautomation/dbaccess/tools/dbcreatetools.inc +++ /dev/null @@ -1,1731 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'************************************************************************** -' 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. -' -'/************************************************************************ -'* -'* owner : marc.neumann@oracle.com -'* -'* short description : Library with function for creating all possible databases -'* -'*************************************************************************************** -'* -' #1 fCreateMySQL_ODBC_Datasource -' #1 fCreateMySQL_JDBC_Datasource -' #1 fCreateAdabasDatasource -' #1 fCreateLocalAdabasDatasource -' #1 fCreateJDBCDatasource -' #1 fCreateODBCDatasource -' #1 fCreateDbaseDatasource -' #1 fCreateADODatasource -' #1 fCreateTextDatasource -' #1 fCreateSpreadsheetDatasource -' #1 fCreateLDAPAddressbookDatasource -' #1 fCreateEvolutionAddressbookDatasource -' #1 fCreateWindowsAddressbookDatasource -' #1 fCreateOutlookAddressbookDatasource -' #1 fCreateMozillaAddressbookDatasource -' #1 fRegisterDatabaseFile -' #1 fDeRegisterDatabaseFile -' #1 fSetJDBCDriverFiles -' #1 getIdForDatabaseType -'* -'\*********************************************************************************** - -private const VERBOSE = true - -function fCreateMySQL_ODBC_Datasource(sFileName, sOdbcDSN, sUser,optional sRegister) as boolean - '/// create a new MySQL database via ODBC file with the given filename - '///+ and the given URL - '/// <u>parameter:</u> - '/// <b>sFileName:</b> the file name for the database file - '/// <b>sOdbcDSN:</b> the name of the odbc datasource - '/// <b>sUser:</b> the user for the connection - '/// <b>sPassword:</b> the password for the connection - '/// <b><i>optional</i> sRegister:</b> the name under which the database is be registered - dim bOK as boolean - bOK = FALSE - -' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select( hGetDatabaseDisplayName( "sdbc:mysql:odbc:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - MySQLODBC.Check - NextBtn.Click - - Kontext "DatabaseWizard" - - '/// add the URL - printlog "add the URL" - MySQLODBCDSName.setText "sdbc:mysql:odbc:" + sOdbcDSN - - Kontext "DatabaseWizard" - NextBtn.Click - - Kontext "DatabaseWizard" - '/// add the user name - printlog "add the user name" - UserName.setText sUser - - '/// check the password required checkbox - printlog "check the password required checkbox" - PasswordRequired.Check - - Kontext "DatabaseWizard" - NextBtn.Click - - Kontext "DatabaseWizard" - FinishBtn.Click - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - call fCloseDatabase(true) - - fCreateMySQL_ODBC_Datasource = bOK - -end function -'------------------------------------------------------------------------- -function fCreateMySQL_JDBC_Datasource(sFileName,sDatabaseName,sHost,sPort,sUser,optional sRegister) as boolean - '/// create a new MySQL database via JDBC file with the given filename - '///+ and the given URL - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sDatabaseName:</b> the name of the mysql database - '/// <b>sHost:</b> the host where the mysql database is running - '/// <b>sPort:</b> the port where the mysql database is running - '/// <b>sUser:</b> the user for the connection - '/// <b><i>optional</i> sRegister:</b> the name under which the database is be registered - dim bOK as boolean - bOK = FALSE - - dim sEntry as string - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - sEntry = hGetDatabaseDisplayName( "sdbc:mysql:jdbc:*" ) - 'cut off the (JDBC) string - sEntry = Mid( sEntry , 1, len(sEntry) - Instr(sEntry,"(") ) - printlog "entry = " + sEntry - DatabaseType.select( sEntry ) - sleep(1) - NextBtn.Click - sleep(1) - MySQLJDBC.Check - NextBtn.Click - sleep(1) - MySQLDatabaseName.setText(sDatabaseName) - MySQLHostName.setText(sHost) - MySQLPort.setText(sPort) - - NextBtn.Click - sleep(1) - - '/// add the user name - printlog "add the user name" - UserName.setText sUser - - '/// check the password required checkbox - printlog "check the password required checkbox" - PasswordRequired.Check - - NextBtn.Click - FinishBtn.Click - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateMySQL_JDBC_Datasource = bOK - - sleep(1) - - call fCloseDatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateMySQL_native_Datasource(sFileName,sDatabaseName,sHost,sPort,sUser,optional sRegister) as boolean - '/// create a new MySQL database via JDBC file with the given filename - '///+ and the given URL - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sDatabaseName:</b> the name of the mysql database - '/// <b>sHost:</b> the host where the mysql database is running - '/// <b>sPort:</b> the port where the mysql database is running - '/// <b>sUser:</b> the user for the connection - '/// <b><i>optional</i> sRegister:</b> the name under which the database is be registered - dim bOK as boolean - bOK = FALSE - - dim sEntry as string - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - sEntry = hGetDatabaseDisplayName( "sdbc:mysqlc:*" ) - 'cut off the (JDBC) string - sEntry = Left( sEntry , Instr(sEntry,"(") - 2 ) - printlog "entry = " + sEntry - DatabaseType.select( sEntry ) - sleep(1) - NextBtn.Click - sleep(1) - MySQLnative.Check - NextBtn.Click - sleep(1) - DatabaseWizard.typeKeys("<TAB>",true) - DatabaseWizard.typeKeys(sDatabaseName,true) - DatabaseWizard.typeKeys("<TAB>",true) - DatabaseWizard.typeKeys("<TAB>",true) - DatabaseWizard.typeKeys(sHost,true) - 'MySQLDatabaseName.setText(sDatabaseName) - 'MySQLHostName.setText(sHost) - 'MySQLPort.setText(sPort) - - NextBtn.Click - sleep(1) - - '/// add the user name - printlog "add the user name" - UserName.setText sUser - - '/// check the password required checkbox - printlog "check the password required checkbox" - PasswordRequired.Check - - NextBtn.Click - FinishBtn.Click - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateMySQL_native_Datasource = bOK - - sleep(1) - - call fCloseDatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateAdabasDatasource(sFileName,sURL,sUser, optional sRegister) as boolean - '/// create a new adabas database file with the given filename - '///+ and the given URL - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sURL:</b> the URL for the adabas database - '/// <b>sUser:</b> the user for connect - '/// <b><i>optional</i> sRegister:</b> the name under which the database is registered - dim bOK as boolean - bOK = FALSE - - try - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:adabas:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// insert the adabas database name - printlog "insert the adabas database name" - AdabasDBName.setText("sdbc:adabas:" + sURL) - sleep(1) - '/// click Next - printlog "click Next" - NextBtn.Click - sleep(1) - '/// insert the user - printlog "insert the user" - UserName.setText sUser - PasswordRequired.Check - sleep(1) - '/// click Next - printlog "click Next" - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - ' register the database - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - bOK = true - printlog "*** Succeed *** Data source was created" - - fCreateAdabasDatasource = bOK - - sleep(1) - call fCloseDatabase(true) - - catch - bOk = false - warnlog "*** Failed *** Data source was not created" - - endcatch - -end function -'------------------------------------------------------------------------- -function fCreateLocalAdabasDatasource(sFileName,sDatabaseName,sSuperUser,sSuperPassword, optional sRegister) as boolean - '/// create a new adabas database file with the given filename - '///+ and the given URL - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sURL:</b> the URL for the adabas database - '/// <b>sUser:</b> the user for connect - '/// <b>sPassword:</b> the password for connect - '/// <b><i>optional</i> sRegister:</b> the name under which the database is registered - dim bOK as boolean - bOK = FALSE - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - 'try - - '/// --- Create new Adabas data source --- - printlog "--- Create new adabas data source ---" - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:adabas:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - - - Kontext "DatabaseWizard" - AdabasBrowse.Click - sleep(1) - - Kontext "DataSourceSelection" - Create.Click - sleep(1) - - Kontext "CreateNewAdabasDatabase" - DatabaseName.setText sDatabaseName - Administrator.setText sSuperUser - AdminPasswordBtn.Click - sleep(1) - - - Kontext "PasswordDLG" - Password.setText sSuperPassword - PasswordConfirm.setText sSuperPassword - PasswordDLG.OK - - Kontext "CreateNewAdabasDatabase" - CreateNewAdabasDatabase.OK - sleep(10) - - Kontext "DataSourceSelection" - DataSourceSelection.OK - - Kontext "DatabaseWizard" - '/// click Next - printlog "click Next" - NextBtn.Click - sleep(1) - '/// click Next - printlog "click Next" - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - - sleep(2) - - ' register the database - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - bOK = true - printlog "*** Succeed *** Data source was created" - - 'catch - bOk = false - warnlog "*** Failed *** Data source was not created" - - 'endcatch - - fCreateLocalAdabasDatasource = bOK - - sleep(1) - call fCloseDatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateHSQLDatasource(sFileName, optional sRegister) as boolean - '/// create a new hsql database file with the given filename - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> the name under which the database is registered - dim bOK as boolean - bOK = FALSE - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - - try - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(10) - - Kontext "DatabaseWizard" - CreateNewDatabase.Check - sleep(1) - NextBtn.Click - sleep(1) - FinishBtn.Click - sleep(1) - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(10) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(5) - - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - call fCloseDatabase(true) - - bOK = true - catch - bOK = false - endcatch - - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateHSQLDatasource = bOK - - sleep(1) - -end function -'------------------------------------------------------------------------- -function fCreateJDBCDatasource(sFileName,sDriverClass,sURL,sClassPath,sUserName, optional sRegister) as boolean - 'TODO: - - 'ExitRestartTheOffice ' because the change the classpath wich is only used after a restart - 'Printlog "restart the office to make the classpath work" - - '/// create a new JDBC database file with the given filename - '///+ and the given URL - '/// <u>parameter:</u> - '/// <b>sFileName:</b> the file name for the database file - '/// <b>sDatabaseName:</b> the name of the mysql database - '/// <b>sHost:</b> the host where the mysql database is running - '/// <b>sPort:</b> the port where the mysql database is running - '/// <b>sUser:</b> the user for the connection - '/// <b><i>optional</i> sRegister:</b> the name under which the database is be registered - dim bOK as boolean - bOK = FALSE - - call fSetJDBCDriverFiles(sClassPath) - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - FileOpen "FileName", "private:factory/sdatabase?Interactive" , "FrameName", "_blank" , "SynchronMode" ,True - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(5) - - Kontext "TabGeneral" - DatabaseType.Select "JDBC" - sleep(1) - - Kontext "ConnectionType" - NextBtn.Click - - Kontext "TabConnection" - - '/// add the URL - printlog "add the URL" - ConnectURL.setText "jdbc:" + sURL - - '/// add the user name - printlog "add the user name" - UserName.setText sUserName - - '/// check the password required checkbox - printlog "check the password required checkbox" - PasswordRequired.Check - - JDBCDriverClass.setText sDriverClass - - - Kontext "ConnectionType" - CreateBtn.Click - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(ConvertPath(sFilename),sRegister) - end if - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateJDBCDatasource = bOK - - sleep(1) - - call fCloseDatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateODBCDatasource(sDSName,sUser,sPassword) as boolean - - qaerrorlog "not implemented yet" - fCreateODBCDatasource = false - -end function -'------------------------------------------------------------------------- -function fCreateDbaseDatasource(sFileName,sURL, optional sRegister) as boolean - '/// create a new dbase database file with the given filename - '///+ and the given URL as dbase path - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sURL:</b> the dbase path for the database - '/// <b><i>optional</i> bRegister:</b> if true the register the database with the name tt_dBase - dim bOK as boolean - bOK = FALSE - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:dbase:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - dBasePath.setText "sdbc:dbase:" + ConvertPath(sURL) - sleep(1) - FinishBtn.Click - - sleep(1) - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - bOK = true - 'if bOK = true then - ' printlog "--- End of function - *** Succeed ***"' - 'else - ' warnlog "--- End of function - *** Failed *** Data source was not created" - 'endif - - fCreatedBaseDatasource = bOK - - sleep(1) - - call fClosedatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateADODatasource(sFileName,sURL,optional sRegister) as boolean - '/// create a new ADO database file with the given filename - '///+ and the given URL as dbase path - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sURL:</b> the ADO url - '/// <b><i>optional</i> sRegister:</b> if set, the database is registed under the given name - dim bOK as boolean - bOK = FALSE - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:ado:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// add the URL - printlog "add the URL " + sURL - AdoURL.setText "sdbc:ado:" + sURL - sleep(1) - FinishBtn.Click - sleep(1) - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateADODatasource = bOK - - sleep(1) - - call fClosedatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateTextDatasource(sFileName,sURL, optional sRegister) as boolean - '/// create a new text database file with the given filename - '///+ and the given URL as dbase path - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sURL:</b> the Text url - '/// <b><i>optional</i> sRegister:</b> if set, the database is registed under the given name - Dim bOK as boolean - bOK = false - - '/// --- Create new Text data source --- - printlog "--- Create new " + sFileName + " data source ---" - printlog "--- with the URL " + sURL + " ---" - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:flat:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - TextPath.setText "sdbc:flat:" + ConvertPath(sURL) - sleep(1) - FinishBtn.Click - sleep(1) - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateTextDatasource = bOK - - sleep(1) - - call fClosedatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateSpreadsheetDatasource(sFileName,sURL, optional sRegister) as boolean - '/// create a new spreadsheet database file with the given filename - '///+ and the given URL as dbase path - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sURL:</b> the spreadsheet file name - '/// <b><i>optional</i> bRegister:</b> if true the register the database with the given name - dim bOK as boolean - bOK = FALSE - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.Select (hGetDatabaseDisplayName( "sdbc:calc:*" )) - sleep(1) - NextBtn.Click - sleep(1) - '/// add the URL - printlog "add the URL" - SpreadsheetPath.setText "sdbc:calc:" + ConvertPath(sURL) - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - bOK = true - if bOK = true then - printlog "--- End of function - *** Succeed ***" - else - warnlog "--- End of function - *** Failed *** Data source was not created" - endif - - fCreateSpreadsheetDatasource = bOK - - sleep(1) - - call fClosedatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateLDAPAddressbookDatasource(sFileName,sHostName,sBaseDN,sPortNr,optional sRegister) as boolean - '/// create a new LDAP Addressbook database with the given filename - '/// <u>parameter:</u> - '/// <b>sFileName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> if true then register the database - dim bOK as boolean - bOK = FALSE -' try - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:address:ldap:*" ) ) - sleep(1) - NextBtn.Click - sleep(1) - LDAPHostName.setText sHostName - sleep(1) - BaseDN.setText(sBaseDN) - sleep(1) - FinishBtn.Click - sleep(1) - - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - - sleep(5) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - printlog "*** Succeed *** Data source was created" - bOK = true -' catch -' warnlog "*** Failed *** Data source was not created" -' bOK = false -' endcatch - - fCreateLDAPAddressbookDatasource = bOK - - sleep(1) - - call fClosedatabase(true) - -end function -'------------------------------------------------------------------------- -function fCreateEvolutionAddressbookDatasource(sFileName, optional sRegister) as boolean - '/// create a new Evolution Addressbook database with the given filename - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> if true then register the database - dim bOK as boolean - bOK = FALSE - try - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:address:evolution:ldap" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - call fClosedatabase(true) - - printlog "*** Succeed *** Data source was created" - bOK = true - catch - warnlog "*** Failed *** Data source was not created" - bOK = false - endcatch - - fCreateEvolutionAddressbookDatasource = bOK - - sleep(1) - -end function -'------------------------------------------------------------------------- -function fCreateKDEAddressbookDatasource(sFileName , optional sRegister) as boolean - '/// create a new KDE Addressbook database with the given filename - '/// <u>parameter:</u> - '/// <b>sFileName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> if true then register the database - dim bOK as boolean - bOK = FALSE - try - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:address:kab" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - call fClosedatabase(true) - - printlog "*** Succeed *** Data source was created" - bOK = true - catch - warnlog "*** Failed *** Data source was not created" - bOK = false - endcatch - - fCreateKDEAddressbookDatasource = bOK - - sleep(1) - -end function -'------------------------------------------------------------------------- -function fCreateWindowsAddressbookDatasource(sFileName , optional sRegister) as boolean - '/// create a new Windows Addressbook database with the given filename - '/// <u>parameter:</u> - '/// <b>sFileName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> if true then register the database - dim bOK as boolean - bOK = FALSE - try - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:address:outlookexp" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - call fClosedatabase(true) - - printlog "*** Succeed *** Data source was created" - bOK = true - catch - warnlog "*** Failed *** Data source was not created" - bOK = false - endcatch - - fCreateWindowsAddressbookDatasource = bOK - - sleep(1) - -end function -'------------------------------------------------------------------------- -function fCreateOutlookAddressbookDatasource(sFileName, optional sRegister) as boolean - '/// create a new Outlook Addressbook database with the given filename - '/// <u>parameter:</u> - '/// <b>sFileName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> if true then register the database - dim bOK as boolean - bOK = FALSE - try - - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:address:outlook" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - - call fClosedatabase(true) - - printlog "*** Succeed *** Data source was created" - bOK = true - catch - warnlog "*** Failed *** Data source was not created" - bOK = false - endcatch - - fCreateOutlookAddressbookDatasource = bOK - - sleep(1) - -end function -'------------------------------------------------------------------------- -function fCreateMozillaAddressbookDatasource(sFileName, optional sRegister) as boolean - '/// create a new mozilla addressbook database file with the given filename - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b><i>optional</i> sRegister:</b> the name under which the database is registered - - dim bOK as boolean - bOK = FALSE - try - ' delete the file - if ( app.Dir( ConvertPath(sFileName) ) ) <> "" then - app.kill(ConvertPath(sFileName)) - endif - - Kontext "DocumentWriter" - if (DocumentWriter.exists(1)) then - DocumentWriter.UseMenu - else - Kontext "DocumentBackground" - DocumentBackground.UseMenu - endif - hMenuSelectNr(1) - hMenuSelectNr(1) - hMenuSelectNr(5) - - sleep(4) - - Kontext "DatabaseWizard" - ConnectToDatabase.Check - sleep(1) - DatabaseType.select ( hGetDatabaseDisplayName( "sdbc:address:mozilla:" ) ) - sleep(1) - NextBtn.Click - sleep(1) - '/// click finish - printlog "click finish" - FinishBtn.Click - sleep(1) - Kontext "SpeichernDlg" - Dateiname.setText ConvertPath(sFileName) - Speichern.click - sleep(1) - - Kontext "MessageBox" - if MessageBox.exists then - MessageBox.yes - end if - - sleep(2) - - if ( IsMissing(sRegister) ) then - printlog "don't register datasource" - else - printlog "register datasource with name " + sRegister - call fRegisterDatabaseFile(sFileName,sRegister) - end if - printlog "*** Succeed *** Data source was created" - bOK = true - - call fClosedatabase(true) - - catch - qaerrorlog "*** Failed *** Data source was not created" - bOK = false - endcatch - - fCreateMozillaAddressbookDatasource = bOK - - sleep(1) - -end function -'-------------------------------------------------------------------- -function fRegisterDatabaseFile( sFileName, sName) - '/// register a database - '/// <u>parameter:</u> - '/// <b>sFielName:</b> the file name for the database file - '/// <b>sName:</b> The name under which the database is registered - - dim i as integer - - ToolsOptions - - call hToolsOptions ( "Datasources", "Databases" ) - - '/// remove registration if exists - - Kontext "TabRegisteredDatabase" - for i = 1 to RegisteredDatabases.GetItemCount - RegisteredDatabases.select i - if RegisteredDatabases.getSeltext() = sName then - DeleteBtn.Click - Kontext "Active" - Active.yes - exit for - endif - next - - - - Kontext "TabRegisteredDatabase" - NewBtn.Click - sleep(1) - Kontext "CreateDatabaseLink" - - RegisteredName.setText(sName) - DatabaseFile.setText(sFileName) - - CreateDatabaseLink.OK - - sleep(1) - Kontext "OptionenDlg" - OptionenDlg.OK - -end function -'-------------------------------------------------------------------- -function fDeRegisterDatabaseFile( sName) - '/// deregister a database - '/// <u>parameter:</u> - '/// <b>sName:</b> The registered name which should be deregistered - dim i as integer - - ToolsOptions - - call hToolsOptions ( "Datasources", "Databases" ) - - '/// remove registration for the database - printlog "remove registration for the database " + sName - - Kontext "TabRegisteredDatabase" - for i = 1 to RegisteredDatabases.GetItemCount - RegisteredDatabases.select i - if RegisteredDatabases.getSeltext() = sName then - DeleteBtn.Click - exit for - endif - next - - try - Kontext "Active" - Active.yes - catch - - endcatch - sleep(1) - Kontext "OptionenDlg" - OptionenDlg.OK - -end function -'------------------------------------------------------------------------- -function fSetJDBCDriverFiles(sClassPath) as boolean - '/// set the java classpath - '/// <u>parameter:</u> - '/// <b>sClassPath:</b> The Classpath - - Dim x_DriverInstall as boolean - x_DriverInstall = FALSE - - call hNewDocument - printlog "insert classpath: " + sClassPath - ToolsOptions - call hToolsOptions ( "StarOffice", "JAVA" ) - - Kontext "TabJava" - ClassPath.Click - sleep(1) - Kontext "JavaClassPath" - AddArchive.Click - sleep(1) - Kontext "GeneralFileDialog" - Dateiname.setText ConvertPath(sClassPath) - Auswaehlen.Click - sleep(1) - '/// if the class file allready exists a messages box pops up - Kontext "MessageBox" - if ( MessageBox.exists(3) ) then - MessageBox.OK - end if - - Kontext "JavaClassPath" - JavaClassPath.OK - - Kontext "MessageBox" - if ( MessageBox.exists(3) ) then - MessageBox.OK - end if - - Kontext "OptionenDlg" - OptionenDlg.OK - - call hCloseDocument - -end function - -'------------------------------------------------------------------------- - -function hGetInstalledDatabaseDrivers( dbDriverList() as string ) as integer - - ' This function returns the number of currently installed database drivers. - ' Additionally it fills a given list (which should be large enough to hold - ' the names of all installed drivers) with the url and makes the list - ' compatible to the listfunctions (which places the list size in element 0) - ' The list is platform dependent and might be locale dependent - ' Note that some drivers (like e.g. HSQL Database Engine) do *not* show up - ' in the Database Wizards listbox! - - dim oUnoOfficeConnection as object - dim oUnoConfigurationAccess as object - dim aPropertyValue(1) as new com.sun.star.beans.PropertyValue - dim xViewRoot as object - dim aElements() as string - dim iCurrentDriver as integer - dim iDriverCount as integer - - const CFN = "dbaccess::tools::dbcreatetools.inc::hGetInstalledDatabaseDrivers(): " - - ' Path to the node, searches all files below "Drivers" for "Installed" - aPropertyValue( 0 ).Name = "nodepath" - aPropertyValue( 0 ).Value = "org.openoffice.Office.DataAccess.Drivers/Installed" - - ' Connect to remote UNO - oUnoOfficeConnection = hGetUnoService( TRUE ) - - if ( isNull( oUnoOfficeConnection )) then - warnlog( CFN & "Failed to establish UNO connection, hGetUnoService failed" ) - hGetInstalledDatabaseDrivers() = 0 - else - ' Get a configuration provider - oUnoConfigurationAccess = oUnoOfficeConnection.createInstance( "com.sun.star.configuration.ConfigurationProvider" ) - - ' Get access - xViewRoot = oUnoConfigurationAccess.createInstanceWithArguments( "com.sun.star.configuration.ConfigurationAccess", aPropertyValue() ) - aElements() = xViewRoot.getElementNames() - - iDriverCount = ubound( aElements() ) - dbDriverList( 0 ) = iDriverCount - for iCurrentDriver = 1 to iDriverCount - dbDriverList( iCurrentDriver ) = aElements( iCurrentDriver ) - next iCurrentDriver - - endif - - if ( GVERBOSE ) then - printlog( CFN & "Returning " & iDriverCount & " drivers" ) - endif - - hGetInstalledDatabaseDrivers() = iDriverCount - -end function - -'------------------------------------------------------------------------- - -function hGetDatabaseDisplayName( dbDriverURL as string ) as string - - ' The xcu files (based on dev300m47) hold following driver definitions - ' which are used as parameter to this function. You get a plain text - ' localized driver name as returnvalue which can be used directly to select - ' a driver in the Database Wizard. - - ' adabas.xcu: "sdbc:adabas:*" - ' calc.xcu: "sdbc:calc:*" - ' dbase.xcu: "sdbc:dbase:*" - ' evoab.xcu: "sdbc:address:evolution:ldap" - ' evoab.xcu: "sdbc:address:evolution:groupwise" - ' flat.xcu: "sdbc:flat:*" - ' ado.xcu: "sdbc:ado:*" - ' hsqldb.xcu: "sdbc:embedded:hsqldb" - ' kab.xcu: "sdbc:address:kab" - ' mozab.xcu: "sdbc:address:outlook" - ' mozab.xcu: "sdbc:address:outlookexp" - ' mozab.xcu: "sdbc:address:mozilla:" - ' mozab.xcu: "sdbc:address:thunderbird:" - ' mozab.xcu: "sdbc:address:ldap:*" - ' mysql.xcu: "sdbc:mysql:jdbc:*" - ' mysql.xcu: "sdbc:mysql:odbc:*" - ' odbc.xcu: "sdbc:odbc:*" - ' jdbc.xcu: "jdbc:*" - ' jdbc.xcu: "jdbc:oracle:thin:*" - ' mysql.xcu: "sdbc:mysql:jdbc:*" - - - ' Note that some drivers (like e.g. HSQL Database Engine) do *not* show up - ' in the Database Wizards listbox! - - - dim oUnoOfficeConnection as object - dim oUnoConfigurationAccess as object - dim aPropertyValue(1) as new com.sun.star.beans.PropertyValue - dim oConfig as object - dim oDriver as object - dim sDatabaseName as string - - const CFN = "dbaccess::tools::dbcreatetools.inc::hGetDatabaseDisplayName(): " - - ' Path to the node, searches all files below "Drivers" for "Installed" - aPropertyValue( 0 ).Name = "nodepath" - aPropertyValue( 0 ).Value = "org.openoffice.Office.DataAccess.Drivers/Installed/" - - ' Connect to remote UNO - oUnoOfficeConnection = hGetUnoService( TRUE ) - - if ( isNull( oUnoOfficeConnection )) then - warnlog( CFN & "Failed to establish UNO connection, hGetUnoService failed" ) - sDatabaseName = "" - else - ' Get a configuration provider - oUnoConfigurationAccess = oUnoOfficeConnection.createInstance( "com.sun.star.configuration.ConfigurationProvider" ) - - ' Get access - oConfig = oUnoConfigurationAccess.createInstanceWithArguments( "com.sun.star.configuration.ConfigurationAccess", aPropertyValue() ) - try - oDriver = oConfig.getByName( dbDriverURL ) - sDatabaseName = oDriver.getByName( "DriverTypeDisplayName" ) - catch - warnlog( CFN & "Invalid driver or driver unsupported on this platform" ) - sDatabaseName "" - endcatch - - endif - - if ( GVERBOSE ) then - printlog( CFN & "Database display string: " & sDatabaseName ) - endif - hGetDataBaseDisplayName() = sDatabaseName - -end function -'------------------------------------------------------------------------- -function isDriverInstalled( dbDriverURL as string ) as string - - ' This function return true or false if a driver for a given URL is installed - - Dim myDriverList(20) as string - Dim i as integer - Dim sDriver as string - Dim breturn as boolean - breturn = false - - const CFN = "dbaccess::tools::dbcreatetools.inc::isDriverInstalled(): " - - if VERBOSE then - printlog CFN - printlog "url to search for : " + dbDriverURL - endif - - hGetInstalledDatabaseDrivers( myDriverList() ) - - for i = 1 to ubound(myDriverList) - sDriver = myDriverList(i) - if VERBOSE then - printlog "found url : " + sDriver - endif - if sDriver = dbDriverURL then - breturn = true - endif - next - - isDriverInstalled = breturn - -end function - |