Author: tolusha
Date: 2010-09-28 08:12:10 -0400 (Tue, 28 Sep 2010)
New Revision: 3211
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedRepositoryRestore.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedWorkspaceRestore.java
Log:
EXOJCR-747: avoid using static methods of DBCLeanerService
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedRepositoryRestore.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedRepositoryRestore.java 2010-09-28
12:01:50 UTC (rev 3210)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedRepositoryRestore.java 2010-09-28
12:12:10 UTC (rev 3211)
@@ -16,10 +16,6 @@
*/
package org.exoplatform.services.jcr.ext.backup.impl;
-import java.util.Map;
-
-import javax.jcr.RepositoryException;
-
import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.RepositoryEntry;
@@ -31,8 +27,12 @@
import org.exoplatform.services.jcr.ext.backup.RepositoryRestoreExeption;
import org.exoplatform.services.jcr.impl.RepositoryServiceImpl;
import org.exoplatform.services.jcr.impl.core.SessionRegistry;
-import org.exoplatform.services.jcr.impl.util.jdbc.DBCleanerService;
+import org.exoplatform.services.jcr.impl.util.jdbc.cleaner.DBCleanerService;
+import java.util.Map;
+
+import javax.jcr.RepositoryException;
+
/**
* Created by The eXo Platform SAS.
*
@@ -41,29 +41,36 @@
* @author <a href="mailto:alex.reshetnyak@exoplatform.com.ua">Alex
Reshetnyak</a>
* @version $Id$
*/
-public class JobExistedRepositoryRestore
- extends JobRepositoryRestore
+public class JobExistedRepositoryRestore extends JobRepositoryRestore
{
+ /**
+ * Database cleaner.
+ */
+ private final DBCleanerService dbCleanerService;
+
public JobExistedRepositoryRestore(RepositoryService repoService, BackupManagerImpl
backupManagerImpl,
- RepositoryEntry repositoryEntry, Map<String, BackupChainLog>
workspacesMapping,
- RepositoryBackupChainLog backupChainLog)
+ RepositoryEntry repositoryEntry, Map<String, BackupChainLog>
workspacesMapping,
+ RepositoryBackupChainLog backupChainLog)
{
super(repoService, backupManagerImpl, repositoryEntry, workspacesMapping,
backupChainLog);
+ this.dbCleanerService = new DBCleanerService();
}
-
+
+ @Override
protected void restore() throws RepositoryRestoreExeption
{
try
{
- boolean isDefault =
repositoryService.getDefaultRepository().getConfiguration().getName().equals(repositoryEntry.getName());
-
+ boolean isDefault =
+
repositoryService.getDefaultRepository().getConfiguration().getName().equals(repositoryEntry.getName());
+
//close all session
for (WorkspaceEntry wEntry : repositoryEntry.getWorkspaceEntries())
{
forceCloseSession(repositoryEntry.getName(), wEntry.getName());
}
-
+
//remove repository
if (isDefault)
{
@@ -73,23 +80,23 @@
{
repositoryService.removeRepository(repositoryEntry.getName());
}
-
+
//clean database
- DBCleanerService.removeRepositoryData(repositoryEntry);
-
+ dbCleanerService.cleanRepositoryData(repositoryEntry);
+
//clean index
for (WorkspaceEntry wEntry : repositoryEntry.getWorkspaceEntries())
{
- IndexCleanerService.removeWorkspaceIndex(wEntry,
repositoryEntry.getSystemWorkspaceName().equals(wEntry.getName()));
+ IndexCleanerService.removeWorkspaceIndex(wEntry,
+ repositoryEntry.getSystemWorkspaceName().equals(wEntry.getName()));
}
-
-
+
//clean value storage
for (WorkspaceEntry wEntry : repositoryEntry.getWorkspaceEntries())
{
ValueStorageCleanerService.removeWorkspaceValueStorage(wEntry);
}
-
+
super.restore();
}
catch (Throwable t)
@@ -97,7 +104,7 @@
throw new RepositoryRestoreExeption("Repository " +
repositoryEntry.getName() + " was not restored", t);
}
}
-
+
/**
* forceCloseSession. Close sessions on specific workspace.
*
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedWorkspaceRestore.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedWorkspaceRestore.java 2010-09-28
12:01:50 UTC (rev 3210)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistedWorkspaceRestore.java 2010-09-28
12:12:10 UTC (rev 3211)
@@ -16,9 +16,6 @@
*/
package org.exoplatform.services.jcr.ext.backup.impl;
-import javax.jcr.RepositoryException;
-
-import org.exoplatform.container.ExoContainer;
import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
@@ -30,10 +27,12 @@
import org.exoplatform.services.jcr.impl.RepositoryContainer;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.SessionRegistry;
-import org.exoplatform.services.jcr.impl.util.jdbc.DBCleanerService;
+import org.exoplatform.services.jcr.impl.util.jdbc.cleaner.DBCleanerService;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import javax.jcr.RepositoryException;
+
/**
* Created by The eXo Platform SAS.
*
@@ -42,47 +41,57 @@
* @author <a href="mailto:alex.reshetnyak@exoplatform.com.ua">Alex
Reshetnyak</a>
* @version $Id$
*/
-public class JobExistedWorkspaceRestore
- extends JobWorkspaceRestore
+public class JobExistedWorkspaceRestore extends JobWorkspaceRestore
{
-
+
class RepositoryImplHelper extends RepositoryImpl
{
public RepositoryImplHelper(RepositoryContainer container) throws
RepositoryException,
- RepositoryConfigurationException
+ RepositoryConfigurationException
{
super(container);
}
+ @Override
public void removeSystemWorkspace() throws RepositoryException
{
super.removeSystemWorkspace();
}
}
-
+
/**
* The apache logger.
*/
private static Log log =
ExoLogger.getLogger("exo.jcr.component.ext.JobExistedWorkspaceRestore");
+ /**
+ * Database cleaner.
+ */
+ private final DBCleanerService dbCleanerService;
+
public JobExistedWorkspaceRestore(RepositoryService repositoryService, BackupManager
backupManager,
- String repositoryName, BackupChainLog log, WorkspaceEntry wEntry)
+ String repositoryName, BackupChainLog log, WorkspaceEntry wEntry)
{
super(repositoryService, backupManager, repositoryName, log, wEntry);
+ this.dbCleanerService = new DBCleanerService();
}
-
+
/**
* {@inheritDoc}
*/
+ @Override
protected void restore() throws WorkspaceRestoreException
{
- try {
- boolean isSystem =
repositoryService.getRepository(repositoryName).getConfiguration().getSystemWorkspaceName().equals(wEntry.getName());
-
+ try
+ {
+ boolean isSystem =
+
repositoryService.getRepository(repositoryName).getConfiguration().getSystemWorkspaceName()
+ .equals(wEntry.getName());
+
//close all session
forceCloseSession(repositoryName, wEntry.getName());
-
+
//remove workspace
if (isSystem)
{
@@ -93,24 +102,24 @@
{
repositoryService.getRepository(repositoryName).removeWorkspace(wEntry.getName());
}
-
+
//clean database
- DBCleanerService.removeWorkspaceData(wEntry);
-
+ dbCleanerService.cleanWorkspaceData(wEntry);
+
//clean index
IndexCleanerService.removeWorkspaceIndex(wEntry, isSystem);
-
+
//clean value storage
ValueStorageCleanerService.removeWorkspaceValueStorage(wEntry);
-
+
super.restore();
- }
+ }
catch (Throwable t)
{
throw new WorkspaceRestoreException("Workspace " + wEntry.getName() +
" was not restored", t);
}
}
-
+
/**
* forceCloseSession. Close sessions on specific workspace.
*
@@ -140,15 +149,14 @@
{
public ExtendedRepository(RepositoryContainer container) throws RepositoryException,
- RepositoryConfigurationException
+ RepositoryConfigurationException
{
super(container);
}
+ @Override
public void removeSystemWorkspace() throws RepositoryException
{
super.removeSystemWorkspace();
}
}
-
-