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

Claus Ibsen commented on CAMEL-541:
-----------------------------------

Hadrian has committed some parts of this to the trunk as of CAMEL-547.

Christian I do think you should do a fresh start to see how we are with the 
tangles and create new patches.

> The spi package should not depend on the processor package
> ----------------------------------------------------------
>
>                 Key: CAMEL-541
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-541
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 1.3.0
>            Reporter: Christian Schneider
>             Fix For: 1.4.0
>
>         Attachments: interceptor.patch
>
>
> I have found one other problem in RouteContext. The method intercept uses the 
> class Interceptor from processor. I think Interceptor should be an interface 
> that should reside in spi or camel. So we could avoid referencing the 
> processor package from spi.
> When I look into the current Interceptor implementation I think the two main 
> methods that need to be in the interface are process and proceed. Process can 
> be inherited from Processor but proceed is only declared in the 
> implementation class DelegateProcessor. So I think the clean way to handle 
> this would be to create an interface DelegateProcessor and a spearate 
> DefaultDelegateProcessor.
> public interface DelegateProcessor extends Processor {
>  /** * Proceed with the underlying delegated processor */ 
> public abstract void proceed(Exchange exchange) throws Exception;
>  }
> and an interface Interceptor
> public interface Interceptor extends DelegateProcessor { 
> public abstract void process(Exchange exchange) throws Exception; public 
> abstract Processor getInterceptorLogic(); public abstract void 
> setInterceptorLogic(Processor interceptorLogic); 
> }
> When we put these to spi and use them instead of the implementations where 
> possible the spi would not depend on processor anymore. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to