Sandro Boehme created SLING-6364:
------------------------------------

             Summary: FsResourceProvider wrongly (?) changed service property 
=> mountByFS via Maven Plugin broken
                 Key: SLING-6364
                 URL: https://issues.apache.org/jira/browse/SLING-6364
             Project: Sling
          Issue Type: Bug
          Components: Extensions
            Reporter: Sandro Boehme


When installing a bundle with Maven and -Dsling.mountByFS=true it currently 
doesn't work as the provider.roots property of the Filesystem Resource Provider 
stays empty in the web console. 

This is because the AbstractBundleInstallMojo class of the maven-sling-plugin 
uses the property 'provider.roots' in the REST API [1] call [2] to create a 
FsResourceProvider service instance but the FsResourceProvider class defined 
'provider.root' without the 's' at the end instead.
In revision 1769486 the property has been moved to a component property type. 
Thus the method 'provider_root()' of '@interface Config' is translated to 
'provider.root' according to the spec [3].

One could change the definition of the property in the FsResourceProvider or 
the use of the property in the AbstractBundleInstallMojo. The commit for 
1769486 does not sound like the property definition change of the service was 
by intention so I will provide a patch that keeps using 'provider.roots' 
instead of 'provider.root' assuming others may still use 'provider.roots'. 
Please tell me if my assumption was wrong [~cziegeler].
I will also fix the WebConsole labels of the two properties as they got 
switched.

References as note to myself as others probably know that:
[1] - 
http://felix.apache.org/documentation/subprojects/apache-felix-web-console/web-console-restful-api.html#apply
[2] - curl -i -u admin --data 
"apply=true&factoryPid=org.apache.sling.fsprovider.internal.FsResourceProvider&pid=[Temporary
 PID replaced by real PID upon 
save]&provider.file=/path/to/folder/in/filesystem&provider.roots=/path/to/repository/location&propertylist=provider.roots,provider.file"
 
http://localhost:8080/system/console/configMgr/org.apache.sling.fsprovider.internal.FsResourceProvider
[3] - see OSGi 6 Compendium 105.9.2 AttributeDefinition Annotation
"A single low line ('_' \u005F) is converted into a full stop ('.' \u002E)"



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

Reply via email to