You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2017/05/04 17:05:14 UTC
svn commit: r1793834 - in
/sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal:
FsResourceProvider.java mapper/FileResource.java
mapper/FileResourceMapper.java mapper/FileVaultResourceMapper.java
Author: sseifert
Date: Thu May 4 17:05:14 2017
New Revision: 1793834
URL: http://svn.apache.org/viewvc?rev=1793834&view=rev
Log:
SLING-6829 make sour FileResource for directories is only overlayed in FILES_FOLDERS mode
Modified:
sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/FsResourceProvider.java
sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResource.java
sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResourceMapper.java
sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileVaultResourceMapper.java
Modified: sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/FsResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/FsResourceProvider.java?rev=1793834&r1=1793833&r2=1793834&view=diff
==============================================================================
--- sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/FsResourceProvider.java (original)
+++ sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/FsResourceProvider.java Thu May 4 17:05:14 2017
@@ -288,7 +288,7 @@ public final class FsResourceProvider im
this.fileVaultMapper = new FileVaultResourceMapper(this.providerFile, filterXmlFile, this.contentFileCache);
}
else {
- this.fileMapper = new FileResourceMapper(this.providerRoot, this.providerFile, contentFileExtensions, this.contentFileCache);
+ this.fileMapper = new FileResourceMapper(this.providerRoot, this.providerFile, contentFileExtensions, this.contentFileCache, this.fsMode);
this.contentFileMapper = new ContentFileResourceMapper(this.providerRoot, this.providerFile,
contentFileExtensions, this.contentFileCache);
}
Modified: sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResource.java
URL: http://svn.apache.org/viewvc/sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResource.java?rev=1793834&r1=1793833&r2=1793834&view=diff
==============================================================================
--- sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResource.java (original)
+++ sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResource.java Thu May 4 17:05:14 2017
@@ -39,6 +39,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.fsprovider.internal.ContentFileExtensions;
+import org.apache.sling.fsprovider.internal.FsMode;
import org.apache.sling.fsprovider.internal.mapper.valuemap.ValueMapDecorator;
import org.apache.sling.fsprovider.internal.parser.ContentElement;
import org.apache.sling.fsprovider.internal.parser.ContentFileCache;
@@ -89,6 +90,7 @@ public final class FileResource extends
private final ContentFileExtensions contentFileExtensions;
private final ContentFileCache contentFileCache;
+ private final FsMode fsMode;
private static final Logger log = LoggerFactory.getLogger(FileResource.class);
@@ -99,17 +101,19 @@ public final class FileResource extends
* @param resourcePath The resource path in the resource tree
* @param file The wrapped file
*/
- FileResource(ResourceResolver resolver, String resourcePath, File file) {
- this(resolver, resourcePath, file, null, null);
+ FileResource(ResourceResolver resolver, String resourcePath, File file, FsMode fsMode) {
+ this(resolver, resourcePath, file, null, null, fsMode);
}
FileResource(ResourceResolver resolver, String resourcePath, File file,
- ContentFileExtensions contentFileExtensions, ContentFileCache contentFileCache) {
+ ContentFileExtensions contentFileExtensions, ContentFileCache contentFileCache,
+ FsMode fsMode) {
this.resolver = resolver;
this.resourcePath = resourcePath;
this.file = file;
this.contentFileExtensions = contentFileExtensions;
this.contentFileCache = contentFileCache;
+ this.fsMode = fsMode;
}
/**
@@ -130,7 +134,7 @@ public final class FileResource extends
metaData.setContentLength(file.length());
metaData.setModificationTime(file.lastModified());
metaData.setResolutionPath(resourcePath);
- if ( this.file.isDirectory() ) {
+ if (fsMode == FsMode.FILES_FOLDERS && this.file.isDirectory()) {
metaData.put(ResourceMetadata.INTERNAL_CONTINUE_RESOLVING, Boolean.TRUE);
}
}
Modified: sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResourceMapper.java
URL: http://svn.apache.org/viewvc/sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResourceMapper.java?rev=1793834&r1=1793833&r2=1793834&view=diff
==============================================================================
--- sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResourceMapper.java (original)
+++ sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileResourceMapper.java Thu May 4 17:05:14 2017
@@ -28,6 +28,7 @@ import org.apache.commons.lang3.StringUt
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.fsprovider.internal.ContentFileExtensions;
+import org.apache.sling.fsprovider.internal.FsMode;
import org.apache.sling.fsprovider.internal.FsResourceMapper;
import org.apache.sling.fsprovider.internal.parser.ContentFileCache;
@@ -44,21 +45,23 @@ public final class FileResourceMapper im
private final ContentFileExtensions contentFileExtensions;
private final ContentFileCache contentFileCache;
+ private final FsMode fsMode;
public FileResourceMapper(String providerRoot, File providerFile,
- ContentFileExtensions contentFileExtensions, ContentFileCache contentFileCache) {
+ ContentFileExtensions contentFileExtensions, ContentFileCache contentFileCache, FsMode fsMode) {
this.providerRoot = providerRoot;
this.providerRootPrefix = providerRoot.concat("/");
this.providerFile = providerFile;
this.contentFileExtensions = contentFileExtensions;
this.contentFileCache = contentFileCache;
+ this.fsMode = fsMode;
}
@Override
public Resource getResource(final ResourceResolver resolver, final String resourcePath) {
File file = getFile(resourcePath);
if (file != null) {
- return new FileResource(resolver, resourcePath, file, contentFileExtensions, contentFileCache);
+ return new FileResource(resolver, resourcePath, file, contentFileExtensions, contentFileCache, fsMode);
}
else {
return null;
@@ -88,7 +91,7 @@ public final class FileResourceMapper im
if (providerRoot.startsWith(parentPathPrefix)) {
String relPath = providerRoot.substring(parentPathPrefix.length());
if (relPath.indexOf('/') < 0) {
- Resource res = new FileResource(resolver, providerRoot, providerFile, contentFileExtensions, contentFileCache);
+ Resource res = new FileResource(resolver, providerRoot, providerFile, contentFileExtensions, contentFileCache, fsMode);
return IteratorUtils.singletonIterator(res);
}
}
@@ -119,7 +122,7 @@ public final class FileResourceMapper im
public Object transform(Object input) {
File file = (File)input;
String path = parentPath + "/" + file.getName();
- return new FileResource(resolver, path, file, contentFileExtensions, contentFileCache);
+ return new FileResource(resolver, path, file, contentFileExtensions, contentFileCache, fsMode);
}
});
}
Modified: sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileVaultResourceMapper.java
URL: http://svn.apache.org/viewvc/sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileVaultResourceMapper.java?rev=1793834&r1=1793833&r2=1793834&view=diff
==============================================================================
--- sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileVaultResourceMapper.java (original)
+++ sling/branches/fsresource-1.x/src/main/java/org/apache/sling/fsprovider/internal/mapper/FileVaultResourceMapper.java Thu May 4 17:05:14 2017
@@ -37,6 +37,7 @@ import org.apache.jackrabbit.vault.util.
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
+import org.apache.sling.fsprovider.internal.FsMode;
import org.apache.sling.fsprovider.internal.FsResourceMapper;
import org.apache.sling.fsprovider.internal.parser.ContentElement;
import org.apache.sling.fsprovider.internal.parser.ContentFileCache;
@@ -68,7 +69,7 @@ public final class FileVaultResourceMapp
// direct file
File file = getFile(resourcePath);
if (file != null && file.isFile()) {
- return new FileResource(resolver, resourcePath, file);
+ return new FileResource(resolver, resourcePath, file, FsMode.FILEVAULT_XML);
}
// content file
@@ -79,7 +80,7 @@ public final class FileVaultResourceMapp
// fallback to directory resource if folder was found but nothing else
if (file != null && file.isDirectory()) {
- return new FileResource(resolver, resourcePath, file);
+ return new FileResource(resolver, resourcePath, file, FsMode.FILEVAULT_XML);
}
return null;