}
public String doPurge()
throws Exception
{
ContinuumPurgeManager purgeManager = getContinuum().getPurgeManager();
TaskQueueManager taskQueueManager = getContinuum().getTaskQueueManager();
// check if repository is in use
if ( taskQueueManager.isRepositoryInUse( repository.getId() ) )
{
addActionError( getText( "repository.error.purge.in.use",
"Unable to purge repository because it is in use" ) );
}
if ( !hasActionErrors() )
{
// get default purge configuration for repository
RepositoryPurgeConfiguration purgeConfig = purgeConfigService.getDefaultPurgeConfigurationForRepository(
repository.getId() );
if ( purgeConfig != null )
{
purgeManager.purgeRepository( purgeConfig );
AuditLog event = new AuditLog( "Repository id=" + repository.getId(),
AuditLogConstants.PURGE_LOCAL_REPOSITORY );
event.setCategory( AuditLogConstants.LOCAL_REPOSITORY );
event.setCurrentUser( getPrincipal() );