1 /* 2 * This file is part of the LibreOffice project. 3 * 4 * This Source Code Form is subject to the terms of the Mozilla Public 5 * License, v. 2.0. If a copy of the MPL was not distributed with this 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 * 8 * This file incorporates work covered by the following license notice: 9 * 10 * Licensed to the Apache Software Foundation (ASF) under one or more 11 * contributor license agreements. See the NOTICE file distributed 12 * with this work for additional information regarding copyright 13 * ownership. The ASF licenses this file to you under the Apache 14 * License, Version 2.0 (the "License"); you may not use this file 15 * except in compliance with the License. You may obtain a copy of 16 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 17 */ 18 19 package mod._cnt; 20 21 import java.io.PrintWriter; 22 23 import lib.TestCase; 24 import lib.TestEnvironment; 25 import lib.TestParameters; 26 27 import com.sun.star.lang.XMultiServiceFactory; 28 import com.sun.star.ucb.XContentIdentifierFactory; 29 import com.sun.star.uno.UnoRuntime; 30 import com.sun.star.uno.XInterface; 31 32 /** 33 * Test for object which is represented by service 34 * <code>com.sun.star.cnt.ChaosContentProvider</code>. <p> 35 * Object implements the following interfaces : 36 * <ul> 37 * <li> <code>com::sun::star::ucb::XContentProvider</code></li> 38 * </ul> 39 * This object test <b> is NOT </b> designed to be run in several 40 * threads concurrently. 41 * @see com.sun.star.ucb.XContentProvider 42 * @see com.sun.star.ucb.ChaosContentProvider 43 * @see ifc.ucb._XContentProvider 44 */ 45 public class ChaosContentProvider extends TestCase { 46 47 /** 48 * Creating a TestEnvironment for the interfaces to be tested. 49 * Creates an instance of the service 50 * <code>com.sun.star.cnt.ChaosContentProvider</code>. <p> 51 * Object relations created : 52 * <ul> 53 * <li> <code>'FACTORY'</code> for 54 * {@link ifc.ucb._XContentProvider} factory for 55 * content identifiers. Here it is 56 * <code>UniversalContentBroker</code> service.</li> 57 * <li> <code>'CONTENT1'</code> for 58 * {@link ifc.ucb._XContentProvider}: suitable 59 * content URL for this provider </li> 60 * <li> <code>'CONTENT2'</code> for 61 * {@link ifc.ucb._XContentProvider}: another suitable 62 * content URL for this provider </li> 63 * </ul> 64 */ 65 @Override createTestEnvironment( TestParameters Param, PrintWriter log )66 public TestEnvironment createTestEnvironment( TestParameters Param, 67 PrintWriter log ) 68 throws Exception { 69 XMultiServiceFactory xMSF = Param.getMSF(); 70 Object oInterface = xMSF.createInstance 71 ( "com.sun.star.ucb.ChaosContentProvider" ); 72 Object cntFactory = xMSF.createInstance 73 ( "com.sun.star.comp.ucb.UniversalContentBroker" ); 74 XInterface oObj = (XInterface) oInterface; 75 76 TestEnvironment tEnv = new TestEnvironment( oObj ); 77 78 // adding relation for XContentProvider 79 XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class, cntFactory); 80 81 tEnv.addObjRelation("FACTORY", CIF) ; 82 tEnv.addObjRelation("CONTENT1", "ftp://localhost") ; 83 tEnv.addObjRelation("CONTENT2", "ftp://sva.dorms.spbu.ru") ; 84 85 return tEnv; 86 } // finish method getTestEnvironment 87 88 } 89 90