</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
- <artifactId>org.openhab.automation.jythonscripting</artifactId>
+ <artifactId>org.openhab.automation.jsscripting</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
- <artifactId>org.openhab.automation.pidcontroller</artifactId>
+ <artifactId>org.openhab.automation.jythonscripting</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
- <artifactId>org.openhab.automation.jsscripting</artifactId>
+ <artifactId>org.openhab.automation.pidcontroller</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
import javax.script.ScriptEngine;
import javax.script.ScriptException;
-import org.eclipse.jdt.annotation.NonNullByDefault;
import org.graalvm.polyglot.PolyglotException;
import org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocable;
import org.slf4j.Logger;
*
* @author Jonathan Gilbert - Initial contribution
*/
-@NonNullByDefault
class DebuggingGraalScriptEngine<T extends ScriptEngine & Invocable>
extends InvocationInterceptingScriptEngineWithInvocable<T> {
- private static final Logger stackLogger = LoggerFactory.getLogger("org.openhab.automation.script.javascript.stack");
+ private static final Logger STACK_LOGGER = LoggerFactory
+ .getLogger("org.openhab.automation.script.javascript.stack");
public DebuggingGraalScriptEngine(T delegate) {
super(delegate);
public ScriptException afterThrowsInvocation(ScriptException se) {
Throwable cause = se.getCause();
if (cause instanceof PolyglotException) {
- stackLogger.error("Failed to execute script:", cause);
+ STACK_LOGGER.error("Failed to execute script:", cause);
}
return se;
}
package org.openhab.automation.jsscripting.internal;
-import static org.openhab.core.automation.module.script.ScriptEngineFactory.CONTEXT_KEY_ENGINE_IDENTIFIER;
-import static org.openhab.core.automation.module.script.ScriptEngineFactory.CONTEXT_KEY_EXTENSION_ACCESSOR;
+import static org.openhab.core.automation.module.script.ScriptEngineFactory.*;
import java.io.File;
import java.io.IOException;
*/
public class OpenhabGraalJSScriptEngine extends InvocationInterceptingScriptEngineWithInvocable<GraalJSScriptEngine> {
- private static final Logger logger = LoggerFactory.getLogger(OpenhabGraalJSScriptEngine.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(OpenhabGraalJSScriptEngine.class);
private static final String REQUIRE_WRAPPER_NAME = "__wraprequire__";
private static final String MODULE_DIR = String.join(File.separator, OpenHAB.getConfigFolder(), "automation", "lib",
"javascript", "personal");
// these fields start as null because they are populated on first use
- @NonNullByDefault({})
- private String engineIdentifier;
- @NonNullByDefault({})
- private Consumer<String> scriptDependencyListener;
+ private @NonNullByDefault({}) String engineIdentifier;
+ private @NonNullByDefault({}) Consumer<String> scriptDependencyListener;
private boolean initialized = false;
scriptDependencyListener = (Consumer<String>) ctx
.getAttribute("oh.dependency-listener"/* CONTEXT_KEY_DEPENDENCY_LISTENER */);
if (scriptDependencyListener == null) {
- logger.warn(
+ LOGGER.warn(
"Failed to retrieve script script dependency listener from engine bindings. Script dependency tracking will be disabled.");
}
}
private Optional<Value> runtimeModule(String name, String scriptIdentifier, Context ctx) {
-
Map<String, Object> symbols;
if (DEFAULT_MODULE_NAME.equals(name)) {
@Override
public int read(ByteBuffer dst) throws IOException {
-
int read = 0;
if (position < prefix.length) {
@Override
public SeekableByteChannel position(long newPosition) throws IOException {
-
this.position = newPosition;
if (newPosition > prefix.length) {
import javax.script.ScriptEngine;
import javax.script.ScriptException;
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
/**
* Delegate allowing AOP-style interception of calls, either before Invocation, or upon a {@link ScriptException}.
* being thrown.
* @param <T> The delegate class
* @author Jonathan Gilbert - Initial contribution
*/
-@NonNullByDefault
public abstract class InvocationInterceptingScriptEngineWithInvocable<T extends ScriptEngine & Invocable>
extends DelegatingScriptEngineWithInvocable<T> {
<modules>
<!-- automation -->
<module>org.openhab.automation.groovyscripting</module>
+ <module>org.openhab.automation.jsscripting</module>
<module>org.openhab.automation.jythonscripting</module>
<module>org.openhab.automation.pidcontroller</module>
- <module>org.openhab.automation.jsscripting</module>
<!-- io -->
<module>org.openhab.io.homekit</module>
<module>org.openhab.io.hueemulation</module>