/* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ package mod._fwk; import com.sun.star.beans.PropertyValue; import com.sun.star.frame.XController; import com.sun.star.frame.XFrame; import com.sun.star.frame.XModel; import com.sun.star.lang.XComponent; import lib.*; import util.DesktopTools; import util.SOfficeFactory; import com.sun.star.uno.Exception; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XInterface; import java.io.PrintWriter; import com.sun.star.sheet.XSpreadsheetDocument; import com.sun.star.text.XTextDocument; /** Test for object that implements the following interfaces : *
com::sun::star::frame::XModuleManager
com::sun::star::container::XNameAccess
com::sun::star::container::XElementAccess
* @see com.sun.star.frame.XModuleManager * @see com.sun.star.container.XNameAccess * @see com.sun.star.container.XElementAccess * @see ifc.frame._XModuleManager * @see ifc.container._XNameAccess * @see ifc.container._XElementAccess */ public class ModuleManager extends TestCase { XTextDocument xTextDoc = null; XComponent xWebDoc = null; XComponent xGlobalDoc = null; XSpreadsheetDocument xSheetDoc = null; XComponent xDrawDoc = null; XComponent xImpressDoc = null; XComponent xMathDoc = null; /** Creating a TestEnvironment for the interfaces to be tested. * @param Param test parameters * @param log simple logger * @throws StatusException was thrown on error * @return the test environment */ @Override public TestEnvironment createTestEnvironment( TestParameters Param, PrintWriter log ) throws Exception { XInterface oObj = (XInterface)Param.getMSF().createInstance( "com.sun.star.comp.framework.ModuleManager"); // get a soffice factory object SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF()); // get text document interfaces log.println("creating a text document"); xTextDoc = SOF.createTextDoc(null); XModel xTextMode1 = UnoRuntime.queryInterface(XModel.class, xTextDoc); XController xTextController = xTextMode1.getCurrentController(); XFrame xTextFrame = xTextController.getFrame(); // get webdoc interfaces log.println("creating a web document"); xWebDoc = SOF.loadDocument("private:factory/swriter/web"); XModel xWebMode1 = UnoRuntime.queryInterface(XModel.class, xWebDoc); XController xWebController = xWebMode1.getCurrentController(); XFrame xWebFrame = xWebController.getFrame(); // get global document interfaces log.println("creating a global document"); xGlobalDoc = SOF.loadDocument("private:factory/swriter/GlobalDocument"); XModel xGlobalMode1 = UnoRuntime.queryInterface(XModel.class, xGlobalDoc); XController xGlobalController = xGlobalMode1.getCurrentController(); XFrame xGlobalFrame = xGlobalController.getFrame(); // get clac interfaces log.println("creating a spreadsheetdocument"); xSheetDoc = SOF.createCalcDoc(null); XModel xSheetMode1 = UnoRuntime.queryInterface(XModel.class, xSheetDoc); XController xSheetController = xSheetMode1.getCurrentController(); XFrame xSheetFrame = xSheetController.getFrame(); // get draw interfaces log.println("creating a draw document"); xDrawDoc = SOF.createDrawDoc(null); XModel xDrawMode1 = UnoRuntime.queryInterface(XModel.class, xDrawDoc); XController xDrawController = xDrawMode1.getCurrentController(); XFrame xDrawFrame = xDrawController.getFrame(); // get impress interfaces log.println("creating an impress document"); xImpressDoc = SOF.createImpressDoc(null); XModel xImpressMode1 = UnoRuntime.queryInterface(XModel.class, xImpressDoc); XController xImpressController = xImpressMode1.getCurrentController(); XFrame xImpressFrame = xImpressController.getFrame(); // get math interfaces log.println("creating a math document"); xMathDoc = SOF.createMathDoc(null); XModel xMathMode1 = UnoRuntime.queryInterface(XModel.class, xMathDoc); XController xMathController = xMathMode1.getCurrentController(); XFrame xMathFrame = xMathController.getFrame(); PropertyValue[] xFrameSeq = new PropertyValue[7]; xFrameSeq[0] = new PropertyValue(); xFrameSeq[0].Name = "com.sun.star.text.TextDocument"; xFrameSeq[0].Value = xTextFrame; xFrameSeq[1] = new PropertyValue(); xFrameSeq[1].Name = "com.sun.star.text.WebDocument"; xFrameSeq[1].Value = xWebFrame; xFrameSeq[2] = new PropertyValue(); xFrameSeq[2].Name = "com.sun.star.text.GlobalDocument"; xFrameSeq[2].Value = xGlobalFrame; xFrameSeq[3] = new PropertyValue(); xFrameSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument"; xFrameSeq[3].Value = xSheetFrame; xFrameSeq[4] = new PropertyValue(); xFrameSeq[4].Name = "com.sun.star.drawing.DrawingDocument"; xFrameSeq[4].Value = xDrawFrame; xFrameSeq[5] = new PropertyValue(); xFrameSeq[5].Name = "com.sun.star.formula.FormulaProperties"; xFrameSeq[5].Value = xMathFrame; xFrameSeq[6] = new PropertyValue(); xFrameSeq[6].Name = "com.sun.star.presentation.PresentationDocument"; xFrameSeq[6].Value = xImpressFrame; PropertyValue[] xControllerSeq = new PropertyValue[7]; xControllerSeq[0] = new PropertyValue(); xControllerSeq[0].Name = "com.sun.star.text.TextDocument"; xControllerSeq[0].Value = xTextController; xControllerSeq[1] = new PropertyValue(); xControllerSeq[1].Name = "com.sun.star.text.WebDocument"; xControllerSeq[1].Value = xWebController; xControllerSeq[2] = new PropertyValue(); xControllerSeq[2].Name = "com.sun.star.text.GlobalDocument"; xControllerSeq[2].Value = xGlobalController; xControllerSeq[3] = new PropertyValue(); xControllerSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument"; xControllerSeq[3].Value = xSheetController; xControllerSeq[4] = new PropertyValue(); xControllerSeq[4].Name = "com.sun.star.drawing.DrawingDocument"; xControllerSeq[4].Value = xDrawController; xControllerSeq[5] = new PropertyValue(); xControllerSeq[5].Name = "com.sun.star.formula.FormulaProperties"; xControllerSeq[5].Value = xMathController; xControllerSeq[6] = new PropertyValue(); xControllerSeq[6].Name = "com.sun.star.presentation.PresentationDocument"; xControllerSeq[6].Value = xImpressController; PropertyValue[] xModelSeq = new PropertyValue[7]; xModelSeq[0] = new PropertyValue(); xModelSeq[0].Name = "com.sun.star.text.TextDocument"; xModelSeq[0].Value = xTextMode1; xModelSeq[1] = new PropertyValue(); xModelSeq[1].Name = "com.sun.star.text.WebDocument"; xModelSeq[1].Value = xWebMode1; xModelSeq[2] = new PropertyValue(); xModelSeq[2].Name = "com.sun.star.text.GlobalDocument"; xModelSeq[2].Value = xGlobalMode1; xModelSeq[3] = new PropertyValue(); xModelSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument"; xModelSeq[3].Value = xSheetMode1; xModelSeq[4] = new PropertyValue(); xModelSeq[4].Name = "com.sun.star.drawing.DrawingDocument"; xModelSeq[4].Value = xDrawMode1; xModelSeq[5] = new PropertyValue(); xModelSeq[5].Name = "com.sun.star.presentation.PresentationDocument"; xModelSeq[5].Value = xImpressMode1; xModelSeq[6] = new PropertyValue(); xModelSeq[6].Name = "com.sun.star.formula.FormulaProperties"; xModelSeq[6].Value = xMathMode1; TestEnvironment tEnv = new TestEnvironment( oObj ); tEnv.addObjRelation("XModuleManager.XFrame", xFrameSeq); tEnv.addObjRelation("XModuleManager.XController", xControllerSeq); tEnv.addObjRelation("XModuleManager.XModel", xModelSeq); return tEnv; } // finish method getTestEnvironment /** Disposes text document. * @param tParam test parameters * @param log simple logger */ @Override protected void cleanup( TestParameters tParam, PrintWriter log ) { log.println( " closing all documents " ); DesktopTools.closeDoc(xTextDoc); DesktopTools.closeDoc(xWebDoc); DesktopTools.closeDoc(xGlobalDoc); DesktopTools.closeDoc(xSheetDoc); DesktopTools.closeDoc(xDrawDoc); DesktopTools.closeDoc(xImpressDoc); DesktopTools.closeDoc(xMathDoc); } }