You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by am...@apache.org on 2016/06/06 09:50:56 UTC
svn commit: r1746981 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java
Author: amitj
Date: Mon Jun 6 09:50:56 2016
New Revision: 1746981
URL: http://svn.apache.org/viewvc?rev=1746981&view=rev
Log:
OAK-4432: Ignore files in the root directory of the FileDataStore in #getAllIdentifiers
Fixed
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java?rev=1746981&r1=1746980&r2=1746981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java Mon Jun 6 09:50:56 2016
@@ -38,7 +38,6 @@ import com.google.common.io.BaseEncoding
import com.google.common.io.Closeables;
import com.google.common.io.Files;
-import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.jackrabbit.core.data.DataIdentifier;
@@ -50,6 +49,8 @@ import org.apache.jackrabbit.oak.plugins
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.commons.io.FilenameUtils.normalizeNoEndSeparator;
+
/**
* Oak specific extension of JR2 FileDataStore which enables
* provisioning the signing key via OSGi config
@@ -67,12 +68,13 @@ public class OakFileDataStore extends Fi
@Override
public Iterator<DataIdentifier> getAllIdentifiers() {
- final String path = FilenameUtils.normalizeNoEndSeparator(getPath());
+ final String path = normalizeNoEndSeparator(getPath());
return Files.fileTreeTraverser().postOrderTraversal(new File(getPath()))
.filter(new Predicate<File>() {
@Override
public boolean apply(File input) {
- return input.isFile() && !input.getParent().equals(path);
+ return input.isFile() &&
+ !normalizeNoEndSeparator(input.getParent()).equals(path);
}
})
.transform(new Function<File, DataIdentifier>() {
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java?rev=1746981&r1=1746980&r2=1746981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java Mon Jun 6 09:50:56 2016
@@ -42,9 +42,10 @@ public class OakFileDataStoreTest {
@Test
public void testGetAllIdentifiers() throws Exception {
File testDir = new File("./target", "oak-fds-test");
- FileUtils.touch(new File(testDir, "a"));
- FileUtils.touch(new File(testDir, "b"));
- FileUtils.touch(new File(testDir, "adir/c"));
+ FileUtils.touch(new File(testDir, "ab/cd/ef/abcdef"));
+ FileUtils.touch(new File(testDir, "bc/de/fg/bcdefg"));
+ FileUtils.touch(new File(testDir, "cd/ef/gh/cdefgh"));
+ FileUtils.touch(new File(testDir, "c"));
FileDataStore fds = new OakFileDataStore();
fds.setPath(testDir.getAbsolutePath());
@@ -58,7 +59,7 @@ public class OakFileDataStoreTest {
}
}));
- Set<String> expectedNames = Sets.newHashSet("a","b","c");
+ Set<String> expectedNames = Sets.newHashSet("abcdef","bcdefg","cdefgh");
assertEquals(expectedNames, fileNames);
FileUtils.cleanDirectory(testDir);
}