Class RepositoryConfig

  • All Implemented Interfaces:
    DataStoreFactory, FileSystemFactory, QueryHandlerFactory

    public class RepositoryConfig
    extends Object
    implements FileSystemFactory, DataStoreFactory, QueryHandlerFactory
    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 and 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 Detail

      • RepositoryConfig

        public RepositoryConfig​(String home,
                                SecurityConfig sec,
                                FileSystemFactory fsf,
                                String workspaceDirectory,
                                String workspaceConfigDirectory,
                                String defaultWorkspace,
                                int workspaceMaxIdleTime,
                                Element template,
                                VersioningConfig vc,
                                QueryHandlerFactory qhf,
                                ClusterConfig cc,
                                DataStoreFactory dsf,
                                RepositoryLockMechanismFactory rlf,
                                DataSourceConfig dsc,
                                ConnectionFactory cf,
                                RepositoryConfigurationParser parser)
        Creates a repository configuration object.
        Parameters:
        home - repository home directory
        sec - the security configuration
        fsf - file system factory
        workspaceDirectory - workspace root directory
        workspaceConfigDirectory - optional workspace configuration directory
        defaultWorkspace - name of the default workspace
        workspaceMaxIdleTime - maximum workspace idle time in seconds
        template - workspace configuration template
        vc - versioning configuration
        qhf - query handler factory for the system search manager
        cc - optional cluster configuration
        dsf - data store factory
        rlf - the RepositoryLockMechanismFactory
        dsc - the DataSource configuration
        cf - the ConnectionFactory for all DatabasAware beans
        parser - configuration parser
    • Method Detail

      • install

        public static RepositoryConfig install​(File dir)
                                        throws IOException,
                                               ConfigurationException
        Returns the configuration of a repository in a given repository directory. The repository configuration is read from a "repository.xml" file inside the repository directory.

        The directory is created if it does not exist. If the repository configuration file does not exist, then it is created using the default Jackrabbit configuration settings.

        Parameters:
        dir - repository home directory
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
        IOException - If an error occurs.
        Since:
        Apache Jackrabbit 1.6
      • install

        public static RepositoryConfig install​(Properties variables)
                                        throws IOException,
                                               ConfigurationException
        Returns the configuration of a repository with the home directory, configuration file, and other options as specified in the given configuration parser variables.

        The directory is created if it does not exist. If the repository configuration file does not exist, then it is created using the default Jackrabbit configuration settings.

        Parameters:
        variables - parser variables
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
        IOException - If an error occurs.
        Since:
        Apache Jackrabbit 2.1
      • getRepositoryHome

        public static File getRepositoryHome​(Properties variables)
      • install

        public static RepositoryConfig install​(File xml,
                                               File dir)
                                        throws IOException,
                                               ConfigurationException
        Returns the configuration of a repository with the given configuration file and repository home directory.

        The directory is created if it does not exist. If the repository configuration file does not exist, then it is created using the default Jackrabbit configuration settings.

        Parameters:
        xml - the configuration file.
        dir - repository home directory
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
        IOException - If another error occurs.
        Since:
        Apache Jackrabbit 1.6
      • create

        public static RepositoryConfig create​(File dir)
                                       throws ConfigurationException
        Returns the configuration of a repository in a given repository directory. The repository configuration is read from a "repository.xml" file inside the repository directory.

        An exception is thrown if the directory does not exist or if the repository configuration file can not be read.

        Parameters:
        dir - repository home directory
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
        Since:
        Apache Jackrabbit 1.6
      • create

        public static RepositoryConfig create​(File xml,
                                              File dir)
                                       throws ConfigurationException
        Returns the configuration of a repository with the given configuration file and repository home directory.

        An exception is thrown if the directory does not exist or if the repository configuration file can not be read.

        Parameters:
        xml - The configuration file.
        dir - repository home directory
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
        Since:
        Apache Jackrabbit 1.6
      • create

        public static RepositoryConfig create​(InputSource xml,
                                              Properties variables)
                                       throws ConfigurationException
        Parses the given repository configuration document using the given parser variables. Note that the ${rep.home} variable should be set by the caller!

        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
        variables - parser variables
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
        Since:
        Apache Jackrabbit 2.1
      • create

        public static RepositoryConfig create​(RepositoryConfig config)
                                       throws ConfigurationException
        Creates a repository configuration object based on an existing configuration. The factories contained within the configuration will be newly initialized, but all other information will be the same.
        Parameters:
        config - repository configuration to create the new instance from
        Returns:
        repository configuration
        Throws:
        ConfigurationException - on configuration errors
      • createWorkspaceConfig

        public WorkspaceConfig createWorkspaceConfig​(String name,
                                                     StringBuffer configContent)
                                              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
        configContent - optional StringBuffer that will have the content of workspace configuration file written in
        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
      • getAppName

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

        public LoginModuleConfig getLoginModuleConfig()
        Deprecated.
        Returns the repository login module configuration.
        Returns:
        login module configuration, or null if standard JAAS mechanism should be used.
      • getSecurityConfig

        public SecurityConfig getSecurityConfig()
        Returns the repository security configuration.
        Returns:
        security configuration
      • 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<WorkspaceConfig> 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
      • isSearchEnabled

        public boolean isSearchEnabled()
        Checks whether search configuration is present.
        Returns:
        true if search is configured, false otherwise
      • getClusterConfig

        public ClusterConfig getClusterConfig()
        Returns the cluster configuration. Returns null if clustering has not been configured.
        Returns:
        the cluster configuration or null if clustering has not been configured.
      • getConnectionFactory

        public ConnectionFactory getConnectionFactory()
        Returns the ConnectionFactory for this repository. Please note that it must be closed explicitly.
        Returns:
        The connection factory configured for this repository.
      • getRepositoryLockMechanism

        public RepositoryLockMechanism getRepositoryLockMechanism()
                                                           throws RepositoryException
        Creates and returns the configured repository lock mechanism. This method returns the default repository lock mechanism if no other mechanism is configured.
        Returns:
        the repository lock mechanism (never null)
        Throws:
        RepositoryException - if the repository lock mechanism can not be created