[ 
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

        

Reply via email to