mirror of
https://github.com/apache/nifi.git
synced 2025-02-16 15:06:00 +00:00
NIFI-9944: Fixed issue with using modules in InvokeScriptedProcessor
This commit is contained in:
parent
6ee3d32ca3
commit
4b66299cf6
nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src
main/java/org/apache/nifi
test
java/org/apache/nifi/processors/script
resources
@ -262,10 +262,6 @@ public class InvokeScriptedProcessor extends AbstractSessionFactoryProcessor {
|
||||
|
||||
scriptNeedsReload.set(true);
|
||||
scriptRunner = null; //reset engine. This happens only when a processor is stopped, so there won't be any performance impact in run-time.
|
||||
if (isConfigurationRestored()) {
|
||||
// Once the configuration has been restored, each call to onPropertyModified() is due to a change made after the processor was loaded, so reload the script
|
||||
setup();
|
||||
}
|
||||
} else if (instance != null) {
|
||||
// If the script provides a Processor, call its onPropertyModified() method
|
||||
try {
|
||||
|
@ -79,7 +79,7 @@ public class ScriptRunnerFactory {
|
||||
|
||||
if (!"Clojure".equals(scriptEngineName)
|
||||
&& !"Groovy".equals(scriptEngineName)
|
||||
&& "ECMAScript".equals(scriptEngineName)) {
|
||||
&& !"ECMAScript".equals(scriptEngineName)) {
|
||||
return new URL[0];
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@ public class TestInvokeJavascript extends BaseScriptTest {
|
||||
public void testReadFlowFileContentAndStoreInFlowFileAttribute() {
|
||||
runner.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript");
|
||||
runner.setProperty(ScriptingComponentUtils.SCRIPT_FILE, "target/test/resources/javascript/test_reader.js");
|
||||
runner.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/javascript");
|
||||
runner.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/jar");
|
||||
|
||||
runner.assertValid();
|
||||
runner.enqueue("test content".getBytes(StandardCharsets.UTF_8));
|
||||
@ -86,7 +86,7 @@ public class TestInvokeJavascript extends BaseScriptTest {
|
||||
|
||||
context.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript");
|
||||
context.setProperty(ScriptingComponentUtils.SCRIPT_FILE, "target/test/resources/javascript/test_reader.js");
|
||||
context.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/javascript");
|
||||
context.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/jar");
|
||||
// State Manger is unused, and a null reference is specified
|
||||
processor.customValidate(new MockValidationContext(context));
|
||||
processor.setup(context);
|
||||
@ -112,7 +112,7 @@ public class TestInvokeJavascript extends BaseScriptTest {
|
||||
* @Any error encountered while testing
|
||||
*/
|
||||
@Test
|
||||
public void testScriptDefinedRelationship() {
|
||||
public void testScriptDefinedRelationshipWithExternalJar() {
|
||||
InvokeScriptedProcessor processor = new InvokeScriptedProcessor();
|
||||
MockProcessContext context = new MockProcessContext(processor);
|
||||
MockProcessorInitializationContext initContext = new MockProcessorInitializationContext(processor, context);
|
||||
@ -121,7 +121,7 @@ public class TestInvokeJavascript extends BaseScriptTest {
|
||||
|
||||
context.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript");
|
||||
context.setProperty(ScriptingComponentUtils.SCRIPT_FILE, "target/test/resources/javascript/test_reader.js");
|
||||
context.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/javascript");
|
||||
context.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/jar");
|
||||
|
||||
// State Manger is unused, and a null reference is specified
|
||||
processor.customValidate(new MockValidationContext(context));
|
||||
|
BIN
nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/resources/jar/commons-math3-3.2.jar
Normal file
BIN
nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/resources/jar/commons-math3-3.2.jar
Normal file
Binary file not shown.
@ -27,6 +27,7 @@ var Relationship = Java.type("org.apache.nifi.processor.Relationship");
|
||||
var PropertyDescriptor = Java.type("org.apache.nifi.components.PropertyDescriptor");
|
||||
var StandardValidators = Java.type("org.apache.nifi.processor.util.StandardValidators");
|
||||
var StreamUtils = Java.type("org.apache.nifi.stream.io.StreamUtils");
|
||||
var Primes = Java.type("org.apache.commons.math3.primes.Primes")
|
||||
|
||||
var REL_TEST = new Relationship.Builder()
|
||||
.name("test")
|
||||
@ -72,7 +73,8 @@ var processor = new Object() {
|
||||
|
||||
this.logger.info("Read content={}", [content]);
|
||||
|
||||
flowFile = session.putAttribute(flowFile, "from-content", content)
|
||||
flowFile = session.putAttribute(flowFile, "from-content", content);
|
||||
flowFile = session.putAttribute(flowFile, "is3Prime", Primes.isPrime(3))
|
||||
// transfer
|
||||
session.transfer(flowFile, REL_TEST)
|
||||
session.commitAsync()
|
||||
|
Loading…
x
Reference in New Issue
Block a user