myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prakash Udupa (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Created] (TRINIDAD-2453) MoveChildComponentChange fails to apply document change for relocated component case
Date Tue, 18 Feb 2014 20:20:21 GMT
Prakash Udupa created TRINIDAD-2453:
---------------------------------------

             Summary: MoveChildComponentChange fails to apply document change for relocated
component case
                 Key: TRINIDAD-2453
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2453
             Project: MyFaces Trinidad
          Issue Type: Bug
    Affects Versions: 2.1.0-core
            Reporter: Prakash Udupa



MoveChildComponentChange has documentation that all participants in the move (child to move,
the new parent at destination, common parent to both of these) should belong to the same document.

This is failing in relocated components usecase when the first two components are in the same
document, and when a common parent can be found in the same document.

For example consider this case:

Template definition for template1 is as follows:

<commonParent2>
  <facet1-reference/> <!-- facet1 contents from the base page will be relocated here
-->
  <facet2-reference/> <!-- facet2 contents from the base page will be relocated here
-->
<commonParent2>

Base Page (uses template1) definition is as follows:

<commonParent1>
  <template1> <!-- UIXInclude component -->
    <facet1>
      <componentToMove/>
    </facet1>
    <facet2>
      <destinationContainer/>
    </facet2>
  </template1>
</commonParent2>

In this case the "componentToMove" and "destinationContainer" are defined in the same document
(Base Page), and the implementation in MoveChildComponentChange can easily record "commonParent1"
as the common ancestor in which case all three participants belong to the same document and
so the move document change should be successful. Instead the issue is that the implementation
considers "commonParent2" as the common ancestor, this component belongs to a different document
(template1), and results in the Move document change failing.

I'll upload a patch that fixes this issue, and also cleans up the code in MoveChildComponentChange
to improve readability and make it easy to understand.




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message