Hi Synapse-Devs, Since more than a year I've been actively following the Synapse users and dev mailings lists. Some of you may have also noticed my efforts to improve Synapse from a user's perspective by reporting bugs and submitting feature requests including implementation ideas and minor code contributions. I would like to extend this support in the direction of active code development. As a starting point I checked out Synapse trunk, imported the projects into Eclipse and activated my normal development toolset (Findbugs, PMD, Checkstyle, EclEmma). Well by having a look at the number of potential code problems I think there is some room for improvements (as always). ;-)
I have seen you guys are using the great Hudson project as your CI environment: http://hudson.zones.apache.org/hudson/job/Synapse%20-%20Trunk/modules Have you ever considered setting up a doc job for Synapse using the following plugins: http://wiki.hudson-ci.org/display/HUDSON/FindBugs+Plugin http://wiki.hudson-ci.org/display/HUDSON/PMD+Plugin http://wiki.hudson-ci.org/display/HUDSON/Checkstyle+Plugin http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin http://wiki.hudson-ci.org/display/HUDSON/DRY+Plugin From my personal experiences I can say it's really worth to use it, especially to always have the trends of those metrics available. You will find some examples on the pages presented above. My personal interests regarding Synapse concentrate on the http transports, Hessian application protocol usage, server management, monitoring, the improvement of error logs for faster problem recognition, full JDK 6 compatibility, and the separation of implementation and API supporting custom development of mediators. Besides this I'm willing to contribute also in other areas, but those are the ones my focus is on. The only question is where to start? I don't think it makes much sense to provide dozens of small code fixes in a great number of patches (per class or package). Too much work during review. A big patch touching too much files is even worse. Small and independent changes are important for a suitable review process. Thus I think it is best to start with small, independent features provided as a patch. As the very first start I would like to contribute a small enhancement to the Hessian message builder to detect fault messages. So I created a new JIRA for it: https://issues.apache.org/jira/browse/SYNAPSE-514 I tried to follow the conventions I have found. It would be nice if someone could review the patch and provide feedback. If you find any problems, I'll correct them. Regards, Eric