Here's the background:
- The "::", ":::" support is relatively recent.
- Because of that, there originally was no way for a table to
  be triggered by anything but its own children, since a table
  is a naming container!

This was a high priority issue back in the day, and the fix (then)
was to change addPartialTriggerListeners() from using the component
itself to the parent.  And, sadly, the documentation didn't follow.

So, to answer one question - "how many users are dependent on this
broken behavior" - the answer is TONS.  Change it, and you'll
break partialTriggers on all tables.  Which is bad.

The question of how many people rely on the behavior of "::"
when you're on a non-naming container whose immediate parent
is a naming container is far trickier to answer.  Someone out there
will care, and have their code broken, but it's not the massive hell
that changing it for components that are themselves naming
containers would be.

My recommendation is to change the code and documentation to:
 - If the component is a naming container, search relative to the
   parent;  otherwise search relative to the component

Then the next question is whether, on failure for the non-NC
case, we should do a second search relative to the parent,
just for backwards compatibility, but deprecate that pattern
(perhaps by logging at INFO that a deprecated usage of
partialTriggers is in effect).

-- Adam


On 10/5/07, Andrew Robinson <[EMAIL PROTECTED]> wrote:
> The API for the partialTriggers seems to be broken for Trinidad trunk
> components. The bug is:
>
> https://issues.apache.org/jira/browse/TRINIDAD-757
>
> Please review the comments and offer any opinions on changing the
> current method to match the documentation. Also please check that we
> are right.
>
> Thanks,
> Andrew
>

Reply via email to