SpringSource/spring-xd — pull request #55 by aclement (2013-06-07 00:03:28+00:00)
Title: XD-196: switch to alternative parser

Initial code drop for parser alternative. See https://jira.springsource.org/browse/XD-196

More work to be done as DSL language firms up and needs more work on error handling. This merge also contains tests (and fixes) for:
https://jira.springsource.org/browse/XD-159 "improve module parameter parsing"

And the the most recent comments by Jen/Gary in https://github.com/SpringSource/spring-xd/issues/1

Effectively these all work now:

foo | transform --expression=--payload | bar
foo | transform --expression='new StringBuilder(payload).reverse()' | bar
"foo | transform --expression=\"'Hello, world!'\" | bar"
"http --port=9014 | filter --expression=\"payload == 'foo'\" | log"
http --port=9014 | filter --expression='new Foo()' | log

A key change with this patch is that argument/parameter values with spaces in must be quoted.

Currently it tolerates the `tap @foo` syntax and does exactly as the old parser, converts it under the covers to `tap --channel=foo.0`