Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-6468

AbstractNodeTypeRegistrationTask fails if the nodeType is already registered and has oder nodeTypes depending on it transitively

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Neutral
    • None
    • 5.3.12
    • core
    • None

    Description

      AbstractNodeTypeRegistrationTask method registerNodeTypes fails, if the nodeType exists and other nodeTypes already depend on it.

      A list of dependentNodeTypeNames is gathered, but not recursively, so those transitively dependent nodeTypes are not unregistered and the task fails.

      An example is the DataModuleVersionHandler, which re-registers the nodeTypes (in the wrong order imo):

                              types.add(NodeTypeTemplateUtil.createNodeType(nodeTypeManager, "dataItemNode", new String[] { "dataItemBase", Activatable.NAME }, false, true, null, true));
                              types.add(NodeTypeTemplateUtil.createNodeType(nodeTypeManager, "dataItem", new String[] { "dataItemBase", Activatable.NAME, Versionable.NAME }, false, true, null, true));
                              types.add(NodeTypeTemplateUtil.createNodeType(nodeTypeManager, "dataFolder", new String[] { "dataBase", Activatable.NAME }, false, true, null, true));
                              types.add(NodeTypeTemplateUtil.createNodeType(nodeTypeManager, "dataItemBase", new String[] { "dataBase" }, false, true, null, true));
                              types.add(NodeTypeTemplateUtil.createSimpleNodeType(nodeTypeManager, "dataBase", Arrays.asList("mix:referenceable", "nt:hierarchyNode", Created.NAME, LastModified.NAME)));
      

      This task fails, because dataBase can't be unregistered, as its dependant nodeType dataItemBase is needed for dataItem.

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              Unassigned Unassigned
              bvass Bence Vass
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Bug DoR
                  Task DoD