add a method to know if a repo is already under scanning

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1159533 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2011-08-19 07:54:42 +00:00
parent f4bb416191
commit 566379bb17
4 changed files with 23 additions and 2 deletions

View File

@ -26,6 +26,7 @@ import org.codehaus.plexus.redback.authorization.RedbackAuthorization;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
@ -56,4 +57,11 @@ public interface RepositoriesService
@RedbackAuthorization( permission = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
Boolean scanRepository( @QueryParam( "repositoryId" ) String repositoryId,
@QueryParam( "fullScan" ) boolean fullScan );
@Path( "alreadyScanning/{repositoryId}" )
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
@RedbackAuthorization( permission = ArchivaRoleConstants.OPERATION_RUN_INDEXER )
Boolean alreadyScanning( @PathParam( "repositoryId" ) String repositoryId );
}

View File

@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
import javax.inject.Inject;
import javax.inject.Named;
import javax.ws.rs.PathParam;
import java.util.ArrayList;
import java.util.List;
@ -92,4 +93,9 @@ public class DefaultRepositoriesService
}
return true;
}
public Boolean alreadyScanning( String repositoryId )
{
return repositoryTaskScheduler.isProcessingRepositoryTask( repositoryId );
}
}

View File

@ -94,6 +94,12 @@ public class RepositoriesServiceTest
RepositoriesService service = getRepositoriesService();
WebClient.client( service ).header( "Authorization", authorizationHeader );
WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
assertTrue( service.scanRepository( service.getManagedRepositories().get( 0 ).getId(), true ) );
String repoId = service.getManagedRepositories().get( 0 ).getId();
assertTrue( service.scanRepository( repoId, true ) );
log.info( "sanRepo call ok " );
assertTrue( service.alreadyScanning( repoId ) );
}
}

View File

@ -31,10 +31,11 @@
<logger name="org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor">
<level value="trace"/>
</logger>
-->
<logger name="org.apache.cxf.jaxrs.utils.JAXRSUtils">
<level value="trace"/>
</logger>
-->
<logger name="org.codehaus.redback.rest.services" >
<level value="debug"/>
</logger>