mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
99376: BENCH-371: BM-0004: Copy Alfresco and set up build plan - Modify FileContentStore to service 'spoof://' URLs - SpoofedTextContentReader to generate consistent text for URL - Fix FileContentStoreTest so that tests actually execute - Add override for @After so that no NPEs are thrown - Add tests for the 'spoof://' protocol - Some additional checks for IllegalArgumentException on SpoofedTextContentReader construction - Force delete of 'spoof' to return false but not fail with an exception This is handled neatly by the EagerContentStoreCleaner, which accepts that the stores may protect data according to their own needs e.g. Centera - Add spoofing option to FileFolderPerformanceTester 290 files/s for 1K files vs 460 files/s for spoofed text files (no binary streaming required) - Start FileFolderLoader component that will be used by the API git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@99502 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
67 lines
1.8 KiB
Java
67 lines
1.8 KiB
Java
/*
|
|
* Copyright (C) 2005-2010 Alfresco Software Limited.
|
|
*
|
|
* This file is part of Alfresco
|
|
*
|
|
* Alfresco is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Alfresco is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
package org.alfresco.repo.admin;
|
|
|
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
|
|
|
/**
|
|
* A class that maintains a thread-safe ready indicator on the current bootstrap state of the repository.
|
|
*
|
|
* @author Andy
|
|
*
|
|
*/
|
|
public class RepositoryState
|
|
{
|
|
private boolean bootstrapping;
|
|
private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
|
|
|
|
/**
|
|
* Determine if the repository is ready to use.
|
|
*
|
|
* @return <tt>true</tt> if the repository bootstrap process is still going,
|
|
* or <tt>false</tt> if the repository is ready to use
|
|
*/
|
|
public boolean isBootstrapping()
|
|
{
|
|
this.lock.readLock().lock();
|
|
try
|
|
{
|
|
return bootstrapping;
|
|
}
|
|
finally
|
|
{
|
|
this.lock.readLock().unlock();
|
|
}
|
|
}
|
|
|
|
public void setBootstrapping(boolean bootstrapping)
|
|
{
|
|
this.lock.writeLock().lock();
|
|
try
|
|
{
|
|
this.bootstrapping = bootstrapping;
|
|
}
|
|
finally
|
|
{
|
|
this.lock.writeLock().unlock();
|
|
}
|
|
}
|
|
|
|
}
|