[
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)