From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- smoketest/org/libreoffice/smoketest/Services.java | 51 ++++++++++ .../smoketest/SmoketestCommandEnvironment.java | 108 +++++++++++++++++++++ smoketest/org/libreoffice/smoketest/manifest | 3 + .../org/libreoffice/smoketest/smoketest.component | 25 +++++ 4 files changed, 187 insertions(+) create mode 100644 smoketest/org/libreoffice/smoketest/Services.java create mode 100644 smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java create mode 100644 smoketest/org/libreoffice/smoketest/manifest create mode 100644 smoketest/org/libreoffice/smoketest/smoketest.component (limited to 'smoketest/org') diff --git a/smoketest/org/libreoffice/smoketest/Services.java b/smoketest/org/libreoffice/smoketest/Services.java new file mode 100644 index 000000000..4f74769e1 --- /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 JavaLoader + *

+ * @return returns a XSingleComponentFactory 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 000000000..8d6fdb2e4 --- /dev/null +++ b/smoketest/org/libreoffice/smoketest/SmoketestCommandEnvironment.java @@ -0,0 +1,108 @@ +/* + * 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.WeakBase; +import com.sun.star.uno.UnoRuntime; +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 { + + private static final String __serviceName = + "com.sun.star.deployment.test.SmoketestCommandEnvironment"; + + 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 ) + { + boolean 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; + } + } + } +} + +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 000000000..88cb26f5b --- /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 000000000..fa7d8f100 --- /dev/null +++ b/smoketest/org/libreoffice/smoketest/smoketest.component @@ -0,0 +1,25 @@ + + + + + + + + -- cgit v1.2.3