You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org> on 2008/06/17 01:19:45 UTC

[jira] Created: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
------------------------------------------------------------------------------------------------------------

                 Key: TAPESTRY-2460
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
             Project: Tapestry
          Issue Type: Bug
          Components: tapestry-core
            Reporter: Kristian Marinkovic
             Fix For: 5.0.14
         Attachments: beaneditor.zip

the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.

somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Closed: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2460.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0.14

I'm not certain my test case perfectly reflects your test case, so please re-test and re-open if there's a problem.

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Closed: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2460.
------------------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 5.0.14)
                   5.0.15

Ran your application using 5.0.15 and it worked no problems.

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.15
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2460:
-------------------------------------------

    Assignee:     (was: Howard M. Lewis Ship)

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Issue Comment Edited: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12615114#action_12615114 ] 

kristian edited comment on TAPESTRY-2460 at 7/20/08 1:03 PM:
------------------------------------------------------------------------

hi howard,

this problem is still present in the latest svn version (678315)

      was (Author: kristian):
    hi howard,

this problem is still present in latest svn version (678315)
  
> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606907#action_12606907 ] 

Howard M. Lewis Ship commented on TAPESTRY-2460:
------------------------------------------------

I'm getting slightly diffrerent results with my test, an exception when rendering:

java.lang.RuntimeException
There is no defined way to edit data of type 'null'. Make a contribution to the BeanBlockSource service for this type.

Stack trace

        * org.apache.tapestry5.internal.services.BeanBlockSourceImpl.getEditBlock(BeanBlockSourceImpl.java:64)
        * org.apache.tapestry5.corelib.components.PropertyEditor.beginRender(PropertyEditor.java:236)
        * org.apache.tapestry5.corelib.components.PropertyEditor.beginRender(PropertyEditor.java)


>From this template:

  <t:beaneditform object="parent" add="child">

       <parameter name="child">
           <t:beaneditor object="parent.child"/>
       </parameter>

   </t:beaneditform>

(I added the add parameter to BeanEditor and BeanEditForm).




> a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2460:
-------------------------------------------

    Summary: Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException  (was: a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted)

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606920#action_12606920 ] 

Howard M. Lewis Ship commented on TAPESTRY-2460:
------------------------------------------------

Ok, now with template:

    <t:beaneditform object="parent" add="child">

        <t:parameter name="child">

            <div class="t-beaneditor" style="margin-left: 45px;">
                <h2>Child</h2>
                <t:beaneditor object="parent.child"/>
            </div>
        </t:parameter>

    </t:beaneditform>

The page renders well, but gives error on submit:

java.lang.RuntimeException
Bean editor model for org.apache.tapestry5.integration.app1.data.Person already contains a property model for property 'child'.

Stack trace

        * org.apache.tapestry5.internal.beaneditor.BeanModelImpl.validateNewPropertyName(BeanModelImpl.java:87)
        * org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:128)
        * org.apache.tapestry5.internal.beaneditor.BeanModelUtils.add(BeanModelUtils.java:59)
        * org.apache.tapestry5.internal.beaneditor.BeanModelUtils.modify(BeanModelUtils.java:39)
        * org.apache.tapestry5.corelib.components.BeanEditForm.onPrepareFromForm(BeanEditForm.java:155)


> a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Issue Comment Edited: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607392#action_12607392 ] 

kristian edited comment on TAPESTRY-2460 at 6/23/08 2:59 PM:
------------------------------------------------------------------------

hi howard,

i tested my beaneditor example with the latest codebase (svn 670759 and 670748) and i still got the same StackOverflowException. 

My test tries to simulate an example where the second BeanEditor receives its data from a PropertyEditContext object. it cannot access the child property directly because the block is defined in another page that contributes the required Blocks. 

i was not able to track down the problem myself, but i guess the problem is that the first BeanEditors' PropertyEditor passes the object to the PropertyEditContext by creating a conduit. Then the second BeanEditor tries to pass in the object as well by creating another conduit. and somehow the first conduit starts pointing to the second conduit (or the other way round). when i then submit the form the BeanEditor will try to read the object parameter by reading the conduit and thus starting the loop. 

As said, its just a guess. I already took a look at the cache inside the PropertyConduitSource but couldn't find anything. below is the stack trace i get

g,
kris

// the beginning of the stack trace is different
# rg.apache.tapestry5.ioc.util.CaseInsensitiveMap.caseInsenitiveHashCode(CaseInsensitiveMap.java:485)
# org.apache.tapestry5.ioc.util.CaseInsensitiveMap.select(CaseInsensitiveMap.java:390)
# org.apache.tapestry5.ioc.util.CaseInsensitiveMap.get(CaseInsensitiveMap.java:367)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.getBinding(InternalComponentResourcesImpl.java:284)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.isBound(InternalComponentResourcesImpl.java:158)
# org.apache.tapestry5.corelib.components.BeanEditor._$read_parameter_object(BeanEditor.java)
# org.apache.tapestry5.corelib.components.BeanEditor.getObject(BeanEditor.java:142)
# org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:53)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:237)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:252)
# org.apache.tapestry5.corelib.components.PropertyEditor._$read_parameter_object(PropertyEditor.java)
# org.apache.tapestry5.corelib.components.PropertyEditor.access$2(PropertyEditor.java:86)
# org.apache.tapestry5.corelib.components.PropertyEditor$1.getPropertyValue(PropertyEditor.java:166)
# org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:53)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:237)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:252)
# org.apache.tapestry5.corelib.components.BeanEditor._$read_parameter_object(BeanEditor.java)
# org.apache.tapestry5.corelib.components.BeanEditor.getObject(BeanEditor.java:142)
# org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:53)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:237)
# org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:252)
# org.apache.tapestry5.corelib.components.PropertyEditor._$read_parameter_object(PropertyEditor.java)
# org.apache.tapestry5.corelib.components.PropertyEditor.access$2(PropertyEditor.java:86)
# org.apache.tapestry5.corelib.components.PropertyEditor$1.getPropertyValue(PropertyEditor.java:166)
# org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:53)

  
> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620148#action_12620148 ] 

