- Check the loop termination in readBytes() properly: currently it increments totalBytesRead while also decrementing nBytesToRead, so when compared to each other, the loop terminates when the buffer is half full. Only check for nBytesToRead instead. - Deal with the possibility of available() returning 0 in readSomeBytes(). Patch by: me Cherry-picked from https://github.com/apache/openoffice/commit/7e29bacc90c4b1b9788c3b71dfacd17daecde7a7 "Fix some errors in the scripting module's XInputStreamImpl:" Change-Id: I951dc10565afa3519b0ddf98de559a7b585b1627 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149156 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
Scripting Framework
This module provides the source code for the Scripting Framework.
For more information on the Scripting Framework, see the project web page: https://framework.openoffice.org/scripting/
This module uses astyle to keep consistent java coding style. Please run
./Format_java_code.sh
before committing.
Source Code Structure
The following directories contain the source code currently used by the Scripting Framework:
source/provider
C++ source for the implementations of the com.sun.star.script.provider.*
and com.sun.star.script.browse.* UNO types. These types are used for
browsing and executing scripts.
source/protocolhandler
C++ for a ProtocolHandler implementation that handles vnd.sun.star.script
URIs and dispatches them for execution to the Scripting Framework.
source/basprov
C++ implementation of the LanguageScriptProvider UNO service for Basic
source/dlgprov
C++ implementation of the DialogProvider UNO service used for loading
UNO dialogs from various languages
source/pyprov
LanguageScriptProvider for Python
java/com/sun/star/script/framework/provider
Implementation of an abstract base class ScriptProvider which provides
core methods for implementing Java based LanguageScriptProvider implementations
java/com/sun/star/script/framework/provider/*
BeanShell, JavaScript and Java LanguageScriptProvider implementations
java/com/sun/star/script/framework/browse/*
BrowseNode implementations for the Java based LanguageScriptProviders
java/com/sun/star/script/framework/iojava/com/sun/star/script/framework/container
Classes for performing script IO
examples
Example scripts in BeanShell, JavaScript, Java and Python
Deprecated Code
java/org/openoffice/*
Support for developing scripts in IDEs such as NetBeans.