summaryrefslogtreecommitdiff
path: root/scripting/java
AgeCommit message (Collapse)Author
2022-05-31tdf#145527 Revert "Related tdf#116767: Call URLClassLoader.close"Stephan Bergmann
This reverts commit 418533f0af7cd303d559c8fb136c49e7e9fb0d79. Turned out that closing the given URLClassLoader once the script's main class has been loaded prevents the script from loading further classes located next to that main class. So abandon the Coverity suggestion that such class loaders should be closed promptly to avoid resource leaks. Change-Id: I1bcf83117836cfe317eac9850d413f2c3767bd8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135158 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-18Revert incompatible ScriptEditor changeStephan Bergmann
...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>
2021-03-31Use javax.xml.transform instead of reflection to write a DocumentStephan Bergmann
At least on Fedora 34 when building with --with-jdk-home=/usr/lib/jvm/java-16 against java-latest-openjdk-headless-16.0.0.0.36-1.rolling.fc34.x86_64, CustomTarget_odk/build-examples_java failed with > ERROR: Exception occurred: An error occurred while enabling: SayHello .../desktop/source/deployment/registry/dp_backend.cxx:645 > > ERROR: unopkg failed. > > make[2]: *** [Makefile:92: .../workdir/CustomTarget/odk/build-examples_java/out/sdk/LINUXexample.out/misc/ScriptingFramework/SayHello/devguide_scriptingframework_SayHello_register_scriptpkg.flag] Error 1 because of > info:bridges:1209707:1209707:bridges/source/jni_uno/jni_uno2java.cxx:117: exception occurred uno->java: [com.sun.star.lang.WrappedTargetException] java.io.IOException > java stack trace: > com.sun.star.lang.WrappedTargetException: java.io.IOException > at com.sun.star.script.framework.container.UnoPkgContainer.writeUnoPackageDB(UnoPkgContainer.java:279) > at com.sun.star.script.framework.container.UnoPkgContainer.processUnoPackage(UnoPkgContainer.java:330) > at com.sun.star.script.framework.provider.ScriptProvider.insertByName(ScriptProvider.java:563) > Caused by: java.io.IOException > at com.sun.star.script.framework.container.XMLParserFactory$DefaultParser.write(XMLParserFactory.java:190) > at com.sun.star.script.framework.container.DeployedUnoPackagesDB.write(DeployedUnoPackagesDB.java:107) > at com.sun.star.script.framework.container.UnoPkgContainer.writeUnoPackageDB(UnoPkgContainer.java:270) > ... 2 more > Caused by: java.lang.IllegalAccessException: class com.sun.star.script.framework.container.XMLParserFactory$DefaultParser cannot access class com.sun.org.apache.xml.internal.serialize.XMLSerializer (in module java.xml) because module java.xml does not export com.sun.org.apache.xml.internal.serialize to unnamed module @50860e85 > at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:385) > at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:687) > at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:489) > at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) > at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350) > at java.base/java.lang.Class.newInstance(Class.java:642) > at com.sun.star.script.framework.container.XMLParserFactory$DefaultParser.write(XMLParserFactory.java:145) > ... 4 more The javax.xml.transform functionality appears to be available since Java 1.4, so it should not be a problem if we unconditionally use it. Change-Id: Idc31f8f6fb092b6603c537414497d24aec886ce7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113421 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-31Fix typos in codeAndrea Gelmini
It passed "make check" on Linux Change-Id: Id7c7ac1b88d290ed71f03fa28dec144bcd29b692 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101590 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-08-19Fix typosAndrea Gelmini
Change-Id: Ibe3cd52117f7f47e1806bde76114cb1644d78763 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100969 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2019-11-08Respect DisableMacrosExecution option in javascript editorSamuel Mehrbrodt
Change-Id: I44c2d3a706a99839369bd4aff2abbb675e430926 Reviewed-on: https://gerrit.libreoffice.org/82286 Tested-by: Jenkins Reviewed-by: Serge Krot (CIB) <Serge.Krot@cib.de>
2019-11-08Respect DisableMacrosExecution option in beanshell editorSamuel Mehrbrodt
Change-Id: I0713b3d1ab45519aef25b5bd3d912baf2252d37b Reviewed-on: https://gerrit.libreoffice.org/82262 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-09-29Fix typosAndrea Gelmini
Change-Id: I8a93a6ed49661ddfae390a0302fca1fab5c95f14 Reviewed-on: https://gerrit.libreoffice.org/79795 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-09-06Fixing "...."Andrea Gelmini
Change-Id: I3424e17cfdfb563fdc5882942031deafae8689fe Reviewed-on: https://gerrit.libreoffice.org/78678 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-08-31Fix typosAndrea Gelmini
Change-Id: Iac08e415f84741ecdb151788776ee15e7364fae1 Reviewed-on: https://gerrit.libreoffice.org/77762 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-08-12Fix typosAndrea Gelmini
Change-Id: I3e6b96f4ea341130e98ee54ed8c124209b05d343 Reviewed-on: https://gerrit.libreoffice.org/77291 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-08-08Related tdf#116767: Call URLClassLoader.closeStephan Bergmann
...which required the return type of com.sun.star.script.framework.provider.ClassLoaderFactory.getURLClassLoader to be changed. (In theory, there could be 3rd-party scripting providers that hook into the framework and are affected by that incompatible change, but, practically, chances should be low.) Change-Id: I083c398726aaf62df7286d6da86b9d2056a5a8c1 Reviewed-on: https://gerrit.libreoffice.org/77146 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-08Remove unused NoSuitableClassLoaderExceptionStephan Bergmann
It was introduced with 980aa9b06ca521363ae4175f349becd4cdd501aa "#i19331#" (or at least moved to its current place there, with older traces lost to history), but its only actual use in the code has since been removed with 8087d5389f8d1133f119a9e6db88f91229831b61 "Java new cannot return null". (In theory, there could be 3rd-party scripting providers that hook into the framework and use that class, but, practically, chances should be low.) Change-Id: I8586fccf120c93391308ede547bbeec6fabf2743 Reviewed-on: https://gerrit.libreoffice.org/77142 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-08Remove odd catch of ArrayStoreExceptionStephan Bergmann
...(which is a RuntimeException) around a call of com.sun.star.script.framework.provider.ClassLoaderFactory.getURLClassLoader. The catch block was introduced in 3076ea9dc6677dcf0f65c53c8f205d870dc27d53 "INTEGRATION: CWS scriptingf2 (1.2.2); FILE MERGED", for no apparent reason. It was introduced along with catch blocks for MalformedURLException and NoSuitableClassLoaderException, but which have already been removed with 616b3ad50404f35d84708b3feeb8c66f2f23f1b1 "java: remove exceptions from throws clauses that are not". Change-Id: I8d2890aed1b0f50fe817002cb6f1610c550568f1 Reviewed-on: https://gerrit.libreoffice.org/77140 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-23cid#1448376 SIC: Inner class could be made staticCaolán McNamara
Change-Id: Id9923031c1fe91ba71dfe8d68cbe23b72e9637b5 Reviewed-on: https://gerrit.libreoffice.org/76143 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-20cid#1448526 RANGE: Range checksCaolán McNamara
Change-Id: I3b9d9c648151b2a5b9cc6a015b88a59fa7ec4e53 Reviewed-on: https://gerrit.libreoffice.org/76003 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-19tdf#123587 Beanshell editor: Show current file name as window titleAndreas Heinisch
Change-Id: I7a817d19cfadc46b1f35a4e42e5a6177c1910a4b Reviewed-on: https://gerrit.libreoffice.org/75869 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-09tdf#125355 Beanshell Editor: Corrected indentation when Enter is pressedAndreas Heinisch
Change-Id: Ife96256da02c4b21e2649040c53b7d16f236e3a0 Reviewed-on: https://gerrit.libreoffice.org/73371 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-03cid#1448470: perf inefficient map iteratorJulien Nabet
Change-Id: If7dd6455ca02d6c78ac997bd9c2924863db1d906 Reviewed-on: https://gerrit.libreoffice.org/75059 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-05-21tdf#97635 Added unindentation using shift-tab (mimicked eclipse behavior)Andreas Heinisch
Restored java 6 compatibility Change-Id: I550920457874b9261bdde07040aad8f7b67773d8 Reviewed-on: https://gerrit.libreoffice.org/72671 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-20tdf#97635 Added unindentation using shift-tab (mimicked eclipse's behavior)Andreas Heinisch
Moved shift+tab check to the keyPressed function to provide continuous insertion and compiled tab-pattern only once Change-Id: Iffe847fea07295075dc1a280f0697e8c798e8d6f Reviewed-on: https://gerrit.libreoffice.org/72580 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-16tdf#97635 Added unindentation using shift-tab (mimicked eclipse behavior)Andreas Heinisch
Change-Id: Iaf64451c92f3465751032dde9c283141e548b3ca Reviewed-on: https://gerrit.libreoffice.org/72228 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-10an uno -> a unoCaolán McNamara
Change-Id: I538db88f8477dd2d2ad25c372928fec6c11d979d Reviewed-on: https://gerrit.libreoffice.org/72105 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-03-27Beanshell: Display full exception messageSamuel Mehrbrodt
Useful to see where exactly the error occured Change-Id: I716f54c4b1286d705b52f19a58f36f28a801e1d0 Reviewed-on: https://gerrit.libreoffice.org/69799 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-03-27Beanshell: Wrap long error messagesSamuel Mehrbrodt
Change-Id: I5e607f4b94733700810d37c289f6cc29492da5f2 Reviewed-on: https://gerrit.libreoffice.org/69798 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-03-27tdf#123586 Set minimum size for beanshell editorkushagrakasliwal1
Change-Id: I49e2ca387de5d520efdda0c964203c530fe016c4 Reviewed-on: https://gerrit.libreoffice.org/69394 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-03-13tdf#123588 Beanshell editor to indicate whether script is savedSainal Shah
Beanshell to enable save button only upon modification of script. Save button disables after script is successfully saved. Also, save button will be disabled when there are no undoable changes. ScriptEditorForBeanShell registers listener for unsaved changes. PlainSourceView triggers listener calls upon modification of script or after a successful save, which lets to enable/ disable the save button accordingly. Change-Id: I32a2fc473924a7c85cdd6004637ab6a0b60acf38 Reviewed-on: https://gerrit.libreoffice.org/69046 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-02-24tdf#123589 Removing close button from toolbar in Beanshell editorEL-SHREIF
The Beanshell Editor has a "Close" button in the toolbar.This button can be removed as the window already has a close button.so i remove it from ScriptEditorForBeanShell.java easly . Change-Id: Icf2e56f664df56a01a2cf1935700ebe1888a7156 Reviewed-on: https://gerrit.libreoffice.org/68273 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-18Fix product nameSamuel Mehrbrodt
Change-Id: I35ac8f6ad54c7990bd5fb24dc0a30ebb8e1e8254 Reviewed-on: https://gerrit.libreoffice.org/67949 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-11-29Rename Mac OS X to official name macOS in comments and documentationBartosz Kosiorek
Change-Id: I651b7f202fa52ff5f5357a11aa72c43eb7dc7f95 Reviewed-on: https://gerrit.libreoffice.org/64102 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-07-05cid#1437407: create class loader in doPrivilegedStephan Bergmann
Change-Id: Iade079e44c8d88a13830258157d9481f4b8b3358 Reviewed-on: https://gerrit.libreoffice.org/57013 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-06-15Restore binary compatibility for ClassLoaderFactoryStephan Bergmann
As discussed in the mail thread starting at <http://mail-archives.apache.org/ mod_mbox/openoffice-dev/201806.mbox/%3c651c8fee-b467-421c-eae1-a8710f41692c @apache.org%3e> "Just a little side note on the scripting framework ...", external code that uses the Java class com.sun.star.script.framework.provider.ClassLoaderFactory stopped working because LO changed that class in binary (and compile-time) incompatible ways over time. The class is not listed at <https://api.libreoffice.org/docs/java/ref/index.html> (and neither at <http://www.openoffice.org/api/docs/java/ref/overview-summary.html>), so it was not considered part of the stable URE interface. But it is apparently used by external code, and it indeed seems to make sense that it is used by external code that implements scripting providers. (A follow-up commit should therefore mark the class as part of the stable URE interface. I keep that separate so that it is easier to backport this functional fix.) With ScriptProviderForooRexx.oxt from https://svn.code.sf.net/p/bsf4oorexx/code@r589 installed in LO, "Tools - Macros - Organize Macros - ooRexx... - My Macros - Create... - Library1 - OK - Create... - Macro1 - OK - Edit" failed due to > warn:cui.dialogs:21768:21768:cui/source/dialogs/scriptdlg.cxx:740: Caught exception trying to invoke N3com3sun4star3uno9ExceptionE msg: [jni_uno bridge error] UNO calling Java method invoke: non-UNO exception occurred: java.lang.NoSuchMethodError: com.sun.star.script.framework.provider.ClassLoaderFactory.getURLClassLoader(Lcom/sun/star/script/framework/container/ScriptMetaData;)Ljava/lang/ClassLoader; > java stack trace: > java.lang.NoSuchMethodError: com.sun.star.script.framework.provider.ClassLoaderFactory.getURLClassLoader(Lcom/sun/star/script/framework/container/ScriptMetaData;)Ljava/lang/ClassLoader; > at com.sun.star.script.framework.provider.oorexx.ScriptEditorForooRexx.edit(ScriptEditorForooRexx.java:305) > at com.sun.star.script.framework.browse.ScriptBrowseNode.invoke(ScriptBrowseNode.java:200) cae57d2e588a4b5a104171e022b00abcc1605775 "ClassLoader->URLClassLoader" (which this commit reverts) had changed the return type of the two getURLClassLoader overloads from ClassLoader to derived URLClassLoader (and ultimately only for cosmetic effect; it was leftover from a previous attempt at fixing a Coverity issue by using URLClassLoader.close(), but which is only available in Java 1.7, so the attempt had been reverted). That caused the above failure. And 68cd011c907d00493bf2bfde531c1e244819596b "java: reduce scope, make some methods private" (which this commit also reverts) had changed the second getURLClassLoader overload (which is not called in the above scenario) from public to private, which is also a binary-incompatible change. Other commits removed throws clauses, which is only a compile-time issue but not a binary-incompatible change. I left those changes in for now, but if need be they could also be reverted. Change-Id: I98f533d88c7c1580956c3c281e72a1c78fa3f56f Reviewed-on: https://gerrit.libreoffice.org/55871 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-02use https links for api.libreoffice.org and opengrokdennisroczek
Change-Id: I74dd0142562cb8698f19b2715fa1d514f82bd749 Reviewed-on: https://gerrit.libreoffice.org/52262 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2018-01-27Fix typosAndrea Gelmini
Change-Id: I8d5a8251a01af7cdf9832d98d8a6573b907f8532 Reviewed-on: https://gerrit.libreoffice.org/48683 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jens Carl <j.carl43@gmx.de>
2017-02-23In Java, css.uno.RuntimeException doesn't derive from css.uno.ExceptionStephan Bergmann
Change-Id: I83850db6e3f3ac87d52e75f122ba2b6bba3905b9
2016-10-16tdf#98004 - Enhansment on Editor(Beanshell)nadith
Add a toolbar A little enhasment for the editor has been done. Added a toolbar for set of buttons that was previously in a JPanel and now it is in Jtoolbar in the editor Change-Id: Ie04232e7824c051f272d69cc109eec0e70ccf921 Reviewed-on: https://gerrit.libreoffice.org/29806 Reviewed-by: jan iversen <jani@documentfoundation.org> Tested-by: jan iversen <jani@documentfoundation.org>
2016-10-03ClassLoader->URLClassLoaderCaolán McNamara
Change-Id: I1f46a99025ba33d08842da9b06611dcfa6b1b49c Reviewed-on: https://gerrit.libreoffice.org/29474 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-10-01Fix typosAndrea Gelmini
Change-Id: I9701cc93a9f4315e71c133237fdd96ef6964c8ff Reviewed-on: https://gerrit.libreoffice.org/29438 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-08-19Revert "coverity#1371372 Resource leak on an exceptional path"Caolán McNamara
seeing as it doesn't build universally, java 1.7 onwards apparently This reverts commit 6830d8c2083fa66cc113f587cbfc4aa5a4f8a535.
2016-08-19coverity#1371372 Resource leak on an exceptional pathCaolán McNamara
and coverity#1371366 Resource leak on an exceptional path coverity#1371376 Resource leak on an exceptional path Change-Id: Ic0fd05f02b1d78a47d4ee924dee8f10811586d0d
2016-08-19coverity#1371367 Resource leak on an exceptional pathCaolán McNamara
Change-Id: I4da5f6d427e8132d62860b46cb4def88b8afb25d
2016-06-06remove unused imports in java codeNoel Grandin
Change-Id: I95041f49dd22ba9a15da3598b04a010eecf761a8
2016-05-15coverity#1361587 Dereference null return valueCaolán McNamara
and coverity#1361588 Dereference null return value Change-Id: Ia282c37e94d9d4131d18b3ccf6a8b7cb12c12344
2016-04-30Fix typosAndrea Gelmini
Change-Id: Id81b16ff26283611f0b84929d831c827f847ab73 Reviewed-on: https://gerrit.libreoffice.org/24317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-14remove some unused Java codeNoel Grandin
found by UCDetector Change-Id: Ic0295a24b26e206eb53eda2da540755477df86df
2016-03-14scripting: JDK 1.5 compatibility: don't use java.awt.Font.MONOSPACEDDouglas Mencken
MONOSPACED is defined in java/awt/Font.java as /* @since 1.6 */ static final String MONOSPACED = "Monospaced"; Change-Id: I31847c939387c139971ff55f786773c7ce51448c Reviewed-on: https://gerrit.libreoffice.org/23164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-03-04cid#1326861,1326862: Eq: Problems with implementation of equals()Stephan Bergmann
Cloneable, odd additional equals overloads, odd hasCode implementation---all smells like clueless cargo cult. And I see no place where it would get used. Change-Id: Icca89531ce9181fb47eacfb6fae704f4f45012a9
2016-03-04This ScriptEntry ctor is always called with empty languagedeppropsStephan Bergmann
Change-Id: Ia8ddfecf2f809e9f0132ba59812446973532476c
2016-03-04Scripting.location is unusedStephan Bergmann
Change-Id: Ia534b5aa579a678f8b0273e6c8c12a6ad335c67a
2016-03-04ScriptEntry fields can be finalStephan Bergmann
Change-Id: I7616641584b7ea8192cf3724d8b7d5b88af39da6