[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