diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-05-07 16:46:46 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-05-07 16:48:19 +0200 |
commit | ff9fbfd9c9e9a1caa72601df951a7fd85eb8fcc1 (patch) | |
tree | 430ecd9b82337cb7f1815fee538a9e7e1af1fc92 /smoketest | |
parent | 2d3d942683d1cce738eab09b58e4fd693d5e7241 (diff) |
Extract SmoketestCommandEnvironment.java from juh.jar
...into a new smoketest.jar, so that URE juh.jar no longer depends on non-URE
unoil.jar.
Change-Id: I8937c78d8af6e2f82ada5dd80c322f8bca5ec2f5
Diffstat (limited to 'smoketest')
-rw-r--r-- | smoketest/Jar_smoketest.mk | 29 | ||||
-rw-r--r-- | smoketest/Module_smoketest.mk | 1 | ||||
-rw-r--r-- | smoketest/data/Basic/Standard/Test_Ext.xml | 2 | ||||
-rw-r--r-- | smoketest/org/libreoffice/smoketest/Services.java | 51 | ||||
-rw-r--r-- | smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java | 143 | ||||
-rw-r--r-- | smoketest/org/libreoffice/smoketest/manifest | 3 | ||||
-rw-r--r-- | smoketest/org/libreoffice/smoketest/smoketest.component | 25 |
7 files changed, 253 insertions, 1 deletions
diff --git a/smoketest/Jar_smoketest.mk b/smoketest/Jar_smoketest.mk new file mode 100644 index 000000000000..2f0bca193901 --- /dev/null +++ b/smoketest/Jar_smoketest.mk @@ -0,0 +1,29 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# 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/. +# + +$(eval $(call gb_Jar_Jar,smoketest)) + +$(eval $(call gb_Jar_add_sourcefiles,smoketest, \ + smoketest/org/libreoffice/smoketest/Services \ + smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment \ +)) + +$(eval $(call gb_Jar_set_componentfile,smoketest,smoketest/org/libreoffice/smoketest/smoketest,OOO)) + +$(eval $(call gb_Jar_set_manifest,smoketest,$(SRCDIR)/smoketest/org/libreoffice/smoketest/manifest)) + +$(eval $(call gb_Jar_set_packageroot,smoketest,org)) + +$(eval $(call gb_Jar_use_jars,smoketest, \ + juh \ + ridl \ + unoil \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/smoketest/Module_smoketest.mk b/smoketest/Module_smoketest.mk index 340e391094d6..70f2a3e5257d 100644 --- a/smoketest/Module_smoketest.mk +++ b/smoketest/Module_smoketest.mk @@ -23,6 +23,7 @@ ifneq ($(SOLAR_JAVA),) $(eval $(call gb_Module_add_targets,smoketest,\ Extension_TestExtension \ Jar_TestExtension \ + Jar_smoketest \ )) endif diff --git a/smoketest/data/Basic/Standard/Test_Ext.xml b/smoketest/data/Basic/Standard/Test_Ext.xml index 29a68f8868ea..364a6a68402a 100644 --- a/smoketest/data/Basic/Standard/Test_Ext.xml +++ b/smoketest/data/Basic/Standard/Test_Ext.xml @@ -40,7 +40,7 @@ Sub TestExtensions 'Create an implementation of com.sun.star.ucb.XCommandEnvironment which is needed for 'adding the extension. The implementation is in - 'javaunohelper/com/sun/star/comp/juhtest/SmoketestCommandEnvironment.java and the code is in juh.jar + 'smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java and the code is in smoketest.jar cmdEnv = createUnoService(cUnoSmoketestCommandEnvironment) 'Create the component context and then get the singleton ExtensionManager diff --git a/smoketest/org/libreoffice/smoketest/Services.java b/smoketest/org/libreoffice/smoketest/Services.java new file mode 100644 index 000000000000..4f74769e1523 --- /dev/null +++ b/smoketest/org/libreoffice/smoketest/Services.java @@ -0,0 +1,51 @@ +/* + * 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 org.libreoffice.smoketest; + +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XSingleComponentFactory; + +/** This class is the registration class for all services in this module. + * + * Note that not all files which can be used as service need to be registered + * by this class. + */ +public class Services { + + /** + * Gives a factory for creating the service. + * This method is called by the <code>JavaLoader</code> + * <p> + * @return returns a <code>XSingleComponentFactory</code> for creating + * the component + * @param sImplName the name of the implementation for which a + * service is desired + * @see com.sun.star.comp.loader.JavaLoader + */ + public static XSingleComponentFactory __getComponentFactory(String sImplName) + { + XSingleComponentFactory xFactory = null; + + if ( sImplName.equals( SmoketestCommandEnvironment.class.getName() ) ) + xFactory = Factory.createComponentFactory(SmoketestCommandEnvironment.class, + SmoketestCommandEnvironment.getServiceNames()); + + return xFactory; + } +} diff --git a/smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java b/smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java new file mode 100644 index 000000000000..51c957adb0c5 --- /dev/null +++ b/smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java @@ -0,0 +1,143 @@ +/* + * 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 org.libreoffice.smoketest; + +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.ucb.XCommandEnvironment; + +/** This service is for use by the smoketest which checks the installation of + * extensions. The service provides the XCommandEnvironment interface, which + * is needed for adding extensions. + */ +public class SmoketestCommandEnvironment extends WeakBase + implements XServiceInfo, XCommandEnvironment { + + static private final String __serviceName = + "com.sun.star.deployment.test.SmoketestCommandEnvironment"; + + private XComponentContext m_cmpCtx; + private XMultiComponentFactory m_xMCF; + + + public SmoketestCommandEnvironment(XComponentContext xCompContext) { + try { + m_cmpCtx = xCompContext; + m_xMCF = m_cmpCtx.getServiceManager(); + } + catch( Exception e ) { + e.printStackTrace(); + } + } + + public static String[] getServiceNames() { + String[] sSupportedServiceNames = { __serviceName}; + return sSupportedServiceNames; + } + + //XServiceInfo ------------------------------------------------------------- + public String[] getSupportedServiceNames() { + return getServiceNames(); + } + + + public boolean supportsService( String sServiceName ) { + boolean bSupported = false; + if (sServiceName.equals(__serviceName)) + bSupported = true; + return bSupported; + } + + public String getImplementationName() { + return SmoketestCommandEnvironment.class.getName(); + } + + //XCommandEnvironment ================================================ + public com.sun.star.task.XInteractionHandler getInteractionHandler() + { + return new InteractionImpl(); + } + + public com.sun.star.ucb.XProgressHandler getProgressHandler() + { + return new ProgressImpl(); + } +} + + + + +class InteractionImpl implements com.sun.star.task.XInteractionHandler +{ + public void handle( com.sun.star.task.XInteractionRequest xRequest ) + { + Object request = xRequest.getRequest(); + + boolean approve = true; + boolean abort = false; +// Object install_Exception = +// AnyConverter.toObject( +// com.sun.star.deployment.InstallException.class, request); +// if (install_Exception != null) +// { +// approve = true; +// } + + com.sun.star.task.XInteractionContinuation[] conts = xRequest.getContinuations(); + for (int i = 0; i < conts.length; i++) + { + if (approve) + { + com.sun.star.task.XInteractionApprove xApprove = + UnoRuntime.queryInterface(com.sun.star.task.XInteractionApprove.class, conts[i]); + if (xApprove != null) + xApprove.select(); + //don't query again for ongoing extensions + approve = false; + } + else if (abort) + { + com.sun.star.task.XInteractionAbort xAbort = + UnoRuntime.queryInterface(com.sun.star.task.XInteractionAbort.class, conts[i]); + if (xAbort != null) + xAbort.select(); + //don't query again for ongoing extensions + abort = false; + } + } + } +} + +class ProgressImpl implements com.sun.star.ucb.XProgressHandler +{ + public void push(Object status) + { + } + + public void update(Object status) + { + } + + public void pop() + { + } +} diff --git a/smoketest/org/libreoffice/smoketest/manifest b/smoketest/org/libreoffice/smoketest/manifest new file mode 100644 index 000000000000..88cb26f5b6bb --- /dev/null +++ b/smoketest/org/libreoffice/smoketest/manifest @@ -0,0 +1,3 @@ +Sealed: true +RegistrationClassName: org.libreoffice.smoketest.Services +UNO-Type-Path: diff --git a/smoketest/org/libreoffice/smoketest/smoketest.component b/smoketest/org/libreoffice/smoketest/smoketest.component new file mode 100644 index 000000000000..fa7d8f100a05 --- /dev/null +++ b/smoketest/org/libreoffice/smoketest/smoketest.component @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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 . + --> + +<component loader="com.sun.star.loader.Java2" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="org.libreoffice.smoketest.SmoketestCommandEnvironment"> + <service name="com.sun.star.deployment.test.SmoketestCommandEnvironment"/> + </implementation> +</component> |