org.apache.jackrabbit.core.config
Class RepositoryConfig

java.lang.Object
  extended byorg.apache.jackrabbit.core.config.RepositoryConfig

public class RepositoryConfig
extends Object

Repository configuration. This configuration class is used to create configured repository objects.

The contained configuration information are: the home directory and name of the repository, the access manager, file system, versioning configuration, repository index configuration, the workspace directory, the default workspace name, and the workspace configuration template. In addition the workspace configuration object keeps track of all configured workspaces.


Constructor Summary
RepositoryConfig(String home, String name, AccessManagerConfig amc, LoginModuleConfig lmc, FileSystemConfig fsc, String workspaceDirectory, String workspaceConfigDirectory, String defaultWorkspace, int workspaceMaxIdleTime, Element template, VersioningConfig vc, SearchConfig sc, ConfigurationParser parser)
          Creates a repository configuration object.
 
Method Summary
static RepositoryConfig create(InputSource xml, String home)
          Parses the given repository configuration document and returns the parsed and initialized repository configuration.
static RepositoryConfig create(InputStream input, String home)
          Convenience method that wraps the configuration input stream into an InputSource and invokes the create(InputSource, String) method.
static RepositoryConfig create(String file, String home)
          Convenience method that wraps the configuration file name into an InputSource and invokes the create(InputSource, String) method.
static RepositoryConfig create(URI uri, String home)
          Convenience method that wraps the configuration URI into an InputSource and invokes the create(InputSource, String) method.
 WorkspaceConfig createWorkspaceConfig(String name)
          Creates a new workspace configuration with the specified name.
 WorkspaceConfig createWorkspaceConfig(String name, InputSource template)
          Creates a new workspace configuration with the specified name.
 AccessManagerConfig getAccessManagerConfig()
          Returns the repository access manager configuration.
 String getAppName()
          Returns the repository name.
 String getDefaultWorkspaceName()
          Returns the name of the default workspace.
 FileSystem getFileSystem()
          Returns the repository file system implementation.
 String getHomeDir()
          Returns the repository home directory.
 LoginModuleConfig getLoginModuleConfig()
          Returns the repository login module configuration.
 SearchConfig getSearchConfig()
          Returns the system search index configuration.
 VersioningConfig getVersioningConfig()
          Returns the repository versioning configuration.
 WorkspaceConfig getWorkspaceConfig(String name)
          Returns the configuration of the specified workspace.
 Collection getWorkspaceConfigs()
          Returns all workspace configurations.
 int getWorkspaceMaxIdleTime()
          Returns the amount of time in seconds after which an idle workspace is automatically shutdown.
 String getWorkspacesConfigRootDir()
          Returns the workspace root directory.
protected  void init()
          Initializes the repository configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepositoryConfig

public RepositoryConfig(String home,
                        String name,
                        AccessManagerConfig amc,
                        LoginModuleConfig lmc,
                        FileSystemConfig fsc,
                        String workspaceDirectory,
                        String workspaceConfigDirectory,
                        String defaultWorkspace,
                        int workspaceMaxIdleTime,
                        Element template,
                        VersioningConfig vc,
                        SearchConfig sc,
                        ConfigurationParser parser)
Creates a repository configuration object.

Parameters:
template - workspace configuration template
home - repository home directory
name - repository name for a JAAS app-entry configuration
amc - access manager configuration
lmc - login module configuration (can be null)
fsc - file system configuration
workspaceDirectory - workspace root directory
workspaceConfigDirectory - optional workspace configuration directory
workspaceMaxIdleTime - maximum workspace idle time in seconds
defaultWorkspace - name of the default workspace
vc - versioning configuration
sc - search configuration for system search manager.
parser - the ConfigurationParser that servers as config factory
Method Detail

create

public static RepositoryConfig create(String file,
                                      String home)
                               throws ConfigurationException
Convenience method that wraps the configuration file name into an InputSource and invokes the create(InputSource, String) method.

Parameters:
file - repository configuration file name
home - repository home directory
Returns:
repository configuration
Throws:
ConfigurationException - on configuration errors
See Also:
create(InputSource, String)

create

public static RepositoryConfig create(URI uri,
                                      String home)
                               throws ConfigurationException
Convenience method that wraps the configuration URI into an InputSource and invokes the create(InputSource, String) method.

