You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by jz...@apache.org on 2011/03/15 14:14:52 UTC
svn commit: r1081766 - in /continuum/trunk/continuum-xmlrpc:
continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/
continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/
continuum-xmlrpc-server/src/main/java/org...
Author: jzurbano
Date: Tue Mar 15 13:14:51 2011
New Revision: 1081766
URL: http://svn.apache.org/viewvc?rev=1081766&view=rev
Log:
[CONTINUUM-2613] Add xmlrpc service method overload for buildProject that accepts projectId, buildDefinitionId, and buildTrigger as the parameters
* applied patch
* minor modifications made
** corrected typo "defintion"
** refactored unit test
Submitted by: Warner B. PiƱero
Modified:
continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java
continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java
continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplStub.java
continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplTest.java
Modified: continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java?rev=1081766&r1=1081765&r2=1081766&view=diff
==============================================================================
--- continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java (original)
+++ continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java Tue Mar 15 13:14:51 2011
@@ -399,7 +399,7 @@ public interface ContinuumService
* Update a project build definition.
*
* @param projectId The project id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the updated build definition
* @throws Exception
*/
@@ -410,7 +410,7 @@ public interface ContinuumService
* Same method but compatible with standard XMLRPC
*
* @param projectId The project id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the updated build definition as RPC value
* @throws Exception
*/
@@ -421,7 +421,7 @@ public interface ContinuumService
* Update a project group build definition.
*
* @param projectGroupId The project group id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the updated build definition
* @throws Exception
*/
@@ -432,7 +432,7 @@ public interface ContinuumService
* Same method but compatible with standard XMLRPC
*
* @param projectGroupId The project group id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the updated build definition as RPC value
* @throws Exception
*/
@@ -443,7 +443,7 @@ public interface ContinuumService
* Add a project build definition.
*
* @param projectId The project id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the added build definition
* @throws Exception
*/
@@ -454,7 +454,7 @@ public interface ContinuumService
* Same method but compatible with standard XMLRPC
*
* @param projectId The project id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the added build definition as RPC value
* @throws Exception
*/
@@ -465,7 +465,7 @@ public interface ContinuumService
* Add a project group buildDefinition.
*
* @param projectGroupId The project group id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the build definition added
* @throws Exception
*/
@@ -476,7 +476,7 @@ public interface ContinuumService
* Same method but compatible with standard XMLRPC
*
* @param projectGroupId The project group id
- * @param buildDef The build defintion to update
+ * @param buildDef The build definition to update
* @return the added build definition as RPC value
* @throws Exception
*/
@@ -553,6 +553,18 @@ public interface ContinuumService
*/
int buildProject( int projectId, BuildTrigger buildTrigger )
throws Exception;
+
+ /**
+ * Forced build the project
+ *
+ * @param projectId The project id
+ * @param buildDefinitionId The build definition id
+ * @param buildTrigger The build trigger
+ * @return
+ * @throws Exception
+ */
+ int buildProject( int projectId, int buildDefinitionId, BuildTrigger buildTrigger )
+ throws Exception;
/**
* Build the project group with the default build definition.
@@ -1070,7 +1082,7 @@ public interface ContinuumService
* @return The installations list.
* @throws Exception
*/
- List<Installation> getBuildAgentInstallations(String url)
+ List<Installation> getBuildAgentInstallations( String url )
throws Exception;
/**
Modified: continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java?rev=1081766&r1=1081765&r2=1081766&view=diff
==============================================================================
--- continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java (original)
+++ continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java Tue Mar 15 13:14:51 2011
@@ -332,6 +332,12 @@ public class ContinuumXmlRpcClient
{
return continuum.buildProject( projectId, buildTrigger );
}
+
+ public int buildProject( int projectId, int buildDefinitionId, BuildTrigger buildTrigger )
+ throws Exception
+ {
+ return continuum.buildProject( projectId, buildDefinitionId, buildTrigger );
+ }
public int buildGroup( int projectGroupId )
throws Exception
Modified: continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java?rev=1081766&r1=1081765&r2=1081766&view=diff
==============================================================================
--- continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java (original)
+++ continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java Tue Mar 15 13:14:51 2011
@@ -653,29 +653,38 @@ public class ContinuumServiceImpl
return 0;
}
- public int buildProject( int projectId, int buildDefintionId )
+ public int buildProject( int projectId, int buildDefinitionId )
throws ContinuumException, NoBuildAgentException, NoBuildAgentInGroupException
{
ProjectSummary ps = getProjectSummary( projectId );
checkBuildProjectInGroupAuthorization( ps.getProjectGroup().getName() );
-
- continuum.buildProjectWithBuildDefinition( projectId,
- buildDefintionId,
- new org.apache.continuum.utils.build.BuildTrigger(
- ContinuumProjectState.TRIGGER_SCHEDULED,
- "" ) );
+
+ buildProjectWithBuildDefinition( projectId, buildDefinitionId,
+ new org.apache.continuum.utils.build.BuildTrigger( ContinuumProjectState.TRIGGER_SCHEDULED, "" ) );
return 0;
}
- public int buildProject( int projectId, BuildTrigger buildTrigger )
+ public int buildProject( int projectId, BuildTrigger xmlrpcBuildTrigger )
throws ContinuumException, NoBuildAgentException, NoBuildAgentInGroupException
{
ProjectSummary ps = getProjectSummary( projectId );
checkBuildProjectInGroupAuthorization( ps.getProjectGroup().getName() );
- org.apache.continuum.utils.build.BuildTrigger bd = populateBuildTrigger( buildTrigger );
+ org.apache.continuum.utils.build.BuildTrigger buildTrigger = populateBuildTrigger( xmlrpcBuildTrigger );
- continuum.buildProject( projectId, bd );
+ continuum.buildProject( projectId, buildTrigger );
+ return 0;
+ }
+
+ public int buildProject( int projectId, int buildDefinitionId, BuildTrigger xmlrpcBuildTrigger )
+ throws ContinuumException, NoBuildAgentException, NoBuildAgentInGroupException
+ {
+ ProjectSummary projectSummary = getProjectSummary( projectId );
+ checkBuildProjectInGroupAuthorization( projectSummary.getProjectGroup().getName() );
+
+ org.apache.continuum.utils.build.BuildTrigger buildTrigger = populateBuildTrigger( xmlrpcBuildTrigger );
+ buildProjectWithBuildDefinition( projectId, buildDefinitionId, buildTrigger );
+
return 0;
}
@@ -693,14 +702,14 @@ public class ContinuumServiceImpl
return 0;
}
- public int buildGroup( int projectGroupId, int buildDefintionId )
+ public int buildGroup( int projectGroupId, int buildDefinitionId )
throws ContinuumException, NoBuildAgentException, NoBuildAgentInGroupException
{
ProjectGroupSummary pg = getProjectGroupSummary( projectGroupId );
checkBuildProjectInGroupAuthorization( pg.getName() );
continuum.buildProjectGroupWithBuildDefinition( projectGroupId,
- buildDefintionId,
+ buildDefinitionId,
new org.apache.continuum.utils.build.BuildTrigger(
ContinuumProjectState.TRIGGER_SCHEDULED,
"" ) );
@@ -1261,7 +1270,7 @@ public class ContinuumServiceImpl
{
Map<String, List<org.apache.continuum.taskqueue.BuildProjectTask>> buildTasks;
- if( continuum.getConfiguration().isDistributedBuildEnabled() )
+ if ( continuum.getConfiguration().isDistributedBuildEnabled() )
{
buildTasks = distributedBuildManager.getProjectsInBuildQueue();
}
@@ -1719,8 +1728,7 @@ public class ContinuumServiceImpl
ConfigurationService configurationService = continuum.getConfiguration();
org.apache.continuum.configuration.BuildAgentConfiguration buildAgent =
configurationService.getBuildAgent( buildAgentConfiguration.getUrl() );
- BuildAgentConfiguration buildAgentConfigurationToUpdate =
- buildAgent != null ? populateBuildAgent( buildAgent ) : null;
+ BuildAgentConfiguration buildAgentConfigurationToUpdate = buildAgent != null ? populateBuildAgent( buildAgent ) : null;
if ( buildAgentConfigurationToUpdate != null )
{
@@ -1952,7 +1960,7 @@ public class ContinuumServiceImpl
}
protected org.apache.maven.continuum.model.project.BuildDefinition populateBuildDefinition( BuildDefinition buildDef,
- org.apache.maven.continuum.model.project.BuildDefinition bd )
+ org.apache.maven.continuum.model.project.BuildDefinition bd )
throws ProfileException, ContinuumException
{
if ( buildDef == null )
@@ -1987,13 +1995,19 @@ public class ContinuumServiceImpl
bd.setSchedule( null );
}
- if( StringUtils.isNotEmpty( buildDef.getDescription() ) )
+ if ( StringUtils.isNotEmpty( buildDef.getDescription() ) )
{
bd.setDescription( buildDef.getDescription() );
}
return bd;
}
+
+ protected void buildProjectWithBuildDefinition( int projectId, int buildDefinitionId, org.apache.continuum.utils.build.BuildTrigger buildTrigger )
+ throws ContinuumException, NoBuildAgentException, NoBuildAgentInGroupException
+ {
+ continuum.buildProjectWithBuildDefinition( projectId, buildDefinitionId, buildTrigger );
+ }
private BuildDefinitionTemplate populateBuildDefinitionTemplate( org.apache.maven.continuum.model.project.BuildDefinitionTemplate bdt )
{
@@ -2262,7 +2276,7 @@ public class ContinuumServiceImpl
}
catch ( ContinuumException e )
{
- logger.warn( "Unable to connect to build agent " + buildAgentConfiguration.getUrl() + "." , e );
+ logger.warn( "Unable to connect to build agent " + buildAgentConfiguration.getUrl() + ".", e );
buildAgentConfiguration.setPlatform( "" );
return buildAgentConfiguration;
}
@@ -3331,7 +3345,7 @@ public class ContinuumServiceImpl
}
}
- public List<Map<String, String>> getProjectReleaseAndDevelopmentVersions( int projectId, String pomFilename,
+ public List<Map<String, String>> getProjectReleaseAndDevelopmentVersions( int projectId, String pomFilename,
boolean autoVersionSubmodules )
throws Exception
{
Modified: continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplStub.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplStub.java?rev=1081766&r1=1081765&r2=1081766&view=diff
==============================================================================
--- continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplStub.java (original)
+++ continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplStub.java Tue Mar 15 13:14:51 2011
@@ -1,5 +1,6 @@
package org.apache.continuum.xmlrpc.server;
+import org.apache.continuum.utils.build.BuildTrigger;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.profile.ProfileException;
import org.apache.maven.continuum.xmlrpc.project.BuildDefinition;
@@ -14,6 +15,17 @@ public class ContinuumServiceImplStub
// do nothing
}
+ protected void checkViewProjectGroupAuthorization( String resource )
+ throws ContinuumException
+ {
+ // do nothing
+ }
+
+ protected void buildProjectWithBuildDefinition( int projectId, int buildDefinitionId, BuildTrigger buildTrigger )
+ {
+ // do nothing
+ }
+
public org.apache.maven.continuum.model.project.BuildDefinition getBuildDefinition( BuildDefinition buildDef,
org.apache.maven.continuum.model.project.BuildDefinition buildDefinition )
throws ProfileException, ContinuumException
Modified: continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplTest.java?rev=1081766&r1=1081765&r2=1081766&view=diff
==============================================================================
--- continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplTest.java (original)
+++ continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/test/java/org/apache/continuum/xmlrpc/server/ContinuumServiceImplTest.java Tue Mar 15 13:14:51 2011
@@ -5,12 +5,14 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.continuum.release.distributed.manager.DistributedReleaseManager;
+import org.apache.continuum.xmlrpc.utils.BuildTrigger;
import org.apache.maven.continuum.Continuum;
import org.apache.maven.continuum.configuration.ConfigurationService;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.release.ContinuumReleaseManager;
import org.apache.maven.continuum.xmlrpc.project.BuildDefinition;
+import org.apache.maven.continuum.xmlrpc.project.ContinuumProjectState;
import org.apache.maven.continuum.xmlrpc.project.ReleaseListenerSummary;
import org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
@@ -71,7 +73,7 @@ public class ContinuumServiceImplTest
{
params = new HashMap<String, Object>();
params.put( "scm-tag", "" );
- params.put( "scm-tagbase", "" );
+ params.put( "scm-tagbase", "" );
context.checking( new Expectations()
{
@@ -157,6 +159,35 @@ public class ContinuumServiceImplTest
assertEquals( buildDef.isDefaultForProject(), buildDefinition.isDefaultForProject() );
}
+ public void testBuildProjectWithBuildTrigger()
+ throws Exception
+ {
+ final ProjectGroup projectGroup = new ProjectGroup();
+ projectGroup.setName( "test-group" );
+
+ BuildTrigger buildTrigger = new BuildTrigger();
+ buildTrigger.setTrigger( ContinuumProjectState.TRIGGER_FORCED );
+ buildTrigger.setTriggeredBy( "username" );
+
+ BuildDefinition buildDef = createBuildDefinition();
+ buildDef.setId( 1 );
+
+ context.checking( new Expectations()
+ {
+ {
+ atLeast( 1 ).of( continuum ).getProject( project.getId() );
+ will( returnValue( project ) );
+
+ atLeast( 1 ).of( continuum ).getProjectGroupByProjectId( project.getId() );
+ will( returnValue( projectGroup ) );
+ }
+ });
+
+ int result = continuumService.buildProject( project.getId(), buildDef.getId(), buildTrigger );
+ assertEquals( 0, result );
+
+ }
+
private BuildDefinition createBuildDefinition()
{
BuildDefinition buildDef = new BuildDefinition();
@@ -175,7 +206,7 @@ public class ContinuumServiceImplTest
private Map<String, Object> getListenerMap()
{
Map<String, Object> map = new HashMap<String, Object>();
-
+
map.put( "release-phases", Arrays.asList( "incomplete-phase" ) );
map.put( "completed-release-phases", Arrays.asList( "completed-phase" ) );
return map;