You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Matt Burgess (Jira)" <ji...@apache.org> on 2020/02/05 01:10:00 UTC

[jira] [Updated] (NIFI-7016) Make groovy File functions available for FlowFile to simplify scripting [modified]

     [ https://issues.apache.org/jira/browse/NIFI-7016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Burgess updated NIFI-7016:
-------------------------------
    Fix Version/s:     (was: 1.10.0)

> Make groovy File functions available for FlowFile to simplify scripting [modified]
> ----------------------------------------------------------------------------------
>
>                 Key: NIFI-7016
>                 URL: https://issues.apache.org/jira/browse/NIFI-7016
>             Project: Apache NiFi
>          Issue Type: New Feature
>            Reporter: Dmitry Lukyanov
>            Assignee: Matt Burgess
>            Priority: Minor
>
> Currently the following methods implemented but they differ from groovy flavor.
> All those methods should return the object returned by Closure and streams/readers/writers must be closed after closure finished.
> Check any of this methods in groovy:
> http://docs.groovy-lang.org/latest/html/groovy-jdk/java/io/File.html#withOutputStream(groovy.lang.Closure)
> The idea of usage like this:
> {code:java}
> def jsonData = flowFile.withReader("UTF-8"){ new JsonSlurper().parse(it) }
> {code}
> methods to be fixed according to groovy behavior:
> {code:java}
> Object withInputStream(Closure closure)
> // Creates a new InputStream for this file and passes it into the closure.
> // Input stream must be closed after closure finished
> // Returns value returned by closure
> Object 	withOutputStream(Closure closure)
> // Creates a new OutputStream for this file and passes it into the closure. 
> // OutputStream must be closed after closure finished. 
> // Returns value returned by closure 
> Object 	withReader(String charset, Closure closure)
> // Creates a new BufferedReader for this file using the specified charset and then passes it into the closure, ensuring the reader is closed after the closure returns. 
> // Returns value returned by closure 
> Object 	withWriter(String charset, Closure closure)
> // Creates a new BufferedWriter for this file, passes it to the closure, and ensures the stream is flushed and closed after the closure returns. 
> // Returns value returned by closure 
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)