[ 
https://issues.apache.org/jira/browse/SLING-11499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Seifert updated SLING-11499:
-----------------------------------
    Affects Version/s: File System Resource Provider 2.2.0

this question relates to the [File System Resource 
Provider|https://sling.apache.org/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html]

by definition, the FS resource provider creates only a read-only view of the 
file systems. so all resources that are obtained in a path mounted via this 
provider are read-only. it does not implement any write-back facility. for 
that, you have to use JCR or other resource providers.

> ContentFileResource - Unable to adapt to ModifiableValueMap
> -----------------------------------------------------------
>
>                 Key: SLING-11499
>                 URL: https://issues.apache.org/jira/browse/SLING-11499
>             Project: Sling
>          Issue Type: Bug
>    Affects Versions: File System Resource Provider 2.2.0
>            Reporter: Mahidhar Chaluvadi
>            Priority: Major
>
> When trying to load Sling Mocks using File Vault (Content XML  files instead 
> of Json files), the src code that relies on adapting to ModifiableValueMap is 
> returning null. Please advise on what's the right way to handle this or 
> advise us with the fix details if this is a valid bug. Additionally feel free 
> to reach out to me for testing the fixes or to include me in any development 
> efforts.
>  
> Here is the sample code for reproducing the issue.
>  
> Assumptions:
>  # Sample content is available as a content package module as part of the 
> project structure
>  # Content does contain a valid page with any component below responsive grid
>  
> {code:java}
> package com.junit.sling.mocks;
> import org.apache.jackrabbit.vault.util.PathUtil;
> import org.apache.sling.api.resource.ModifiableValueMap;
> import org.apache.sling.api.resource.Resource;
> import org.apache.sling.api.resource.ResourceResolver;
> import org.apache.sling.api.resource.ValueMap;
> import org.apache.sling.testing.mock.sling.ResourceResolverType;
> import org.apache.sling.testing.mock.sling.junit5.SlingContext;
> import org.apache.sling.testing.mock.sling.junit5.SlingContextExtension;
> import org.apache.sling.testing.mock.sling.loader.ContentLoader;
> import org.junit.jupiter.api.Assertions;
> import org.junit.jupiter.api.BeforeEach;
> import org.junit.jupiter.api.Test;
> import org.junit.jupiter.api.extension.ExtendWith;
> import java.io.File;
> @ExtendWith({SlingContextExtension.class})
> public class AEMMocksJUnit5ModifiableValueMap {
>         public final SlingContext slingContext = new 
> SlingContext(ResourceResolverType.RESOURCERESOLVER_MOCK);
>         private static final String TEST_RESOURCE = 
> "/content/junit-core-mock-data/somepage/jcr:content/root/responsivegrid/somecomponent";
>         private static final String VAULT_FS_HOME = 
> "/ui.content.sample/src/main/content/jcr_root";
>         private final ResourceResolver resourceResolver = 
> slingContext.resourceResolver();
>         private Resource finalJsonResource;
>         @BeforeEach
>         public void setUpDefaultMockContent() {
>             ContentLoader contentLoader = slingContext.load();
>             File bundleDirectory = new 
> File(System.getProperty("user.dir")).getParentFile();
>             final String VAULT_FS_HOME_ABS_PATH = 
> PathUtil.append(bundleDirectory.getPath(),VAULT_FS_HOME);
>             contentLoader.folderFileVaultXml(VAULT_FS_HOME_ABS_PATH,"/conf");
>             
> contentLoader.folderFileVaultXml(VAULT_FS_HOME_ABS_PATH,"/content");
>             slingContext.runMode("author");
>         }
>         @Test
>         public void testModifiableValueMap() {
>             finalJsonResource = resourceResolver.getResource(TEST_RESOURCE);
>             if (finalJsonResource != null)
>                 
> Assertions.assertNotNull(finalJsonResource.adaptTo(ValueMap.class));
>                 // Code below is not meant to return null
>                 
> Assertions.assertNull(finalJsonResource.adaptTo(ModifiableValueMap.class));
>         }
>     } {code}
>  
> Thanks



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to