Sorry, I realised I'd missed this...

On 26/08/2009, at 9:50 AM, Jose Morales wrote:

You're right,developers include commiters (this is a very brief reference in
'MailContinuumNotifier.java' when I say ' // Developers constains
committers.', all I see is not clear, so I will update comments in code) in the code this is handled correctly, but does not showed in any way in UI. A possible solution would be a 'select' where you could select 'developers / commiters', another option would be a comment on an info icon or improve
documentation.

Do you have any suggestions for UI?

How about disable and implicitly select "committers" whenever developers is checked and re-enable when unchecked?

- Brett


2009/8/22 Brett Porter <[email protected]>

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, [email protected] 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"/>






--

--------
Jose

Reply via email to