[
https://issues.apache.org/jira/browse/NIFI-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15368796#comment-15368796
]
ASF GitHub Bot commented on NIFI-2020:
--------------------------------------
Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/564#discussion_r70157635
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/JoltTransformJSON.java
---
@@ -212,12 +279,40 @@ public void process(OutputStream out) throws
IOException {
@OnScheduled
public void setup(final ProcessContext context) {
- Object specJson = null;
- if(context.getProperty(JOLT_SPEC).isSet() &&
!SORTR.getValue().equals(context.getProperty(JOLT_TRANSFORM).getValue())){
- specJson =
JsonUtils.jsonToObject(context.getProperty(JOLT_SPEC).getValue(),
DEFAULT_CHARSET);
+
+ try{
+ Object specJson = null;
+
+ if(context.getProperty(MODULES).isSet()){
+ customClassLoader =
ClassLoaderUtils.getCustomClassLoader(context.getProperty(MODULES).getValue(),this.getClass().getClassLoader(),getJarFilenameFilter());
+ }else{
+ customClassLoader = null;
+ }
+
+ if(context.getProperty(JOLT_SPEC).isSet() &&
!SORTR.getValue().equals(context.getProperty(JOLT_TRANSFORM).getValue())){
+ specJson =
JsonUtils.jsonToObject(context.getProperty(JOLT_SPEC).getValue(),
DEFAULT_CHARSET);
+ }
+
+
if(CUSTOMR.getValue().equals(context.getProperty(JOLT_TRANSFORM).getValue())){
+ transform =
TransformFactory.getCustomTransform(customClassLoader,context.getProperty(CUSTOM_CLASS).getValue(),
specJson);
+ }else {
+ transform =
TransformFactory.getTransform(customClassLoader != null? customClassLoader :
this.getClass().getClassLoader(),
+
context.getProperty(JOLT_TRANSFORM).getValue(), specJson);
+ }
+
+ } catch (Exception ex){
+ getLogger().error("Unable to setup processor",ex);
}
- transform =
TransformFactory.getTransform(context.getProperty(JOLT_TRANSFORM).getValue(),
specJson);
+
}
+ protected FilenameFilter getJarFilenameFilter(){
--- End diff --
Another spot where lambdas could be (but don't have to be) used
> Enhance JoltTransformJSON processor to support custom transforms
> ----------------------------------------------------------------
>
> Key: NIFI-2020
> URL: https://issues.apache.org/jira/browse/NIFI-2020
> Project: Apache NiFi
> Issue Type: New Feature
> Components: Core Framework
> Affects Versions: 1.0.0
> Reporter: Yolanda M. Davis
> Assignee: Yolanda M. Davis
> Fix For: 1.0.0
>
>
> Jolt supports additional custom transforms via fully-qualified Java
> classnames. Would like to provide the ability to support custom
> transformation (via drop in jars) for the Jolt Transform processor.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)