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"/>