Class LocalRepositoryManager
- java.lang.Object
-
- org.eclipse.rdf4j.repository.manager.RepositoryManager
-
- org.eclipse.rdf4j.repository.manager.LocalRepositoryManager
-
- All Implemented Interfaces:
HttpClientDependent,RepositoryResolver
- Direct Known Subclasses:
NotifyingLocalRepositoryManager
public class LocalRepositoryManager extends RepositoryManager
An implementation of theRepositoryManagerinterface that operates directly on the repository data files in the local file system.- Author:
- Arjohn Kampman
-
-
Field Summary
Fields Modifier and Type Field Description static StringREPOSITORIES_DIR-
Fields inherited from class org.eclipse.rdf4j.repository.manager.RepositoryManager
initializedRepositories, logger, NAMESPACE, PROXIED_ID
-
-
Constructor Summary
Constructors Constructor Description LocalRepositoryManager(File baseDir)Creates a new RepositoryManager that operates on the specfified base directory.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddRepositoryConfig(RepositoryConfig config)Adds or updates the configuration of a repository to the manager's system repository.protected RepositorycreateRepository(String id)Creates and initializes the repository with the specified ID.protected SystemRepositorycreateSystemRepository()Deprecated.List<RepositoryInfo>getAllRepositoryInfos(boolean skipSystemRepo)FilegetBaseDir()Gets the base dir against which to resolve relative paths.protected FederatedServiceResolvergetFederatedServiceResolver()org.apache.http.client.HttpClientgetHttpClient()HttpClientthat has been assigned or has been used by this object.URLgetLocation()Gets the base dir against which to resolve relative paths.RepositoryConfiggetRepositoryConfig(String id)FilegetRepositoryDir(String repositoryID)RepositoryInfogetRepositoryInfo(String id)Gets the repository that is known by the specified ID from this manager.protected SharedHttpClientSessionManagergetSesameClient()SystemRepositorygetSystemRepository()Deprecated.booleanremoveRepository(String repositoryID)Removes the specified repository by deleting its configuration from the manager's system repository if such a configuration is present, and removing any persistent data associated with the repository.FileresolvePath(String path)Resolves the specified path against the manager's base directory.voidsetHttpClient(org.apache.http.client.HttpClient httpClient)Should be called beforeRepositoryManager.init().voidshutDown()Shuts down all initialized repositories, including the SYSTEM repository.-
Methods inherited from class org.eclipse.rdf4j.repository.manager.RepositoryManager
cleanUpRepository, getAllRepositories, getAllRepositoryInfos, getAllUserRepositoryInfos, getInitializedRepositories, getInitializedRepositoryIDs, getModelFactory, getNewRepositoryID, getRepository, getRepositoryIDs, hasRepositoryConfig, init, initialize, isInitialized, isSafeToRemove, refresh, removeRepositoryConfig, setInitializedRepositories, setModelFactory, updateInitializedRepositories
-
-
-
-
Field Detail
-
REPOSITORIES_DIR
public static final String REPOSITORIES_DIR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LocalRepositoryManager
public LocalRepositoryManager(File baseDir)
Creates a new RepositoryManager that operates on the specfified base directory.- Parameters:
baseDir- The base directory where data for repositories can be stored, among other things.
-
-
Method Detail
-
createSystemRepository
@Deprecated protected SystemRepository createSystemRepository() throws RepositoryException
Deprecated.- Overrides:
createSystemRepositoryin classRepositoryManager- Throws:
RepositoryException
-
getBaseDir
public File getBaseDir()
Gets the base dir against which to resolve relative paths.
-
getLocation
public URL getLocation() throws MalformedURLException
Gets the base dir against which to resolve relative paths.- Specified by:
getLocationin classRepositoryManager- Throws:
MalformedURLException- If the path cannot be parsed as a URL
-
getSesameClient
protected SharedHttpClientSessionManager getSesameClient()
- Returns:
- Returns the httpClient.
-
getHttpClient
public org.apache.http.client.HttpClient getHttpClient()
Description copied from interface:HttpClientDependentHttpClientthat has been assigned or has been used by this object. The life cycle might not be or might be tied to this object, depending on whetherHttpClientwas passed to or created by this object respectively.- Specified by:
getHttpClientin interfaceHttpClientDependent- Specified by:
getHttpClientin classRepositoryManager- Returns:
- Returns the httpClient passed to
Repositoryconstruction.
-
setHttpClient
public void setHttpClient(org.apache.http.client.HttpClient httpClient)
Description copied from class:RepositoryManagerShould be called beforeRepositoryManager.init().- Specified by:
setHttpClientin interfaceHttpClientDependent- Specified by:
setHttpClientin classRepositoryManager- Parameters:
httpClient- The httpClient to use for remote/service calls.
-
getFederatedServiceResolver
protected FederatedServiceResolver getFederatedServiceResolver()
- Returns:
- Returns the serviceResolver.
-
shutDown
public void shutDown()
Description copied from class:RepositoryManagerShuts down all initialized repositories, including the SYSTEM repository.- Overrides:
shutDownin classRepositoryManager- See Also:
RepositoryManager.refresh()
-
resolvePath
public File resolvePath(String path)
Resolves the specified path against the manager's base directory.- See Also:
getBaseDir()
-
getSystemRepository
@Deprecated public SystemRepository getSystemRepository()
Deprecated.Description copied from class:RepositoryManagerGets the SYSTEM repository.- Overrides:
getSystemRepositoryin classRepositoryManager
-
createRepository
protected Repository createRepository(String id) throws RepositoryConfigException, RepositoryException
Description copied from class:RepositoryManagerCreates and initializes the repository with the specified ID.- Specified by:
createRepositoryin classRepositoryManager- Parameters:
id- A repository ID.- Returns:
- The created and initialized repository, or null if no such repository exists.
- Throws:
RepositoryConfigException- If no repository could be created due to invalid or incomplete configuration data.RepositoryException- If the repository could not be initialized.
-
getRepositoryConfig
public RepositoryConfig getRepositoryConfig(String id)
- Overrides:
getRepositoryConfigin classRepositoryManager
-
getRepositoryInfo
public RepositoryInfo getRepositoryInfo(String id)
Description copied from class:RepositoryManagerGets the repository that is known by the specified ID from this manager.- Overrides:
getRepositoryInfoin classRepositoryManager- Parameters:
id- A repository ID.- Returns:
- A Repository object, or null if no repository was known for the specified ID.
-
getAllRepositoryInfos
public List<RepositoryInfo> getAllRepositoryInfos(boolean skipSystemRepo) throws RepositoryException
- Specified by:
getAllRepositoryInfosin classRepositoryManager- Throws:
RepositoryException- When not able to retrieve existing configurations
-
addRepositoryConfig
public void addRepositoryConfig(RepositoryConfig config) throws RepositoryException, RepositoryConfigException
Description copied from class:RepositoryManagerAdds or updates the configuration of a repository to the manager's system repository. The system repository may already contain a configuration for a repository with the same ID as specified by config, in which case all previous configuration data for that repository will be cleared before the new configuration is added.- Overrides:
addRepositoryConfigin classRepositoryManager- Parameters:
config- The repository configuration that should be added to or updated in the system repository.- Throws:
RepositoryException- If the manager failed to update it's system repository.RepositoryConfigException- If the manager doesn't know how to update a configuration due to inconsistent configuration data in the system repository. For example, this happens when there are multiple existing configurations with the concerning ID.
-
removeRepository
public boolean removeRepository(String repositoryID) throws RepositoryException, RepositoryConfigException
Description copied from class:RepositoryManagerRemoves the specified repository by deleting its configuration from the manager's system repository if such a configuration is present, and removing any persistent data associated with the repository. Returns true if the system repository actually contained the specified repository configuration. NB this operation can not be undone!- Overrides:
removeRepositoryin classRepositoryManager- Parameters:
repositoryID- The ID of the repository that needs to be removed.- Throws:
RepositoryException- If the manager failed to update its system repository.RepositoryConfigException- If the manager doesn't know how to remove a repository due to inconsistent configuration data in the system repository. For example, this happens when there are multiple existing configurations with the concerning ID.
-
-