[exo-jcr-commits] exo-jcr SVN: r2172 - in jcr/trunk/exo.jcr.component.ext/src: test/java/org/exoplatform/services/jcr/ext/backup and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Mar 26 10:57:10 EDT 2010
Author: areshetnyak
Date: 2010-03-26 10:57:09 -0400 (Fri, 26 Mar 2010)
New Revision: 2172
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestBackupManager.java
Log:
EXOJCR-549 : The implementation backup/restore whole repository in HTTPBackupAgent.
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java 2010-03-26 14:47:07 UTC (rev 2171)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java 2010-03-26 14:57:09 UTC (rev 2172)
@@ -194,14 +194,14 @@
catch (InvalidItemStateException e)
{
restored = false;
- throw new RepositoryRestoreExeption("Workspace '" + "/" + repositoryEntry.getName() + "/"
+ throw new RepositoryRestoreExeption("The repository '" + "/" + repositoryEntry.getName() + "/"
+ currennWorkspaceName + "' can not be restored! There was database error!", e);
}
catch (Throwable t)
{
restored = false;
- throw new RepositoryRestoreExeption("Workspace '" + "/" + repositoryEntry.getName() + "/"
+ throw new RepositoryRestoreExeption("The repository '" + "/" + repositoryEntry.getName() + "/"
+ currennWorkspaceName + "' can not be restored!", t);
}
@@ -231,8 +231,7 @@
}
catch (Throwable thr)
{
- throw new RepositoryRestoreExeption("Reprository '" + "/" + repositoryEntry.getName()
- + "' can not be restored!", thr);
+ log.error("The partly restored repository '" + "/" + repositoryEntry.getName() + "' can not be removed!", thr);
}
}
}
Modified: jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestBackupManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestBackupManager.java 2010-03-26 14:47:07 UTC (rev 2171)
+++ jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestBackupManager.java 2010-03-26 14:57:09 UTC (rev 2172)
@@ -33,6 +33,7 @@
import java.util.Map;
import javax.jcr.Node;
+import javax.jcr.RepositoryException;
import javax.jcr.lock.Lock;
/**
@@ -1095,32 +1096,6 @@
public void testRepositoryRestoreFail() throws Exception
{
- // backup
- File backDir = new File("target/backup");
- backDir.mkdirs();
-
- RepositoryBackupConfig config = new RepositoryBackupConfig();
- config.setRepository(repository.getName());
- config.setBackupType(BackupManager.FULL_AND_INCREMENTAL);
- config.setIncrementalJobPeriod(1000);
-
- config.setBackupDir(backDir);
-
- backup.startBackup(config);
-
- RepositoryBackupChain bch = backup.findRepositoryBackup(repository.getName());
-
- // wait till full backup will be stopped
- while (bch.getState() != RepositoryBackupChain.FULL_BACKUP_FINISHED_INCREMENTAL_BACKUP_WORKING)
- {
- Thread.yield();
- Thread.sleep(50);
- }
-
- // stop fullBackup
-
- backup.stopBackup(bch);
-
// restore
RepositoryEntry re = (RepositoryEntry)ws1Session.getContainer().getComponentInstanceOfType(RepositoryEntry.class);
@@ -1128,45 +1103,31 @@
RepositoryEntry newRepositoryEntry = makeRepositoryEntry(newRepositoryName, re, "jdbcjcr_to_repository_restore_5", null);
//create broken system workspaceEntry
-
newRepositoryEntry.getWorkspaceEntries().get(0).getQueryHandler().setType("gg");
- File backLog = new File(bch.getLogFilePath());
- if (backLog.exists())
- {
- RepositoryBackupChainLog bchLog = new RepositoryBackupChainLog(backLog);
+ File backLog = new File(backup.getRepositoryBackupsLogs()[0].getLogFilePath());
+
+ RepositoryBackupChainLog bchLog = new RepositoryBackupChainLog(backLog);
- assertNotNull(bchLog.getStartedTime());
- assertNotNull(bchLog.getFinishedTime());
-
+ try {
backup.restore(bchLog, newRepositoryEntry, false);
+ fail("The backup " + backLog.getAbsolutePath() + "shoulde not restored.");
+ }
+ catch (RepositoryRestoreExeption e)
+ {
+ // ok.
+ }
- // check
- ManageableRepository restoredRepository = repositoryService.getRepository(newRepositoryName);
+ // check
- for (String wsName : restoredRepository.getWorkspaceNames())
- {
- SessionImpl back1 = null;
- try
- {
- back1 = (SessionImpl)repository.login(credentials, wsName);
- Node ws1backTestRoot = back1.getRootNode().getNode("backupTest");
- assertEquals("Restored content should be same", "property-5", ws1backTestRoot.getNode("node_5")
- .getProperty("exo:data").getString());
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail(e.getMessage());
- }
- finally
- {
- if (back1 != null)
- back1.logout();
- }
- }
+ try
+ {
+ ManageableRepository restoredRepository = repositoryService.getRepository(newRepositoryName);
+ fail("The repository " + newRepositoryName + "shoulde not exists.");
}
- else
- fail("There are no backup files in " + backDir.getAbsolutePath());
+ catch (RepositoryException e)
+ {
+ // ok.
+ }
}
}
More information about the exo-jcr-commits
mailing list