Github user ijokarumawak commented on a diff in the pull request:
https://github.com/apache/nifi/pull/3201#discussion_r239310311
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListFTP.java
---
@@ -35,17 +36,21 @@
import org.apache.nifi.components.ValidationResult;
import org.apache.nifi.components.state.Scope;
import org.apache.nifi.context.PropertyContext;
+import org.apache.nifi.expression.ExpressionLanguageScope;
import org.apache.nifi.processor.ProcessContext;
import org.apache.nifi.processor.util.list.ListedEntityTracker;
import org.apache.nifi.processors.standard.util.FileTransfer;
import org.apache.nifi.processors.standard.util.FTPTransfer;
@PrimaryNodeOnly
@TriggerSerially
-@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@InputRequirement(Requirement.INPUT_ALLOWED)
--- End diff --
Changing input requirement is not enough if we want to support incoming
FlowFiles. Processors need to:
1. Take input FlowFiles, LogMessage processor can be the simplest example,
please look
[here](https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LogMessage.java#L125)
2. Evaluate ExpressionLanguages using the FlowFiles, again LogMessage as
[an
example](https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LogMessage.java#L130)
Currently
[FTPTransfer.getListing()](https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java#L187)
doesn't do above things.
And we also need to support existing use-cases with no input connection.
Also, we need to track listing state such as latest timestamps ... etc. We need
to do that efficiently with dynamically changing target paths if it's
configured by incoming FlowFiles attribute.
There are more things need to be done.
---