summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2021-10-18 14:37:05 +0200
committerSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2022-05-30 11:51:06 +0200
commitfedf2e4c4b2800698a23e88ef65a8a2c6ba68684 (patch)
tree10603d4ac5b234583633bac06513ecc36342d5bf
parentFix typos in code (diff)
downloadcore-fedf2e4c4b2800698a23e88ef65a8a2c6ba68684.tar.gz
core-fedf2e4c4b2800698a23e88ef65a8a2c6ba68684.zip
Revert incompatible ScriptEditor change
...from interface to abstract class, in 1c42afc194da2288c5a738b727952e80c323885c "Respect DisableMacrosExecution option in javascript editor". It caused 3rd- party code like ScriptProviderForooRexx.oxt to fail to install. Change-Id: I532f27fdce806e471a8551646adbb3aecf80bcee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123745 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit d425cd604cb4d30862640851b11a31e742d81336)
-rw-r--r--scripting/Jar_ScriptFramework.mk1
-rw-r--r--scripting/java/com/sun/star/script/framework/provider/ScriptEditor.java61
-rw-r--r--scripting/java/com/sun/star/script/framework/provider/ScriptEditorBase.java73
-rw-r--r--scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java4
-rw-r--r--scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java4
5 files changed, 84 insertions, 59 deletions
diff --git a/scripting/Jar_ScriptFramework.mk b/scripting/Jar_ScriptFramework.mk
index 9bf31b62cb64..0a2aa86f8cac 100644
--- a/scripting/Jar_ScriptFramework.mk
+++ b/scripting/Jar_ScriptFramework.mk
@@ -49,6 +49,7 @@ $(eval $(call gb_Jar_add_sourcefiles,ScriptFramework,\
scripting/java/com/sun/star/script/framework/provider/PathUtils \
scripting/java/com/sun/star/script/framework/provider/ScriptContext \
scripting/java/com/sun/star/script/framework/provider/ScriptEditor \
+ scripting/java/com/sun/star/script/framework/provider/ScriptEditorBase \
scripting/java/com/sun/star/script/framework/provider/ScriptProvider \
scripting/java/com/sun/star/script/framework/provider/SwingInvocation \
scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog \
diff --git a/scripting/java/com/sun/star/script/framework/provider/ScriptEditor.java b/scripting/java/com/sun/star/script/framework/provider/ScriptEditor.java
index 395a1b6a8abb..32ebd2fefb41 100644
--- a/scripting/java/com/sun/star/script/framework/provider/ScriptEditor.java
+++ b/scripting/java/com/sun/star/script/framework/provider/ScriptEditor.java
@@ -18,62 +18,13 @@
package com.sun.star.script.framework.provider;
-import com.sun.star.beans.NamedValue;
-import com.sun.star.configuration.theDefaultProvider;
-import com.sun.star.container.XNameAccess;
-import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.script.framework.container.ScriptMetaData;
import com.sun.star.script.provider.XScriptContext;
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.UnoRuntime;
-import javax.swing.JOptionPane;
-import javax.swing.JDialog;
-
-public abstract class ScriptEditor {
- public XScriptContext context;
-
- public abstract Object execute() throws Exception;
- public abstract void indicateErrorLine(int lineNum);
- public abstract void edit(XScriptContext context, ScriptMetaData entry);
- public abstract String getTemplate();
- public abstract String getExtension();
-
- public void setContext(XScriptContext context) {
- this.context = context;
- }
-
- public boolean isMacroExecutionEnabled() {
- XNameAccess xNameAccess = null;
- try {
- String sAccess = "com.sun.star.configuration.ConfigurationAccess";
- XMultiServiceFactory xMSFCfg = theDefaultProvider.get(context.getComponentContext());
- Object oAccess = xMSFCfg.createInstanceWithArguments(sAccess,
- new Object[] { new NamedValue("nodepath", "org.openoffice.Office.Common/Security/Scripting") });
- xNameAccess = UnoRuntime.queryInterface(XNameAccess.class, oAccess);
- Object result = xNameAccess.getByName("DisableMacrosExecution");
- boolean bMacrosDisabled = AnyConverter.toBoolean(result);
- if (bMacrosDisabled)
- return false;
- } catch (com.sun.star.uno.Exception e) {
- return false;
- }
- return true;
- }
-
- // Wraps long error messages
- private static class NarrowOptionPane extends JOptionPane {
- private static final long serialVersionUID = 1L;
- public int getMaxCharactersPerLineCount() {
- return 100;
- }
- }
-
- public void showErrorMessage(String message) {
- JOptionPane optionPane = new NarrowOptionPane();
- optionPane.setMessage(message);
- optionPane.setMessageType(JOptionPane.ERROR_MESSAGE);
- JDialog dialog = optionPane.createDialog(null, "Error");
- dialog.setVisible(true);
- }
+public interface ScriptEditor {
+ Object execute() throws Exception;
+ void indicateErrorLine(int lineNum);
+ void edit(XScriptContext context, ScriptMetaData entry);
+ String getTemplate();
+ String getExtension();
} \ No newline at end of file
diff --git a/scripting/java/com/sun/star/script/framework/provider/ScriptEditorBase.java b/scripting/java/com/sun/star/script/framework/provider/ScriptEditorBase.java
new file mode 100644
index 000000000000..1a8bf33a5395
--- /dev/null
+++ b/scripting/java/com/sun/star/script/framework/provider/ScriptEditorBase.java
@@ -0,0 +1,73 @@
+/*
+ * 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 com.sun.star.script.framework.provider;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.configuration.theDefaultProvider;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.framework.container.ScriptMetaData;
+import com.sun.star.script.provider.XScriptContext;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
+
+import javax.swing.JOptionPane;
+import javax.swing.JDialog;
+
+public abstract class ScriptEditorBase implements ScriptEditor {
+ public XScriptContext context;
+
+ public void setContext(XScriptContext context) {
+ this.context = context;
+ }
+
+ public boolean isMacroExecutionEnabled() {
+ XNameAccess xNameAccess = null;
+ try {
+ String sAccess = "com.sun.star.configuration.ConfigurationAccess";
+ XMultiServiceFactory xMSFCfg = theDefaultProvider.get(context.getComponentContext());
+ Object oAccess = xMSFCfg.createInstanceWithArguments(sAccess,
+ new Object[] { new NamedValue("nodepath", "org.openoffice.Office.Common/Security/Scripting") });
+ xNameAccess = UnoRuntime.queryInterface(XNameAccess.class, oAccess);
+ Object result = xNameAccess.getByName("DisableMacrosExecution");
+ boolean bMacrosDisabled = AnyConverter.toBoolean(result);
+ if (bMacrosDisabled)
+ return false;
+ } catch (com.sun.star.uno.Exception e) {
+ return false;
+ }
+ return true;
+ }
+
+ // Wraps long error messages
+ private static class NarrowOptionPane extends JOptionPane {
+ private static final long serialVersionUID = 1L;
+ public int getMaxCharactersPerLineCount() {
+ return 100;
+ }
+ }
+
+ public void showErrorMessage(String message) {
+ JOptionPane optionPane = new NarrowOptionPane();
+ optionPane.setMessage(message);
+ optionPane.setMessageType(JOptionPane.ERROR_MESSAGE);
+ JDialog dialog = optionPane.createDialog(null, "Error");
+ dialog.setVisible(true);
+ }
+} \ No newline at end of file
diff --git a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java
index 2a972df92ff6..0ab265ecc799 100644
--- a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java
+++ b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java
@@ -19,7 +19,7 @@ package com.sun.star.script.framework.provider.beanshell;
import com.sun.star.script.framework.container.ScriptMetaData;
import com.sun.star.script.framework.provider.ClassLoaderFactory;
-import com.sun.star.script.framework.provider.ScriptEditor;
+import com.sun.star.script.framework.provider.ScriptEditorBase;
import com.sun.star.script.framework.provider.SwingInvocation;
import com.sun.star.script.provider.XScriptContext;
@@ -49,7 +49,7 @@ import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.BorderFactory;
-public class ScriptEditorForBeanShell extends ScriptEditor implements ActionListener {
+public class ScriptEditorForBeanShell extends ScriptEditorBase implements ActionListener {
private JFrame frame;
private String filename;
diff --git a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java
index 8bb0828aff03..1f0e8fd72a16 100644
--- a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java
+++ b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java
@@ -20,7 +20,7 @@ package com.sun.star.script.framework.provider.javascript;
import com.sun.star.script.framework.container.ScriptMetaData;
import com.sun.star.script.framework.log.LogUtils;
-import com.sun.star.script.framework.provider.ScriptEditor;
+import com.sun.star.script.framework.provider.ScriptEditorBase;
import com.sun.star.script.framework.provider.SwingInvocation;
import com.sun.star.script.provider.XScriptContext;
@@ -40,7 +40,7 @@ import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.tools.debugger.Main;
import org.mozilla.javascript.tools.debugger.ScopeProvider;
-public class ScriptEditorForJavaScript extends ScriptEditor {
+public class ScriptEditorForJavaScript extends ScriptEditorBase {
// global ScriptEditorForJavaScript instance
private static ScriptEditorForJavaScript theScriptEditorForJavaScript;