You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Niek Raaijmakers (Jira)" <ji...@apache.org> on 2021/11/10 09:41:00 UTC

[jira] [Updated] (SLING-10914) CpConverter - package calculation should be based on filters

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

Niek Raaijmakers updated SLING-10914:
-------------------------------------
    Description: 
As of now, the package (re)calculation being performed is done on the basis of package contents.

Instead what it should be calculated on is the package filter. Because an empty "nuke filter" can be used as well, to clear out paths.

Therefore to avoid collision, the package filters should be used as leading indicator.

  was:
[~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.


> CpConverter - package calculation should be based on filters
> ------------------------------------------------------------
>
>                 Key: SLING-10914
>                 URL: https://issues.apache.org/jira/browse/SLING-10914
>             Project: Sling
>          Issue Type: Bug
>          Components: Content-Package to Feature Model Converter
>            Reporter: Niek Raaijmakers
>            Assignee: Niek Raaijmakers
>            Priority: Major
>             Fix For: Content-Package to Feature Model Converter 1.1.12
>
>
> As of now, the package (re)calculation being performed is done on the basis of package contents.
> Instead what it should be calculated on is the package filter. Because an empty "nuke filter" can be used as well, to clear out paths.
> Therefore to avoid collision, the package filters should be used as leading indicator.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)