It works nicely :-) Thanks Hadrian ... On Dec 17, 2007 2:19 PM, Hadrian Zbarcea (JIRA) <[EMAIL PROTECTED]> wrote:
> > [ > https://issues.apache.org/activemq/browse/CAMEL-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40866] > > Hadrian Zbarcea commented on CAMEL-262: > --------------------------------------- > > You can use `patch -p 3 < patch.txt` from the base dir of your local copy. > > > Remove Design Tangles in componts file and impl > > ----------------------------------------------- > > > > Key: CAMEL-262 > > URL: https://issues.apache.org/activemq/browse/CAMEL-262 > > Project: Apache Camel > > Issue Type: Improvement > > Components: camel-core > > Reporter: Christian Schneider > > Assignee: Guillaume Nodet > > Fix For: 1.3.0 > > > > Attachments: new-no tangle in impl Main cluster (30).png, > new-only one dependency left in components file Main cluster (2).png, > patch.txt, tangle in componts file Main cluster (13).png, tangle in impl > Main cluster (26).png > > > > > > I have used structure101 on camel and found some design tangles that are > quite easy to resolve. > > The first is in impl. Defaultcomponent contains a special case to handle > ScheduledPollEndpoint. As they reference each other there is a dependency > tangle. I have attached a screenshot from struture101 with current and > suggested status. > > This is the current code: > > if (endpoint instanceof ScheduledPollEndpoint) { > > ScheduledPollEndpoint scheduledPollEndpoint = > (ScheduledPollEndpoint)endpoint; > > scheduledPollEndpoint.configureProperties(parameters); > > } > > My suggestion is to add configureProperties to Endpoint and > DefaultEndpoint. So any endpoint offers this useful method. The code is then > simpler and the tangle is resolved: > > endpoint.configureProperties(parameters); > > The second tangle is in components file. The package file and strategy > reference each other heavily. I have attached screenshots of the tangle. > > This is because The strategies are configured directly in Endpoint > (package file). My suggestion is to create a factory inside the package > strategy. So there is only on dependency from file to strategy. Another > reason is that the FileProcessStrategy interface is in the strategy package. > I think this interface belongs to the package file. Using these two changes > I managed to reduce the dependencies between strategy and file from 12/17 to > 8/1. This makes the code much easier to grasp as you can understand the > packages separately. > > I have attached a patch and screenshots for both issues. > > What do you think? > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
