You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2008/07/08 07:17:36 UTC
svn commit: r674722 [2/2] - in /continuum/trunk: ./
continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/
continuum-core/
continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/
continuum-core/src/main/...
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-irc/src/main/java/org/apache/maven/continuum/notification/irc/IrcContinuumNotifier.java Mon Jul 7 22:17:34 2008
@@ -27,9 +27,10 @@
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.notification.MessageContext;
+import org.apache.maven.continuum.notification.NotificationException;
import org.apache.maven.continuum.project.ContinuumProjectState;
import org.apache.maven.continuum.store.ContinuumStore;
-import org.codehaus.plexus.notification.NotificationException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable;
import org.codehaus.plexus.util.StringUtils;
import org.schwering.irc.lib.IRCConnection;
@@ -39,27 +40,28 @@
import org.schwering.irc.lib.IRCUser;
import org.schwering.irc.lib.ssl.SSLDefaultTrustManager;
import org.schwering.irc.lib.ssl.SSLIRCConnection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
/**
* <b>This implementation assumes there aren't concurrent acces to the IRCConnection</b>
*
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @version $Id$
- * @plexus.component role="org.codehaus.plexus.notification.notifier.Notifier" role-hint="irc"
+ * @plexus.component role="org.apache.maven.continuum.notification.Notifier" role-hint="irc"
*/
public class IrcContinuumNotifier
extends AbstractContinuumNotifier
implements Disposable
{
+ private Logger log = LoggerFactory.getLogger( getClass() );
+
// ----------------------------------------------------------------------
// Requirements
// ----------------------------------------------------------------------
@@ -67,8 +69,8 @@
/**
* @plexus.requirement role-hint="jdo"
*/
- private ContinuumStore store;
-
+ private ContinuumStore store;
+
/**
* @plexus.requirement
*/
@@ -93,9 +95,8 @@
public void dispose()
{
// cleanup connections
- for ( Iterator<String> keys = hostConnections.keySet().iterator(); keys.hasNext(); )
+ for ( String key : hostConnections.keySet() )
{
- String key = keys.next();
IRCConnection connection = hostConnections.get( key );
if ( connection.isConnected() )
{
@@ -221,19 +222,21 @@
// Notifier Implementation
// ----------------------------------------------------------------------
+ public String getType()
+ {
+ return "irc";
+ }
- public void sendNotification( String source, Set recipients, Map configuration, Map context )
+ public void sendMessage( String messageId, MessageContext context )
throws NotificationException
{
- Project project = (Project) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT );
+ Project project = context.getProject();
- ProjectNotifier projectNotifier =
- (ProjectNotifier) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT_NOTIFIER );
+ List<ProjectNotifier> notifiers = context.getNotifiers();
- BuildDefinition buildDefinition = (BuildDefinition) context
- .get( ContinuumNotificationDispatcher.CONTEXT_BUILD_DEFINITION );
+ BuildDefinition buildDefinition = context.getBuildDefinition();
- BuildResult build = (BuildResult) context.get( ContinuumNotificationDispatcher.CONTEXT_BUILD );
+ BuildResult build = context.getBuildResult();
// ----------------------------------------------------------------------
// If there wasn't any building done, don't notify
@@ -250,9 +253,12 @@
try
{
- if ( source.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
+ if ( messageId.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
{
- buildComplete( project, projectNotifier, build, buildDefinition, configuration );
+ for ( ProjectNotifier notifier : notifiers )
+ {
+ buildComplete( project, notifier, build, buildDefinition );
+ }
}
}
catch ( ContinuumException e )
@@ -262,7 +268,7 @@
}
private void buildComplete( Project project, ProjectNotifier projectNotifier, BuildResult build,
- BuildDefinition buildDef, Map configuration )
+ BuildDefinition buildDef )
throws ContinuumException, NotificationException
{
// ----------------------------------------------------------------------
@@ -270,6 +276,7 @@
// ----------------------------------------------------------------------
BuildResult previousBuild = getPreviousBuild( project, buildDef, build );
+ Map<String, String> configuration = projectNotifier.getConfiguration();
if ( !shouldNotify( build, previousBuild, projectNotifier ) )
{
@@ -280,47 +287,47 @@
// Gather configuration values
// ----------------------------------------------------------------------
- String host = (String) configuration.get( "host" );
+ String host = configuration.get( "host" );
- String portAsString = (String) configuration.get( "port" );
+ String portAsString = configuration.get( "port" );
int port = defaultPort;
if ( portAsString != null )
{
port = Integer.parseInt( portAsString );
}
- String channel = (String) configuration.get( "channel" );
+ String channel = configuration.get( "channel" );
- String nickName = (String) configuration.get( "nick" );
+ String nickName = configuration.get( "nick" );
if ( StringUtils.isEmpty( nickName ) )
{
nickName = "continuum";
}
- String alternateNickName = (String) configuration.get( "alternateNick" );
+ String alternateNickName = configuration.get( "alternateNick" );
if ( StringUtils.isEmpty( alternateNickName ) )
{
alternateNickName = "continuum_";
}
- String userName = (String) configuration.get( "username" );
+ String userName = configuration.get( "username" );
if ( StringUtils.isEmpty( userName ) )
{
userName = nickName;
}
- String fullName = (String) configuration.get( "fullName" );
+ String fullName = configuration.get( "fullName" );
if ( StringUtils.isEmpty( fullName ) )
{
fullName = nickName;
}
- String password = (String) configuration.get( "password" );
+ String password = configuration.get( "password" );
- boolean isSsl = Boolean.parseBoolean( (String) configuration.get( "ssl" ) );
+ boolean isSsl = Boolean.parseBoolean( configuration.get( "ssl" ) );
try
{
@@ -360,7 +367,7 @@
}
else
{
- getLogger().warn( "Unknown build state " + state + " for project " + project.getId() );
+ log.warn( "Unknown build state " + state + " for project " + project.getId() );
message = "ERROR: Unknown build state " + state + " for " + project.getName() + " project";
}
@@ -369,15 +376,6 @@
}
/**
- * @see org.codehaus.plexus.notification.notifier.Notifier#sendNotification(java.lang.String,java.util.Set,java.util.Properties)
- */
- public void sendNotification( String arg0, Set arg1, Properties arg2 )
- throws NotificationException
- {
- throw new NotificationException( "Not implemented." );
- }
-
- /**
* Treats IRC events. The most of them are just printed.
*/
class Listener
@@ -398,27 +396,27 @@
public void onRegistered()
{
- getLogger().info( "Connected" );
+ log.info( "Connected" );
}
public void onDisconnected()
{
- getLogger().info( "Disconnected" );
+ log.info( "Disconnected" );
}
public void onError( String msg )
{
- getLogger().error( "Error: " + msg );
+ log.error( "Error: " + msg );
}
public void onError( int num, String msg )
{
- getLogger().error( "Error #" + num + ": " + msg );
+ log.error( "Error #" + num + ": " + msg );
if ( num == IRCConstants.ERR_NICKNAMEINUSE )
{
if ( alternateNick != null )
{
- getLogger().info( "reconnection with alternate nick: '" + alternateNick + "'" );
+ log.info( "reconnection with alternate nick: '" + alternateNick + "'" );
try
{
boolean ssl = false;
@@ -441,77 +439,113 @@
public void onInvite( String chan, IRCUser u, String nickPass )
{
- getLogger().debug( chan + "> " + u.getNick() + " invites " + nickPass );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + " invites " + nickPass );
+ }
}
public void onJoin( String chan, IRCUser u )
{
- getLogger().debug( chan + "> " + u.getNick() + " joins" );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + " joins" );
+ }
}
public void onKick( String chan, IRCUser u, String nickPass, String msg )
{
- getLogger().debug( chan + "> " + u.getNick() + " kicks " + nickPass );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + " kicks " + nickPass );
+ }
}
public void onMode( IRCUser u, String nickPass, String mode )
{
- getLogger().debug( "Mode: " + u.getNick() + " sets modes " + mode + " " + nickPass );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Mode: " + u.getNick() + " sets modes " + mode + " " + nickPass );
+ }
}
public void onMode( String chan, IRCUser u, IRCModeParser mp )
{
- getLogger().debug( chan + "> " + u.getNick() + " sets mode: " + mp.getLine() );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + " sets mode: " + mp.getLine() );
+ }
}
public void onNick( IRCUser u, String nickNew )
{
- getLogger().debug( "Nick: " + u.getNick() + " is now known as " + nickNew );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Nick: " + u.getNick() + " is now known as " + nickNew );
+ }
}
public void onNotice( String target, IRCUser u, String msg )
{
- getLogger().info( target + "> " + u.getNick() + " (notice): " + msg );
+ log.info( target + "> " + u.getNick() + " (notice): " + msg );
}
public void onPart( String chan, IRCUser u, String msg )
{
- getLogger().debug( chan + "> " + u.getNick() + " parts" );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + " parts" );
+ }
}
public void onPrivmsg( String chan, IRCUser u, String msg )
{
- getLogger().debug( chan + "> " + u.getNick() + ": " + msg );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + ": " + msg );
+ }
}
public void onQuit( IRCUser u, String msg )
{
- getLogger().debug( "Quit: " + u.getNick() );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Quit: " + u.getNick() );
+ }
}
public void onReply( int num, String value, String msg )
{
- getLogger().info( "Reply #" + num + ": " + value + " " + msg );
+ log.info( "Reply #" + num + ": " + value + " " + msg );
}
public void onTopic( String chan, IRCUser u, String topic )
{
- getLogger().debug( chan + "> " + u.getNick() + " changes topic into: " + topic );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( chan + "> " + u.getNick() + " changes topic into: " + topic );
+ }
}
public void onPing( String p )
{
- getLogger().debug( "Ping:" + p );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Ping:" + p );
+ }
}
public void unknown( String a, String b, String c, String d )
{
- getLogger().debug( "UNKNOWN: " + a + " b " + c + " " + d );
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "UNKNOWN: " + a + " b " + c + " " + d );
+ }
}
}
protected ContinuumStore getContinuumStore()
{
return this.store;
- }
+ }
}
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-jabber/src/main/java/org/apache/maven/continuum/notification/jabber/JabberContinuumNotifier.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-jabber/src/main/java/org/apache/maven/continuum/notification/jabber/JabberContinuumNotifier.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-jabber/src/main/java/org/apache/maven/continuum/notification/jabber/JabberContinuumNotifier.java (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-jabber/src/main/java/org/apache/maven/continuum/notification/jabber/JabberContinuumNotifier.java Mon Jul 7 22:17:34 2008
@@ -27,15 +27,18 @@
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.notification.MessageContext;
+import org.apache.maven.continuum.notification.NotificationException;
import org.apache.maven.continuum.project.ContinuumProjectState;
import org.codehaus.plexus.jabber.JabberClient;
import org.codehaus.plexus.jabber.JabberClientException;
-import org.codehaus.plexus.notification.NotificationException;
+import org.codehaus.plexus.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -44,6 +47,8 @@
public class JabberContinuumNotifier
extends AbstractContinuumNotifier
{
+ private Logger log = LoggerFactory.getLogger( getClass() );
+
// ----------------------------------------------------------------------
// Requirements
// ----------------------------------------------------------------------
@@ -96,19 +101,19 @@
// Notifier Implementation
// ----------------------------------------------------------------------
- public void sendNotification( String source, Set recipients, Map configuration, Map context )
- throws NotificationException
+ public String getType()
{
- Project project = (Project) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT );
-
- ProjectNotifier projectNotifier =
- (ProjectNotifier) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT_NOTIFIER );
-
- BuildDefinition buildDefinition = (BuildDefinition) context
- .get( ContinuumNotificationDispatcher.CONTEXT_BUILD_DEFINITION );
+ return "jabber";
+ }
- BuildResult build = (BuildResult) context.get( ContinuumNotificationDispatcher.CONTEXT_BUILD );
+ public void sendMessage( String messageId, MessageContext context )
+ throws NotificationException
+ {
+ Project project = context.getProject();
+ List<ProjectNotifier> notifiers = context.getNotifiers();
+ BuildDefinition buildDefinition = context.getBuildDefinition();
+ BuildResult build = context.getBuildResult();
// ----------------------------------------------------------------------
// If there wasn't any building done, don't notify
// ----------------------------------------------------------------------
@@ -122,9 +127,19 @@
//
// ----------------------------------------------------------------------
+ List<String> recipients = new ArrayList<String>();
+ for ( ProjectNotifier notifier : notifiers )
+ {
+ Map<String, String> configuration = notifier.getConfiguration();
+ if ( configuration != null && StringUtils.isNotEmpty( configuration.get( ADDRESS_FIELD ) ) )
+ {
+ recipients.add( configuration.get( ADDRESS_FIELD ) );
+ }
+ }
+
if ( recipients.size() == 0 )
{
- getLogger().info( "No Jabber recipients for '" + project.getName() + "'." );
+ log.info( "No Jabber recipients for '" + project.getName() + "'." );
return;
}
@@ -133,9 +148,12 @@
//
// ----------------------------------------------------------------------
- if ( source.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
+ if ( messageId.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
{
- sendMessage( project, projectNotifier, build, recipients, buildDefinition, configuration );
+ for ( ProjectNotifier notifier : notifiers )
+ {
+ sendMessage( project, notifier, build, buildDefinition );
+ }
}
}
@@ -169,7 +187,7 @@
}
else
{
- getLogger().warn( "Unknown build state " + state + " for project " + project.getId() );
+ log.warn( "Unknown build state " + state + " for project " + project.getId() );
message = "ERROR: Unknown build state " + state + " for " + project.getName() + " project";
}
@@ -177,8 +195,7 @@
return message + " " + getReportUrl( project, build, configurationService );
}
- private void sendMessage( Project project, ProjectNotifier projectNotifier, BuildResult build, Set recipients,
- BuildDefinition buildDef, Map configuration )
+ private void sendMessage( Project project, ProjectNotifier notifier, BuildResult build, BuildDefinition buildDef )
throws NotificationException
{
String message;
@@ -189,7 +206,7 @@
BuildResult previousBuild = getPreviousBuild( project, buildDef, build );
- if ( !shouldNotify( build, previousBuild, projectNotifier ) )
+ if ( !shouldNotify( build, previousBuild, notifier ) )
{
return;
}
@@ -203,17 +220,17 @@
throw new NotificationException( "Can't generate the message.", e );
}
- jabberClient.setHost( getHost( configuration ) );
+ jabberClient.setHost( getHost( notifier.getConfiguration() ) );
- jabberClient.setPort( getPort( configuration ) );
+ jabberClient.setPort( getPort( notifier.getConfiguration() ) );
- jabberClient.setUser( getUsername( configuration ) );
+ jabberClient.setUser( getUsername( notifier.getConfiguration() ) );
- jabberClient.setPassword( getPassword( configuration ) );
+ jabberClient.setPassword( getPassword( notifier.getConfiguration() ) );
- jabberClient.setImDomainName( getImDomainName( configuration ) );
+ jabberClient.setImDomainName( getImDomainName( notifier.getConfiguration() ) );
- jabberClient.setSslConnection( isSslConnection( configuration ) );
+ jabberClient.setSslConnection( isSslConnection( notifier.getConfiguration() ) );
try
{
@@ -221,17 +238,21 @@
jabberClient.logon();
- for ( Iterator i = recipients.iterator(); i.hasNext(); )
+ if ( notifier.getConfiguration() != null &&
+ StringUtils.isNotEmpty( (String) notifier.getConfiguration().get( ADDRESS_FIELD ) ) )
{
- String recipient = (String) i.next();
-
- if ( isGroup( configuration ) )
+ String address = (String) notifier.getConfiguration().get( ADDRESS_FIELD );
+ String[] recipients = StringUtils.split( address, "," );
+ for ( String recipient : recipients )
{
- jabberClient.sendMessageToGroup( recipient, message );
- }
- else
- {
- jabberClient.sendMessageToUser( recipient, message );
+ if ( isGroup( notifier.getConfiguration() ) )
+ {
+ jabberClient.sendMessageToGroup( recipient, message );
+ }
+ else
+ {
+ jabberClient.sendMessageToUser( recipient, message );
+ }
}
}
}
@@ -252,12 +273,6 @@
}
}
- public void sendNotification( String arg0, Set arg1, Properties arg2 )
- throws NotificationException
- {
- throw new NotificationException( "Not implemented." );
- }
-
private String getHost( Map configuration )
{
if ( configuration.containsKey( "host" ) )
@@ -290,7 +305,7 @@
}
catch ( NumberFormatException e )
{
- getLogger().error( "jabber port isn't a number.", e );
+ log.error( "jabber port isn't a number.", e );
}
}
@@ -357,25 +372,11 @@
private boolean isGroup( Map configuration )
{
- if ( configuration.containsKey( "isGroup" ) )
- {
- return convertBoolean( (String) configuration.get( "isGroup" ) );
- }
- else
- {
- return false;
- }
+ return configuration.containsKey( "isGroup" ) && convertBoolean( (String) configuration.get( "isGroup" ) );
}
private boolean convertBoolean( String value )
{
- if ( "true".equalsIgnoreCase( value ) || "on".equalsIgnoreCase( value ) || "yes".equalsIgnoreCase( value ) )
- {
- return true;
- }
- else
- {
- return false;
- }
+ return "true".equalsIgnoreCase( value ) || "on".equalsIgnoreCase( value ) || "yes".equalsIgnoreCase( value );
}
}
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-msn/src/main/java/org/apache/maven/continuum/notification/msn/MsnContinuumNotifier.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-msn/src/main/java/org/apache/maven/continuum/notification/msn/MsnContinuumNotifier.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-msn/src/main/java/org/apache/maven/continuum/notification/msn/MsnContinuumNotifier.java (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-msn/src/main/java/org/apache/maven/continuum/notification/msn/MsnContinuumNotifier.java Mon Jul 7 22:17:34 2008
@@ -27,12 +27,17 @@
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.notification.MessageContext;
+import org.apache.maven.continuum.notification.NotificationException;
import org.apache.maven.continuum.project.ContinuumProjectState;
import org.codehaus.plexus.msn.MsnClient;
import org.codehaus.plexus.msn.MsnException;
-import org.codehaus.plexus.notification.NotificationException;
+import org.codehaus.plexus.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -44,6 +49,8 @@
public class MsnContinuumNotifier
extends AbstractContinuumNotifier
{
+ private Logger log = LoggerFactory.getLogger( getClass() );
+
// ----------------------------------------------------------------------
// Requirements
// ----------------------------------------------------------------------
@@ -80,18 +87,21 @@
// Notifier Implementation
// ----------------------------------------------------------------------
- public void sendNotification( String source, Set recipients, Map configuration, Map context )
+ public String getType()
+ {
+ return "irc";
+ }
+
+ public void sendMessage( String messageId, MessageContext context )
throws NotificationException
{
- Project project = (Project) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT );
+ Project project = context.getProject();
- ProjectNotifier projectNotifier =
- (ProjectNotifier) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT_NOTIFIER );
+ List<ProjectNotifier> notifiers = context.getNotifiers();
- BuildDefinition buildDefinition = (BuildDefinition) context
- .get( ContinuumNotificationDispatcher.CONTEXT_BUILD_DEFINITION );
+ BuildDefinition buildDefinition = context.getBuildDefinition();
- BuildResult build = (BuildResult) context.get( ContinuumNotificationDispatcher.CONTEXT_BUILD );
+ BuildResult build = context.getBuildResult();
// ----------------------------------------------------------------------
// If there wasn't any building done, don't notify
@@ -106,9 +116,18 @@
//
// ----------------------------------------------------------------------
+ List<String> recipients = new ArrayList<String>();
+ for ( ProjectNotifier notifier : notifiers )
+ {
+ Map<String, String> configuration = notifier.getConfiguration();
+ if ( configuration != null && StringUtils.isNotEmpty( configuration.get( ADDRESS_FIELD ) ) )
+ {
+ recipients.add( configuration.get( ADDRESS_FIELD ) );
+ }
+ }
if ( recipients.size() == 0 )
{
- getLogger().info( "No MSN recipients for '" + project.getName() + "'." );
+ log.info( "No MSN recipients for '" + project.getName() + "'." );
return;
}
@@ -117,9 +136,12 @@
//
// ----------------------------------------------------------------------
- if ( source.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
+ if ( messageId.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
{
- buildComplete( project, projectNotifier, build, recipients, buildDefinition, configuration );
+ for ( ProjectNotifier notifier : notifiers )
+ {
+ buildComplete( project, notifier, build, buildDefinition );
+ }
}
}
@@ -153,7 +175,7 @@
}
else
{
- getLogger().warn( "Unknown build state " + state + " for project " + project.getId() );
+ log.warn( "Unknown build state " + state + " for project " + project.getId() );
message = "ERROR: Unknown build state " + state + " for " + project.getName() + " project";
}
@@ -161,8 +183,7 @@
return message + " " + getReportUrl( project, build, configurationService );
}
- private void buildComplete( Project project, ProjectNotifier projectNotifier, BuildResult build, Set recipients,
- BuildDefinition buildDef, Map configuration )
+ private void buildComplete( Project project, ProjectNotifier notifier, BuildResult build, BuildDefinition buildDef )
throws NotificationException
{
String message;
@@ -173,7 +194,7 @@
BuildResult previousBuild = getPreviousBuild( project, buildDef, build );
- if ( !shouldNotify( build, previousBuild, projectNotifier ) )
+ if ( !shouldNotify( build, previousBuild, notifier ) )
{
return;
}
@@ -187,19 +208,23 @@
throw new NotificationException( "Can't generate the message.", e );
}
- msnClient.setLogin( getUsername( configuration ) );
+ msnClient.setLogin( getUsername( notifier.getConfiguration() ) );
- msnClient.setPassword( getPassword( configuration ) );
+ msnClient.setPassword( getPassword( notifier.getConfiguration() ) );
try
{
msnClient.login();
- for ( Iterator i = recipients.iterator(); i.hasNext(); )
+ if ( notifier.getConfiguration() != null &&
+ StringUtils.isNotEmpty( (String) notifier.getConfiguration().get( ADDRESS_FIELD ) ) )
{
- String recipient = (String) i.next();
-
- msnClient.sendMessage( recipient, message );
+ String address = (String) notifier.getConfiguration().get( ADDRESS_FIELD );
+ String[] recipients = StringUtils.split( address, "," );
+ for ( String recipient : recipients )
+ {
+ msnClient.sendMessage( recipient, message );
+ }
}
}
catch ( MsnException e )
@@ -219,15 +244,6 @@
}
}
- /**
- * @see org.codehaus.plexus.notification.notifier.Notifier#sendNotification(java.lang.String,java.util.Set,java.util.Properties)
- */
- public void sendNotification( String arg0, Set arg1, Properties arg2 )
- throws NotificationException
- {
- throw new NotificationException( "Not implemented." );
- }
-
private String getUsername( Map configuration )
{
if ( configuration.containsKey( "login" ) )
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml Mon Jul 7 22:17:34 2008
@@ -32,10 +32,6 @@
<artifactId>maven-project</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-notification</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.continuum</groupId>
<artifactId>continuum-core</artifactId>
<version>${pom.version}</version>
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java Mon Jul 7 22:17:34 2008
@@ -32,6 +32,8 @@
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.notification.MessageContext;
+import org.apache.maven.continuum.notification.NotificationException;
import org.apache.maven.model.DistributionManagement;
import org.apache.maven.model.Site;
import org.apache.maven.profiles.DefaultProfileManager;
@@ -60,22 +62,21 @@
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.notification.NotificationException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
-import java.util.Iterator;
+import java.util.List;
import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
/**
* @author <a href="mailto:hisidro@exist.com">Henry Isidro</a>
* @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
- * @plexus.component role="org.codehaus.plexus.notification.notifier.Notifier" role-hint="wagon"
+ * @plexus.component role="org.apache.maven.continuum.notification.Notifier" role-hint="wagon"
*/
public class WagonContinuumNotifier
extends AbstractContinuumNotifier
@@ -85,6 +86,8 @@
private static final String CONTEXT_MAVEN_PROJECT = "CONTEXT_MAVEN_PROJECT";
+ private Logger log = LoggerFactory.getLogger( getClass() );
+
/**
* @plexus.requirement
*/
@@ -116,18 +119,21 @@
private PlexusContainer container;
- public void sendNotification( String source, Set recipients, Map configuration, Map context )
+ public String getType()
+ {
+ return "wagon";
+ }
+
+ public void sendMessage( String messageId, MessageContext context )
throws NotificationException
{
- Project project = (Project) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT );
+ Project project = context.getProject();
- ProjectNotifier projectNotifier =
- (ProjectNotifier) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT_NOTIFIER );
+ List<ProjectNotifier> notifiers = context.getNotifiers();
- BuildResult build = (BuildResult) context.get( ContinuumNotificationDispatcher.CONTEXT_BUILD );
+ BuildResult build = context.getBuildResult();
- BuildDefinition buildDefinition =
- (BuildDefinition) context.get( ContinuumNotificationDispatcher.CONTEXT_BUILD_DEFINITION );
+ BuildDefinition buildDefinition = context.getBuildDefinition();
// ----------------------------------------------------------------------
// If there wasn't any building done, don't notify
@@ -146,11 +152,13 @@
* acquire the MavenProject associated to the Project in context
*/
MavenProject mavenProject = getMavenProject( project, buildDefinition );
- configuration.put( CONTEXT_MAVEN_PROJECT, mavenProject );
- if ( source.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
+ if ( messageId.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
{
- buildComplete( project, projectNotifier, build, configuration );
+ for ( ProjectNotifier notifier : notifiers )
+ {
+ buildComplete( notifier, build, mavenProject );
+ }
}
}
catch ( ContinuumException e )
@@ -159,20 +167,21 @@
}
}
- private void buildComplete( Project project, ProjectNotifier projectNotifier, BuildResult build, Map configuration )
+ private void buildComplete( ProjectNotifier notifier, BuildResult build, MavenProject mavenProject )
throws ContinuumException
{
- String id = null;
- String url = null;
+ String id;
+ String url;
+
+ Map<String, String> configuration = notifier.getConfiguration();
if ( configuration.containsKey( "url" ) )
{
- url = (String) configuration.get( "url" );
- id = (String) configuration.get( "id" );
+ url = configuration.get( "url" );
+ id = configuration.get( "id" );
}
else
{
- MavenProject mavenProject = (MavenProject) configuration.get( CONTEXT_MAVEN_PROJECT );
DistributionManagement distributionManagement = mavenProject.getDistributionManagement();
if ( distributionManagement == null )
@@ -216,7 +225,7 @@
try
{
- if ( getLogger().isDebugEnabled() )
+ if ( log.isDebugEnabled() )
{
Debug debug = new Debug();
@@ -283,17 +292,11 @@
}
catch ( ConnectionException e )
{
- getLogger().error( "Error disconnecting wagon - ignored", e );
+ log.error( "Error disconnecting wagon - ignored", e );
}
}
}
- public void sendNotification( String arg0, Set arg1, Properties arg2 )
- throws NotificationException
- {
- throw new NotificationException( "Not implemented." );
- }
-
private MavenProject getMavenProject( Project project, BuildDefinition buildDefinition )
throws ContinuumException
{
@@ -301,7 +304,7 @@
new File( configurationService.getWorkingDirectory(), Integer.toString( project.getId() ) );
File pomFile = new File( projectWorkingDir, buildDefinition.getBuildFile() );
- MavenProject mavenProject = null;
+ MavenProject mavenProject;
try
{
@@ -325,11 +328,11 @@
}
catch ( IOException e )
{
- getLogger().error( "Failed to get Settings", e );
+ log.error( "Failed to get Settings", e );
}
catch ( XmlPullParserException e )
{
- getLogger().error( "Failed to get Settings", e );
+ log.error( "Failed to get Settings", e );
}
}
@@ -369,9 +372,8 @@
Settings settings = getSettings();
if ( settings.getProxies() != null && !settings.getProxies().isEmpty() )
{
- for ( Iterator i = settings.getProxies().iterator(); i.hasNext(); )
+ for ( Proxy p : (List<Proxy>) settings.getProxies() )
{
- Proxy p = (Proxy) i.next();
wagonManager.addProxy( p.getProtocol(), p.getHost(), p.getPort(), p.getUsername(), p.getPassword(),
p.getNonProxyHosts() );
}
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java Mon Jul 7 22:17:34 2008
@@ -23,13 +23,10 @@
import org.apache.maven.continuum.model.project.BuildResult;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.notification.MessageContext;
+import org.apache.maven.continuum.notification.Notifier;
import org.apache.maven.continuum.project.ContinuumProjectState;
import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.notification.notifier.Notifier;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
/**
* @author <a href="mailto:nramirez@exist">Napoleon Esmundo C. Ramirez</a>
@@ -41,13 +38,7 @@
private Notifier notifier;
- private Project project;
-
- private BuildResult build;
-
- private BuildDefinition buildDefinition;
-
- private Map context;
+ private MessageContext context;
public void setUp()
@@ -56,12 +47,12 @@
super.setUp();
server = (ServletServer) lookup( ServletServer.ROLE );
- notifier = (Notifier) lookup( Notifier.ROLE, "wagon" );
+ notifier = (Notifier) lookup( Notifier.class.getName(), "wagon" );
- project = new Project();
+ Project project = new Project();
project.setId( 2 );
- build = new BuildResult();
+ BuildResult build = new BuildResult();
build.setId( 1 );
build.setProject( project );
build.setStartTime( System.currentTimeMillis() );
@@ -70,13 +61,13 @@
build.setTrigger( ContinuumProjectState.TRIGGER_FORCED );
build.setExitCode( 0 );
- buildDefinition = new BuildDefinition();
+ BuildDefinition buildDefinition = new BuildDefinition();
buildDefinition.setBuildFile( "pom.xml" );
- context = new HashMap();
- context.put( ContinuumNotificationDispatcher.CONTEXT_PROJECT, project );
- context.put( ContinuumNotificationDispatcher.CONTEXT_BUILD, build );
- context.put( ContinuumNotificationDispatcher.CONTEXT_BUILD_DEFINITION, buildDefinition );
+ context = new MessageContext();
+ context.setProject( project );
+ context.setBuildResult( build );
+ context.setBuildDefinition( buildDefinition );
String basedir = System.getProperty( "basedir" );
if ( basedir == null )
@@ -88,8 +79,7 @@
public void testSendNotification()
throws Exception
{
- notifier.sendNotification( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE, new HashSet(),
- new HashMap(), context );
+ notifier.sendMessage( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE, context );
}
protected void tearDown()
@@ -97,6 +87,4 @@
{
release( server );
}
-
-
}
Modified: continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml (original)
+++ continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml Mon Jul 7 22:17:34 2008
@@ -50,7 +50,7 @@
</component>
<component>
- <role>org.codehaus.plexus.notification.notifier.Notifier</role>
+ <role>org.apache.maven.continuum.notification.Notifier</role>
<role-hint>wagon</role-hint>
<implementation>org.apache.maven.continuum.notification.wagon.WagonContinuumNotifier</implementation>
<requirements>
Modified: continuum/trunk/continuum-notifiers/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-notifiers/pom.xml?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-notifiers/pom.xml (original)
+++ continuum/trunk/continuum-notifiers/pom.xml Mon Jul 7 22:17:34 2008
@@ -39,9 +39,5 @@
<groupId>org.apache.continuum</groupId>
<artifactId>continuum-api</artifactId>
</dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-notification</artifactId>
- </dependency>
</dependencies>
</project>
Modified: continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java (original)
+++ continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java Mon Jul 7 22:17:34 2008
@@ -19,16 +19,6 @@
* under the License.
*/
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.jdo.PersistenceManager;
-import javax.jdo.PersistenceManagerFactory;
-
import org.apache.maven.continuum.configuration.ConfigurationService;
import org.apache.maven.continuum.execution.ContinuumBuildExecutor;
import org.apache.maven.continuum.execution.ContinuumBuildExecutorConstants;
@@ -45,6 +35,15 @@
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import org.jpox.SchemaTool;
+import javax.jdo.PersistenceManager;
+import javax.jdo.PersistenceManagerFactory;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
* @version $Id$
@@ -69,11 +68,12 @@
Collection<ProjectGroup> projectGroups = store.getAllProjectGroupsWithProjects();
- assertEquals( 0, projectGroups.size() );
-
- createDefaultProjectGroup();
+ if ( projectGroups.size() == 0 ) //if ContinuumInitializer is loaded by Spring at startup, size == 1
+ {
+ createDefaultProjectGroup();
- projectGroups = store.getAllProjectGroupsWithProjects();
+ projectGroups = store.getAllProjectGroupsWithProjects();
+ }
assertEquals( 1, projectGroups.size() );
}
@@ -149,6 +149,8 @@
jdoFactory.setUrl( url );
+ jdoFactory.reconfigure();
+
// jdoFactory.setUserName( "sa" );
//
// jdoFactory.setPassword( "" );
@@ -363,7 +365,7 @@
for ( int i = 0; i < notifiers.size(); i++ )
{
- ProjectNotifier notifier = (ProjectNotifier) notifiers.get( i );
+ ProjectNotifier notifier = notifiers.get( i );
ProjectNotifier actualNotifier = (ProjectNotifier) actual.getNotifiers().get( i );
Modified: continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/jdo/MemoryJdoFactory.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/jdo/MemoryJdoFactory.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/jdo/MemoryJdoFactory.java (original)
+++ continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/jdo/MemoryJdoFactory.java Mon Jul 7 22:17:34 2008
@@ -16,4 +16,10 @@
{
this.otherProperties = otherProperties;
}
+
+ public void reconfigure()
+ {
+ configured = Boolean.FALSE;
+ getPersistenceManagerFactory();
+ }
}
Modified: continuum/trunk/continuum-test/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-test/src/main/resources/META-INF/spring-context.xml?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-test/src/main/resources/META-INF/spring-context.xml (original)
+++ continuum/trunk/continuum-test/src/main/resources/META-INF/spring-context.xml Mon Jul 7 22:17:34 2008
@@ -20,7 +20,8 @@
p:persistenceManagerFactoryClass="org.jpox.PersistenceManagerFactoryImpl"
p:driverName="org.hsqldb.jdbcDriver"
p:userName="sa"
- p:password="">
+ p:password=""
+ p:url="jdbc:hsqldb:mem:test">
<!--
<property name="persistenceManagerFactoryClass" value="org.jpox.PersistenceManagerFactoryImpl"/>
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java Mon Jul 7 22:17:34 2008
@@ -26,7 +26,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.web.action.ContinuumActionSupport;
import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
import org.apache.maven.continuum.web.model.NotifierSummary;
@@ -34,7 +34,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -66,9 +65,9 @@
*/
private ProjectGroup projectGroup;
- private List projectGroupNotifierSummaries = new ArrayList();
+ private List<NotifierSummary> projectGroupNotifierSummaries = new ArrayList<NotifierSummary>();
- private List projectNotifierSummaries = new ArrayList();
+ private List<NotifierSummary> projectNotifierSummaries = new ArrayList<NotifierSummary>();
private String projectGroupName = "";
@@ -107,7 +106,7 @@
* @param projectId The project id.
* @return
*/
- private List summarizeForProject( int projectId )
+ private List<NotifierSummary> summarizeForProject( int projectId )
throws ContinuumException
{
return gatherProjectNotifierSummaries( projectId );
@@ -128,13 +127,12 @@
projectGroupNotifierSummaries = gatherGroupNotifierSummaries();
- Collection projects = getContinuum().getProjectsInGroup( projectGroupId );
+ Collection<Project> projects = getContinuum().getProjectsInGroup( projectGroupId );
if ( projects != null )
{
- for ( Iterator i = projects.iterator(); i.hasNext(); )
+ for ( Project project : projects )
{
- Project p = (Project) i.next();
- projectNotifierSummaries.addAll( summarizeForProject( p.getId() ) );
+ projectNotifierSummaries.addAll( summarizeForProject( project.getId() ) );
}
}
}
@@ -160,15 +158,15 @@
* @throws ContinuumException if there was an error obtaining
* and preparing Notifier Summary list for the project
*/
- private List gatherProjectNotifierSummaries( int projectId )
+ private List<NotifierSummary> gatherProjectNotifierSummaries( int projectId )
throws ContinuumException
{
- List summaryList = new ArrayList();
+ List<NotifierSummary> summaryList = new ArrayList<NotifierSummary>();
Project project = getContinuum().getProjectWithAllDetails( projectId );
- for ( Iterator i = project.getNotifiers().iterator(); i.hasNext(); )
+ for ( ProjectNotifier pn : (List<ProjectNotifier>) project.getNotifiers() )
{
- NotifierSummary ns = generateProjectNotifierSummary( (ProjectNotifier) i.next(), project );
+ NotifierSummary ns = generateProjectNotifierSummary( pn, project );
summaryList.add( ns );
}
@@ -181,15 +179,15 @@
* @return
* @throws ContinuumException if there was an error fetching the {@link ProjectGroup} for specified Id.
*/
- private List gatherGroupNotifierSummaries()
+ private List<NotifierSummary> gatherGroupNotifierSummaries()
throws ContinuumException
{
- List summaryList = new ArrayList();
+ List<NotifierSummary> summaryList = new ArrayList<NotifierSummary>();
projectGroup = getContinuum().getProjectGroupWithBuildDetails( projectGroupId );
- for ( Iterator i = projectGroup.getNotifiers().iterator(); i.hasNext(); )
+ for ( ProjectNotifier pn : (List<ProjectNotifier>) projectGroup.getNotifiers() )
{
- NotifierSummary ns = generateGroupNotifierSummary( (ProjectNotifier) i.next() );
+ NotifierSummary ns = generateGroupNotifierSummary( pn );
summaryList.add( ns );
}
@@ -253,13 +251,13 @@
if ( ( "mail".equals( notifier.getType() ) ) || ( "msn".equals( notifier.getType() ) ) ||
( "jabber".equals( notifier.getType() ) ) )
{
- if ( StringUtils.isNotEmpty( (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD ) ) )
+ if ( StringUtils.isNotEmpty( (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
{
- recipient = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ recipient = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
- if ( StringUtils.isNotEmpty( (String) configuration.get( ContinuumRecipientSource.COMMITTER_FIELD ) ) )
+ if ( StringUtils.isNotEmpty( (String) configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) ) )
{
- if ( Boolean.parseBoolean( (String) configuration.get( ContinuumRecipientSource.COMMITTER_FIELD ) ) )
+ if ( Boolean.parseBoolean( (String) configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) ) )
{
if ( "unknown".equals( recipient ) )
{
@@ -381,7 +379,7 @@
/**
* @return the projectGroupNotifierSummaries
*/
- public List getProjectGroupNotifierSummaries()
+ public List<NotifierSummary> getProjectGroupNotifierSummaries()
{
return projectGroupNotifierSummaries;
}
@@ -389,7 +387,7 @@
/**
* @param projectGroupNotifierSummaries the projectGroupNotifierSummaries to set
*/
- public void setProjectGroupNotifierSummaries( List projectGroupNotifierSummaries )
+ public void setProjectGroupNotifierSummaries( List<NotifierSummary> projectGroupNotifierSummaries )
{
this.projectGroupNotifierSummaries = projectGroupNotifierSummaries;
}
@@ -397,7 +395,7 @@
/**
* @return the projectNotifierSummaries
*/
- public List getProjectNotifierSummaries()
+ public List<NotifierSummary> getProjectNotifierSummaries()
{
return projectNotifierSummaries;
}
@@ -405,7 +403,7 @@
/**
* @param projectNotifierSummaries the projectNotifierSummaries to set
*/
- public void setProjectNotifierSummaries( List projectNotifierSummaries )
+ public void setProjectNotifierSummaries( List<NotifierSummary> projectNotifierSummaries )
{
this.projectNotifierSummaries = projectNotifierSummaries;
}
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteGroupNotifierAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteGroupNotifierAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteGroupNotifierAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteGroupNotifierAction.java Mon Jul 7 22:17:34 2008
@@ -20,9 +20,9 @@
*/
import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.web.action.ContinuumActionSupport;
import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
import org.codehaus.plexus.util.StringUtils;
@@ -91,7 +91,7 @@
if ( ( "mail".equals( notifierType ) ) || ( "msn".equals( notifierType ) ) ||
( "jabber".equals( notifierType ) ) )
{
- recipient = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ recipient = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
if ( "irc".equals( notifierType ) )
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteProjectNotifierAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteProjectNotifierAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteProjectNotifierAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/DeleteProjectNotifierAction.java Mon Jul 7 22:17:34 2008
@@ -23,7 +23,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.apache.maven.continuum.web.action.ContinuumActionSupport;
import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
import org.codehaus.plexus.util.StringUtils;
@@ -102,7 +102,7 @@
if ( ( "mail".equals( notifierType ) ) || ( "msn".equals( notifierType ) ) ||
( "jabber".equals( notifierType ) ) )
{
- recipient = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ recipient = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
if ( "irc".equals( notifierType ) )
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberGroupNotifierEditAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberGroupNotifierEditAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberGroupNotifierEditAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberGroupNotifierEditAction.java Mon Jul 7 22:17:34 2008
@@ -21,7 +21,7 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import java.util.HashMap;
import java.util.Map;
@@ -69,7 +69,7 @@
domainName = (String) configuration.get( "domainName" );
- address = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ address = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
sslConnection = Boolean.valueOf( (String) configuration.get( "sslConnection" ) ).booleanValue();
@@ -90,7 +90,7 @@
configuration.put( "domainName", domainName );
- configuration.put( ContinuumRecipientSource.ADDRESS_FIELD, address );
+ configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
configuration.put( "sslConnection", String.valueOf( sslConnection ) );
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberProjectNotifierEditAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberProjectNotifierEditAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberProjectNotifierEditAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/JabberProjectNotifierEditAction.java Mon Jul 7 22:17:34 2008
@@ -21,7 +21,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import java.util.HashMap;
import java.util.Map;
@@ -68,7 +68,7 @@
domainName = (String) configuration.get( "domainName" );
- address = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ address = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
sslConnection = Boolean.valueOf( (String) configuration.get( "sslConnection" ) ).booleanValue();
@@ -89,7 +89,7 @@
configuration.put( "domainName", domainName );
- configuration.put( ContinuumRecipientSource.ADDRESS_FIELD, address );
+ configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
configuration.put( "sslConnection", String.valueOf( sslConnection ) );
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=674722&r1=674721&r2=674722&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 Mon Jul 7 22:17:34 2008
@@ -21,7 +21,7 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.codehaus.plexus.util.StringUtils;
import java.util.HashMap;
@@ -45,14 +45,15 @@
protected void initConfiguration( Map configuration )
{
- if ( StringUtils.isNotEmpty( (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD ) ) )
+ if ( StringUtils.isNotEmpty( (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
{
- address = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ address = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
- if ( StringUtils.isNotEmpty( (String) configuration.get( ContinuumRecipientSource.COMMITTER_FIELD ) ) )
+ if ( StringUtils.isNotEmpty( (String) configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) ) )
{
- committers = Boolean.parseBoolean( (String) configuration.get( ContinuumRecipientSource.COMMITTER_FIELD ) );
+ committers =
+ Boolean.parseBoolean( (String) configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) );
}
}
@@ -62,10 +63,10 @@
if ( StringUtils.isNotEmpty( address ) )
{
- configuration.put( ContinuumRecipientSource.ADDRESS_FIELD, address );
+ configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
}
- configuration.put( ContinuumRecipientSource.COMMITTER_FIELD, String.valueOf( committers ) );
+ configuration.put( AbstractContinuumNotifier.COMMITTER_FIELD, String.valueOf( committers ) );
notifier.setConfiguration( configuration );
}
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=674722&r1=674721&r2=674722&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 Mon Jul 7 22:17:34 2008
@@ -21,7 +21,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.codehaus.plexus.util.StringUtils;
import java.util.HashMap;
@@ -45,14 +45,15 @@
protected void initConfiguration( Map configuration )
{
- if ( StringUtils.isNotEmpty( (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD ) ) )
+ if ( StringUtils.isNotEmpty( (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
{
- address = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ address = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
- if ( StringUtils.isNotEmpty( (String) configuration.get( ContinuumRecipientSource.COMMITTER_FIELD ) ) )
+ if ( StringUtils.isNotEmpty( (String) configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) ) )
{
- committers = Boolean.parseBoolean( (String) configuration.get( ContinuumRecipientSource.COMMITTER_FIELD ) );
+ committers =
+ Boolean.parseBoolean( (String) configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) );
}
}
@@ -62,10 +63,10 @@
if ( StringUtils.isNotEmpty( address ) )
{
- configuration.put( ContinuumRecipientSource.ADDRESS_FIELD, address );
+ configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
}
- configuration.put( ContinuumRecipientSource.COMMITTER_FIELD, String.valueOf( committers ) );
+ configuration.put( AbstractContinuumNotifier.COMMITTER_FIELD, String.valueOf( committers ) );
notifier.setConfiguration( configuration );
}
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnGroupNotifierEditAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnGroupNotifierEditAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnGroupNotifierEditAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnGroupNotifierEditAction.java Mon Jul 7 22:17:34 2008
@@ -21,7 +21,7 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import java.util.HashMap;
import java.util.Map;
@@ -49,7 +49,7 @@
password = (String) configuration.get( "password" );
- address = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ address = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
protected void setNotifierConfiguration( ProjectNotifier notifier )
@@ -60,7 +60,7 @@
configuration.put( "password", password );
- configuration.put( ContinuumRecipientSource.ADDRESS_FIELD, address );
+ configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
notifier.setConfiguration( configuration );
}
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnProjectNotifierEditAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnProjectNotifierEditAction.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnProjectNotifierEditAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MsnProjectNotifierEditAction.java Mon Jul 7 22:17:34 2008
@@ -21,7 +21,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import java.util.HashMap;
import java.util.Map;
@@ -50,7 +50,7 @@
password = (String) configuration.get( "password" );
- address = (String) configuration.get( ContinuumRecipientSource.ADDRESS_FIELD );
+ address = (String) configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD );
}
protected void setNotifierConfiguration( ProjectNotifier notifier )
@@ -61,7 +61,7 @@
configuration.put( "password", password );
- configuration.put( ContinuumRecipientSource.ADDRESS_FIELD, address );
+ configuration.put( AbstractContinuumNotifier.ADDRESS_FIELD, address );
notifier.setConfiguration( configuration );
}
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/view/projectview/NotifierRecipientCell.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/view/projectview/NotifierRecipientCell.java?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/view/projectview/NotifierRecipientCell.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/view/projectview/NotifierRecipientCell.java Mon Jul 7 22:17:34 2008
@@ -20,7 +20,7 @@
*/
import org.apache.maven.continuum.model.project.ProjectNotifier;
-import org.apache.maven.continuum.notification.ContinuumRecipientSource;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
import org.extremecomponents.table.bean.Column;
import org.extremecomponents.table.cell.DisplayCell;
import org.extremecomponents.table.core.TableModel;
@@ -68,14 +68,9 @@
return notifier.getConfiguration().get( "url" ).toString();
}
- if ( notifier.getConfiguration().get( ContinuumRecipientSource.ADDRESS_FIELD ) == null )
- {
- return "";
- }
- else
- {
- return notifier.getConfiguration().get( ContinuumRecipientSource.ADDRESS_FIELD ).toString();
- }
+ String address = (String) notifier.getConfiguration().get( AbstractContinuumNotifier.ADDRESS_FIELD );
+
+ return address == null ? "" : address;
}
}
}
Modified: continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Mon Jul 7 22:17:34 2008
@@ -92,7 +92,7 @@
| The mail notifier
|-->
<component>
- <role>org.codehaus.plexus.notification.notifier.Notifier</role>
+ <role>org.apache.maven.continuum.notification.Notifier</role>
<role-hint>mail</role-hint>
<implementation>org.apache.maven.continuum.notification.mail.MailContinuumNotifier</implementation>
<requirements>
@@ -173,7 +173,7 @@
| The jabber notifier
|-->
<component>
- <role>org.codehaus.plexus.notification.notifier.Notifier</role>
+ <role>org.apache.maven.continuum.notification.Notifier</role>
<role-hint>jabber</role-hint>
<implementation>org.apache.maven.continuum.notification.jabber.JabberContinuumNotifier</implementation>
<requirements>
@@ -207,7 +207,7 @@
| The MSN notifier
|-->
<component>
- <role>org.codehaus.plexus.notification.notifier.Notifier</role>
+ <role>org.apache.maven.continuum.notification.Notifier</role>
<role-hint>msn</role-hint>
<implementation>org.apache.maven.continuum.notification.msn.MsnContinuumNotifier</implementation>
<requirements>
Modified: continuum/trunk/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/pom.xml?rev=674722&r1=674721&r2=674722&view=diff
==============================================================================
--- continuum/trunk/pom.xml (original)
+++ continuum/trunk/pom.xml Mon Jul 7 22:17:34 2008
@@ -709,11 +709,6 @@
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-notification</artifactId>
- <version>1.0-alpha-5</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-taskqueue</artifactId>
<version>1.0-alpha-8</version>
</dependency>