[ http://jira.codehaus.org/browse/MCHANGES-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=270212#comment-270212 ]
Benson Margulies commented on MCHANGES-259: ------------------------------------------- 1. Enums. For each constant listed in the enum, there is one instance for the entire JVM. It has whatever fields and methods you declare on the enum. So, you are declaring a collection of named singletons which have a common contract. 2. Here's the modularity dilemma as I saw it. If we want to seriously support multiple IMSs, there is a lot of work to do. The comment at the top that we only support 'changes + 1' is there for a good reason given the code. So, I felt that I either had to tackle the big job of actually making it operate on and iterate over multiple systems, or I wanted to enforce the restriction. Now, I could scope the creation and use of the new object(s) to within the blocks for the individual IMSs, I realize, and leave things no worse off then they were. I'll do that. 3. If you prefer an interface, I think I'll rename the class from Abstract to Default, and add the interface. Unless you prefer the non-JIRA case to start out with no mappings, in which case I'd add the JIRA subclass. Generally, I want to point out that this whole business is somewhat off to one side of the patch that started all this. All IMSes that I know are configurable. So, with or without this stuff, we still need to keep the original patch code that allows the user to configure their own mappings. I wonder if we should release what's currently checked in before continuing with any variation on this. > Create modularity for supporting multiple issue management systems > ------------------------------------------------------------------ > > Key: MCHANGES-259 > URL: http://jira.codehaus.org/browse/MCHANGES-259 > Project: Maven 2.x Changes Plugin > Issue Type: Improvement > Components: other issue-trackers > Affects Versions: 2.5 > Reporter: Benson Margulies > Assignee: Benson Margulies > Attachments: MCHANGES-259.patch > > > In discussion of MCHANGES-245, Dennis notes the need for some global > modularity for capturing the behavior of the different issue management > systems. I'm creating this JIRA as a hat-rack to hang this work off of. > My plan is to start by creating something very simple in the way of an > abstract class, which can be elaborated as we go. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira