You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jp...@apache.org on 2016/07/15 15:49:48 UTC
nifi git commit: NIFI-2267: A way for Processor to know node type
Repository: nifi
Updated Branches:
refs/heads/master afc038d2c -> 53326c7f9
NIFI-2267: A way for Processor to know node type
- Added NodeTypeProvider to expose flowController's isClustered and
isPrimaryNode so that processor can know if it's running on a cluster
and if it's a primary node.
- Added mechanism to simulate clustered or not, and primary or not, for testing
This closes #657
Signed-off-by: jpercivall <jo...@yahoo.com>
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/53326c7f
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/53326c7f
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/53326c7f
Branch: refs/heads/master
Commit: 53326c7f9bad7322893664f9a7bc1d36399049bf
Parents: afc038d
Author: Koji Kawamura <ij...@gmail.com>
Authored: Fri Jul 15 21:16:54 2016 +0900
Committer: jpercivall <jo...@yahoo.com>
Committed: Fri Jul 15 11:38:50 2016 -0400
----------------------------------------------------------------------
.../nifi/controller/NodeTypeProvider.java | 37 ++++++++++++++++++
.../AbstractSessionFactoryProcessor.java | 11 ++++++
.../ProcessorInitializationContext.java | 6 +++
.../apache/nifi/util/MockProcessContext.java | 27 ++++++++++++-
.../MockProcessorInitializationContext.java | 6 +++
.../nifi/util/StandardProcessorTestRunner.java | 9 +++++
.../java/org/apache/nifi/util/TestRunner.java | 10 +++++
.../mock/MockNodeTypeProvider.java | 40 ++++++++++++++++++++
.../MockProcessorInitializationContext.java | 6 +++
.../apache/nifi/controller/FlowController.java | 6 ++-
.../StandardProcessorInitializationContext.java | 10 ++++-
.../script/InvokeScriptedProcessor.java | 6 +++
12 files changed, 170 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-api/src/main/java/org/apache/nifi/controller/NodeTypeProvider.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/controller/NodeTypeProvider.java b/nifi-api/src/main/java/org/apache/nifi/controller/NodeTypeProvider.java
new file mode 100644
index 0000000..2e201ef
--- /dev/null
+++ b/nifi-api/src/main/java/org/apache/nifi/controller/NodeTypeProvider.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.nifi.controller;
+
+/**
+ * <p>
+ * This interface provides a set of methods for checking NiFi node type.
+ * <p>
+ */
+public interface NodeTypeProvider {
+
+ /**
+ * @return true if this instance is clustered, false otherwise.
+ * Clustered means that a node is either connected or trying to connect to the cluster.
+ */
+ boolean isClustered();
+
+ /**
+ * @return true if this instance is the primary node in the cluster; false otherwise
+ */
+ boolean isPrimary();
+}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-api/src/main/java/org/apache/nifi/processor/AbstractSessionFactoryProcessor.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/processor/AbstractSessionFactoryProcessor.java b/nifi-api/src/main/java/org/apache/nifi/processor/AbstractSessionFactoryProcessor.java
index e257e47..029f459 100644
--- a/nifi-api/src/main/java/org/apache/nifi/processor/AbstractSessionFactoryProcessor.java
+++ b/nifi-api/src/main/java/org/apache/nifi/processor/AbstractSessionFactoryProcessor.java
@@ -24,6 +24,7 @@ import org.apache.nifi.annotation.lifecycle.OnScheduled;
import org.apache.nifi.annotation.lifecycle.OnUnscheduled;
import org.apache.nifi.components.AbstractConfigurableComponent;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.logging.ComponentLog;
/**
@@ -50,6 +51,7 @@ public abstract class AbstractSessionFactoryProcessor extends AbstractConfigurab
private volatile boolean scheduled = false;
private volatile boolean configurationRestored = false;
private ControllerServiceLookup serviceLookup;
+ private NodeTypeProvider nodeTypeProvider;
private String description;
@Override
@@ -57,6 +59,7 @@ public abstract class AbstractSessionFactoryProcessor extends AbstractConfigurab
identifier = context.getIdentifier();
logger = context.getLogger();
serviceLookup = context.getControllerServiceLookup();
+ nodeTypeProvider = context.getNodeTypeProvider();
init(context);
description = getClass().getSimpleName() + "[id=" + identifier + "]";
@@ -70,6 +73,14 @@ public abstract class AbstractSessionFactoryProcessor extends AbstractConfigurab
return serviceLookup;
}
+ /**
+ * @return the {@link NodeTypeProvider} that was passed to the
+ * {@link #init(ProcessorInitializationContext)} method
+ */
+ protected final NodeTypeProvider getNodeTypeProvider() {
+ return nodeTypeProvider;
+ }
+
@Override
public Set<Relationship> getRelationships() {
return Collections.emptySet();
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-api/src/main/java/org/apache/nifi/processor/ProcessorInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/processor/ProcessorInitializationContext.java b/nifi-api/src/main/java/org/apache/nifi/processor/ProcessorInitializationContext.java
index 8a04887..726b3fa 100644
--- a/nifi-api/src/main/java/org/apache/nifi/processor/ProcessorInitializationContext.java
+++ b/nifi-api/src/main/java/org/apache/nifi/processor/ProcessorInitializationContext.java
@@ -17,6 +17,7 @@
package org.apache.nifi.processor;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.logging.ComponentLog;
/**
@@ -44,4 +45,9 @@ public interface ProcessorInitializationContext {
* Controller Services
*/
ControllerServiceLookup getControllerServiceLookup();
+
+ /**
+ * @return the {@link NodeTypeProvider} which can be used to detect the node type of this NiFi instance.
+ */
+ NodeTypeProvider getNodeTypeProvider();
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java
----------------------------------------------------------------------
diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java
index 81429e7..d3db1ba 100644
--- a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java
+++ b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java
@@ -36,13 +36,14 @@ import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.components.state.StateManager;
import org.apache.nifi.controller.ControllerService;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.processor.Processor;
import org.apache.nifi.processor.Relationship;
import org.apache.nifi.processor.SchedulingContext;
import org.apache.nifi.state.MockStateManager;
import org.junit.Assert;
-public class MockProcessContext extends MockControllerServiceLookup implements SchedulingContext, ControllerServiceLookup {
+public class MockProcessContext extends MockControllerServiceLookup implements SchedulingContext, ControllerServiceLookup, NodeTypeProvider {
private final ConfigurableComponent component;
private final Map<PropertyDescriptor, String> properties = new HashMap<>();
@@ -59,6 +60,9 @@ public class MockProcessContext extends MockControllerServiceLookup implements S
private volatile Set<Relationship> connections = new HashSet<>();
private volatile Set<Relationship> unavailableRelationships = new HashSet<>();
+ private volatile boolean isClustered;
+ private volatile boolean isPrimaryNode;
+
public MockProcessContext(final ConfigurableComponent component) {
this(component, new MockStateManager(component));
}
@@ -364,4 +368,25 @@ public class MockProcessContext extends MockControllerServiceLookup implements S
protected void setMaxConcurrentTasks(int maxConcurrentTasks) {
this.maxConcurrentTasks = maxConcurrentTasks;
}
+
+ @Override
+ public boolean isClustered() {
+ return isClustered;
+ }
+
+ @Override
+ public boolean isPrimary() {
+ return isPrimaryNode;
+ }
+
+ public void setClustered(boolean clustered) {
+ isClustered = clustered;
+ }
+
+ public void setPrimaryNode(boolean primaryNode) {
+ if (!isClustered && primaryNode) {
+ throw new IllegalArgumentException("Primary node is only available in cluster. Use setClustered(true) first.");
+ }
+ isPrimaryNode = primaryNode;
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessorInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessorInitializationContext.java b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessorInitializationContext.java
index 82295f9..132869c 100644
--- a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessorInitializationContext.java
+++ b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessorInitializationContext.java
@@ -21,6 +21,7 @@ import java.util.UUID;
import org.apache.nifi.controller.ControllerService;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.processor.Processor;
import org.apache.nifi.processor.ProcessorInitializationContext;
@@ -80,4 +81,9 @@ public class MockProcessorInitializationContext implements ProcessorInitializati
public boolean isControllerServiceEnabling(final String serviceIdentifier) {
return context.isControllerServiceEnabling(serviceIdentifier);
}
+
+ @Override
+ public NodeTypeProvider getNodeTypeProvider() {
+ return context;
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
----------------------------------------------------------------------
diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java b/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
index b80c09f..81c8568 100644
--- a/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
+++ b/nifi-mock/src/main/java/org/apache/nifi/util/StandardProcessorTestRunner.java
@@ -812,4 +812,13 @@ public class StandardProcessorTestRunner implements TestRunner {
return controllerServiceLoggers.get(identifier);
}
+ @Override
+ public void setClustered(boolean clustered) {
+ context.setClustered(clustered);
+ }
+
+ @Override
+ public void setPrimaryNode(boolean primaryNode) {
+ context.setPrimaryNode(primaryNode);
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-mock/src/main/java/org/apache/nifi/util/TestRunner.java
----------------------------------------------------------------------
diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/TestRunner.java b/nifi-mock/src/main/java/org/apache/nifi/util/TestRunner.java
index 44d7f9f..023ef64 100644
--- a/nifi-mock/src/main/java/org/apache/nifi/util/TestRunner.java
+++ b/nifi-mock/src/main/java/org/apache/nifi/util/TestRunner.java
@@ -891,4 +891,14 @@ public interface TestRunner {
* @return the State Manager that is used to store and retrieve state for the given controller service
*/
MockStateManager getStateManager(ControllerService service);
+
+ /**
+ * @param clustered Specify if this test emulates running in a clustered environment
+ */
+ void setClustered(boolean clustered);
+
+ /**
+ * @param primaryNode Specify if this test emulates running as a primary node
+ */
+ void setPrimaryNode(boolean primaryNode);
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockNodeTypeProvider.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockNodeTypeProvider.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockNodeTypeProvider.java
new file mode 100644
index 0000000..75df16f
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockNodeTypeProvider.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.documentation.mock;
+
+import org.apache.nifi.controller.NodeTypeProvider;
+
+/**
+ * A Mock NodeTypeProvider that can be used so that
+ * ConfigurableComponents can be initialized for the purpose of generating
+ * documentation
+ *
+ *
+ */
+public class MockNodeTypeProvider implements NodeTypeProvider {
+
+ @Override
+ public boolean isClustered() {
+ return false;
+ }
+
+ @Override
+ public boolean isPrimary() {
+ return false;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
index e536471..3935124 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java
@@ -17,6 +17,7 @@
package org.apache.nifi.documentation.mock;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.logging.ComponentLog;
import org.apache.nifi.processor.ProcessorInitializationContext;
@@ -42,4 +43,9 @@ public class MockProcessorInitializationContext implements ProcessorInitializati
public ControllerServiceLookup getControllerServiceLookup() {
return new MockControllerServiceLookup();
}
+
+ @Override
+ public NodeTypeProvider getNodeTypeProvider() {
+ return new MockNodeTypeProvider();
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
index 10d0b95..fd2f588 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
@@ -237,7 +237,7 @@ import org.slf4j.LoggerFactory;
import com.sun.jersey.api.client.ClientHandlerException;
-public class FlowController implements EventAccess, ControllerServiceProvider, ReportingTaskProvider, QueueProvider, Authorizable, ProvenanceAuthorizableFactory {
+public class FlowController implements EventAccess, ControllerServiceProvider, ReportingTaskProvider, QueueProvider, Authorizable, ProvenanceAuthorizableFactory, NodeTypeProvider {
// default repository implementations
public static final String DEFAULT_FLOWFILE_REPO_IMPLEMENTATION = "org.apache.nifi.controller.repository.WriteAheadFlowFileRepository";
@@ -1053,7 +1053,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
final Class<? extends Processor> processorClass = rawClass.asSubclass(Processor.class);
processor = processorClass.newInstance();
final ComponentLog componentLogger = new SimpleProcessLogger(identifier, processor);
- final ProcessorInitializationContext ctx = new StandardProcessorInitializationContext(identifier, componentLogger, this);
+ final ProcessorInitializationContext ctx = new StandardProcessorInitializationContext(identifier, componentLogger, this, this);
processor.initialize(ctx);
LogRepositoryFactory.getRepository(identifier).setLogger(componentLogger);
@@ -3148,6 +3148,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
/**
* @return true if this instance is clustered; false otherwise. Clustered means that a node is either connected or trying to connect to the cluster.
*/
+ @Override
public boolean isClustered() {
readLock.lock();
try {
@@ -3323,6 +3324,7 @@ public class FlowController implements EventAccess, ControllerServiceProvider, R
/**
* @return true if this instance is the primary node in the cluster; false otherwise
*/
+ @Override
public boolean isPrimary() {
return leaderElectionManager != null && leaderElectionManager.isLeader(ClusterRoles.PRIMARY_NODE);
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/processor/StandardProcessorInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/processor/StandardProcessorInitializationContext.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/processor/StandardProcessorInitializationContext.java
index ccd731d..8855545 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/processor/StandardProcessorInitializationContext.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/processor/StandardProcessorInitializationContext.java
@@ -17,6 +17,7 @@
package org.apache.nifi.processor;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.controller.service.ControllerServiceProvider;
import org.apache.nifi.logging.ComponentLog;
@@ -25,11 +26,13 @@ public class StandardProcessorInitializationContext implements ProcessorInitiali
private final String identifier;
private final ComponentLog logger;
private final ControllerServiceProvider serviceProvider;
+ private final NodeTypeProvider nodeTypeProvider;
- public StandardProcessorInitializationContext(final String identifier, final ComponentLog componentLog, final ControllerServiceProvider serviceProvider) {
+ public StandardProcessorInitializationContext(final String identifier, final ComponentLog componentLog, final ControllerServiceProvider serviceProvider, NodeTypeProvider nodeTypeProvider) {
this.identifier = identifier;
this.logger = componentLog;
this.serviceProvider = serviceProvider;
+ this.nodeTypeProvider = nodeTypeProvider;
}
@Override
@@ -46,4 +49,9 @@ public class StandardProcessorInitializationContext implements ProcessorInitiali
public ControllerServiceLookup getControllerServiceLookup() {
return serviceProvider;
}
+
+ @Override
+ public NodeTypeProvider getNodeTypeProvider() {
+ return nodeTypeProvider;
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/53326c7f/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java
index dd3ae58..a8eac77 100644
--- a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java
+++ b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java
@@ -42,6 +42,7 @@ import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.components.ValidationContext;
import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.controller.ControllerServiceLookup;
+import org.apache.nifi.controller.NodeTypeProvider;
import org.apache.nifi.logging.ComponentLog;
import org.apache.nifi.processor.ProcessContext;
import org.apache.nifi.processor.ProcessSessionFactory;
@@ -348,6 +349,11 @@ public class InvokeScriptedProcessor extends AbstractScriptProcessor {
public ControllerServiceLookup getControllerServiceLookup() {
return InvokeScriptedProcessor.super.getControllerServiceLookup();
}
+
+ @Override
+ public NodeTypeProvider getNodeTypeProvider() {
+ return InvokeScriptedProcessor.super.getNodeTypeProvider();
+ }
});
} catch (final Exception e) {
logger.error("Unable to initialize scripted Processor: " + e.getLocalizedMessage(), e);