Parameters:
uri - repository configuration URI
home - repository home directory
Returns:
repository configuration
Throws:
ConfigurationException - on configuration errors
See Also:
create(InputSource, String)

create

public static RepositoryConfig create(InputStream input,
                                      String home)
                               throws ConfigurationException
Convenience method that wraps the configuration input stream into an InputSource and invokes the create(InputSource, String) method.

Parameters:
input - repository configuration input stream
home - repository home directory
Returns:
repository configuration
Throws:
ConfigurationException - on configuration errors
See Also:
create(InputSource, String)

create

public static RepositoryConfig create(InputSource xml,
                                      String home)
                               throws ConfigurationException
Parses the given repository configuration document and returns the parsed and initialized repository configuration. The given repository home directory path will be used as the ${rep.home} parser variable.

Note that in addition to parsing the repository configuration, this method also initializes the configuration (creates the configured directories, etc.). The ConfigurationParser class should be used directly to just parse the configuration.

Parameters:
xml - repository configuration document
home - repository home directory
Returns:
repository configuration
Throws:
ConfigurationException - on configuration errors

init

protected void init()
             throws ConfigurationException
Initializes the repository configuration. This method first initializes the repository file system and versioning configurations and then loads and initializes the configurations for all available workspaces.

Throws:
ConfigurationException - on initialization errors

createWorkspaceConfig

public WorkspaceConfig createWorkspaceConfig(String name)
                                      throws ConfigurationException
Creates a new workspace configuration with the specified name. This method creates a workspace configuration subdirectory, copies the workspace configuration template into it, and finally adds the created workspace configuration to the repository. The initialized workspace configuration object is returned to the caller.

Parameters:
name - workspace name
Returns:
created workspace configuration
Throws:
ConfigurationException - if creating the workspace configuration failed

createWorkspaceConfig

public WorkspaceConfig createWorkspaceConfig(String name,
                                             InputSource template)
                                      throws ConfigurationException
Creates a new workspace configuration with the specified name. This method uses the provided workspace template to create the repository config instead of the template that is present in the repository configuration.

This method creates a workspace configuration subdirectory, copies the workspace configuration template into it, and finally adds the created workspace configuration to the repository. The initialized workspace configuration object is returned to the caller.

Parameters:
name - workspace name
template - the workspace template
Returns:
created workspace configuration
Throws:
ConfigurationException - if creating the workspace configuration failed

getHomeDir

public String getHomeDir()
Returns the repository home directory.

Returns:
repository home directory

getFileSystem

public FileSystem getFileSystem()
Returns the repository file system implementation.

Returns:
file system implementation

getAppName

public String getAppName()
Returns the repository name. The repository name can be used for JAAS app-entry configuration.

Returns:
repository name

getAccessManagerConfig

public AccessManagerConfig getAccessManagerConfig()
Returns the repository access manager configuration.

Returns:
access manager configuration

getLoginModuleConfig

public LoginModuleConfig getLoginModuleConfig()
Returns the repository login module configuration.

Returns:
login module configuration, or null if standard JAAS mechanism should be used.

getWorkspacesConfigRootDir

public String getWorkspacesConfigRootDir()
Returns the workspace root directory.

Returns:
workspace root directory

getDefaultWorkspaceName

public String getDefaultWorkspaceName()
Returns the name of the default workspace.

Returns:
name of the default workspace

getWorkspaceMaxIdleTime

public int getWorkspaceMaxIdleTime()
Returns the amount of time in seconds after which an idle workspace is automatically shutdown. If zero then idle workspaces will never be automatically shutdown.

Returns:
maximum workspace idle time in seconds

getWorkspaceConfigs

public Collection getWorkspaceConfigs()
Returns all workspace configurations.

Returns:
workspace configurations

getWorkspaceConfig

public WorkspaceConfig getWorkspaceConfig(String name)
Returns the configuration of the specified workspace.

Parameters:
name - workspace name
Returns:
workspace configuration, or null if the named workspace does not exist

getVersioningConfig

public VersioningConfig getVersioningConfig()
Returns the repository versioning configuration.

Returns:
versioning configuration

getSearchConfig

public SearchConfig getSearchConfig()
Returns the system search index configuration. Returns null if no search index has been configured.

Returns:
search index configuration, or null


Copyright © 2004-2006 The Apache Software Foundation. All Rights Reserved.