You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Hadrian Zbarcea (JIRA)" <ji...@apache.org> on 2011/05/02 17:29:03 UTC

[jira] [Commented] (CAMEL-3928) custom interceptor - wrapProcessorInInterceptors - passing parent Description on Split

    [ https://issues.apache.org/jira/browse/CAMEL-3928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027694#comment-13027694 ] 

Hadrian Zbarcea commented on CAMEL-3928:
----------------------------------------

@Javier, thanks for noticing this and for providing a fix!
You checked the patch available box. Do you intend to provide a patch with a unit test as well, or you were referring to the solution you provided in the description? A unit test would be fantastic.

> custom interceptor - wrapProcessorInInterceptors - passing parent Description on Split
> --------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3928
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3928
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.6.0, 2.7.0, 2.7.1
>         Environment: ubuntu 10.04
> java version "1.6.0_22"
> Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
>            Reporter: Javier Arias
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In routes with a split step, when my wrapProcessorInInterceptors method is called, the  ProcessorDefinition<?> paremeter is referencing the Split definition instead of steps inside it.
> For example, for the route:
> from("direct:a").routeId("route:a")
>         .split(xpath("//a/b")).id("task:split.products")
>             .log("*** splited ::: body : ${body} ").id("task:handle.that") (*)
>             .setHeader("insplit",constant("in-split")) (*)
>         .end()
>         .log("* aftersplit ::: body : ${body}").id("task:after.split");
> for steps inside the split (*) the ProcessorDefinition is referencing the splitdefinition, while i think it should point to the log and setHeader steps.
> It can be easily fixed,  in class:::
> org.apache.camel.processor.DefaultChannel
> in the method initChannel, changing
> target = strategy.wrapProcessorInInterceptors(routeContext.getCamelContext(), outputDefinition, target, next);
> by this:
> target = strategy.wrapProcessorInInterceptors(routeContext.getCamelContext(), traceDef, target, next);

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira