[gatein-dev] Update behaviour of PageNavigation.merge
Julien Viet
julien at julienviet.com
Wed Oct 27 12:55:06 EDT 2010
Hi Matt,
1/ I think this behavior cannot break things as the previous scenario was to replace the existing page and would have rather been considered as a bug (a navigation is replaced by another navigation). So I think it is quite good, but I may be wrong and I will discuss tomorrow with Trong to have his opinion.
2/ I think we should provide a way to control how merge appends. Here I am thinking about leveraging the priority value and using it to compare it to the loaded navigation that will be merged to and according to the result do the following:
- extension priority < existing priority : merge before
- same priority : replace (which means that this is the current behavior)
- extension priority > existing priority : merge after
3/ your patch does not have any unit test and that precludes the addition to the codebase.
On Oct 27, 2010, at 6:30 PM, Matt Wringe wrote:
> Currently when we are using the extension mechanism, we do not properly
> merge the child PageNodes. What happens if that if the child PageNode
> already exists it will overwrite the old PageNode with the new one.
>
> Since PageNodes also has children PageNodes we are stuck in a situation
> where we can only handle the top level of PageNodes tree. We cannot
> currently use the extension mechanism to add a new page node anywhere in
> the page node tree.
>
> Jira with patch which merges the child nodes together:
> https://jira.jboss.org/browse/GTNPORTAL-1605
>
> I would have committed this, but it does change the behaviour of how
> this works. Ie if someone was using the extension mechanism to overwrite
> an existing page node.
> Is anyone using it in this manner? Do we need to add an extra option to
> pageNavigation which will tell it overwrite or not overwrite when
> merging?
>
> _______________________________________________
> gatein-dev mailing list
> gatein-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/gatein-dev
More information about the gatein-dev
mailing list