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

Claus Ibsen commented on CAMEL-766:
-----------------------------------

Hi

Very good work. Makes the filtering logic of the headers coded "using the same 
standard". Great work.

Looks very good. Just a comment while digging into the code/javadoc:
- DefaultHeaderFilterStrategy could the class javadoc state what "out" 
direction is referred as. For completeness and not to miss understand it.
- DefaultHeaderFilterStrategy the interface methods applyFilerXXX is in the 
bottom of the file. I would move the to the top. And let the properties be in 
the bottom.
- DefaultHeaderFilterStrategy would be nice with javadoc on the extendsXXX 
method that implementators is supposed to use if needed

Maybe giving a hint in the class javadoc to see the camel-jms component for an 
example how you should use it as a component developer.

Since the applyFilterXXX methods works as *excluding* headers it can be a bit 
confusing at first reading the code that you use !applyFilterXXX and then add 
the header on a camel exchange etc. I guess it just take a little while to get 
used to ;) People are not good at reading the ! in if statements.


BTW: How many of the components are still to be of the same standard



> Create header filter strategy that can be easily extended
> ---------------------------------------------------------
>
>                 Key: CAMEL-766
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-766
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core, camel-cxf, camel-http, camel-jetty, camel-jhc
>    Affects Versions: 1.4.0
>            Reporter: William Tam
>            Assignee: Willem Jiang
>            Priority: Minor
>             Fix For: 1.5.0
>
>         Attachments: patch.txt
>
>
> We have explored some ideas of how one may retreive protocol headers from of 
> a Camel message in this thread: 
> http://www.nabble.com/-PROPOSAL--ProtocolMessage-to18078001s22882.html#a18078001.
>   In summary, there were two train of thoughts: 1) set aside a place for 
> "ProtocolHeaders" in Camel message which is strictly for storing what a 
> component recognizes as protocol headers.  A component can still select some 
> or all of these protocol headers to be copied to/from the native message 
> header.  2) Using the current headers in Camel message and let people 
> configure what should be copied to/form native message.
> I thought about both approaches a bit.  I went with the later and created a 
> patch.  I guess the problem with the first approach is it introduces one more 
> place to look for headers.   We may end up forcing components examine both 
> places for processing information.  
> In my patch, I create a HeaderFilterStrategy that can control what to copy 
> in/out Camel message headers.  A component can be injected with a strategy by 
> Spring or using APIs.  I modified the following components to use this 
> strategy: jms, cxf, http, jetty, and jhc.  Please review my patch and will 
> update other components based on feedbacks.

-- 
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