Niek Raaijmakers created SLING-10929:
----------------------------------------
Summary: CPConverter - error messages can be obfuscated
Key: SLING-10929
URL: https://issues.apache.org/jira/browse/SLING-10929
Project: Sling
Issue Type: Bug
Components: Content-Package to Feature Model Converter
Reporter: Niek Raaijmakers
Assignee: Niek Raaijmakers
Fix For: Content-Package to Feature Model Converter 1.1.12
[~karlpauls], while trying to fix some sonar findings in the converter I came
across a warning about a null {{NodeTypeManager}} being passed to
{{CndImporter.registerNodeTypes}} in the following new method introduced with
SLING-10243:
{code}
public void registerCnd(Reader reader, String systemId) throws ParseException,
RepositoryException, IOException {
NodeTypeManager ntManager = null;
ValueFactory valueFactory = null;
CndImporter.registerNodeTypes(reader, systemId, ntManager, this,
valueFactory, false);
registeredCndSystemIds.add(systemId);
}
{code}
a simple test shows that the method always fails with NPE.
so, unless i am missing something that code calling this method doesn't work at
all..... according to
https://sonarcloud.io/component_measures?id=apache_sling-org-apache-sling-feature-cpconverter&metric=uncovered_conditions&selected=apache_sling-org-apache-sling-feature-cpconverter%3Asrc%2Fmain%2Fjava%2Forg%2Fapache%2Fsling%2Ffeature%2Fcpconverter%2Fvltpkg%2FJcrNamespaceRegistry.java&view=list
the method isn't covered with any tests either.... so that might explain why
it has not been spotted before.
what would be the best approach to get this fixed? should we revert changes
made with SLING-10243? There is most probably no instance of JCR
{{NodeTypeManager}} available if there is no JCR repository available at the
stage the converter is being executed and I don't think mocking it at this
stage is sensible.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)