Return-Path: Delivered-To: apmail-continuum-commits-archive@www.apache.org Received: (qmail 35022 invoked from network); 8 Dec 2008 06:46:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Dec 2008 06:46:26 -0000 Received: (qmail 52174 invoked by uid 500); 8 Dec 2008 06:46:38 -0000 Delivered-To: apmail-continuum-commits-archive@continuum.apache.org Received: (qmail 52148 invoked by uid 500); 8 Dec 2008 06:46:38 -0000 Mailing-List: contact commits-help@continuum.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@continuum.apache.org Delivered-To: mailing list commits@continuum.apache.org Received: (qmail 52139 invoked by uid 99); 8 Dec 2008 06:46:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Dec 2008 22:46:38 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Dec 2008 06:46:23 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B36D823888A2; Sun, 7 Dec 2008 22:46:01 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r724269 - in /continuum/trunk: continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/ continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/ continuum-core/src/main/java/org/apache/maven/continuum/ continuum-core/... Date: Mon, 08 Dec 2008 06:46:00 -0000 To: commits@continuum.apache.org From: ctan@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20081208064601.B36D823888A2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: ctan Date: Sun Dec 7 22:46:00 2008 New Revision: 724269 URL: http://svn.apache.org/viewvc?rev=724269&view=rev Log: [CONTINUUM-2010] added group cancel build - remove prepare build task in queues - remove build task in queues - cancel current build task Removed: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/AbstractBuildQueueAction.java Modified: continuum/trunk/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java continuum/trunk/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTask.java continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties continuum/trunk/continuum-webapp/src/main/resources/struts.xml continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp Modified: continuum/trunk/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java (original) +++ continuum/trunk/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java Sun Dec 7 22:46:00 2008 @@ -19,6 +19,9 @@ void cancelBuildTask( int projectId ) throws TaskQueueManagerException; + boolean cancelCheckout( int projectId ) + throws TaskQueueManagerException; + boolean cancelCurrentBuild() throws TaskQueueManagerException; @@ -89,6 +92,9 @@ boolean removeFromBuildingQueue( int projectId, int buildDefinitionId, int trigger, String projectName ) throws TaskQueueManagerException; + boolean removeFromPrepareBuildQueue( int projectGroupId, String scmRootAddress ) + throws TaskQueueManagerException; + /** * Remove local repository from the purge queue * Modified: continuum/trunk/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java (original) +++ continuum/trunk/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java Sun Dec 7 22:46:00 2008 @@ -95,14 +95,62 @@ { Task currentTask = getBuildTaskQueueExecutor().getCurrentTask(); - if ( currentTask instanceof BuildProjectTask ) + if ( currentTask != null ) { - if ( ( (BuildProjectTask) currentTask ).getProjectId() == projectId ) + if ( currentTask instanceof BuildProjectTask ) { - getLogger().info( "Cancelling task for project " + projectId ); - getBuildTaskQueueExecutor().cancelTask( currentTask ); + if ( ( (BuildProjectTask) currentTask ).getProjectId() == projectId ) + { + getLogger().info( "Cancelling task for project " + projectId ); + getBuildTaskQueueExecutor().cancelTask( currentTask ); + } + else + { + getLogger().warn( "Current task is not for the given projectId (" + projectId + "): " + + ( (BuildProjectTask) currentTask ).getProjectId() + "; not cancelling" ); + } + } + else + { + getLogger().warn( "Current task not a BuildProjectTask - not cancelling" ); } } + else + { + getLogger().warn( "No task running - not cancelling" ); + } + } + + public boolean cancelCheckout( int projectId ) + throws TaskQueueManagerException + { + Task task = getCheckoutTaskQueueExecutor().getCurrentTask(); + + if ( task != null ) + { + if ( task instanceof CheckOutTask ) + { + if ( ( (CheckOutTask) task ).getProjectId() == projectId ) + { + getLogger().info( "Cancelling checkout for project " + projectId ); + return getCheckoutTaskQueueExecutor().cancelTask( task ); + } + else + { + getLogger().warn( "Current task is not for the given projectId (" + projectId + "): " + + ( (CheckOutTask) task ).getProjectId() + "; not cancelling checkout" ); + } + } + else + { + getLogger().warn( "Current task not a CheckOutTask - not cancelling checkout" ); + } + } + else + { + getLogger().warn( "No task running - not cancelling checkout" ); + } + return false; } public boolean cancelCurrentBuild() @@ -624,6 +672,28 @@ } } + public boolean removeFromPrepareBuildQueue( int projectGroupId, String scmRootAddress ) + throws TaskQueueManagerException + { + try + { + List queue = prepareBuildQueue.getQueueSnapshot(); + + for ( PrepareBuildProjectsTask task : queue ) + { + if ( task != null && task.getProjectGroupId() == projectGroupId && task.getScmRootAddress().equals( scmRootAddress ) ) + { + return prepareBuildQueue.remove( task ); + } + } + return false; + } + catch ( TaskQueueException e ) + { + throw new TaskQueueManagerException( "Error while getting the prepare build projects task in queue", e ); + } + } + public void contextualize( Context context ) throws ContextException { Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original) +++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Sun Dec 7 22:46:00 2008 @@ -878,7 +878,7 @@ projectsList = getProjects(); } - Map> map = new HashMap>(); + Map> map = new HashMap>(); for ( Project project : projectsList ) { @@ -895,14 +895,7 @@ { ProjectScmRoot scmRoot = getProjectScmRootByProject( project.getId() ); - String scmRootAddress = ""; - - if ( scmRoot != null ) - { - scmRootAddress = scmRoot.getScmRootAddress(); - } - - Map projectsAndBuildDefinitionsMap = map.get( scmRootAddress ); + Map projectsAndBuildDefinitionsMap = map.get( scmRoot ); if ( projectsAndBuildDefinitionsMap == null ) { @@ -911,7 +904,7 @@ projectsAndBuildDefinitionsMap.put( project.getId(), buildDefId ); - map.put( scmRootAddress, projectsAndBuildDefinitionsMap ); + map.put( scmRoot, projectsAndBuildDefinitionsMap ); } } catch ( TaskQueueManagerException e ) @@ -922,7 +915,7 @@ } } - prepareBuildProjects( map.values(), ContinuumProjectState.TRIGGER_SCHEDULED ); + prepareBuildProjects( map, ContinuumProjectState.TRIGGER_SCHEDULED ); } public void buildProject( int projectId ) @@ -964,7 +957,8 @@ Map projectsBuildDefinitionsMap = new HashMap(); projectsBuildDefinitionsMap.put( projectId, buildDef.getId() ); - prepareBuildProjects( projectsBuildDefinitionsMap, trigger ); + ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId ); + prepareBuildProjects( projectsBuildDefinitionsMap, trigger, scmRoot.getScmRootAddress(), scmRoot.getProjectGroup().getId() ); } public void buildProject( int projectId, int buildDefinitionId, int trigger ) @@ -987,7 +981,8 @@ Map projectsBuildDefinitionsMap = new HashMap(); projectsBuildDefinitionsMap.put( projectId, buildDefinitionId ); - prepareBuildProjects( projectsBuildDefinitionsMap, trigger ); + ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId ); + prepareBuildProjects( projectsBuildDefinitionsMap, trigger, scmRoot.getScmRootAddress(), scmRoot.getProjectGroup().getId() ); } public BuildResult getBuildResult( int buildId ) @@ -3199,7 +3194,7 @@ boolean checkDefaultBuildDefinitionForProject, int trigger ) throws ContinuumException { - Map> map = new HashMap>(); + Map> map = new HashMap>(); for ( Project project : projects ) { @@ -3271,13 +3266,7 @@ ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId ); - String scmRootAddress = ""; - if ( scmRoot != null ) - { - scmRootAddress = scmRoot.getScmRootAddress(); - } - - Map projectsAndBuildDefinitionsMap = map.get( scmRootAddress ); + Map projectsAndBuildDefinitionsMap = map.get( scmRoot ); if ( projectsAndBuildDefinitionsMap == null ) { @@ -3286,16 +3275,16 @@ projectsAndBuildDefinitionsMap.put( projectId, buildDefId ); - map.put( scmRootAddress, projectsAndBuildDefinitionsMap ); + map.put( scmRoot, projectsAndBuildDefinitionsMap ); } - prepareBuildProjects( map.values(), trigger ); + prepareBuildProjects( map, trigger ); } private void prepareBuildProjects( Collection projects, int buildDefinitionId, int trigger ) throws ContinuumException { - Map> map = new HashMap>(); + Map> map = new HashMap>(); for ( Project project : projects ) { @@ -3315,14 +3304,8 @@ } ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId ); - - String scmRootAddress = ""; - if ( scmRoot != null ) - { - scmRootAddress = scmRoot.getScmRootAddress(); - } - Map projectsAndBuildDefinitionsMap = map.get( scmRootAddress ); + Map projectsAndBuildDefinitionsMap = map.get( scmRoot ); if ( projectsAndBuildDefinitionsMap == null ) { @@ -3331,7 +3314,7 @@ projectsAndBuildDefinitionsMap.put( projectId, buildDefinitionId ); - map.put( scmRootAddress, projectsAndBuildDefinitionsMap ); + map.put( scmRoot, projectsAndBuildDefinitionsMap ); } catch ( TaskQueueManagerException e ) { @@ -3339,24 +3322,26 @@ } } - prepareBuildProjects( map.values(), trigger ); + prepareBuildProjects( map, trigger ); } - private void prepareBuildProjects( Collection> projectsBuildDefinitions, int trigger ) + private void prepareBuildProjects( Map> map, int trigger ) throws ContinuumException { - for ( Map map : projectsBuildDefinitions ) + for ( ProjectScmRoot scmRoot : map.keySet() ) { - prepareBuildProjects( map, trigger ); + prepareBuildProjects( map.get( scmRoot ), trigger, scmRoot.getScmRootAddress(), scmRoot.getProjectGroup().getId() ); } } - private void prepareBuildProjects( Map projectsBuildDefinitionsMap, int trigger ) + private void prepareBuildProjects( Map projectsBuildDefinitionsMap, int trigger, + String scmRootAddress, int projectGroupId ) throws ContinuumException { try { - PrepareBuildProjectsTask task = new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, trigger ); + PrepareBuildProjectsTask task = new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, trigger, + projectGroupId, scmRootAddress ); taskQueueManager.getPrepareBuildQueue().put( task ); } catch ( TaskQueueException e ) Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTask.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTask.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTask.java (original) +++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTask.java Sun Dec 7 22:46:00 2008 @@ -11,10 +11,17 @@ private int trigger; - public PrepareBuildProjectsTask( Map projectsBuildDefinitionsMap, int trigger ) + private int projectGroupId; + + private String scmRootAddress; + + public PrepareBuildProjectsTask( Map projectsBuildDefinitionsMap, int trigger, + int projectGroupId, String scmRootAddress ) { this.projectsBuildDefinitionsMap = projectsBuildDefinitionsMap; this.trigger = trigger; + this.projectGroupId = projectGroupId; + this.scmRootAddress = scmRootAddress; } public long getMaxExecutionTime() @@ -42,7 +49,27 @@ { this.trigger = trigger; } - + + public int getProjectGroupId() + { + return projectGroupId; + } + + public void setProjectGroupId( int projectGroupId ) + { + this.projectGroupId = projectGroupId; + } + + public String getScmRootAddress() + { + return scmRootAddress; + } + + public void setScmRootAddress( String scmRootAddress ) + { + this.scmRootAddress = scmRootAddress; + } + public int getHashCode() { return this.hashCode(); Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java (original) +++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java Sun Dec 7 22:46:00 2008 @@ -86,15 +86,15 @@ getLogger().info( "Initializing prepare build" ); context = initializeContext( projectId, buildDefinitionId ); - - getLogger().info( "Starting prepare build of project: " + AbstractContinuumAction.getProject( context ).getName() ); - startPrepareBuild( context ); - + if ( !checkProjectScmRoot( context ) ) { break; } - + + getLogger().info( "Starting prepare build of project: " + AbstractContinuumAction.getProject( context ).getName() ); + startPrepareBuild( context ); + try { if ( AbstractContinuumAction.getBuildDefinition( context ).isBuildFresh() ) @@ -102,7 +102,7 @@ getLogger().info( "Purging existing working copy" ); cleanWorkingDirectory( context ); } - + // ---------------------------------------------------------------------- // TODO: Centralize the error handling from the SCM related actions. // ContinuumScmResult should return a ContinuumScmResult from all @@ -110,7 +110,7 @@ // ---------------------------------------------------------------------- getLogger().info( "Updating working dir" ); updateWorkingDirectory( context ); - + getLogger().info( "Merging SCM results" ); //CONTINUUM-1393 if ( !AbstractContinuumAction.getBuildDefinition( context ).isBuildFresh() ) @@ -131,10 +131,13 @@ endPrepareBuild( context ); } - int projectGroupId = AbstractContinuumAction.getProjectGroupId( context ); - buildProjects( projectGroupId, projectsBuildDefinitionsMap, trigger ); + if ( checkProjectScmRoot( context ) ) + { + int projectGroupId = AbstractContinuumAction.getProjectGroupId( context ); + buildProjects( projectGroupId, projectsBuildDefinitionsMap, trigger ); + } } - + private Map initializeContext( int projectId, int buildDefinitionId ) throws TaskExecutionException { @@ -287,7 +290,7 @@ try { project.setScmResult( scmResult ); - + projectDao.updateProject( project ); } catch ( ContinuumStoreException e ) @@ -413,7 +416,7 @@ { projectScmRoot.setState( ContinuumProjectState.ERROR ); projectScmRoot.setError( error ); - + projectScmRootDao.updateProjectScmRoot( projectScmRoot ); context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT, projectScmRoot ); Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java (original) +++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java Sun Dec 7 22:46:00 2008 @@ -19,13 +19,16 @@ * under the License. */ +import java.util.ArrayList; +import java.util.Collection; import java.util.List; import org.apache.commons.lang.ArrayUtils; +import org.apache.continuum.model.project.ProjectScmRoot; import org.apache.continuum.taskqueue.manager.TaskQueueManager; import org.apache.continuum.taskqueue.manager.TaskQueueManagerException; import org.apache.maven.continuum.ContinuumException; -import org.apache.maven.continuum.web.action.admin.AbstractBuildQueueAction; +import org.apache.maven.continuum.model.project.Project; import org.apache.maven.continuum.web.exception.AuthorizationRequiredException; import org.codehaus.plexus.util.StringUtils; @@ -35,7 +38,7 @@ * @plexus.component role="com.opensymphony.xwork2.Action" role-hint="cancelBuild" */ public class CancelBuildAction - extends AbstractBuildQueueAction + extends ContinuumActionSupport { private int projectId; @@ -52,13 +55,19 @@ try { checkBuildProjectInGroupAuthorization( getProjectGroupName() ); + + TaskQueueManager taskQueueManager = getContinuum().getTaskQueueManager(); + + taskQueueManager.cancelBuildTask( projectId ); } catch ( AuthorizationRequiredException e ) { return REQUIRES_AUTHORIZATION; } - - cancelBuild( projectId ); + catch ( TaskQueueManagerException e ) + { + throw new ContinuumException( "Error while canceling build", e ); + } return SUCCESS; } @@ -81,20 +90,65 @@ try { taskQueueManager.removeProjectsFromBuildingQueue( projectsId ); + + // now we must check if the current build is one of this + int index = ArrayUtils.indexOf( projectsId, taskQueueManager.getCurrentProjectIdBuilding() ); + if ( index > 0 ) + { + taskQueueManager.cancelBuildTask( projectsId[index] ); + } } catch ( TaskQueueManagerException e ) { throw new ContinuumException( "Unable to remove projects from building queue", e ); } - // now we must check if the current build is one of this - int index = ArrayUtils.indexOf( projectsId, getCurrentProjectIdBuilding() ); - if ( index > 0 ) - { - cancelBuild( projectsId[index] ); - } + return SUCCESS; } + public String cancelGroupBuild() + throws ContinuumException + { + try + { + checkBuildProjectInGroupAuthorization( getContinuum().getProjectGroup( projectGroupId).getName() ); + } + catch ( AuthorizationRequiredException e ) + { + return REQUIRES_AUTHORIZATION; + } + + TaskQueueManager taskQueueManager = getContinuum().getTaskQueueManager(); + + List scmRoots = getContinuum().getProjectScmRootByProjectGroup( projectGroupId ); + + if ( scmRoots != null ) + { + for ( ProjectScmRoot scmRoot : scmRoots ) + { + try + { + taskQueueManager.removeFromPrepareBuildQueue( projectGroupId, scmRoot.getScmRootAddress() ); + } + catch ( TaskQueueManagerException e ) + { + throw new ContinuumException( "Unable to cancel group build", e ); + } + } + } + Collection projects = getContinuum().getProjectsInGroup( projectGroupId ); + + List projectIds = new ArrayList(); + + for ( Project project : projects ) + { + projectIds.add( Integer.toString( project.getId() ) ); + } + + setSelectedProjects( projectIds ); + + return cancelBuilds(); + } public void setProjectId( int projectId ) { Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java (original) +++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java Sun Dec 7 22:46:00 2008 @@ -27,6 +27,7 @@ import org.apache.maven.continuum.model.project.Project; import org.apache.maven.continuum.scm.queue.CheckOutTask; import org.apache.maven.continuum.security.ContinuumRoleConstants; +import org.apache.maven.continuum.web.action.ContinuumActionSupport; import org.apache.maven.continuum.web.exception.AuthenticationRequiredException; import org.apache.maven.continuum.web.exception.AuthorizationRequiredException; import org.codehaus.plexus.logging.LogEnabled; @@ -44,7 +45,7 @@ * @since 24 sept. 07 */ public class QueuesAction - extends AbstractBuildQueueAction + extends ContinuumActionSupport implements SecureAction, LogEnabled { @@ -104,8 +105,9 @@ addActionError( e.getMessage() ); return REQUIRES_AUTHENTICATION; } - - cancelBuild( projectId ); + + taskQueueManager.cancelBuildTask( projectId ); + return SUCCESS; } @@ -132,6 +134,7 @@ } public String cancelCurrentCheckout() + throws Exception { try { @@ -148,7 +151,7 @@ return REQUIRES_AUTHENTICATION; } - cancelCheckout( projectId ); + taskQueueManager.cancelCheckout( projectId ); return SUCCESS; } @@ -261,39 +264,6 @@ return bundle; } - - private boolean cancelCheckout(int projectId) - { - Task task = getCheckoutTaskQueueExecutor().getCurrentTask(); - - if ( task != null ) - { - if ( task instanceof CheckOutTask ) - { - if ( ( (CheckOutTask) task ).getProjectId() == projectId ) - { - getLogger().info( "Cancelling checkout for project " + projectId ); - return getCheckoutTaskQueueExecutor().cancelTask( task ); - } - else - { - getLogger().warn( - "Current task is not for the given projectId (" + projectId + "): " - + ( (CheckOutTask) task ).getProjectId() + "; not cancelling checkout" ); - } - } - else - { - getLogger().warn( "Current task not a CheckOutTask - not cancelling checkout" ); - } - } - else - { - getLogger().warn( "No task running - not cancelling checkout" ); - } - return false; - } - public List getBuildProjectTasks() { @@ -414,8 +384,5 @@ public void setSelectedCheckOutTaskHashCodes( List selectedCheckOutTaskHashCodes ) { this.selectedCheckOutTaskHashCodes = selectedCheckOutTaskHashCodes; - } - - - + } } Modified: continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties (original) +++ continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Sun Dec 7 22:46:00 2008 @@ -185,6 +185,7 @@ projectGroup.tab.releaseResults = Release Results projectGroup.scmRoot.title = Project Group Scm Root projectGroup.scmRoot.label = Scm Root URL +projectGroup.cancelGroupBuild = Cancel Group Build # ---------------------------------------------------------------------- # Page: Project Group - Members Modified: continuum/trunk/continuum-webapp/src/main/resources/struts.xml URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/resources/struts.xml?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/resources/struts.xml (original) +++ continuum/trunk/continuum-webapp/src/main/resources/struts.xml Sun Dec 7 22:46:00 2008 @@ -444,6 +444,13 @@ + + + projectGroupSummary + ${projectGroupId} + + + Modified: continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp?rev=724269&r1=724268&r2=724269&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp (original) +++ continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp Sun Dec 7 22:46:00 2008 @@ -175,6 +175,14 @@ + + +
+ "/> + "/> +
+
+