1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="system_XSystemShellExecute" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32'************************************************************************* 33 34 35 36' Be sure that all variables are dimensioned: 37option explicit 38 39'************************************************************************* 40' This Interface/Service test depends on the following GLOBAL variables, 41' which must be specified in the object creation: 42 43' - java existing in PATH system var and 44' SystemShellExecute.class file in docs dir 45 46'************************************************************************* 47 48 49 50 51 52 53Sub RunTest() 54 55'************************************************************************* 56' INTERFACE: 57' com.sun.star.system.XSystemShellExecute 58'************************************************************************* 59On Error Goto ErrHndl 60 Dim bOK As Boolean 61 Dim cResFile As String, cResURL As String, cClassPath As String 62 Dim oFacc As Object 63 Dim bExist As Boolean, i As Integer 64 Dim cArgs As String 65 66 Test.StartMethod("execute()") 67 cClassPath = utils.URL2Path(utils.Path2URL(cTestDocsDir)) 68 cResURL = utils.getTempFileURL("SystemShellExecute.txt", true) 69 cResFile = utils.URL2Path(cResURL) 70 bOK = true 71 72 cArgs = "-classpath " + cClassPath + " SystemShellExecute " + cResFile 73 Out.Log("Executing : 'java " + cArgs + "'") 74 oObj.execute("java", cArgs, 1) 75 76 oFacc = createUnoService("com.sun.star.ucb.SimpleFileAccess") 77 78 if bOK then 79 Out.Log("Waiting while the file will be created or timeout reached ...") 80 bExist = false 81 i = 0 82 while i < 20 AND NOT bExist 83 bExist = oFacc.exists(cResURL) 84 wait(1000) 85 i = i + 1 86 wend 87 88 if bExist then 89 Out.Log("The command was executed and file created in " + i + " sec.") 90 else 91 Out.Log("File was not created.") 92 endif 93 94 bOK = bOK AND bExist 95 endif 96 97 Test.MethodTested("execute()", bOK) 98 99Exit Sub 100ErrHndl: 101 Test.Exception() 102 bOK = false 103 resume next 104End Sub 105</script:module> 106