|
No, I haven't started to work on this issue yet. I've had a quick look at the diff and it looks very good. Just let me know when you're finished and I can take care of the Spring stuff before the merge with trunk.
Great. Then I'll try to fix most compilation errors tonight if I can. I'll be back likely in 5 hrs later. Could you review again in case you missed something if was just a quick look? ;) And I'll appreciate any idea on the utility classes if you have any.
Reassign to Trustin since he's already working on this issue.
About the utility classes. Why not have a DefaultIoFilterChainBuilder which has all the add/remove methods IoFilterChain has. Internally it will keep a list of IoFilters. In DefaultIoFilterChainBuilder.build(chain) the filters in the internal list would simply be added last to the chain being built.
The SimpleServiceRegistry would use DefaultIoFilterChainBuilder which would make it quite simple to migrate old code: reg.getAcceptor( TransportType.SOCKET ).getFilterChain().addLast( "foo", fooFilter ) would become ( ( DefaultIoFilterChainBuilder ) reg.getAcceptor( TransportType.SOCKET ).getFilterChainBuilder() ).addLast( "foo", fooFilter ) Instead of the NOOP chain builder the concrete SessionManagers which come with MINA could use DefaultIoFilterChainBuilder by default. All changes have been made as we specified here.
|
||||||||||||||||||||||||||||||||||||||||||||||||||
DIRMINA-121,DIRMINA-122) I checked in my works into branches/chain_refactoringPlease review this diff log:
http://svn.apache.org/viewcvs?rev=349659&view=rev
The changes are not complete, but I checked in anyway after I saw you assign this issue to yourself. It will work fine only if we clear the compilation errors. What we need to do is to provide a few utility classes which helps users to create a IoFilterChainBuilder easily.
Please let me know what you think.