Author: gavrikvetal
Date: 2009-09-25 06:57:40 -0400 (Fri, 25 Sep 2009)
New Revision: 186
Modified:
jcr/trunk/component/ext/src/main/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgent.java
Log:
EXOJCR-160 HttpBackupAgent should return "Restore Info" bean after new restore
job is started
Modified:
jcr/trunk/component/ext/src/main/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgent.java
===================================================================
---
jcr/trunk/component/ext/src/main/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgent.java 2009-09-25
09:03:45 UTC (rev 185)
+++
jcr/trunk/component/ext/src/main/java/org/exoplatform/services/jcr/ext/backup/server/HTTPBackupAgent.java 2009-09-25
10:57:40 UTC (rev 186)
@@ -437,9 +437,36 @@
BackupChainLog backupChainLog = new BackupChainLog(backupLog);
backupManager.restore(backupChainLog, repository, wEntry, true);
+
+ /*
+ * Sleeping
+ * Restore must be initialized by job thread
+ */
- ShortInfo shortInfo = new ShortInfo(ShortInfo.CURRENT, backupChainLog);
- return Response.ok(shortInfo).cacheControl(noCache).build();
+ Thread.sleep(100);
+
+ /*
+ * search necessary restore
+ */
+
+ List<JobWorkspaceRestore> restoreJobs = backupManager.getRestores();
+ JobWorkspaceRestore restore = null;
+ for (JobWorkspaceRestore curRestore : restoreJobs) {
+ if (curRestore.getRepositoryName().equals(repository) &&
+ curRestore.getWorkspaceName().equals(wEntry.getName())) {
+ restore = curRestore;
+ break;
+ }
+ }
+
+ if (restore != null) {
+ ShortInfo info =
+ new ShortInfo(ShortInfo.RESTORE, restore.getBackupChainLog(),
restore.getStartTime(), restore.getEndTime(),
+ restore.getStateRestore(), restore.getRepositoryName(),
restore.getWorkspaceName());
+ return Response.ok(info).cacheControl(noCache).build();
+ }
+
+ return Response.ok().cacheControl(noCache).build();
}
catch (WorkspaceRestoreExeption e)
{
Show replies by date