Kristian Marinkovic commented on TAPESTRY-2460:
-----------------------------------------------

hi Martin,

i'm glad someone else experiences the same problem :)

have you found a workaround?

g,
kris

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Martin Papy (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619045#action_12619045 ] 

Martin Papy commented on TAPESTRY-2460:
---------------------------------------

Hi Howard,

I have also the same problem. I use a BeanEditor for editing a 'complex' property by contributing to BeanBlockSource. The display goes well, but the update throw the StackOverflowError like Kristian.

BTW I did'nt had the error when putting directly the BeanEditor in the BeanEditForm. It occured only when I wanted to use the BeanBlockSource

For the contribution I followed exactly the exemple given in "Adding New Property Editors" the doc : http://tapestry.formos.com/nightly/tapestry5/tapestry-core/guide/beaneditform.html.

in AppPropertyEditBlocks.java

@Environmental
private PropertyEditContext _context;

@Component(parameters = { "object=address" }) // We need to cast from Object to Address to make the BeanEditor work
private BeanEditor _addressEditor;
	
public Address getAddress() {
	return ((Address)getContext().getPropertyValue());
}

in AppPropertyEditBlocks.tml

<t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
  <t:block id="address">
  	<fieldset>
		<legend align="top">${message:address-legend}</legend>
		<t:beanEditor t:id="addressEditor" />
	</fieldset>
  </t:block>
</t:container>


> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Martin Papy (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620190#action_12620190 ] 

Martin Papy commented on TAPESTRY-2460:
---------------------------------------

Hi Kristian,

The only workaround I found, is the way I did it in the first place :

In AppModule :

public static void contributeDefaultDataTypeAnalyzer(MappedConfiguration<Class<?>, String> configuration) {
		configuration.add(Address.class, "address");
}

In tml file :

<t:beanEditForm t:object="user">
		    <t:parameter name="address">
			    <t:beanEditor t:object="user.address" />
		    </t:parameter>
</t:beanEditForm>

I hoped it would be corrected for T5.0.14, but it seems it won't be the case.

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Assigned: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAPESTRY-2460:
----------------------------------------------

    Assignee: Howard M. Lewis Ship

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Reopened: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Marinkovic reopened TAPESTRY-2460:
-------------------------------------------


> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Marinkovic updated TAPESTRY-2460:
------------------------------------------

        Fix Version/s:     (was: 5.0.14)
    Affects Version/s: 5.0.13

removed fix version :)

> a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630797#action_12630797 ] 

Howard M. Lewis Ship commented on TAPESTRY-2460:
------------------------------------------------

This jumped out at me:

	@Component(parameters =
	{ "object=context.propertyValue", "model=model" })
	private BeanEditor editor2;

I suspect things would work if

object=a.data

I think what's happening is that the inner BeanEditor is trying to update a property of its object ... that means that a Block is, via the PropertyEditContext, trying to resolve context.propertyValue.

i.e. this code:

           public void setPropertyValue(Object value)
            {
                propertyModel.getConduit().set(object, value);
            }


In other words, we have, say, a TextField whose value is bound to context.propertyValue.

However, to update that we need the object parameter bound to BeanEditor and passed to PropertyEditor.

That object parameter is bound to  .... context.propertyValue.

The reason it works for rendering, and not for form submission, is that during rendering, the parameter fields (object inside PropertyEditor and BeanEditor) cache their values.  During a form submssion, the value are re-resolved on each reference, and because they are @Environmental, the same object is used at both levels, and that leads to the endless loop.

I'm thinking about how I can recognize and fix this case.  I think BeanEditor needs to add Form actions to resolve the object parameter and store its value into a temporary field; that is, dereference the object parmater just once, around any usages of PropertyEditor.


> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606940#action_12606940 ] 

Howard M. Lewis Ship commented on TAPESTRY-2460:
------------------------------------------------

Going around in circles for a while, until I uncoverred TAPESTRY-2471.

> a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2460) Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12615114#action_12615114 ] 

Kristian Marinkovic commented on TAPESTRY-2460:
-----------------------------------------------

hi howard,

this problem is still present in latest svn version (678315)

> Nested BeanEditors (where the block parameter for a property to one BeanEditor contains another BeanEditor) results in a StackOverflowException
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.14
>
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

Posted by "Kristian Marinkovic (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Marinkovic updated TAPESTRY-2460:
------------------------------------------

    Attachment: beaneditor.zip

example project with BeanEditor containing another BeanEditor

> a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Assigned: (TAPESTRY-2460) a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAPESTRY-2460:
----------------------------------------------

    Assignee: Howard M. Lewis Ship

> a BeanEditor contributed through a Block to another BeanEditor creates StackOverflowException when submitted
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2460
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2460
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Kristian Marinkovic
>            Assignee: Howard M. Lewis Ship
>         Attachments: beaneditor.zip
>
>
> the eclipse/maven example project shows how a StackOverflowException is thrown if a Form is submitted that contains a BeanEditor that itself contains another BeanEditor. However the initial display works perfectly.
> somehow i suspect the PropertyConduits to be responsible because two of them produce the infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org