scripting/Jar_ScriptFramework.mk                                               
                 |    1 
 scripting/java/com/sun/star/script/framework/provider/ScriptEditor.java        
                 |   61 --------
 scripting/java/com/sun/star/script/framework/provider/ScriptEditorBase.java    
                 |   73 ++++++++++
 
scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java
   |    4 
 
scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java
 |    4 
 5 files changed, 84 insertions(+), 59 deletions(-)

New commits:
commit 063bccfec54f34229412c303d34b3002e063530d
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Mon Oct 18 14:37:05 2021 +0200
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Sun Oct 24 02:22:34 2021 +0200

    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 <sberg...@redhat.com>
    (cherry picked from commit d425cd604cb4d30862640851b11a31e742d81336)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123770
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit df9e57d43df5d948c81188ad4cc47166e50ada2a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124009
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>
    Tested-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/scripting/Jar_ScriptFramework.mk b/scripting/Jar_ScriptFramework.mk
index 397de3ccbc72..bd15b243f9b2 100644
--- a/scripting/Jar_ScriptFramework.mk
+++ b/scripting/Jar_ScriptFramework.mk
@@ -46,6 +46,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;

Reply via email to