[MAGNOLIA-2902] ContentUtil collectAllChildren method is not really recursive Created: 16/Oct/09  Updated: 04/Nov/15  Resolved: 04/Nov/15

Status: Closed
Project: Magnolia
Component/s: core
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Bert Leunis Assignee: Philipp Bärfuss
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

I think I spotted a different approach for two of the collecAllChildren methods in the info.magnolia.cms.util.ContentUtil class. The methods collect nodes recursively.

1. collectAllChildren(List nodes, Content node, ContentFilter filter)

In this method the first level of children is collected with the filter. For the next level of children not only the nodes that match the filter are taken into account, but the children of ALL nodes of the first level. So children that match the filter, but who's parents do not, are indeed found.

2. collectAllChildren(List nodes, Content node, ItemType[] types)

In this method however, only children that have parents that match one of the ItemTypes in the array are found. For example: if I am looking for all nodes of type B and C, but when some of them have a parent of type A, they will not be found.

This seems inconsistent to me, and I think the first way matches the expected functionality the best. Maybe this method should be deprecated, saying it does not work well, and create a new method, for example collectAllChildrenByItemTypes which does the better job. This way existing code will still work as expected with the deprecated method, and you are not suddenly confronted with different behaviour.



 Comments   
Comment by Michael Mühlebach [ 04/Nov/15 ]

Given the thousands of other issues we have open that are more highly requested, we won't be able to address this issue in the foreseeable future. Instead we will focus on issues with a higher impact, and more votes.
Thanks for taking the time to raise this issue. As you are no doubt aware this issue has been on our backlog for some time now with very little movement.
I'm going to close this to set expectations so the issue doesn't stay open for years with few updates. If the issue is still relevant please feel free to reopen it or create a new issue.

Generated at Mon Feb 12 03:41:14 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.