[exo-jcr-commits] exo-jcr SVN: r3306 - in jcr/trunk/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/impl/storage/value and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Oct 21 03:09:28 EDT 2010
Author: sergiykarpenko
Date: 2010-10-21 03:09:28 -0400 (Thu, 21 Oct 2010)
New Revision: 3306
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableSimpleFileValueStorage.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableTreeFileValueStorage.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileValueStorage.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileValueStorage.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCWDCTest.java
Log:
EXOJCR-999: Make FileValueStorage use common per-repository FileCleaner
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -513,7 +513,9 @@
{
registerComponentInstance(config);
-
+ // WorkspaceFileCleanerHolder - is a common holder for all workspaces.
+ // It is used to initialize FileValueStorage
+ registerComponentImplementation(WorkspaceFileCleanerHolder.class);
registerWorkspacesComponents();
registerRepositoryComponents();
}
@@ -524,7 +526,6 @@
registerComponentImplementation(RepositoryIndexSearcherHolder.class);
- registerComponentImplementation(WorkspaceFileCleanerHolder.class);
registerComponentImplementation(LocationFactory.class);
registerComponentImplementation(ValueFactoryImpl.class);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -24,6 +24,8 @@
import org.exoplatform.services.jcr.config.ValueStorageFilterEntry;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.datamodel.PropertyData;
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.WorkspaceFileCleanerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
import org.exoplatform.services.jcr.storage.value.ValuePluginFilter;
@@ -60,7 +62,8 @@
*/
private final ValueDataResourceHolder resorcesHolder;
- public StandaloneStoragePluginProvider(WorkspaceEntry wsConfig) throws RepositoryConfigurationException, IOException
+ public StandaloneStoragePluginProvider(WorkspaceEntry wsConfig, WorkspaceFileCleanerHolder holder)
+ throws RepositoryConfigurationException, IOException
{
this.resorcesHolder = new ValueDataResourceHolder();
@@ -82,7 +85,10 @@
Object o = null;
try
{
- o = Class.forName(storageEntry.getType()).newInstance();
+ o =
+ Class.forName(storageEntry.getType()).getConstructor(FileCleaner.class).newInstance(
+ holder.getFileCleaner());
+
}
catch (Exception e)
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableSimpleFileValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableSimpleFileValueStorage.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableSimpleFileValueStorage.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
import org.exoplatform.services.jcr.impl.storage.value.cas.ValueContentAddressStorage;
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
import java.io.IOException;
@@ -40,6 +41,11 @@
private String digestAlgo;
+ public CASableSimpleFileValueStorage(FileCleaner cleaner)
+ {
+ super(cleaner);
+ }
+
@Override
public void init(Properties props, ValueDataResourceHolder resources) throws IOException,
RepositoryConfigurationException
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableTreeFileValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableTreeFileValueStorage.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableTreeFileValueStorage.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
import org.exoplatform.services.jcr.impl.storage.value.cas.ValueContentAddressStorage;
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import java.io.IOException;
import java.util.Properties;
@@ -38,6 +39,11 @@
private String digestAlgo;
+ public CASableTreeFileValueStorage(FileCleaner cleaner)
+ {
+ super(cleaner);
+ }
+
/**
* {@inheritDoc}
*/
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -46,7 +46,7 @@
public final static String PATH = "path";
/**
- * Temporarory directopry name under stoprage root dir.
+ * Temporary directory name under storage root dir.
*/
public static final String TEMP_DIR_NAME = "temp";
@@ -58,11 +58,10 @@
/**
* FileValueStorage constructor.
- *
*/
- public FileValueStorage()
+ public FileValueStorage(FileCleaner cleaner)
{
- this.cleaner = new FileCleaner(); // TODO use container cleaner
+ this.cleaner = cleaner;
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileValueStorage.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileValueStorage.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.storage.value.fs;
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
import java.io.IOException;
@@ -32,6 +33,11 @@
public class SimpleFileValueStorage extends FileValueStorage
{
+ public SimpleFileValueStorage(FileCleaner cleaner)
+ {
+ super(cleaner);
+ }
+
/**
* @see org.exoplatform.services.jcr.storage.value.ValueStoragePlugin#openIOChannel()
*/
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileValueStorage.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileValueStorage.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -43,8 +43,9 @@
}
}
- public TreeFileValueStorage()
+ public TreeFileValueStorage(FileCleaner cleaner)
{
+ super(cleaner);
this.cleaner = new TreeFileCleaner(); // TODO use container cleaner
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCWDCTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCWDCTest.java 2010-10-20 13:24:47 UTC (rev 3305)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCWDCTest.java 2010-10-21 07:09:28 UTC (rev 3306)
@@ -18,6 +18,17 @@
*/
package org.exoplatform.services.jcr.impl.storage;
+import java.sql.Connection;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import javax.jcr.PropertyType;
+import javax.naming.InitialContext;
+import javax.naming.Reference;
+import javax.naming.StringRefAddr;
+import javax.sql.DataSource;
+
import junit.framework.TestCase;
import org.exoplatform.services.jcr.access.AccessControlList;
@@ -35,22 +46,12 @@
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
import org.exoplatform.services.jcr.impl.storage.value.StandaloneStoragePluginProvider;
+import org.exoplatform.services.jcr.impl.util.io.WorkspaceFileCleanerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.log.LogConfigurationInitializer;
-import java.sql.Connection;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import javax.jcr.PropertyType;
-import javax.naming.InitialContext;
-import javax.naming.Reference;
-import javax.naming.StringRefAddr;
-import javax.sql.DataSource;
-
/**
* Created by The eXo Platform SAS.
*
@@ -105,7 +106,7 @@
// SimpleJNDIContextInitializer.initialize(sourceName, ref);
container =
- new JDBCWorkspaceDataContainer(config, repositoryEntry, null, new StandaloneStoragePluginProvider(config));
+ new JDBCWorkspaceDataContainer(config, repositoryEntry, null, new StandaloneStoragePluginProvider(config, new WorkspaceFileCleanerHolder()));
Properties logProps = new Properties();
logProps.put("org.apache.commons.logging.simplelog.defaultlog", "debug");
More information about the exo-jcr-commits
mailing list