Author: areshetnyak
Date: 2010-12-24 10:27:32 -0500 (Fri, 24 Dec 2010)
New Revision: 3726
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsBackupWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupUseCasesTest.java
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/impl/core/TesterRdbmsWorkspaceInitializer.java
Log:
EXOJCR-1125 : Get FileCleaner form FileCleanerHolder in SysViewWorkspaceInitializer.
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -41,6 +41,7 @@
import org.exoplatform.services.jcr.impl.storage.JCRInvalidItemStateException;
import org.exoplatform.services.jcr.impl.storage.JCRItemExistsException;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.jcr.observation.ExtendedEvent;
@@ -77,10 +78,11 @@
public BackupWorkspaceInitializer(WorkspaceEntry config, RepositoryEntry repConfig,
CacheableWorkspaceDataManager dataManager, NamespaceRegistryImpl
namespaceRegistry,
LocationFactory locationFactory, NodeTypeManagerImpl nodeTypeManager,
ValueFactoryImpl valueFactory,
- AccessManager accessManager) throws RepositoryConfigurationException,
PathNotFoundException, RepositoryException
+ AccessManager accessManager, FileCleanerHolder cleanerHolder) throws
RepositoryConfigurationException,
+ PathNotFoundException, RepositoryException
{
super(config, repConfig, dataManager, namespaceRegistry, locationFactory,
nodeTypeManager, valueFactory,
- accessManager);
+ accessManager, cleanerHolder);
restoreDir = restorePath;
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -45,6 +45,7 @@
import
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
import org.exoplatform.services.log.ExoLogger;
@@ -405,10 +406,11 @@
public SysViewWorkspaceInitializer(WorkspaceEntry config, RepositoryEntry repConfig,
CacheableWorkspaceDataManager dataManager, NamespaceRegistryImpl
namespaceRegistry,
LocationFactory locationFactory, NodeTypeManagerImpl nodeTypeManager,
ValueFactoryImpl valueFactory,
- AccessManager accessManager) throws RepositoryConfigurationException,
PathNotFoundException, RepositoryException
+ AccessManager accessManager, FileCleanerHolder cleanerHolder) throws
RepositoryConfigurationException,
+ PathNotFoundException, RepositoryException
{
this(config, repConfig, dataManager, namespaceRegistry, locationFactory,
nodeTypeManager, valueFactory,
- accessManager, config.getInitializer().getParameterValue(RESTORE_PATH_PARAMETER,
null));
+ accessManager,
config.getInitializer().getParameterValue(RESTORE_PATH_PARAMETER, null), cleanerHolder);
}
/**
@@ -438,7 +440,8 @@
public SysViewWorkspaceInitializer(WorkspaceEntry config, RepositoryEntry repConfig,
CacheableWorkspaceDataManager dataManager, NamespaceRegistryImpl
namespaceRegistry,
LocationFactory locationFactory, NodeTypeManagerImpl nodeTypeManager,
ValueFactoryImpl valueFactory,
- AccessManager accessManager, String restorePath) throws RepositoryException
+ AccessManager accessManager, String restorePath, FileCleanerHolder
cleanerHolder)
+ throws RepositoryException
{
this.workspaceEntry = config;
this.workspaceName = config.getName();
@@ -450,7 +453,7 @@
this.namespaceRegistry = namespaceRegistry;
this.locationFactory = locationFactory;
- this.fileCleaner = valueFactory.getFileCleaner();
+ this.fileCleaner = cleanerHolder.getFileCleaner();
this.maxBufferSize =
config.getContainer().getParameterInteger(WorkspaceDataContainer.MAXBUFFERSIZE_PROP,
WorkspaceDataContainer.DEF_MAXBUFFERSIZE);
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsBackupWorkspaceInitializer.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsBackupWorkspaceInitializer.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsBackupWorkspaceInitializer.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -28,6 +28,7 @@
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager;
+import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
import org.exoplatform.services.jcr.impl.util.jdbc.cleaner.DBCleanerException;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -58,11 +59,12 @@
public RdbmsBackupWorkspaceInitializer(WorkspaceEntry config, RepositoryEntry
repConfig,
CacheableWorkspaceDataManager dataManager, NamespaceRegistryImpl
namespaceRegistry,
LocationFactory locationFactory, NodeTypeManagerImpl nodeTypeManager,
ValueFactoryImpl valueFactory,
- AccessManager accessManager, RepositoryService repositoryService) throws
RepositoryConfigurationException,
+ AccessManager accessManager, RepositoryService repositoryService,
FileCleanerHolder cleanerHolder)
+ throws RepositoryConfigurationException,
PathNotFoundException, RepositoryException
{
super(config, repConfig, dataManager, namespaceRegistry, locationFactory,
nodeTypeManager, valueFactory,
- accessManager, repositoryService);
+ accessManager, repositoryService, cleanerHolder);
}
/**
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsWorkspaceInitializer.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsWorkspaceInitializer.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/RdbmsWorkspaceInitializer.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -48,6 +48,7 @@
import org.exoplatform.services.jcr.impl.storage.jdbc.DialectDetecter;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
import org.exoplatform.services.jcr.impl.storage.value.fs.FileValueStorage;
+import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
import org.exoplatform.services.jcr.impl.util.jdbc.cleaner.DBCleanerException;
import org.exoplatform.services.jcr.impl.util.jdbc.cleaner.DBCleanerService;
import org.exoplatform.services.log.ExoLogger;
@@ -106,11 +107,12 @@
public RdbmsWorkspaceInitializer(WorkspaceEntry config, RepositoryEntry repConfig,
CacheableWorkspaceDataManager dataManager, NamespaceRegistryImpl
namespaceRegistry,
LocationFactory locationFactory, NodeTypeManagerImpl nodeTypeManager,
ValueFactoryImpl valueFactory,
- AccessManager accessManager, RepositoryService repositoryService) throws
RepositoryConfigurationException,
+ AccessManager accessManager, RepositoryService repositoryService,
FileCleanerHolder cleanerHolder)
+ throws RepositoryConfigurationException,
PathNotFoundException, RepositoryException
{
super(config, repConfig, dataManager, namespaceRegistry, locationFactory,
nodeTypeManager, valueFactory,
- accessManager);
+ accessManager, cleanerHolder);
this.repositoryService = repositoryService;
}
Modified:
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupUseCasesTest.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupUseCasesTest.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/AbstractBackupUseCasesTest.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -32,6 +32,7 @@
import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.jcr.Value;
import javax.jcr.lock.Lock;
@@ -156,6 +157,8 @@
ws1TestRoot.addNode("node #3").setProperty("exo:data",
"property #3");
ws1TestRoot.addNode("node #5").setProperty("exo:extraData",
"property #5");
+ ws1TestRoot.addNode("binary_data").setProperty("data", new
FileInputStream(createBLOBTempFile(500)));
+
ws1TestRoot.save(); // log here via listener
// stop all
@@ -862,8 +865,14 @@
Thread.sleep(50);
}
+ //will be saved in incremental backup
+ //will be saved in incremental backup
+ Session wsSession = getReposityToBackup().login(credentials, "ws");
+
wsSession.getRootNode().getNode("backupTest").addNode("binary_data").setProperty("data",
+ new FileInputStream(createBLOBTempFile(500)));
+ wsSession.save();
+
// stop fullBackup
-
backup.stopBackup(bch);
// restore
@@ -893,6 +902,12 @@
Node ws1backTestRoot =
back1.getRootNode().getNode("backupTest");
assertEquals("Restored content should be same",
"property-5", ws1backTestRoot.getNode("node_5")
.getProperty("exo:data").getString());
+
+ if (wsName.equals("ws"))
+ {
+ assertNotNull(ws1backTestRoot.getNode("binary_data"));
+
assertNotNull(ws1backTestRoot.getNode("binary_data").getProperty("data"));
+ }
}
catch (Exception e)
{
Modified:
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/backup/TestRdbmsWorkspaceInitializer.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.impl.core.TesterRdbmsWorkspaceInitializer;
import org.exoplatform.services.jcr.impl.core.query.SystemSearchManager;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
+import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.jcr.util.TesterConfigurationHelper;
@@ -90,7 +91,7 @@
TesterRdbmsWorkspaceInitializer initializer =
new TesterRdbmsWorkspaceInitializer(newEntry,
repositoryService.getRepository("db1").getConfiguration(),
- cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService);
+ cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService, new FileCleanerHolder());
initializer.restoreValueFiles();
assertTrue(new File(newValueStoragePath).list().length > 0);
@@ -144,7 +145,8 @@
TesterRdbmsWorkspaceInitializer initializer =
new TesterRdbmsWorkspaceInitializer(newEntry,
repositoryService.getRepository("db1").getConfiguration(),
- cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService);
+ cacheableDataManager, null, null, null,
+ (ValueFactoryImpl) valueFactory, null, repositoryService,
new FileCleanerHolder());
initializer.restoreValueFiles();
assertFalse(new File(newValueStoragePath).exists());
@@ -214,7 +216,8 @@
TesterRdbmsWorkspaceInitializer initializer =
new TesterRdbmsWorkspaceInitializer(newEntry,
repositoryService.getRepository("db1").getConfiguration(),
- cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService);
+ cacheableDataManager, null, null, null,
+ (ValueFactoryImpl) valueFactory, null, repositoryService,
new FileCleanerHolder());
// restore multi -> multi
initializer.restoreTables(conn, 0, true, workspaceEntry.getLockManager(),
url.getFile());
@@ -259,7 +262,7 @@
initializer =
new TesterRdbmsWorkspaceInitializer(newEntry,
repositoryService.getRepository("db1").getConfiguration(),
- cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService);
+ cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService, new FileCleanerHolder());
// restore multi -> single
initializer.restoreTables(conn, 0, false, workspaceEntry.getLockManager(),
url.getFile());
@@ -331,7 +334,7 @@
TesterRdbmsWorkspaceInitializer initializer =
new TesterRdbmsWorkspaceInitializer(newEntry,
repositoryService.getRepository("db3").getConfiguration(),
- cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService);
+ cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService, new FileCleanerHolder());
// restore single -> multi
initializer.restoreTables(conn, 0, true, workspaceEntry.getLockManager(),
url.getFile());
@@ -376,7 +379,7 @@
initializer =
new TesterRdbmsWorkspaceInitializer(newEntry,
repositoryService.getRepository("db3").getConfiguration(),
- cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService);
+ cacheableDataManager, null, null, null, (ValueFactoryImpl)valueFactory,
null, repositoryService, new FileCleanerHolder());
// restore single -> single
initializer.restoreTables(conn, 0, false, workspaceEntry.getLockManager(),
url.getFile());
Modified:
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/impl/core/TesterRdbmsWorkspaceInitializer.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/impl/core/TesterRdbmsWorkspaceInitializer.java 2010-12-24
10:19:57 UTC (rev 3725)
+++
jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/impl/core/TesterRdbmsWorkspaceInitializer.java 2010-12-24
15:27:32 UTC (rev 3726)
@@ -29,6 +29,7 @@
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager;
+import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
import java.io.IOException;
import java.sql.Connection;
@@ -53,11 +54,12 @@
public TesterRdbmsWorkspaceInitializer(WorkspaceEntry config, RepositoryEntry
repConfig,
CacheableWorkspaceDataManager dataManager, NamespaceRegistryImpl
namespaceRegistry,
LocationFactory locationFactory, NodeTypeManagerImpl nodeTypeManager,
ValueFactoryImpl valueFactory,
- AccessManager accessManager, RepositoryService repositoryService) throws
RepositoryConfigurationException,
+ AccessManager accessManager, RepositoryService repositoryService,
FileCleanerHolder cleanerHolder)
+ throws RepositoryConfigurationException,
PathNotFoundException, RepositoryException
{
super(config, repConfig, dataManager, namespaceRegistry, locationFactory,
nodeTypeManager, valueFactory,
- accessManager, repositoryService);
+ accessManager, repositoryService, cleanerHolder);
}
public void restoreValueFiles() throws RepositoryConfigurationException, IOException