[exo-jcr-commits] exo-jcr SVN: r920 - jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Dec 3 10:37:52 EST 2009
Author: gavrikvetal
Date: 2009-12-03 10:37:51 -0500 (Thu, 03 Dec 2009)
New Revision: 920
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java
Log:
EXOJCR-250 - Add human readable message in case Workspace creation error via HHTPBackupAgent
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java 2009-12-03 13:45:47 UTC (rev 919)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java 2009-12-03 15:37:51 UTC (rev 920)
@@ -407,7 +407,6 @@
throws BackupOperationException, RepositoryException, RepositoryConfigurationException,
BackupConfigurationException
{
-
List<JobEntryInfo> list = log.getJobEntryInfos();
BackupConfig config = log.getBackupConfig();
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java 2009-12-03 13:45:47 UTC (rev 919)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java 2009-12-03 15:37:51 UTC (rev 920)
@@ -33,6 +33,7 @@
import java.util.Calendar;
+import javax.jcr.InvalidItemStateException;
import javax.jcr.RepositoryException;
/**
@@ -173,28 +174,43 @@
*/
private void restore() throws Throwable
{
+ boolean restored = true;
+ RepositoryImpl repository = (RepositoryImpl)repositoryService.getRepository(repositoryName);
try
{
- RepositoryImpl repository = (RepositoryImpl)repositoryService.getRepository(repositoryName);
RepositoryEntry reEntry = repository.getConfiguration();
+ backupManager.restore(backupChainLog, reEntry.getName(), wEntry, false);
+ }
+ catch (InvalidItemStateException e)
+ {
+ restored = false;
+ throw new WorkspaceRestoreExeption("Workspace '" + "/" + repositoryName + "/" + wEntry.getName()
+ + "' can not be restored! There was database error!", e);
- try
- {
- backupManager.restore(backupChainLog, reEntry.getName(), wEntry, false);
- }
- catch (Throwable t)
- {
- removeWorkspace(repository, wEntry.getName());
- throw new WorkspaceRestoreExeption("Can not be restored the workspace '" + "/" + repositoryName + "/"
- + wEntry.getName() + "' :", t);
- }
-
}
catch (Throwable t)
{
- throw new WorkspaceRestoreExeption("Can not be restored the workspace '" + "/" + repositoryName + "/"
- + wEntry.getName() + "' :", t);
+ restored = false;
+ throw new WorkspaceRestoreExeption("Workspace '" + "/" + repositoryName + "/" + wEntry.getName()
+ + "' can not be restored!", t);
+
}
+ finally
+ {
+ if (!restored)
+ {
+ try
+ {
+ removeWorkspace(repository, wEntry.getName());
+ }
+ catch (Throwable thr)
+ {
+ throw new WorkspaceRestoreExeption("Workspace '" + "/" + repositoryName + "/"
+ + wEntry.getName() + "' can not be restored!", thr);
+ }
+ }
+ }
+
}
/**
More information about the exo-jcr-commits
mailing list