1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 package mod._scripting; 29 30 import com.sun.star.uno.XInterface; 31 import java.io.PrintWriter; 32 import lib.StatusException; 33 import lib.TestCase; 34 import lib.TestEnvironment; 35 import lib.TestParameters; 36 import util.utils; 37 import java.net.URLEncoder; 38 import com.sun.star.lang.XMultiServiceFactory; 39 import com.sun.star.ucb.XSimpleFileAccess; 40 import com.sun.star.uno.UnoRuntime; 41 42 public class ScriptStorage extends TestCase { 43 44 String docPath = null; 45 public void initialize( TestParameters tParam, PrintWriter log ) { 46 // Get path to test documents 47 String rootDocPath = ( String )tParam.get( "DOCPTH" ); 48 System.out.println( "DOCPTH is " + rootDocPath ); 49 rootDocPath = util.utils.getFullTestURL( "ExampleSpreadSheetLatest.sxc" ); 50 if ( rootDocPath != null && rootDocPath.length() > 1 ){ 51 // convert all "\\" to "/", necessary for UCB 52 if ( rootDocPath.indexOf( "\\" ) > 0 ){ 53 rootDocPath = rootDocPath.replace( '\\','/' ); 54 } 55 System.out.println("After processing the path is " + rootDocPath); 56 // encode the ulr (for UCB) 57 String encodedPath = URLEncoder.encode( rootDocPath ); 58 System.out.println("The encoded path is " + encodedPath ); 59 docPath = "vnd.sun.star.pkg://" + encodedPath; 60 System.out.println( "docPath path is " + docPath ); 61 } 62 63 } 64 65 public synchronized TestEnvironment createTestEnvironment( 66 TestParameters tParam, PrintWriter log ) throws StatusException { 67 68 log.println("creating test environment"); 69 if ( docPath == null ){ 70 log.println("Testdata not set up, docPath is null"); 71 throw new StatusException( 72 "Can't create object environment, no test document available", 73 new Exception() ) ; 74 } 75 76 XInterface oObj = null; 77 XSimpleFileAccess access = null; 78 try { 79 XMultiServiceFactory xMSF = tParam.getMSF(); 80 Object xInterface = 81 xMSF.createInstance( "com.sun.star.ucb.SimpleFileAccess" ); 82 access = ( XSimpleFileAccess ) 83 UnoRuntime.queryInterface( XSimpleFileAccess.class, xInterface ); 84 oObj = ( XInterface )xMSF.createInstanceWithArguments( 85 "drafts.com.sun.star.script.framework.storage.ScriptStorage", 86 new Object[]{ access, new Integer(99), docPath } ); 87 88 } catch (com.sun.star.uno.Exception e) { 89 throw new StatusException("Can't create object environment", e) ; 90 } 91 92 TestEnvironment tEnv = new TestEnvironment(oObj) ; 93 TestDataLoader.setupData(tEnv, "ScriptStorage"); 94 95 return tEnv ; 96 } 97 98 public synchronized void disposeTestEnvironment( TestEnvironment tEnv, 99 TestParameters tParam) { 100 } 101 } 102 103 104