Class RepositoryCreationServiceImpl

java.lang.Object
org.exoplatform.services.jcr.ext.repository.creation.RepositoryCreationServiceImpl
All Implemented Interfaces:
RepositoryCreationService, org.picocontainer.Startable

public class RepositoryCreationServiceImpl extends Object implements RepositoryCreationService, org.picocontainer.Startable
Created by The eXo Platform SAS.
Date:
Version:
$Id: RepositoryCreationServiceImpl.java 111 2008-11-11 11:11:11Z serg $
Author:
Karpenko Sergiy
  • Constructor Details

    • RepositoryCreationServiceImpl

      public RepositoryCreationServiceImpl(org.exoplatform.container.xml.InitParams initParams, org.exoplatform.services.jcr.RepositoryService repositoryService, BackupManager backupManager, org.exoplatform.container.ExoContainerContext context, org.exoplatform.services.naming.InitialContextInitializer initialContextInitializer)
      Constructor RepositoryCreationServiceImpl.
    • RepositoryCreationServiceImpl

      public RepositoryCreationServiceImpl(org.exoplatform.container.xml.InitParams initParams, org.exoplatform.services.jcr.RepositoryService repositoryService, BackupManager backupManager, org.exoplatform.container.ExoContainerContext context, org.exoplatform.services.naming.InitialContextInitializer initialContextInitializer, org.exoplatform.services.rpc.RPCService rpcService)
      Constructor RepositoryCreationServiceImpl.
  • Method Details

    • createRepository

      public void createRepository(String backupId, org.exoplatform.services.jcr.config.RepositoryEntry rEntry) throws org.exoplatform.services.jcr.config.RepositoryConfigurationException, RepositoryCreationException
      Reserves, validates and creates repository in a simplified form.
      Specified by:
      createRepository in interface RepositoryCreationService
      Parameters:
      backupId - - backup id
      rEntry - - repository Entry - note that datasource must not exist.
      Throws:
      org.exoplatform.services.jcr.config.RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
      RepositoryCreationException - if some exception occurred during repository creation or repository name is absent in reserved list
    • createRepository

      public void createRepository(String backupId, org.exoplatform.services.jcr.config.RepositoryEntry rEntry, StorageCreationProperties creationProps) throws org.exoplatform.services.jcr.config.RepositoryConfigurationException, RepositoryCreationException
      Reserves, validates and creates repository in a simplified form.
      Specified by:
      createRepository in interface RepositoryCreationService
      Parameters:
      backupId - - backup id
      rEntry - - repository Entry - note that datasource must not exist.
      creationProps - - storage creation properties
      Throws:
      org.exoplatform.services.jcr.config.RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
      RepositoryCreationException - if some exception occurred during repository creation or repository name is absent in reserved list
    • createRepository

      public void createRepository(String backupId, org.exoplatform.services.jcr.config.RepositoryEntry rEntry, String rToken) throws org.exoplatform.services.jcr.config.RepositoryConfigurationException, RepositoryCreationException
      Creates repository, using token of already reserved repository name. Good for cases, when repository creation should be delayed or made asynchronously in dedicated thread.
      Specified by:
      createRepository in interface RepositoryCreationService
      Parameters:
      backupId - - backup id
      rEntry - - repository entry - note, that datasource must not exist
      rToken - - token
      Throws:
      org.exoplatform.services.jcr.config.RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
      RepositoryCreationException - if some exception occurred during repository creation or repository name is absent in reserved list
    • createRepository

      public void createRepository(String backupId, org.exoplatform.services.jcr.config.RepositoryEntry rEntry, String rToken, StorageCreationProperties creationProps) throws org.exoplatform.services.jcr.config.RepositoryConfigurationException, RepositoryCreationException
      Creates repository, using token of already reserved repository name. Good for cases, when repository creation should be delayed or made asynchronously in dedicated thread.
      Specified by:
      createRepository in interface RepositoryCreationService
      Parameters:
      backupId - - backup id
      rEntry - - repository entry - note, that datasource must not exist
      rToken - - token
      creationProps - - storage creation properties
      Throws:
      org.exoplatform.services.jcr.config.RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
      RepositoryCreationException - if some exception occurred during repository creation or repository name is absent in reserved list
    • createRepositoryInternally

      protected void createRepositoryInternally(String backupId, org.exoplatform.services.jcr.config.RepositoryEntry rEntry, String rToken, DBCreationProperties creationProps) throws org.exoplatform.services.jcr.config.RepositoryConfigurationException, RepositoryCreationException
      Create repository internally. serverUrl and connProps contain specific properties for db creation.
      Throws:
      org.exoplatform.services.jcr.config.RepositoryConfigurationException
      RepositoryCreationException
    • reserveRepositoryName

      public String reserveRepositoryName(String repositoryName) throws RepositoryCreationException
      Reserve repository name to prevent repository creation with same name from other place in same time via this service.
      Specified by:
      reserveRepositoryName in interface RepositoryCreationService
      Parameters:
      repositoryName - - repositoryName
      Returns:
      repository token. Anyone obtaining a token can later create a repository of reserved name.
      Throws:
      RepositoryCreationException - if can't reserve name
    • reserveRepositoryNameLocally

      protected String reserveRepositoryNameLocally(String repositoryName) throws RepositoryCreationException
      Throws:
      RepositoryCreationException
    • createRepositoryLocally

      protected void createRepositoryLocally(String backupId, org.exoplatform.services.jcr.config.RepositoryEntry rEntry, String rToken, DBCreationProperties creationProps) throws org.exoplatform.services.jcr.config.RepositoryConfigurationException, RepositoryCreationException
      Throws:
      org.exoplatform.services.jcr.config.RepositoryConfigurationException
      RepositoryCreationException
    • startRepository

      protected void startRepository(org.exoplatform.services.jcr.config.RepositoryEntry repositoryEntry, DBCreationProperties creationProps) throws RepositoryCreationException
      Throws:
      RepositoryCreationException
    • start

      public void start()
      Specified by:
      start in interface org.picocontainer.Startable
    • stop

      public void stop()
      Specified by:
      stop in interface org.picocontainer.Startable
    • removeRepository

      public void removeRepository(String repositoryName, boolean forceRemove) throws RepositoryCreationException
      Remove previously created repository.
      Specified by:
      removeRepository in interface RepositoryCreationService
      Parameters:
      repositoryName - - the repository name to delete
      forceRemove - - force close all opened sessions
      Throws:
      RepositoryCreationException - if some exception occurred during repository removing occurred
    • removeRepositoryLocally

      protected void removeRepositoryLocally(String repositoryName, boolean forceRemove) throws RepositoryCreationException
      Remove repository locally.
      Parameters:
      repositoryName - the repository name
      Throws:
      RepositoryCreationException