public boolean cancelCheckout( int projectId )
throws BuildManagerException
{
try
{
OverallBuildQueue overallBuildQueue = getOverallBuildQueueWhereProjectIsQueued( projectId, CHECKOUT_QUEUE );
if ( overallBuildQueue != null )
{
overallBuildQueue.cancelCheckoutTask( projectId );
}
else
{
synchronized ( overallBuildQueues )
{
Set<Integer> keySet = overallBuildQueues.keySet();
for ( Integer key : keySet )
{
overallBuildQueue = overallBuildQueues.get( key );
CheckOutTask checkoutTask =
(CheckOutTask) overallBuildQueue.getCheckoutTaskQueueExecutor().getCurrentTask();
if ( checkoutTask != null && checkoutTask.getProjectId() == projectId )
{
overallBuildQueue.cancelCheckoutTask( projectId );
return true;
}
}
log.info( "Project '" + projectId + "' not found in any of the checkout queues." );
}