eXo JCR :: Component :: Extension Service 1.15.1-CP01

org.exoplatform.services.jcr.ext.repository.creation
Class RepositoryCreationServiceImpl

java.lang.Object
  extended by 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 Summary
RepositoryCreationServiceImpl(org.exoplatform.container.xml.InitParams initParams, RepositoryService repositoryService, BackupManager backupManager, org.exoplatform.container.ExoContainerContext context, org.exoplatform.services.naming.InitialContextInitializer initialContextInitializer)
          Constructor RepositoryCreationServiceImpl.
RepositoryCreationServiceImpl(org.exoplatform.container.xml.InitParams initParams, RepositoryService repositoryService, BackupManager backupManager, org.exoplatform.container.ExoContainerContext context, org.exoplatform.services.naming.InitialContextInitializer initialContextInitializer, org.exoplatform.services.rpc.RPCService rpcService)
          Constructor RepositoryCreationServiceImpl.
 
Method Summary
 void createRepository(String backupId, RepositoryEntry rEntry)
          Reserves, validates and creates repository in a simplified form.
 void createRepository(String backupId, RepositoryEntry rEntry, StorageCreationProperties creationProps)
          Reserves, validates and creates repository in a simplified form.
 void createRepository(String backupId, RepositoryEntry rEntry, String rToken)
          Creates repository, using token of already reserved repository name.
 void createRepository(String backupId, RepositoryEntry rEntry, String rToken, StorageCreationProperties creationProps)
          Creates repository, using token of already reserved repository name.
protected  void createRepositoryInternally(String backupId, RepositoryEntry rEntry, String rToken, DBCreationProperties creationProps)
          Create repository internally.
protected  void createRepositoryLocally(String backupId, RepositoryEntry rEntry, String rToken, DBCreationProperties creationProps)
           
 void removeRepository(String repositoryName, boolean forceRemove)
          Remove previously created repository.
protected  void removeRepositoryLocally(String repositoryName, boolean forceRemove)
          Remove repository locally.
 String reserveRepositoryName(String repositoryName)
          Reserve repository name to prevent repository creation with same name from other place in same time via this service.
protected  String reserveRepositoryNameLocally(String repositoryName)
           
 void start()
          
protected  void startRepository(RepositoryEntry repositoryEntry, DBCreationProperties creationProps)
           
 void stop()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepositoryCreationServiceImpl

public RepositoryCreationServiceImpl(org.exoplatform.container.xml.InitParams initParams,
                                     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,
                                     RepositoryService repositoryService,
                                     BackupManager backupManager,
                                     org.exoplatform.container.ExoContainerContext context,
                                     org.exoplatform.services.naming.InitialContextInitializer initialContextInitializer,
                                     org.exoplatform.services.rpc.RPCService rpcService)
Constructor RepositoryCreationServiceImpl.

Method Detail

createRepository

public void createRepository(String backupId,
                             RepositoryEntry rEntry)
                      throws 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:
RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
RepositoryCreationException

createRepository

public void createRepository(String backupId,
                             RepositoryEntry rEntry,
                             StorageCreationProperties creationProps)
                      throws 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:
RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
RepositoryCreationException

createRepository

public void createRepository(String backupId,
                             RepositoryEntry rEntry,
                             String rToken)
                      throws 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:
RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
RepositoryCreationException

createRepository

public void createRepository(String backupId,
                             RepositoryEntry rEntry,
                             String rToken,
                             StorageCreationProperties creationProps)
                      throws 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:
RepositoryConfigurationException - if some exception occurred during repository creation or repository name is absent in reserved list
RepositoryCreationException

createRepositoryInternally

protected void createRepositoryInternally(String backupId,
                                          RepositoryEntry rEntry,
                                          String rToken,
                                          DBCreationProperties creationProps)
                                   throws RepositoryConfigurationException,
                                          RepositoryCreationException
Create repository internally. serverUrl and connProps contain specific properties for db creation.

Throws:
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

reserveRepositoryNameLocally

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

createRepositoryLocally

protected void createRepositoryLocally(String backupId,
                                       RepositoryEntry rEntry,
                                       String rToken,
                                       DBCreationProperties creationProps)
                                throws RepositoryConfigurationException,
                                       RepositoryCreationException
Throws:
RepositoryConfigurationException
RepositoryCreationException

startRepository

protected void startRepository(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

removeRepositoryLocally

protected void removeRepositoryLocally(String repositoryName,
                                       boolean forceRemove)
                                throws RepositoryCreationException
Remove repository locally.

Parameters:
repositoryName - the repository name
Throws:
RepositoryCreationException

eXo JCR :: Component :: Extension Service 1.15.1-CP01

Copyright © 2013 eXo Platform SAS. All Rights Reserved.