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 2007/01/12 14:26:55 UTC
svn commit: r495567 - in /maven/continuum/trunk/continuum-core/src:
main/java/org/apache/maven/continuum/execution/maven/m2/
main/java/org/apache/maven/continuum/project/builder/maven/
test/java/org/apache/maven/continuum/ test/java/org/apache/maven/co...
Author: evenisse
Date: Fri Jan 12 05:26:52 2007
New Revision: 495567
URL: http://svn.apache.org/viewvc?view=rev&rev=495567
Log:
[CONTINUUM-1105] Remove duplicated notification when the notifier is defined in the pom.
Submitted by: Maria Odea Ching
Modified:
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java
maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java?view=diff&rev=495567&r1=495566&r2=495567
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java Fri Jan 12 05:26:52 2007
@@ -276,59 +276,54 @@
// ----------------------------------------------------------------------
// Notifiers
- //
- // if its a groupPom, then notifiers have been taken care of
// ----------------------------------------------------------------------
- if ( !groupPom )
- {
- List userNotifiers = new ArrayList();
+ List userNotifiers = new ArrayList();
- if ( continuumProject.getNotifiers() != null )
+ if ( continuumProject.getNotifiers() != null )
+ {
+ for ( int i = 0; i < continuumProject.getNotifiers().size(); i++ )
{
- for ( int i = 0; i < continuumProject.getNotifiers().size(); i++ )
- {
- ProjectNotifier notifier = (ProjectNotifier) continuumProject.getNotifiers().get( i );
+ ProjectNotifier notifier = (ProjectNotifier) continuumProject.getNotifiers().get( i );
- if ( notifier.isFromUser() )
- {
- ProjectNotifier userNotifier = new ProjectNotifier();
+ if ( notifier.isFromUser() )
+ {
+ ProjectNotifier userNotifier = new ProjectNotifier();
- userNotifier.setType( notifier.getType() );
+ userNotifier.setType( notifier.getType() );
- userNotifier.setEnabled( notifier.isEnabled() );
+ userNotifier.setEnabled( notifier.isEnabled() );
- userNotifier.setConfiguration( notifier.getConfiguration() );
+ userNotifier.setConfiguration( notifier.getConfiguration() );
- userNotifier.setFrom( notifier.getFrom() );
+ userNotifier.setFrom( notifier.getFrom() );
- userNotifier.setRecipientType( notifier.getRecipientType() );
+ userNotifier.setRecipientType( notifier.getRecipientType() );
- userNotifier.setSendOnError( notifier.isSendOnError() );
+ userNotifier.setSendOnError( notifier.isSendOnError() );
- userNotifier.setSendOnFailure( notifier.isSendOnFailure() );
+ userNotifier.setSendOnFailure( notifier.isSendOnFailure() );
- userNotifier.setSendOnSuccess( notifier.isSendOnSuccess() );
+ userNotifier.setSendOnSuccess( notifier.isSendOnSuccess() );
- userNotifier.setSendOnWarning( notifier.isSendOnWarning() );
+ userNotifier.setSendOnWarning( notifier.isSendOnWarning() );
- userNotifiers.add( userNotifier );
- }
+ userNotifiers.add( userNotifier );
}
}
+ }
- List notifiers = getNotifiers( result, mavenProject, continuumProject );
- if ( notifiers != null )
- {
- continuumProject.setNotifiers( notifiers );
- }
+ List notifiers = getNotifiers( result, mavenProject, continuumProject );
+ if ( notifiers != null )
+ {
+ continuumProject.setNotifiers( notifiers );
+ }
- for ( Iterator i = userNotifiers.iterator(); i.hasNext(); )
- {
- ProjectNotifier notifier = (ProjectNotifier) i.next();
+ for ( Iterator i = userNotifiers.iterator(); i.hasNext(); )
+ {
+ ProjectNotifier notifier = (ProjectNotifier) i.next();
- continuumProject.addNotifier( notifier );
- }
+ continuumProject.addNotifier( notifier );
}
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java?view=diff&rev=495567&r1=495566&r2=495567
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java Fri Jan 12 05:26:52 2007
@@ -25,7 +25,6 @@
import org.apache.maven.continuum.model.project.BuildDefinition;
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.model.project.Schedule;
import org.apache.maven.continuum.project.builder.AbstractContinuumProjectBuilder;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuilder;
@@ -33,7 +32,6 @@
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.apache.maven.continuum.store.ContinuumStore;
import org.apache.maven.continuum.store.ContinuumStoreException;
-import org.apache.maven.model.Notifier;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.StringUtils;
@@ -310,51 +308,6 @@
// ----------------------------------------------------------------------
projectGroup.setDescription( mavenProject.getDescription() );
-
- //
- // group lvl notifiers
- //
- if ( mavenProject.getCiManagement() != null && mavenProject.getCiManagement().getNotifiers() != null )
- {
- List notifiers = new ArrayList();
-
- for ( Iterator i = mavenProject.getCiManagement().getNotifiers().iterator(); i.hasNext(); )
- {
- Notifier projectNotifier = (Notifier) i.next();
-
- ProjectNotifier notifier = new ProjectNotifier();
-
- if ( StringUtils.isEmpty( projectNotifier.getType() ) )
- {
- result.addError( ContinuumProjectBuildingResult.ERROR_MISSING_NOTIFIER_TYPE );
- return null;
- }
-
- notifier.setType( projectNotifier.getType() );
-
- if ( projectNotifier.getConfiguration() == null )
- {
- result.addError( ContinuumProjectBuildingResult.ERROR_MISSING_NOTIFIER_CONFIGURATION );
- return null;
- }
-
- notifier.setConfiguration( projectNotifier.getConfiguration() );
-
- notifier.setFrom( ProjectNotifier.FROM_PROJECT );
-
- notifier.setSendOnSuccess( projectNotifier.isSendOnSuccess() );
-
- notifier.setSendOnFailure( projectNotifier.isSendOnFailure() );
-
- notifier.setSendOnError( projectNotifier.isSendOnError() );
-
- notifier.setSendOnWarning( projectNotifier.isSendOnWarning() );
-
- notifiers.add( notifier );
- }
-
- projectGroup.setNotifiers( notifiers );
- }
return projectGroup;
}
Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java?view=diff&rev=495567&r1=495566&r2=495567
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java Fri Jan 12 05:26:52 2007
@@ -25,9 +25,9 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.taskqueue.TaskQueue;
import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import java.io.File;
import java.util.Collection;
@@ -48,12 +48,12 @@
{
try
{
- lookup( Continuum.ROLE );
+ lookup( Continuum.ROLE );
}
catch ( ComponentLookupException e )
{
- e.printStackTrace();
- throw e;
+ e.printStackTrace();
+ throw e;
}
}
@@ -109,7 +109,8 @@
projects.put( project.getName(), project );
// validate project in project group
- assertTrue( "project not in project group", getStore().getProjectGroupByProjectId( project.getId() ) != null );
+ assertTrue( "project not in project group",
+ getStore().getProjectGroupByProjectId( project.getId() ) != null );
}
assertTrue( "no irc notifier", projects.containsKey( "Continuum IRC Notifier" ) );
@@ -117,7 +118,6 @@
assertTrue( "no jabber notifier", projects.containsKey( "Continuum Jabber Notifier" ) );
-
}
public void testUpdateMavenTwoProject()
@@ -175,15 +175,15 @@
// reattach
project = continuum.getProject( project.getId() );
- ProjectGroup projectGroup = getStore().getProjectGroupByProjectId( project.getId() );
+ ProjectGroup projectGroup = getStore().getProjectGroupByProjectId( project.getId() );
projectGroup = getStore().getProjectGroupWithBuildDetails( projectGroup.getId() );
List buildDefs = projectGroup.getBuildDefinitions();
- assertTrue ("missing project group build definition", !buildDefs.isEmpty() );
+ assertTrue( "missing project group build definition", !buildDefs.isEmpty() );
- assertTrue ("more then one project group build definition on add project", buildDefs.size() == 1 );
+ assertTrue( "more then one project group build definition on add project", buildDefs.size() == 1 );
BuildDefinition pgbd = (BuildDefinition) buildDefs.get( 0 );
@@ -191,34 +191,37 @@
continuum.updateBuildDefinitionForProjectGroup( projectGroup.getId(), pgbd );
- pgbd = continuum.getBuildDefinition( pgbd.getId() );
+ pgbd = continuum.getBuildDefinition( pgbd.getId() );
- assertTrue ( "update failed for project group build definition", "foo".equals( pgbd.getGoals() ) );
+ assertTrue( "update failed for project group build definition", "foo".equals( pgbd.getGoals() ) );
- assertTrue ( "project group build definition is not default", pgbd.isDefaultForProject() );
+ assertTrue( "project group build definition is not default", pgbd.isDefaultForProject() );
- assertTrue ( "project group build definition not default for project", continuum.getDefaultBuildDefinition( project.getId() ).getId() == pgbd.getId() );
+ assertTrue( "project group build definition not default for project",
+ continuum.getDefaultBuildDefinition( project.getId() ).getId() == pgbd.getId() );
BuildDefinition nbd = new BuildDefinition();
- nbd.setGoals("clean");
- nbd.setArguments("");
+ nbd.setGoals( "clean" );
+ nbd.setArguments( "" );
nbd.setDefaultForProject( true );
nbd.setSchedule( getStore().getScheduleByName( DefaultContinuumInitializer.DEFAULT_SCHEDULE_NAME ) );
continuum.addBuildDefinitionToProject( project.getId(), nbd );
- assertTrue ( "project lvl build definition not default for project", continuum.getDefaultBuildDefinition( project.getId() ).getId() == nbd.getId() );
+ assertTrue( "project lvl build definition not default for project",
+ continuum.getDefaultBuildDefinition( project.getId() ).getId() == nbd.getId() );
continuum.removeBuildDefinitionFromProject( project.getId(), nbd.getId() );
- assertTrue ( "default build definition didn't toggle back to project group level", continuum.getDefaultBuildDefinition( project.getId() ).getId() == pgbd.getId() );
+ assertTrue( "default build definition didn't toggle back to project group level",
+ continuum.getDefaultBuildDefinition( project.getId() ).getId() == pgbd.getId() );
try
{
continuum.removeBuildDefinitionFromProjectGroup( projectGroup.getId(), pgbd.getId() );
- fail("we were able to remove the default build definition, and that is bad");
+ fail( "we were able to remove the default build definition, and that is bad" );
}
- catch (ContinuumException expected)
+ catch ( ContinuumException expected )
{
}
@@ -226,6 +229,7 @@
/**
* todo add another project group to test
+ *
* @throws Exception
*/
public void testProjectGroups()
@@ -267,10 +271,9 @@
assertEquals( "Remove project group failed", projectGroupsBefore, projectGroupList.size() );
}
-
/**
* test the logic for notifiers
- *
+ *
* @throws Exception
*/
public void testProjectAndGroupNotifiers()
@@ -295,24 +298,22 @@
ProjectGroup projectGroup = (ProjectGroup) result.getProjectGroups().get( 0 );
continuum.addGroupNotifier( projectGroup.getId(), new ProjectNotifier() );
-
+
for ( Iterator i = projectGroup.getProjects().iterator(); i.hasNext(); )
{
- Project p = (Project)i.next();
- continuum.addNotifier( p.getId(), new ProjectNotifier() );
+ Project p = (Project) i.next();
+ continuum.addNotifier( p.getId(), new ProjectNotifier() );
}
projectGroup = continuum.getProjectGroup( projectGroup.getId() );
-
- assertEquals( 2, projectGroup.getNotifiers().size() );
-
+ assertEquals( 1, projectGroup.getNotifiers().size() );
for ( Iterator i = projectGroup.getProjects().iterator(); i.hasNext(); )
{
- Project p = (Project)i.next();
- assertEquals( 1, p.getNotifiers().size() );
- }
+ Project p = (Project) i.next();
+ assertEquals( 2, p.getNotifiers().size() );
+ }
}
public void testExecuteAction()
Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java?view=diff&rev=495567&r1=495566&r2=495567
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java Fri Jan 12 05:26:52 2007
@@ -61,19 +61,27 @@
assertEquals( 1, result.getProjects().size() );
- ProjectGroup pg = (ProjectGroup) result.getProjectGroups().get( 0 );
+ Project project = (Project) result.getProjects().get( 0 );
- assertNotNull( pg );
+ assertNotNull( project );
- assertNotNull( pg.getNotifiers() );
+ assertNotNull( project.getNotifiers() );
- assertEquals( 1, pg.getNotifiers().size() );
+ assertEquals( 1, project.getNotifiers().size() );
- ProjectNotifier notifier = (ProjectNotifier) pg.getNotifiers().get( 0 );
+ ProjectNotifier notifier = (ProjectNotifier) project.getNotifiers().get( 0 );
assertEquals( "mail", notifier.getType() );
assertEquals( "foo@bar", notifier.getConfiguration().get( "address" ) );
+
+ ProjectGroup pg = (ProjectGroup) result.getProjectGroups().get( 0 );
+
+ assertNotNull( pg );
+
+ assertNotNull( pg.getNotifiers() );
+
+ assertEquals( 0, pg.getNotifiers().size() );
}
public void testGetEmailAddressWhenTypeIsntSet()
@@ -94,19 +102,27 @@
assertEquals( 1, result.getProjects().size() );
- ProjectGroup pg = (ProjectGroup) result.getProjectGroups().get( 0 );
+ Project project = (Project) result.getProjects().get( 0 );
- assertNotNull( pg );
+ assertNotNull( project );
- assertNotNull( pg.getNotifiers() );
+ assertNotNull( project.getNotifiers() );
- assertEquals( 1, pg.getNotifiers().size() );
+ assertEquals( 1, project.getNotifiers().size() );
- ProjectNotifier notifier = (ProjectNotifier) pg.getNotifiers().get( 0 );
+ ProjectNotifier notifier = (ProjectNotifier) project.getNotifiers().get( 0 );
assertEquals( "mail", notifier.getType() );
assertEquals( "foo@bar", notifier.getConfiguration().get( "address" ) );
+
+ ProjectGroup pg = (ProjectGroup) result.getProjectGroups().get( 0 );
+
+ assertNotNull( pg );
+
+ assertNotNull( pg.getNotifiers() );
+
+ assertEquals( 0, pg.getNotifiers().size() );
}
public void testGetScmUrlWithParams()
@@ -130,16 +146,6 @@
ProjectGroup pg = (ProjectGroup) result.getProjectGroups().get( 0 );
assertNotNull( pg );
-
- assertNotNull( pg.getNotifiers() );
-
- assertEquals( 1, pg.getNotifiers().size() );
-
- ProjectNotifier notifier = (ProjectNotifier) pg.getNotifiers().get( 0 );
-
- assertEquals( "mail", notifier.getType() );
-
- assertEquals( "foo@bar", notifier.getConfiguration().get( "address" ) );
String username = System.getProperty( "user.name" );