Actual implementation

After a general look at notification process, I think it isn't well implemented. I see that some specific code for each notifier are hard coded in several classes like :

It isn't simple to add a new notifier in continuum, so we need to refactor the notification mechanism.
I don't understand why we have <address> under <notifier> in pom. It isn't use by all notifier. I think we must use it in <configuration> instead when it's necessary.

I think we should have a the same structure in ContinuumProject as we do in MavenProject for the notifiers. So a list of notifiers, where each notifier specifies a type and a configuration. I believe you are correct in that the address field isn't required. So in the m2 project builder we simply copy over the notifiers from the MavenProject to the MavenTwoProject (extends ContinuumProject). For the m1 project builder we can create a Notifier list on the fly using the nag email address in the m1 project. We can also do the same with the ant/shell projects as an email address is specified for now. We will want to make this more flexible so that the user can select from the available notification mechanisms but cleaning this up and allowing for it in the near future I think will suffice in this round of refactoring. (jvz)

Proposal:

Desirable but this can come a bit later