Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-1249

Allow ReplaceText expression language functions to access matching group values

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.4.0
    • Extensions
    • None

    Description

      Chanru from the user's mailing list asked how we'd support a pretty simple use case of converting

      col1,col2,col3
      2006,10-01-2004,10may2004
      2007,15-05-2006,10jun2005
      2009,8-8-2008,10aug2008

      to this

      col1,col2,col3
      2006,10-01-2004,2004-05-10
      2007,15-05-2006,2005-06-10
      2009,8-8-2008,2008-08-10

      And we can do it today but it is surprising more effort than it should be. The problem is that ReplaceText as-is gets us sooo close. But what it cannot do is convert the original column three into a formatted Date object which can then be written out as a formatted string. If it could then this would be easy. So for example if we extracted each column as a matching group and the replacement value could be

      ${ $3:toDate('ddMMMyyy'):format('yyyy/MM/ddd')}
      

      Then we'd be all set. But right now there is no way to take that third matching group and do anything fun with expression language on it because it is not a subject passed into the EL on which functions could be applied. If instead we simply added those matching groups as keys/subjects available to the EL then this becomes a quite powerful tool.

      Attachments

        1. NIFI-1249.xml
          22 kB
          Matt Gilman
        2. 0001-NIFI-1249-Allow-Processors-to-add-their-own-variable.patch
          104 kB
          Mark Payne

        Activity

          People

            markap14 Mark Payne
            joewitt Joe Witt
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: