Hi,
I think this is very confusing... the developers/committers are
checkboxes meaning both can be ticked - but since the committers are a
subset that no longer means anything. It took me a while to figure out
why the code was skipping that bit.
Do you think we can make this clearer from the UI / code comments in
some way?
- Brett
On 05/08/2009, at 5:13 AM, jmorales@apache.org wrote:
> 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"/>
>
>
|