Author: sergiykarpenko
Date: 2010-11-25 05:48:35 -0500 (Thu, 25 Nov 2010)
New Revision: 3555
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
Log:
EXOJCR-929: RepositoryCreationServiceImpl fixed.
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java 2010-11-25
10:42:09 UTC (rev 3554)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java 2010-11-25
10:48:35 UTC (rev 3555)
@@ -16,10 +16,10 @@
*/
package org.exoplatform.services.jcr.ext.repository.creation;
+import org.exoplatform.commons.utils.PrivilegedFileHelper;
import org.exoplatform.services.database.creator.DBConnectionInfo;
import org.exoplatform.services.database.creator.DBCreator;
import org.exoplatform.services.database.creator.DBCreatorException;
-import org.exoplatform.commons.utils.PrivilegedFileHelper;
import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.RepositoryEntry;
@@ -314,14 +314,22 @@
if (rpcService != null)
{
// check does repository already created
- for (int i = 0; i <
repositoryService.getConfig().getRepositoryConfigurations().size(); i++)
+ try
{
- RepositoryEntry conf =
repositoryService.getConfig().getRepositoryConfigurations().get(i);
- if (conf.getName().equals(repositoryName))
+ if (repositoryService.getRepository(repositoryName) != null)
{
throw new RepositoryCreationException("Repository " +
repositoryName + " already exists.");
}
}
+ catch (RepositoryConfigurationException e)
+ {
+ throw new RepositoryCreationException("Can not check does repository
" + repositoryName + " exists: "
+ + e.getMessage(), e);
+ }
+ catch (RepositoryException e)
+ {
+ //ok - repository does not exists
+ }
// reserve RepositoryName at coordinator-node
try
@@ -360,14 +368,22 @@
protected String reserveRepoName(String repositoryName) throws
RepositoryCreationException
{
// check does repository already created
- for (int i = 0; i <
repositoryService.getConfig().getRepositoryConfigurations().size(); i++)
+ try
{
- RepositoryEntry conf =
repositoryService.getConfig().getRepositoryConfigurations().get(i);
- if (conf.getName().equals(repositoryName))
+ if (repositoryService.getRepository(repositoryName) != null)
{
throw new RepositoryCreationException("Repository " +
repositoryName + " already exists.");
}
}
+ catch (RepositoryConfigurationException e)
+ {
+ throw new RepositoryCreationException("Can not check does repository "
+ repositoryName + " exists: "
+ + e.getMessage(), e);
+ }
+ catch (RepositoryException e)
+ {
+ //ok - repository does not exists
+ }
// check does this repository name already reserved, otherwise generate and return
token
if (!pendingRepositories.containsValue(repositoryName))
Show replies by date