Author: jmorales
Date: Wed Aug 5 09:13:25 2009
New Revision: 801098
URL: http://svn.apache.org/viewvc?rev=801098&view=rev
Log:
[CONTINUUM-493] Allow to add all developpers address in a notifier
without duplicate developpers addresses.
Modified:
continuum/trunk/continuum-core/src/main/java/org/apache/maven/
continuum/notification/mail/MailContinuumNotifier.java
continuum/trunk/continuum-notifiers/continuum-notifier-api/src/
main/java/org/apache/maven/continuum/notification/
AbstractContinuumNotifier.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/
continuum/web/util/GenerateRecipentNotifier.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/
continuum/web/action/notifier/MailGroupNotifierEditAction.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/
continuum/web/action/notifier/MailProjectNotifierEditAction.java
continuum/trunk/continuum-webapp/src/main/resources/localization/
Continuum.properties
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/
notifier/notifierMail.jsp
Modified: continuum/trunk/continuum-core/src/main/java/org/apache/
maven/continuum/notification/mail/MailContinuumNotifier.java
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/notification/mail/MailContinuumNotifier.java?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/
continuum/notification/mail/MailContinuumNotifier.java (original)
+++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/
continuum/notification/mail/MailContinuumNotifier.java Wed Aug 5
09:13:25 2009
@@ -720,10 +720,32 @@
}
- String committerField = (String)
notifier.getConfiguration().get( COMMITTER_FIELD );
- if
( StringUtils.isNotEmpty( committerField ) &&
context.getBuildResult() != null )
+ if (context.getBuildResult() != null)
{
- if
( Boolean.parseBoolean( committerField ) )
+ String committerField = (String)
notifier.getConfiguration().get(COMMITTER_FIELD);
+ String developerField = (String)
notifier.getConfiguration().get(DEVELOPER_FIELD);
+ // Developers constains committers.
+ if
(StringUtils.isNotEmpty(developerField) &&
Boolean.parseBoolean(developerField))
+ {
+ List<ProjectDeveloper> developers =
project.getDevelopers();
+ if (developers == null ||
developers.isEmpty())
+ {
+ log.warn("No developers have
been configured...notifcation email will not be sent");
+ return;
+ }
+ Map<String, String>
developerToEmailMap = mapDevelopersToRecipients(developers);
+ for (String email :
developerToEmailMap.values())
+ {
+ if (!
listRecipents.contains(email.trim()))
+ {
+ InternetAddress to = new
InternetAddress(email.trim());
+ log.info("Recipient: To '"
+ to + "'.");
+
message.addRecipient(Message.RecipientType.TO, to);
+
listRecipents.add(email.trim());
+ }
+ }
+ }
+ else if
(StringUtils.isNotEmpty(committerField) &&
Boolean.parseBoolean(committerField))
{
ScmResult scmResult =
context.getBuildResult().getScmResult();
if ( scmResult != null &&
scmResult.getChanges() != null &&
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-api/
src/main/java/org/apache/maven/continuum/notification/
AbstractContinuumNotifier.java
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-api/src/main/java/org/apache/maven/continuum/notification/AbstractContinuumNotifier.java?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-api/src/
main/java/org/apache/maven/continuum/notification/
AbstractContinuumNotifier.java (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-api/src/
main/java/org/apache/maven/continuum/notification/
AbstractContinuumNotifier.java Wed Aug 5 09:13:25 2009
@@ -49,6 +49,8 @@
public static final String COMMITTER_FIELD = "committers";
+ public static final String DEVELOPER_FIELD = "developers";
+
private static final Logger log =
LoggerFactory.getLogger( AbstractContinuumNotifier.class );
@Resource
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/
continuum/web/util/GenerateRecipentNotifier.java
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/util/GenerateRecipentNotifier.java?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/
continuum/web/util/GenerateRecipentNotifier.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/
continuum/web/util/GenerateRecipentNotifier.java Wed Aug 5 09:13:25
2009
@@ -62,6 +62,15 @@
}
}
}
+ if
(StringUtils
.isNotEmpty
(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD))) {
+ if
(Boolean
.parseBoolean
(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD))) {
+ if ("unknown".equals(recipent)) {
+ recipent = "project developers";
+ } else {
+ recipent += ", " + "project developers";
+ }
+ }
+ }
}
if ( "irc".equals( notifier.getType() ) )
{
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/
maven/continuum/web/action/notifier/MailGroupNotifierEditAction.java
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailGroupNotifierEditAction.java?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/
continuum/web/action/notifier/MailGroupNotifierEditAction.java
(original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/
continuum/web/action/notifier/MailGroupNotifierEditAction.java Wed
Aug 5 09:13:25 2009
@@ -43,6 +43,8 @@
private boolean committers;
+ private boolean developers;
+
protected void initConfiguration( Map<String, String>
configuration )
{
if
( StringUtils
.isNotEmpty
( configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
@@ -54,6 +56,11 @@
{
committers =
Boolean
.parseBoolean
( configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) );
}
+
+ if
(StringUtils
.isNotEmpty
(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD)))
+ {
+ developers =
Boolean
.parseBoolean
(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD));
+ }
}
protected void setNotifierConfiguration( ProjectNotifier
notifier )
@@ -67,6 +74,8 @@
configuration.put( AbstractContinuumNotifier.COMMITTER_FIELD,
String.valueOf( committers ) );
+
configuration.put(AbstractContinuumNotifier.DEVELOPER_FIELD,
String.valueOf(developers));
+
notifier.setConfiguration( configuration );
}
@@ -89,4 +98,14 @@
{
this.committers = committers;
}
+
+ public boolean isDevelopers()
+ {
+ return developers;
+ }
+
+ public void setDevelopers(boolean developers)
+ {
+ this.developers = developers;
+ }
}
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/
maven/continuum/web/action/notifier/MailProjectNotifierEditAction.java
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailProjectNotifierEditAction.java?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/
continuum/web/action/notifier/MailProjectNotifierEditAction.java
(original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/
continuum/web/action/notifier/MailProjectNotifierEditAction.java Wed
Aug 5 09:13:25 2009
@@ -43,6 +43,8 @@
private boolean committers;
+ private boolean developers;
+
protected void initConfiguration( Map<String, String>
configuration )
{
if
( StringUtils
.isNotEmpty
( configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
@@ -54,6 +56,11 @@
{
committers =
Boolean
.parseBoolean
( configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) );
}
+
+ if
(StringUtils
.isNotEmpty
(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD)))
+ {
+ developers =
Boolean
.parseBoolean
(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD));
+ }
}
protected void setNotifierConfiguration( ProjectNotifier
notifier )
@@ -67,6 +74,8 @@
configuration.put( AbstractContinuumNotifier.COMMITTER_FIELD,
String.valueOf( committers ) );
+
configuration.put(AbstractContinuumNotifier.DEVELOPER_FIELD,
String.valueOf(developers));
+
notifier.setConfiguration( configuration );
}
@@ -89,4 +98,14 @@
{
this.committers = committers;
}
+
+ public boolean isDevelopers()
+ {
+ return developers;
+ }
+
+ public void setDevelopers(boolean developers)
+ {
+ this.developers = developers;
+ }
}
Modified: continuum/trunk/continuum-webapp/src/main/resources/
localization/Continuum.properties
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-webapp/src/main/resources/localization/
Continuum.properties (original)
+++ continuum/trunk/continuum-webapp/src/main/resources/localization/
Continuum.properties Wed Aug 5 09:13:25 2009
@@ -501,6 +501,7 @@
notifier.type.label = Type
notifier.mail.recipient.address.label = Mail Recipient Address
notifier.mail.recipient.committers.label = Send a mail to latest
committers
+notifier.mail.recipient.developers.label = Send a mail to project
developers
notifier.irc.host.label = IRC Host
notifier.irc.port.label = IRC port
notifier.irc.channel.label = IRC channel
Modified: continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/
jsp/notifier/notifierMail.jsp
URL:
http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierMail.jsp?rev=801098&r1=801097&r2=801098&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/
notifier/notifierMail.jsp (original)
+++ continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/
notifier/notifierMail.jsp Wed Aug 5 09:13:25 2009
@@ -57,6 +57,7 @@
<tbody>
<s:textfield label="%
{getText('notifier.mail.recipient.address.label')}" name="address" />
<s:checkbox label="%
{getText('notifier.mail.recipient.committers.label')}"
name="committers" value="committers" fieldValue="true"/>
+ <s:checkbox label="%
{getText('notifier.mail.recipient.developers.label')}"
name="developers" value="developers" fieldValue="true"/>
<s:checkbox label="%
{getText('notifier.event.sendOnSuccess')}" name="sendOnSuccess"
value="sendOnSuccess" fieldValue="true"/>
<s:checkbox label="%
{getText('notifier.event.sendOnFailure')}" name="sendOnFailure"
value="sendOnFailure" fieldValue="true"/>
<s:checkbox label="%
{getText('notifier.event.sendOnError')}" name="sendOnError"
value="sendOnError" fieldValue="true"/>