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

Stefan Seifert reassigned SLING-4117:
-------------------------------------

    Assignee: Stefan Seifert

> 'mountByFS=true' doesn't work a second time
> -------------------------------------------
>
>                 Key: SLING-4117
>                 URL: https://issues.apache.org/jira/browse/SLING-4117
>             Project: Sling
>          Issue Type: Bug
>          Components: Maven Plugins and Archetypes
>    Affects Versions: Maven Sling Plugin 2.1.0
>            Reporter: Sandro Boehme
>            Assignee: Stefan Seifert
>         Attachments: SLING-4117-patch.txt
>
>
> When calling 2.1.1-SNAPSHOT of the maven-sling-plugin with 'mountByFS=true' a 
> second time the following exception is thrown and the build fails:
> {code}
> org.apache.sling.commons.json.JSONException: JSONObject["provider.file"] not 
> found.
>       at org.apache.sling.commons.json.JSONObject.get(JSONObject.java:372)
>       at 
> org.apache.sling.commons.json.JSONObject.getJSONObject(JSONObject.java:466)
>       at 
> org.apache.sling.maven.bundlesupport.AbstractBundleInstallMojo.getCurrentFileProviderConfigs(AbstractBundleInstallMojo.java:544)
>       at 
> org.apache.sling.maven.bundlesupport.AbstractBundleInstallMojo.configure(AbstractBundleInstallMojo.java:367)
>       at 
> org.apache.sling.maven.bundlesupport.AbstractBundleInstallMojo.execute(AbstractBundleInstallMojo.java:222)
>       at 
> org.apache.sling.maven.bundlesupport.BundleInstallMojo.execute(BundleInstallMojo.java:58)
>       
> [ERROR] Failed to execute goal 
> org.apache.sling:maven-sling-plugin:2.1.1-SNAPSHOT:install (install-bundle) 
> on project resource-editor: Reading configuration from 
> http://localhost:8080/system/console/configMgr/(service.factoryPid=org.apache.sling.fsprovider.internal.FsResourceProvider).json
>  failed, cause: JSONObject["provider.file"] not found.
> {code}
> As the error message suggest in 
> org.apache.sling.maven.bundlesupport.AbstractBundleInstallMojo.getCurrentFileProviderConfigs()
>  line 544 the call to the 'provider.file' key of the JSON structure fails 
> because it is not directly accessible but nested in a 'properties' element. 
> The patch first reads the 'properties' element and only then the 
> 'provider.file' and the 'provider.roots' elements to fix the error.
> As the method name says this code is for loading the current file provider 
> configs. This is why it is not called when the maven-sling-plugin is called 
> with the 'mountByFS=true' parameter the first time when there is no config / 
> JSON result yet.
> Looking at the history of the AbstractBundleInstallMojo and 
> org.apache.felix.webconsole.internal.configuration.MetaTypeServiceSupport 
> (generates the "properties" part of the JSON at the server side) the nesting 
> in the "properties" element seem to have always been that way. Thats why I'm 
> wondering why this seem to have never worked. Either people didn't care 
> enough to get the mount call working a second time or I do something wrong 
> and miss some basic information.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to