Hi Could it be because groovy gstring clashes with the simple tokens?
You can change the start/end tokens of Simple to something else to avoid this clash. See the bottom of this page http://camel.apache.org/simple On Sat, Mar 17, 2012 at 12:03 AM, Christopher Love <[email protected]> wrote: > So I have diagnosed this further. Does anyone have experience running > Camel with-in a grails application. For some reason simple language does > not seem to be evaluating properly. I have created a custom file process > strategy and setting: > > GenericFileExpressionRenamer<T> renamer = new > GenericFileExpressionRenamer<T>(); > renamer.setExpression(SimpleBuilder.simple(".failed/${header.CamelFileNameOnly}")); > > The expression for the renamer is not evaluating properly. > > Any ideas on how to get this working in grails? May have to yank this out > and create another project. UGH! > > Chris > > On Wed, Mar 14, 2012 at 11:11 AM, Christopher Love > <[email protected]>wrote: > >> .setHeader("foo", header(Exchange.FILE_NAME_ONLY)) gives me a header with >> value >> of ${file:onlyname} ... arg ... I am wondering if this is groovy not >> playing nice. I kinda doubt it, but next step is to write a java unit test >> and recreate. >> >> Here is the logs >> >> 2012-03-14 11:08:15,707 INFO Camel (camelContext) thread #25 - >> file:///u01/www/images/nonprofits-test [com.igive.headers] - <Exchange[ >> , Id:ID-goldgriff-19635-1331742082363-2-1 >> , ExchangePattern:InOnly >> , >> Properties:{CamelToEndpoint=log://com.igive.headers?multiline=true&showAll=true, >> CamelBatchComplete=true, CamelBatchSize=1, CamelCreatedTimestamp=Wed Mar 14 >> 11:08:15 MDT 2012, >> CamelFileExchangeFile=GenericFile[${file:parent}/.processing/${file:onlyname}], >> CamelBatchIndex=0} >> , Headers:{CamelFileLastModified=Wed Mar 14 11:08:15 MDT 2012, >> CamelFileLength=48215, foo=${file:onlyname}, >> CamelFileParent=/u01/www/images/nonprofits-test/${file:parent}/.processing, >> breadcrumbId=ID-goldgriff-19635-1331742082363-2-2, >> CamelFileName=${file:onlyname}, >> CamelFilePath=/u01/www/images/nonprofits-test/${file:parent}/.processing/${file:onlyname}, >> CamelFileAbsolute=false, >> CamelFileRelativePath=${file:parent}/.processing/${file:onlyname}, >> CamelFileNameOnly=${file:onlyname}, >> CamelFileAbsolutePath=/u01/www/images/nonprofits-test/${file:parent}/.processing/${file:onlyname}} >> , BodyType:java.io.File >> , Body:[Body is file based: >> /u01/www/images/nonprofits-test/${file:parent}/.processing/${file:onlyname}] >> , Out: null >> ]> >> >> On Wed, Mar 14, 2012 at 11:01 AM, Claus Ibsen <[email protected]>wrote: >> >>> Hi >>> >>> All the file name from the simple language is headers on the message. >>> So they are already there. >>> >>> The only name is the header with this key: Exchange.FILE_NAME_ONLY >>> >>> So you can copy it to a foo header as follows: >>> .setHeader("foo", header(Exchange.FILE_NAME_ONLY)) >>> >>> >>> >>> On Wed, Mar 14, 2012 at 5:24 PM, chrislovecnm <[email protected]> >>> wrote: >>> > How do I access the file name? I have tried accessing the headers >>> which gets >>> > me ${file:nameonly} but not the file name itself. How do I evaluate >>> this? >>> > >>> > Here is my route: >>> > >>> > >>> > >>> from("file:///u01/www/images/nonprofits-test?move=.done&preMove=.processing&filter=#nonpFileFilter&minDepth=2&recursive=true") >>> > >>> > >>> from("file:///u01/www/images/nonprofits-test?move=.done&preMove=.processing&filter=#nonpFileFilter&minDepth=2&recursive=true") >>> > .setHeader("test-this", >>> simple("\${file:onlyname}")) >>> > .setHeader("test-this-again", >>> constant("\${file:onlyname}")) >>> > .setHeader("test-this-again2", >>> simple(CamelConstants.CAMEL_FILE_NAME)) >>> > .setHeader("test-this-again3", >>> > simple(CamelConstants.CAMEL_FILE_NAME_ONLY)) >>> > >>> > >>> > This is coded in grails / groovy so the \${file:name} should be >>> evaluated to >>> > ${file:name}, but all I get is ${file:nameonly}. I also have the string >>> in >>> > java code, just in-case running it in groovy is playing havoc. >>> > >>> > Thanks in advance >>> > >>> > Chris >>> > >>> > -- >>> > View this message in context: >>> http://camel.465427.n5.nabble.com/File-endpoint-getting-actual-filename-file-nameonly-tp5565342p5565342.html >>> > Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> FuseSource >>> Email: [email protected] >>> Web: http://fusesource.com >>> Twitter: davsclaus, fusenews >>> Blog: http://davsclaus.blogspot.com/ >>> Author of Camel in Action: http://www.manning.com/ibsen/ >>> >> >> >> >> -- >> Chris Love >> [email protected] >> (303) 929-8509 >> http://www.cnmconsulting.net >> Calendar: http://j.mp/cnmCalendar >> Follow me on twitter: @chrislovecnm >> > > > > -- > Chris Love > [email protected] > (303) 929-8509 > http://www.cnmconsulting.net > Calendar: http://j.mp/cnmCalendar > Follow me on twitter: @chrislovecnm -- Claus Ibsen ----------------- CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com FuseSource Email: [email protected] Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/
