You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "A. J. David Bosschaert (Jira)" <ji...@apache.org> on 2021/10/07 16:03:00 UTC
[jira] [Created] (SLING-10859) runmode.mapping file does not
contain all needed values
A. J. David Bosschaert created SLING-10859:
----------------------------------------------
Summary: runmode.mapping file does not contain all needed values
Key: SLING-10859
URL: https://issues.apache.org/jira/browse/SLING-10859
Project: Sling
Issue Type: Bug
Components: Content-Package to Feature Model Converter
Affects Versions: Content-Package to Feature Model Converter 1.1.6
Reporter: A. J. David Bosschaert
In some cases the {{runmode.mapping}} file generated by the cpconverter does not contain all the required file (feature model) references.
This can happen when certain filenames that need to be referenced are a substring of other file names.
It centers around this code: https://github.com/apache/sling-org-apache-sling-feature-cpconverter/blob/master/src/main/java/org/apache/sling/feature/cpconverter/features/RunmodeMapper.java#L63-L67
Assume that {{properties}} contains an entry {{(default)=>my-webapp-all.json}}. Then next a feature file named {{all.json}} is processed. As the name of it is a substring of the pre-existing value it will not append. In fact it will replace the previous value with the new value and as such remove it.
The logic there should be fixed to not use substrings, but rather compare entire names. Possibly a better idea would be to keep a Set<String> internally and convert that to a comma-separated list only once the Properties are persisted in the {{save(()}} call.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)