You can try use RAW for this big and ugly regexp http://camel.apache.org/how-do-i-configure-endpoints.html
On Wed, Aug 21, 2013 at 4:00 PM, Chris <cwolf.a...@gmail.com> wrote: > When I try to use the "include" option when defining an SFTP endpoint, > sometimes it works, other times the endpoint URI gets totally scrambled, > depending on the regular express for "include". The point at which the URI > gets scrambled is after URISupport.normalizeUri(uri) is called. I tried > pre-URI-encoding the regular expression, but then it gets URI-encoded twice > in that case. > > Any ideas or corrections as to how I'm using the "include" option? > > BTW, I this is a runtime-generated endpoint, so I can't use a > GenericFileFilter<T> instance because I have yet to find an easy way to > programmatically add objects to the Springframework bean factory (Camel > registry) at runtime. > > Thanks, > > Chris > > Parameters: > port=21000, binary=true, username=adpt5, host=localhost, > localWorkDirectory=target/res/tmp/local, idempotent=true, scheme=sftp, > directory=target/res/home, password=adpt5, move=archive/${file:name}, > separator=UNIX, > include=(^[\w|\W&&[^_]]+)(_MKT_)(\d\d\d\d\d\d\d\d)(_(HISTORY))?(_(.[^\.]+))?\..+} > > URI before URISupport.normalizeUri(uri) is called: > > sftp://localhost:21000?username=adpt5&binary=true&idempotent=true&localWorkDirectory=target%2Fres%2Ftmp%2Flocal&directory=target%2Fres%2Fhome&password=adpt5&separator=UNIX&move=archive%2F%24%7Bfile%3Aname%7D&include=%28%5E%5B%5Cw%7C%5CW%26%26%5B%5E_%5D%5D%2B%29%28_MKT_%29%28%5Cd%5Cd%5Cd%5Cd%5Cd%5Cd%5Cd%5Cd%29%28_%28HISTORY%29%29%3F%28_%28.%5B%5E%5C.%5D%2B%29%29%3F%5C..%2B > > URI, scrambled after URISupport.normalizeUri(uri) is called: > > Failed to resolve endpoint: > sftp://localhost:21000?&%5B%5E_%5D%5D%2B%29%28_MKT_%29%28%5Cd%5Cd%5Cd%5Cd%5Cd%5Cd%5Cd%5Cd%29%28_%28HISTORY%29%29%3F%28_%28.%5B%5E%5C.%5D%2B%29%29%3F%5C..%2B&binary=true&directory=target%2Fres%2Fhome&idempotent=true&include=%28%5E%5B%5Cw%7C%5CW&localWorkDirectory=target%2Fres%2Ftmp%2Flocal&move=archive%2F%24%7Bfile%3Aname%7D&password=adpt5&separator=UNIX&username=adpt5 > due to: There are 2 parameters that couldn't be set on the endpoint. Check > the uri if the parameters are spelt correctly and that they are properties > of the endpoint. Unknown parameters=[{=null, > [^_]]+)(_MKT_)(\d\d\d\d\d\d\d\d)(_(HISTORY))?(_(.[^\.]+))?\..+=null} > -- Claus Ibsen ----------------- Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen