summaryrefslogtreecommitdiff
path: root/framework/qa/complex/ModuleManager/CheckXModuleManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/qa/complex/ModuleManager/CheckXModuleManager.java')
-rwxr-xr-xframework/qa/complex/ModuleManager/CheckXModuleManager.java358
1 files changed, 0 insertions, 358 deletions
diff --git a/framework/qa/complex/ModuleManager/CheckXModuleManager.java b/framework/qa/complex/ModuleManager/CheckXModuleManager.java
deleted file mode 100755
index 47b4f877c4..0000000000
--- a/framework/qa/complex/ModuleManager/CheckXModuleManager.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-package complex.ModuleManager;
-
-import com.sun.star.beans.*;
-import com.sun.star.frame.*;
-import com.sun.star.lang.*;
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.util.*;
-import com.sun.star.container.*;
-
-
-
-// ---------- junit imports -----------------
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.openoffice.test.OfficeConnection;
-import static org.junit.Assert.*;
-// ------------------------------------------
-
-//-----------------------------------------------
-/** @short todo document me
- */
-public class CheckXModuleManager
-{
- //-------------------------------------------
- // some const
-
- //-------------------------------------------
- // member
-
- /** points to the global uno service manager. */
- private XMultiServiceFactory m_xSmgr = null;
-
- /** the module manager for testing. */
- private XModuleManager m_xMM = null;
-
- /** a special frame used to load documents there. */
- private XComponentLoader m_xLoader = null;
-
- //-------------------------------------------
- // test environment
-
- //-------------------------------------------
- /** @short A function to tell the framework,
- which test functions are available.
-
- @return All test methods.
- @todo Think about selection of tests from outside ...
- */
-// public String[] getTestMethodNames()
-// {
-// return new String[]
-// {
-// "checkModuleIdentification" ,
-// "checkModuleConfigurationReadable" ,
-// "checkModuleConfigurationWriteable",
-// "checkModuleConfigurationQueries"
-// };
-// }
-
- //-------------------------------------------
- /** @short Create the environment for following tests.
-
- @descr Use either a component loader from desktop or
- from frame
- */
- @Before public void before()
- throws java.lang.Exception
- {
- // get uno service manager from global test environment
- m_xSmgr = getMSF();
-
- // create module manager
- m_xMM = UnoRuntime.queryInterface(XModuleManager.class, m_xSmgr.createInstance("com.sun.star.frame.ModuleManager"));
-
- // create desktop instance to create a special frame to load documents there.
- XFrame xDesktop = UnoRuntime.queryInterface(XFrame.class, m_xSmgr.createInstance("com.sun.star.frame.Desktop"));
-
- m_xLoader = UnoRuntime.queryInterface(XComponentLoader.class, xDesktop.findFrame("_blank", 0));
- }
-
- //-------------------------------------------
- /** @short close the environment.
- */
- @After public void after()
- throws java.lang.Exception
- {
- XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, m_xLoader);
- xClose.close(false);
-
- m_xLoader = null;
- m_xMM = null;
- m_xSmgr = null;
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- @Test public void checkModuleIdentification()
- throws java.lang.Exception
- {
- impl_identifyModulesBasedOnDocs("com.sun.star.text.TextDocument" );
- impl_identifyModulesBasedOnDocs("com.sun.star.text.WebDocument" );
- impl_identifyModulesBasedOnDocs("com.sun.star.text.GlobalDocument" );
- impl_identifyModulesBasedOnDocs("com.sun.star.formula.FormulaProperties" );
- impl_identifyModulesBasedOnDocs("com.sun.star.sheet.SpreadsheetDocument" );
- impl_identifyModulesBasedOnDocs("com.sun.star.drawing.DrawingDocument" );
- impl_identifyModulesBasedOnDocs("com.sun.star.presentation.PresentationDocument");
- impl_identifyModulesBasedOnDocs("com.sun.star.sdb.OfficeDatabaseDocument" );
- // TODO: fails
- // impl_identifyModulesBasedOnDocs("com.sun.star.chart.ChartDocument" );
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- @Test public void checkModuleConfigurationReadable()
- throws java.lang.Exception
- {
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- @Test public void checkModuleConfigurationWriteable()
- throws java.lang.Exception
- {
- // modules supporting real documents
- impl_checkReadOnlyPropsOfModule("com.sun.star.text.TextDocument" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.text.WebDocument" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.text.GlobalDocument" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.formula.FormulaProperties" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.sheet.SpreadsheetDocument" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.drawing.DrawingDocument" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.presentation.PresentationDocument");
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.OfficeDatabaseDocument" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.chart.ChartDocument" );
-
- // other modules
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.FormDesign" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.TextReportDesign" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.RelationDesign" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.QueryDesign" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.TableDesign" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.sdb.DataSourceBrowser");
- impl_checkReadOnlyPropsOfModule("com.sun.star.frame.Bibliography" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.script.BasicIDE" );
- impl_checkReadOnlyPropsOfModule("com.sun.star.frame.StartModule" );
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- @Test public void checkModuleConfigurationQueries()
- throws java.lang.Exception
- {
- impl_searchModulesByDocumentService("com.sun.star.text.TextDocument" );
- impl_searchModulesByDocumentService("com.sun.star.text.WebDocument" );
- impl_searchModulesByDocumentService("com.sun.star.text.GlobalDocument" );
- impl_searchModulesByDocumentService("com.sun.star.formula.FormulaProperties" );
- impl_searchModulesByDocumentService("com.sun.star.sheet.SpreadsheetDocument" );
- impl_searchModulesByDocumentService("com.sun.star.drawing.DrawingDocument" );
- impl_searchModulesByDocumentService("com.sun.star.presentation.PresentationDocument");
- impl_searchModulesByDocumentService("com.sun.star.sdb.OfficeDatabaseDocument" );
- impl_searchModulesByDocumentService("com.sun.star.chart.ChartDocument" );
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- private void impl_searchModulesByDocumentService(String sDocumentService)
- throws java.lang.Exception
- {
- System.out.println("search modules matching document service '"+sDocumentService+"' ...");
-
- NamedValue[] lProps = new NamedValue[1];
- lProps[0] = new NamedValue();
- lProps[0].Name = "ooSetupFactoryDocumentService";
- lProps[0].Value = sDocumentService;
-
- XContainerQuery xMM = UnoRuntime.queryInterface(XContainerQuery.class, m_xMM);
- XEnumeration xResult = xMM.createSubSetEnumerationByProperties(lProps);
- while(xResult.hasMoreElements())
- {
- PropertyValue[] lModuleProps = (PropertyValue[])AnyConverter.toArray(xResult.nextElement());
- int c = lModuleProps.length;
- int i = 0;
- String sFoundModule = "";
- String sFoundDocService = "";
- for (i=0; i<c; ++i)
- {
- if (lModuleProps[i].Name.equals("ooSetupFactoryModuleIdentifier"))
- {
- sFoundModule = AnyConverter.toString(lModuleProps[i].Value);
- }
- if (lModuleProps[i].Name.equals("ooSetupFactoryDocumentService"))
- {
- sFoundDocService = AnyConverter.toString(lModuleProps[i].Value);
- }
- }
-
- if (sFoundModule.length() < 1)
- {
- fail("Miss module identifier in result set. Returned data are incomplete.");
- }
-
- if ( ! sFoundDocService.equals(sDocumentService))
- {
- fail("Query returned wrong module '" + sFoundModule + "' with DocumentService='" + sFoundDocService + "'.");
- }
-
- System.out.println("Found module '"+sFoundModule+"'.");
- }
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- private void impl_identifyModulesBasedOnDocs(String sModule)
- throws java.lang.Exception
- {
- System.out.println("check identification of module '"+sModule+"' ...");
-
- XNameAccess xMM = UnoRuntime.queryInterface(XNameAccess.class, m_xMM);
- PropertyValue[] lModuleProps = (PropertyValue[])AnyConverter.toArray(xMM.getByName(sModule));
- int c = lModuleProps.length;
- int i = 0;
- String sFactoryURL = "";
-
- for (i=0; i<c; ++i)
- {
- if (lModuleProps[i].Name.equals("ooSetupFactoryEmptyDocumentURL"))
- {
- sFactoryURL = AnyConverter.toString(lModuleProps[i].Value);
- break;
- }
- }
-
- PropertyValue[] lArgs = new PropertyValue[1];
- lArgs[0] = new PropertyValue();
- lArgs[0].Name = "Hidden";
- lArgs[0].Value = Boolean.TRUE;
-
- XComponent xModel = m_xLoader.loadComponentFromURL(sFactoryURL, "_self", 0, lArgs);
- XFrame xFrame = UnoRuntime.queryInterface(XFrame.class, m_xLoader);
- XController xController = xFrame.getController();
-
- String sModuleFrame = m_xMM.identify(xFrame );
- String sModuleController = m_xMM.identify(xController);
- String sModuleModel = m_xMM.identify(xModel );
-
- if ( ! sModuleFrame.equals(sModule))
- {
- fail("Identification of module '" + sModule + "' failed if frame was used as entry point.");
- }
- if ( ! sModuleController.equals(sModule))
- {
- fail("Identification of module '" + sModule + "' failed if controller was used as entry point.");
- }
- if ( ! sModuleModel.equals(sModule))
- {
- fail("Identification of module '" + sModule + "' failed if model was used as entry point.");
- }
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- private void impl_checkReadOnlyPropsOfModule(String sModule)
- throws java.lang.Exception
- {
- XNameReplace xWrite = UnoRuntime.queryInterface(XNameReplace.class, m_xMM);
-
- impl_checkReadOnlyPropOfModule(xWrite, sModule, "ooSetupFactoryDocumentService" , "test");
- impl_checkReadOnlyPropOfModule(xWrite, sModule, "ooSetupFactoryActualFilter" , "test");
- impl_checkReadOnlyPropOfModule(xWrite, sModule, "ooSetupFactoryActualTemplateFilter", "test");
- impl_checkReadOnlyPropOfModule(xWrite, sModule, "ooSetupFactoryEmptyDocumentURL" , "test");
- }
-
- //-------------------------------------------
- /** @todo document me
- */
- private void impl_checkReadOnlyPropOfModule(XNameReplace xMM ,
- String sModule ,
- String sPropName ,
- Object aPropValue )
- throws java.lang.Exception
- {
- PropertyValue[] lChanges = new PropertyValue[1];
- lChanges[0] = new PropertyValue();
- lChanges[0].Name = sPropName;
- lChanges[0].Value = aPropValue;
-
- // Note: Exception is expected !
- System.out.println("check readonly state of module '"+sModule+"' for property '"+sPropName+"' ...");
- try
- {
- xMM.replaceByName(sModule, lChanges);
- fail("Was able to write READONLY property '"+sPropName+"' of module '"+sModule+"' configuration.");
- }
- catch(Throwable ex)
- {}
- }
-
-
-
- private XMultiServiceFactory getMSF()
- {
- final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
- return xMSF1;
- }
-
- // setup and close connections
- @BeforeClass public static void setUpConnection() throws Exception {
- System.out.println("setUpConnection()");
- connection.setUp();
- }
-
- @AfterClass public static void tearDownConnection()
- throws InterruptedException, com.sun.star.uno.Exception
- {
- System.out.println("tearDownConnection()");
- connection.tearDown();
- }
-
- private static final OfficeConnection connection = new OfficeConnection();
-
-}