[jira] [Commented] (TAP5-2101) BeanEditor should always provide a new BeanValidationContext (JSR-303)
[ https://issues.apache.org/jira/browse/TAP5-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13639302#comment-13639302 ] Hudson commented on TAP5-2101: -- Integrated in tapestry-trunk-freestyle #1052 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1052/]) FIXED - TAP5-2101: BeanEditor should always provide a new (Revision 349ef622030ed5f1bfb098829321f753b4e19843) Result = SUCCESS kaosko : Files : * tapestry-core/src/main/java/org/apache/tapestry5/internal/BeanEditContextImpl.java * tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java * tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/BeanEditorTest.java > BeanEditor should always provide a new BeanValidationContext (JSR-303) > -- > > Key: TAP5-2101 > URL: https://issues.apache.org/jira/browse/TAP5-2101 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-beanvalidator >Reporter: Luca Menegus >Assignee: Kalle Korhonen > Fix For: 5.3.7, 5.4 > > Attachments: beaneditor-jsr303.patch, TAP5-2101-2.patch > > > We found that the current BeanEditor implementation: > * fails to beanvalidate (JSR-303) complex beans (beans that contain other > beans) > * fails to validate more than one bean in the same page (when more than one > BeanEditor is present in teh page) > The problem is that BeanEditor doesn't provide the correct > BeanValidationContext to the validation framework. > Given the following beans: > public class ComplexBean { > private SomeSimpleBean someSimpleBean; >@NotNull private String simpleNotNullProperty; > ... > } > public class SimpleBean { > @Min(6) private int minValue; > .. > } > One would expect that the following page would validate all the constraint > from both ComplexBean and SimpleBean: > > > > ... > Instead only ComplexBean.simpleNotNullProperty constraint is validated. > Moreover not even: > > > > > Is (bean)validating properly > BeanEditor should provide the validation framework with a new > BeanValidationContext bound to the object being validated all the times. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-2101) BeanEditor should always provide a new BeanValidationContext (JSR-303)
[ https://issues.apache.org/jira/browse/TAP5-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13637884#comment-13637884 ] Alejandro Scandroli commented on TAP5-2101: --- I'm trying to leverage this to create an edit block for @Embedded properties (http://jira.codehaus.org/browse/TYNAMO-22). One issue I found is that BeanEditContext and BeanValidationContext get out of sync on submit. When working with nested BeanEditors they return different classes, that is: BeanEditContext.getBeanClass() != BeanValidationContext.getBeanType() The issue is that the BeanEditContext anonymous inner class is "delegating" the call to the BeanEditor's model on the fly and the model changes. This could be easily solved by creating a BeanEditContextImpl that takes a Class in its constructor. One other thing, I've also noticed that the Environment ends up with more BeanValidationContext in the stack than it should. If I'm not mistaken the stack should end up completely empty after the request. If that's the case, I think that the _originalBeanValidationContext_ push in BeanEditor.cleanupEnvironment() it's unnecessary. After all it is a stack so the previous BeanValidationContext is still there. > BeanEditor should always provide a new BeanValidationContext (JSR-303) > -- > > Key: TAP5-2101 > URL: https://issues.apache.org/jira/browse/TAP5-2101 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-beanvalidator >Reporter: Luca Menegus >Assignee: Kalle Korhonen > Fix For: 5.3.7, 5.4 > > Attachments: beaneditor-jsr303.patch > > > We found that the current BeanEditor implementation: > * fails to beanvalidate (JSR-303) complex beans (beans that contain other > beans) > * fails to validate more than one bean in the same page (when more than one > BeanEditor is present in teh page) > The problem is that BeanEditor doesn't provide the correct > BeanValidationContext to the validation framework. > Given the following beans: > public class ComplexBean { > private SomeSimpleBean someSimpleBean; >@NotNull private String simpleNotNullProperty; > ... > } > public class SimpleBean { > @Min(6) private int minValue; > .. > } > One would expect that the following page would validate all the constraint > from both ComplexBean and SimpleBean: > > > > ... > Instead only ComplexBean.simpleNotNullProperty constraint is validated. > Moreover not even: > > > > > Is (bean)validating properly > BeanEditor should provide the validation framework with a new > BeanValidationContext bound to the object being validated all the times. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-2101) BeanEditor should always provide a new BeanValidationContext (JSR-303)
[ https://issues.apache.org/jira/browse/TAP5-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13632644#comment-13632644 ] Hudson commented on TAP5-2101: -- Integrated in tapestry-trunk-freestyle #1049 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1049/]) RESOLVED - TAP5-2101: BeanEditor should always provide a new (Revision e954445f990d6528ee3f2f0bc23a31b2a361ecd5) RESOLVED - TAP5-2101: BeanEditor should always provide a new (Revision 18b6f2be1c6c6a1842300944dd3bb18da27d91d0) RESOLVED - TAP5-2101: BeanEditor should always provide a new (Revision cc0c541ab87970bf31be04c177c016fe16274628) Result = SUCCESS kaosko : Files : * tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/BeanEditorTest.java kaosko : Files : * tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/BeanEditorTest.java kaosko : Files : * tapestry-core/src/test/java/org/apache/tapestry5/corelib/components/BeanEditorTest.java > BeanEditor should always provide a new BeanValidationContext (JSR-303) > -- > > Key: TAP5-2101 > URL: https://issues.apache.org/jira/browse/TAP5-2101 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-beanvalidator >Reporter: Luca Menegus >Assignee: Kalle Korhonen > Fix For: 5.3.7, 5.4 > > Attachments: beaneditor-jsr303.patch > > > We found that the current BeanEditor implementation: > * fails to beanvalidate (JSR-303) complex beans (beans that contain other > beans) > * fails to validate more than one bean in the same page (when more than one > BeanEditor is present in teh page) > The problem is that BeanEditor doesn't provide the correct > BeanValidationContext to the validation framework. > Given the following beans: > public class ComplexBean { > private SomeSimpleBean someSimpleBean; >@NotNull private String simpleNotNullProperty; > ... > } > public class SimpleBean { > @Min(6) private int minValue; > .. > } > One would expect that the following page would validate all the constraint > from both ComplexBean and SimpleBean: > > > > ... > Instead only ComplexBean.simpleNotNullProperty constraint is validated. > Moreover not even: > > > > > Is (bean)validating properly > BeanEditor should provide the validation framework with a new > BeanValidationContext bound to the object being validated all the times. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-2101) BeanEditor should always provide a new BeanValidationContext (JSR-303)
[ https://issues.apache.org/jira/browse/TAP5-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13631280#comment-13631280 ] Hudson commented on TAP5-2101: -- Integrated in tapestry-trunk-freestyle #1044 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1044/]) FIXED - TAP5-2101: BeanEditor should always provide a new (Revision cb95e2236873b497211427e89f96e54282919e19) Result = FAILURE kaosko : Files : * tapestry-beanvalidator/src/test/java/org/apache/tapestry5/beanvalidator/integration/TapestryBeanValidationIntegrationTests.java * tapestry-beanvalidator/src/test/java/org/example/testapp/entities/SomeOtherSimpleBean.java * tapestry-beanvalidator/src/test/webapp/Index.tml * tapestry-beanvalidator/src/test/java/org/example/testapp/entities/ComplexBean.java * tapestry-beanvalidator/src/test/java/org/example/testapp/entities/SomeSimpleBean.java * tapestry-beanvalidator/src/test/java/org/example/testapp/pages/ComplexBeanDemo.java * tapestry-beanvalidator/src/test/webapp/ComplexBeanDemo.tml * tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java > BeanEditor should always provide a new BeanValidationContext (JSR-303) > -- > > Key: TAP5-2101 > URL: https://issues.apache.org/jira/browse/TAP5-2101 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-beanvalidator >Reporter: Luca Menegus >Assignee: Kalle Korhonen > Fix For: 5.3.7, 5.4 > > Attachments: beaneditor-jsr303.patch > > > We found that the current BeanEditor implementation: > * fails to beanvalidate (JSR-303) complex beans (beans that contain other > beans) > * fails to validate more than one bean in the same page (when more than one > BeanEditor is present in teh page) > The problem is that BeanEditor doesn't provide the correct > BeanValidationContext to the validation framework. > Given the following beans: > public class ComplexBean { > private SomeSimpleBean someSimpleBean; >@NotNull private String simpleNotNullProperty; > ... > } > public class SimpleBean { > @Min(6) private int minValue; > .. > } > One would expect that the following page would validate all the constraint > from both ComplexBean and SimpleBean: > > > > ... > Instead only ComplexBean.simpleNotNullProperty constraint is validated. > Moreover not even: > > > > > Is (bean)validating properly > BeanEditor should provide the validation framework with a new > BeanValidationContext bound to the object being validated all the times. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-2101) BeanEditor should always provide a new BeanValidationContext (JSR-303)
[ https://issues.apache.org/jira/browse/TAP5-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13631275#comment-13631275 ] Kalle Korhonen commented on TAP5-2101: -- Applied, thanks Luca! > BeanEditor should always provide a new BeanValidationContext (JSR-303) > -- > > Key: TAP5-2101 > URL: https://issues.apache.org/jira/browse/TAP5-2101 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-beanvalidator >Reporter: Luca Menegus >Assignee: Kalle Korhonen > Fix For: 5.3.7, 5.4 > > Attachments: beaneditor-jsr303.patch > > > We found that the current BeanEditor implementation: > * fails to beanvalidate (JSR-303) complex beans (beans that contain other > beans) > * fails to validate more than one bean in the same page (when more than one > BeanEditor is present in teh page) > The problem is that BeanEditor doesn't provide the correct > BeanValidationContext to the validation framework. > Given the following beans: > public class ComplexBean { > private SomeSimpleBean someSimpleBean; >@NotNull private String simpleNotNullProperty; > ... > } > public class SimpleBean { > @Min(6) private int minValue; > .. > } > One would expect that the following page would validate all the constraint > from both ComplexBean and SimpleBean: > > > > ... > Instead only ComplexBean.simpleNotNullProperty constraint is validated. > Moreover not even: > > > > > Is (bean)validating properly > BeanEditor should provide the validation framework with a new > BeanValidationContext bound to the object being validated all the times. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira