mirror of https://github.com/apache/nifi.git
NIFI-10385: If script body is empty for AbstractScriptedControllerService or InvokeScriptedProcessor, do not attempt to load script
Signed-off-by: Matthew Burgess <mattyb149@apache.org> This closes #6324
This commit is contained in:
parent
6bfc798515
commit
cb275dd956
|
@ -282,11 +282,14 @@ public class InvokeScriptedProcessor extends AbstractSessionFactoryProcessor {
|
||||||
* @return true if the script was loaded successfully; false otherwise
|
* @return true if the script was loaded successfully; false otherwise
|
||||||
*/
|
*/
|
||||||
private boolean reloadScriptFile(final String scriptPath) {
|
private boolean reloadScriptFile(final String scriptPath) {
|
||||||
|
if (StringUtils.isEmpty(scriptPath)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final Collection<ValidationResult> results = new HashSet<>();
|
final Collection<ValidationResult> results = new HashSet<>();
|
||||||
|
|
||||||
try (final FileInputStream scriptStream = new FileInputStream(scriptPath)) {
|
try (final FileInputStream scriptStream = new FileInputStream(scriptPath)) {
|
||||||
return reloadScript(IOUtils.toString(scriptStream, Charset.defaultCharset()));
|
return reloadScript(IOUtils.toString(scriptStream, Charset.defaultCharset()));
|
||||||
|
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
final ComponentLog logger = getLogger();
|
final ComponentLog logger = getLogger();
|
||||||
final String message = "Unable to load script: " + e;
|
final String message = "Unable to load script: " + e;
|
||||||
|
@ -314,10 +317,13 @@ public class InvokeScriptedProcessor extends AbstractSessionFactoryProcessor {
|
||||||
* @return true if the script was loaded successfully; false otherwise
|
* @return true if the script was loaded successfully; false otherwise
|
||||||
*/
|
*/
|
||||||
private boolean reloadScriptBody(final String scriptBody) {
|
private boolean reloadScriptBody(final String scriptBody) {
|
||||||
|
if (StringUtils.isEmpty(scriptBody)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final Collection<ValidationResult> results = new HashSet<>();
|
final Collection<ValidationResult> results = new HashSet<>();
|
||||||
try {
|
try {
|
||||||
return reloadScript(scriptBody);
|
return reloadScript(scriptBody);
|
||||||
|
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
final ComponentLog logger = getLogger();
|
final ComponentLog logger = getLogger();
|
||||||
final String message = "Unable to load script: " + e;
|
final String message = "Unable to load script: " + e;
|
||||||
|
|
|
@ -27,6 +27,7 @@ import org.apache.nifi.expression.ExpressionLanguageScope;
|
||||||
import org.apache.nifi.logging.ComponentLog;
|
import org.apache.nifi.logging.ComponentLog;
|
||||||
import org.apache.nifi.processor.util.StandardValidators;
|
import org.apache.nifi.processor.util.StandardValidators;
|
||||||
import org.apache.nifi.processors.script.ScriptRunner;
|
import org.apache.nifi.processors.script.ScriptRunner;
|
||||||
|
import org.apache.nifi.util.StringUtils;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
@ -158,11 +159,14 @@ public abstract class AbstractScriptedControllerService extends AbstractControll
|
||||||
* @return true if the script was loaded successfully; false otherwise
|
* @return true if the script was loaded successfully; false otherwise
|
||||||
*/
|
*/
|
||||||
protected boolean reloadScriptFile(final String scriptPath) {
|
protected boolean reloadScriptFile(final String scriptPath) {
|
||||||
|
if (StringUtils.isEmpty(scriptPath)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final Collection<ValidationResult> results = new HashSet<>();
|
final Collection<ValidationResult> results = new HashSet<>();
|
||||||
|
|
||||||
try (final FileInputStream scriptStream = new FileInputStream(scriptPath)) {
|
try (final FileInputStream scriptStream = new FileInputStream(scriptPath)) {
|
||||||
return reloadScript(IOUtils.toString(scriptStream, Charset.defaultCharset()));
|
return reloadScript(IOUtils.toString(scriptStream, Charset.defaultCharset()));
|
||||||
|
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
final ComponentLog logger = getLogger();
|
final ComponentLog logger = getLogger();
|
||||||
final String message = "Unable to load script: " + e;
|
final String message = "Unable to load script: " + e;
|
||||||
|
@ -190,10 +194,13 @@ public abstract class AbstractScriptedControllerService extends AbstractControll
|
||||||
* @return true if the script was loaded successfully; false otherwise
|
* @return true if the script was loaded successfully; false otherwise
|
||||||
*/
|
*/
|
||||||
protected boolean reloadScriptBody(final String scriptBody) {
|
protected boolean reloadScriptBody(final String scriptBody) {
|
||||||
|
if (StringUtils.isEmpty(scriptBody)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final Collection<ValidationResult> results = new HashSet<>();
|
final Collection<ValidationResult> results = new HashSet<>();
|
||||||
try {
|
try {
|
||||||
return reloadScript(scriptBody);
|
return reloadScript(scriptBody);
|
||||||
|
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
final ComponentLog logger = getLogger();
|
final ComponentLog logger = getLogger();
|
||||||
final String message = "Unable to load script: " + e;
|
final String message = "Unable to load script: " + e;
|
||||||
|
|
Loading…
Reference in New Issue