[jira] [Commented] (TAP5-1600) A component that is defined inside a t:block does not appear as an embedded component, causing page-load exceptions on the event handlers for the embedded component
[ https://issues.apache.org/jira/browse/TAP5-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083067#comment-13083067 ] Andy Blower commented on TAP5-1600: --- Your test case is not the same because you are not injecting the block into the component so it could be conditionally returned by a method into the delegate component. I'm not sure why you're removing part of the test case and then saying it all works fine. I have added this extra complexity below so you can see more what we're getting at, but the test as detailed by Pedro breaks in the same manner. TML: html t:type=Border xmlns:t=http://tapestry.apache.org/schema/tapestry_5_3.xsd; t:delegate to=selectBlock/ t:block id=zen t:actionlink t:id=goForBrokego for broke/t:actionlink /t:block t:block id=nez t:form t:id=nezForm form content /t:form /t:block /html Java: public class ComponentInsideBlockDemo { @Inject private AlertManager mgr; @Inject private Block zen; @Inject private Block nez; private boolean xennez; public Block getSelectedBlock() { if (xennez) { return zen; } else { return nez; } } void onActionFromGoForBroke() { mgr.info(Go For Broke Clicked); } @OnEvent(component = neverForm, value = EventConstants.SUBMIT) void neverFormSubmitted() { mgr.info(Never Form Submitted. How?); } } A component that is defined inside a t:block does not appear as an embedded component, causing page-load exceptions on the event handlers for the embedded component -- Key: TAP5-1600 URL: https://issues.apache.org/jira/browse/TAP5-1600 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Reported from ProQuest, but not yet verified. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156600 - /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Unless.java
Author: drobiazko Date: Thu Aug 11 12:45:43 2011 New Revision: 1156600 URL: http://svn.apache.org/viewvc?rev=1156600view=rev Log: Fixed javadocs Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Unless.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Unless.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Unless.java?rev=1156600r1=1156599r2=1156600view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Unless.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Unless.java Thu Aug 11 12:45:43 2011 @@ -19,14 +19,14 @@ import org.apache.tapestry5.corelib.base /** * A close relative of the {@link org.apache.tapestry5.corelib.components.If} component that inverts the meaning of its - * test. This is easier than an If component with the negate parameter set to true. + * test. This is easier than an {@link org.apache.tapestry5.corelib.components.If} component with the negate parameter set to {@code true}. * * @tapestrydoc */ public class Unless extends AbstractConditional { /** - * If true, then the body of the If component is rendered. If false, the body is omitted. + * If true, then the body of the component is omitted. If false, the body is rendered. */ @Parameter(required = true) private boolean test;
[jira] [Assigned] (TAP5-142) HTML Button component with Form support
[ https://issues.apache.org/jira/browse/TAP5-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti reassigned TAP5-142: Assignee: Massimo Lusetti HTML Button component with Form support --- Key: TAP5-142 URL: https://issues.apache.org/jira/browse/TAP5-142 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Environment: Anyone Reporter: Massimo Lusetti Assignee: Massimo Lusetti Attachments: patch This patch supply the component for HTML 4 button element (button) with Form support when the button type is submit which is the default and act as the Submit component. Button elements are preferable over Submit in terms of flexibility and CSS-awarness. The code needs to be cleaned an i happily do that if there's enough interest in it. The patch contain unit and integration tests. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-142) HTML Button component with Form support
[ https://issues.apache.org/jira/browse/TAP5-142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083138#comment-13083138 ] Massimo Lusetti commented on TAP5-142: -- This is old and I've come out with my own solution. I'll close it and if anyone wants it please reopen or open a new one. HTML Button component with Form support --- Key: TAP5-142 URL: https://issues.apache.org/jira/browse/TAP5-142 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Environment: Anyone Reporter: Massimo Lusetti Assignee: Massimo Lusetti Fix For: 5.3 Attachments: patch This patch supply the component for HTML 4 button element (button) with Form support when the button type is submit which is the default and act as the Submit component. Button elements are preferable over Submit in terms of flexibility and CSS-awarness. The code needs to be cleaned an i happily do that if there's enough interest in it. The patch contain unit and integration tests. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-142) HTML Button component with Form support
[ https://issues.apache.org/jira/browse/TAP5-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-142. -- Resolution: Won't Fix Fix Version/s: 5.3 The Form and event associated has evolved enough to make this obsolete HTML Button component with Form support --- Key: TAP5-142 URL: https://issues.apache.org/jira/browse/TAP5-142 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Environment: Anyone Reporter: Massimo Lusetti Assignee: Massimo Lusetti Fix For: 5.3 Attachments: patch This patch supply the component for HTML 4 button element (button) with Form support when the button type is submit which is the default and act as the Submit component. Button elements are preferable over Submit in terms of flexibility and CSS-awarness. The code needs to be cleaned an i happily do that if there's enough interest in it. The patch contain unit and integration tests. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1605) Template parsing of expansions can't handle map expressions
[ https://issues.apache.org/jira/browse/TAP5-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083188#comment-13083188 ] Robert Zeigler commented on TAP5-1605: -- I'm considering replacing the existing regex with one like: \$\{\s*(((?!\$\{).)*)\s*} (\\ omitted above for clarity). Basically, I've replaced the reluctant .*? with a greedy .* that only matches if the substrings that don't contain ${. So that introduces a new limitation to expansions: you can't do something like ${'${'}. I'm not sure why you would do that in the first place, but here's your chance to air your use case. If there are no complaints about introducing this (rather obscure) limitation to expansions, I'll go with the above solution. Template parsing of expansions can't handle map expressions --- Key: TAP5-1605 URL: https://issues.apache.org/jira/browse/TAP5-1605 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3 Reporter: Robert Zeigler Assignee: Robert Zeigler 5.3 introduced map support into the property expression language in the form: {'foo': 'bar'}. Expansion parsing chokes on the syntax, however. It uses a reluctant regular expression to find the closing brace: private static final Pattern EXPANSION_PATTERN = Pattern.compile(\\$\\{\\s*(.*?)\\s*}); Which means that the use of a map inside an expansion prematurely terminates the exansion: ${echoMap({foo: bar})} The regex finds the first } and the expression evaluates as: echoMap({foo: bar Which is clearly incorrect. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156660 - in /tapestry/tapestry5/trunk/tapestry-core/src/test: java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java resources/org/apache/tapestry5/integration/ap
Author: hlship Date: Thu Aug 11 16:19:57 2011 New Revision: 1156660 URL: http://svn.apache.org/viewvc?rev=1156660view=rev Log: TAP5-1600: Revised test case to match client's specific case, bug still not valid Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.tml Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java?rev=1156660r1=1156659r2=1156660view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java Thu Aug 11 16:19:57 2011 @@ -1,8 +1,10 @@ package org.apache.tapestry5.integration.app1.pages; +import org.apache.tapestry5.Block; import org.apache.tapestry5.EventConstants; import org.apache.tapestry5.alerts.AlertManager; import org.apache.tapestry5.annotations.OnEvent; +import org.apache.tapestry5.annotations.Persist; import org.apache.tapestry5.ioc.annotations.Inject; public class ComponentInsideBlockDemo @@ -10,14 +12,34 @@ public class ComponentInsideBlockDemo @Inject private AlertManager mgr; +@Persist +private boolean which; + +@Inject +private Block zen, never; + +public Block getBlockToRender() +{ +return which ? never : zen; +} + +void pageReset() +{ +which = false; +} + void onActionFromGoForBroke() { mgr.info(Go For Broke Clicked); + +which = true; } @OnEvent(component = neverForm, value = EventConstants.SUBMIT) void neverFormSubmitted() { -mgr.info(Never Form Submitted. How?); +mgr.info(Never Form Submitted); + +which = false; } } Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.tml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.tml?rev=1156660r1=1156659r2=1156660view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.tml (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.tml Thu Aug 11 16:19:57 2011 @@ -6,7 +6,7 @@ Test to show that TAP5-1600 is not valid. /p -t:delegate to=block:zen/ +t:delegate to=blockToRender/ t:block id=zen
[jira] [Commented] (TAP5-1600) A component that is defined inside a t:block does not appear as an embedded component, causing page-load exceptions on the event handlers for the embedded component
[ https://issues.apache.org/jira/browse/TAP5-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083204#comment-13083204 ] Howard M. Lewis Ship commented on TAP5-1600: Extend the test to match: injecting blocks, switching between them. Still can't reproduce. Please check your Tapestry namespace. A component that is defined inside a t:block does not appear as an embedded component, causing page-load exceptions on the event handlers for the embedded component -- Key: TAP5-1600 URL: https://issues.apache.org/jira/browse/TAP5-1600 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Reported from ProQuest, but not yet verified. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1600) A component that is defined inside a t:block does not appear as an embedded component, causing page-load exceptions on the event handlers for the embedded component
[ https://issues.apache.org/jira/browse/TAP5-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083214#comment-13083214 ] Hudson commented on TAP5-1600: -- Integrated in tapestry-trunk-freestyle #467 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/467/]) TAP5-1600: Revised test case to match client's specific case, bug still not valid hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156660 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.java * /tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/ComponentInsideBlockDemo.tml A component that is defined inside a t:block does not appear as an embedded component, causing page-load exceptions on the event handlers for the embedded component -- Key: TAP5-1600 URL: https://issues.apache.org/jira/browse/TAP5-1600 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Reported from ProQuest, but not yet verified. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1599) Upgrade Selenium to 2.3.1
[ https://issues.apache.org/jira/browse/TAP5-1599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship reassigned TAP5-1599: -- Assignee: Howard M. Lewis Ship (was: Kalle Korhonen) Upgrade Selenium to 2.3.1 - Key: TAP5-1599 URL: https://issues.apache.org/jira/browse/TAP5-1599 Project: Tapestry 5 Issue Type: Bug Components: tapestry-test Reporter: Mark Shead Assignee: Howard M. Lewis Ship Attachments: PATCH-TAP5-1599 The current version of Selenium only works with older browsers. Selenium 2.3.1 is almost a drop in replacement and will allow tests to be run with Firefox 5. At least on my setup, Selenium 2.3.1 is not significantly slower and is sometimes faster than the current version. Below are the test times running on Ubuntu 11.04. Firefox 5: 5.3 Selenium 2 Gradle 6:47 6:42 Using Firefox 3.6: 5.2.6 Selenium 1 Maven 6:14 5.3 with Selenium 1 Gradle 7:05 7:14 5.3 Selenium 2 Gradle 7:26 8:01 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1605) Template parsing of expansions can't handle map expressions
[ https://issues.apache.org/jira/browse/TAP5-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083263#comment-13083263 ] Robert Zeigler commented on TAP5-1605: -- Thinking about this some more... really just trading one limitation (can't have a } anywhere inside the expansion) for a different one (can't have ${) and the latter is less likely than the former. Template parsing of expansions can't handle map expressions --- Key: TAP5-1605 URL: https://issues.apache.org/jira/browse/TAP5-1605 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3 Reporter: Robert Zeigler Assignee: Robert Zeigler 5.3 introduced map support into the property expression language in the form: {'foo': 'bar'}. Expansion parsing chokes on the syntax, however. It uses a reluctant regular expression to find the closing brace: private static final Pattern EXPANSION_PATTERN = Pattern.compile(\\$\\{\\s*(.*?)\\s*}); Which means that the use of a map inside an expansion prematurely terminates the exansion: ${echoMap({foo: bar})} The regex finds the first } and the expression evaluates as: echoMap({foo: bar Which is clearly incorrect. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156704 - in /tapestry/tapestry5/trunk/tapestry-test: ./ src/main/java/org/apache/tapestry5/test/ src/test/java/org/apache/tapestry5/test/
Author: hlship Date: Thu Aug 11 17:51:22 2011 New Revision: 1156704 URL: http://svn.apache.org/viewvc?rev=1156704view=rev Log: TAP5-1599: Commit patch to move to Selenium 2.3.1 (note: some test failures) Modified: tapestry/tapestry5/trunk/tapestry-test/build.gradle tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java Modified: tapestry/tapestry5/trunk/tapestry-test/build.gradle URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/build.gradle?rev=1156704r1=1156703r2=1156704view=diff == --- tapestry/tapestry5/trunk/tapestry-test/build.gradle (original) +++ tapestry/tapestry5/trunk/tapestry-test/build.gradle Thu Aug 11 17:51:22 2011 @@ -1,7 +1,8 @@ description = Utilities for unit and integration testing of Tapestry applications dependencies { - compile org.seleniumhq.selenium.server:selenium-server:1.0.3:standalone@jar + compile org.seleniumhq.selenium:selenium-java:2.3.1 + compile org.seleniumhq.selenium:selenium-server:2.3.1 compile jetty:org.mortbay.jetty:5.1.12 compile org.testng:testng:$testngVersion @@ -17,4 +18,4 @@ dependencies { compile org.apache.tomcat:dbcp:$tomcatVersion compile org.easymock:easymock:$easymockVersion -} \ No newline at end of file +} Modified: tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java?rev=1156704r1=1156703r2=1156704view=diff == --- tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java (original) +++ tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java Thu Aug 11 17:51:22 2011 @@ -1196,4 +1196,8 @@ public class AbstractIntegrationTestSuit { selenium.open(url, ignoreResponseCode); } + +public Number getCssCount(String str) { +return selenium.getCssCount(str); +} } Modified: tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java?rev=1156704r1=1156703r2=1156704view=diff == --- tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java (original) +++ tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java Thu Aug 11 17:51:22 2011 @@ -1397,4 +1397,8 @@ public abstract class SeleniumTestCase e { waitForCondition(selenium.browserbot.getCurrentWindow().Ajax.activeRequestCount == 0, timeout); } + +public Number getCssCount(String str) { +return selenium.getCssCount(str); +} } Modified: tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java?rev=1156704r1=1156703r2=1156704view=diff == --- tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java (original) +++ tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java Thu Aug 11 17:51:22 2011 @@ -48,4 +48,8 @@ public class SanityCheckTestSuite extend { assertNotNull(context.getAttribute(TapestryTestConstants.COMMAND_PROCESSOR_ATTRIBUTE)); } + +public Number getCssCount(String str) { +return selenium.getCssCount(str); +} }
svn commit: r1156705 - /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
Author: hlship Date: Thu Aug 11 17:51:30 2011 New Revision: 1156705 URL: http://svn.apache.org/viewvc?rev=1156705view=rev Log: TAP5-1599: Adjust for slight difference in how disabled fields are reported under Selenium 2 Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java?rev=1156705r1=1156704r2=1156705view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java Thu Aug 11 17:51:30 2011 @@ -444,7 +444,7 @@ public class FormTests extends TapestryC { String locator = String.format(%s/@disabled, path); -assertAttribute(locator, disabled); +assertAttribute(locator, true); } }
svn commit: r1156714 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java test/java/org/apache/tapestry5/integration/app1/Core
Author: hlship Date: Thu Aug 11 18:23:02 2011 New Revision: 1156714 URL: http://svn.apache.org/viewvc?rev=1156714view=rev Log: TAP5-1535: When there's a type mismatch between a container component at the field with @InjectComponent, the type of the containing component should be part of the exception message Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java?rev=1156714r1=1156713r2=1156714view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java Thu Aug 11 18:23:02 2011 @@ -58,12 +58,11 @@ public class InjectContainerWorker imple private ComputedValueFieldConduitObject createFieldValueConduitProvider(PlasticField field) { - final String fieldName = field.getName(); final String fieldTypeName = field.getTypeName(); -return new ComputedValueFieldConduitObject () +return new ComputedValueFieldConduitObject() { public FieldConduitObject get(InstanceContext context) { @@ -79,9 +78,9 @@ public class InjectContainerWorker imple if (!fieldType.isInstance(container)) { String message = String.format( -Component %s is not assignable to field %s.%s (of type %s)., container - .getComponentResources().getCompleteId(), resources.getComponentModel() -.getComponentClassName(), fieldName, fieldTypeName); +Component %s (type %s) is not assignable to field %s.%s (of type %s)., container +.getComponentResources().getCompleteId(), container.getClass().getName(), resources.getComponentModel() +.getComponentClassName(), fieldName, fieldTypeName); throw new RuntimeException(message); } Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java?rev=1156714r1=1156713r2=1156714view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java Thu Aug 11 18:23:02 2011 @@ -140,7 +140,7 @@ public class CoreBehaviorsTests extends // And exception message: -assertTextPresent(Component InjectContainerMismatch is not assignable to field org.apache.tapestry5.corelib.mixins.RenderDisabled.field (of type org.apache.tapestry5.Field).); +assertTextPresent(Component InjectContainerMismatch (type org.apache.tapestry5.integration.app1.pages.InjectContainerMismatch) is not assignable to field org.apache.tapestry5.corelib.mixins.RenderDisabled.field (of type org.apache.tapestry5.Field).); } @Test
[jira] [Closed] (TAP5-1535) When there's a type mismatch between a container component at the field with @InjectComponent, the type of the containing component should be part of the exception message
[ https://issues.apache.org/jira/browse/TAP5-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1535. -- Resolution: Fixed Fix Version/s: 5.3 Assignee: Howard M. Lewis Ship When there's a type mismatch between a container component at the field with @InjectComponent, the type of the containing component should be part of the exception message --- Key: TAP5-1535 URL: https://issues.apache.org/jira/browse/TAP5-1535 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.2.5 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Fix For: 5.3 Currently, the name of the field with @InjectComponent is identified, as is the type of that field, but it would make it easier to debug what's gone wrong if the type of the container component was also in the message, as that's not always obvious from the container's component id. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1468) incorrect support for list of prefered locales
[ https://issues.apache.org/jira/browse/TAP5-1468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1468. -- Resolution: Invalid I believe you are incorrect; If the browser preferred language is fr,de and de is defined as a supported language (tapestry.supported-locales), then Tapestry will select that. This is documented and tested behavior. Please reopen with a test case if you believe there to be a bug. Most likely, you are not configuring tapestry.supported-locales correctly. incorrect support for list of prefered locales -- Key: TAP5-1468 URL: https://issues.apache.org/jira/browse/TAP5-1468 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core, tapestry-test Affects Versions: 5.2.4 Reporter: piotrek when browser's preferred languages are e.g. fr, de (in this order) and application supported locales are de and default then tapestry choose the default locale. but according to http specification (http://tools.ietf.org/html/rfc2616#section-14.4) it should choose de. also class org.apache.tapestry5.test.PageTester has only metod setPreferedLanguage(Locale preferedLanguage) while there should be a method that takes a list of locales as a parameter -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TAP5-1379) JavaScript documentation about RenderSupport
[ https://issues.apache.org/jira/browse/TAP5-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship updated TAP5-1379: --- Issue Type: Task (was: Bug) JavaScript documentation about RenderSupport Key: TAP5-1379 URL: https://issues.apache.org/jira/browse/TAP5-1379 Project: Tapestry 5 Issue Type: Task Components: documentation Reporter: Borut Bolcina At http://tapestry.apache.org/ajax-javascript.html the documentation needs to be updated as it uses a deprecated RenderSupport instead of JavaScriptSupport interface. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156722 - /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
Author: hlship Date: Thu Aug 11 18:36:11 2011 New Revision: 1156722 URL: http://svn.apache.org/viewvc?rev=1156722view=rev Log: TAP5-1367: ajaxExceptionHandler Method name typo Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js?rev=1156722r1=1156721r2=1156722view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js Thu Aug 11 18:36:11 2011 @@ -371,7 +371,7 @@ var Tapestry = { * Default function for handling a communication error during an Ajax * request. */ -ajaxExceptionHander : function(response, exception) { +ajaxExceptionHandler : function(response, exception) { Tapestry.error(Tapestry.Messages.communicationFailed + exception); Tapestry.debug(Tapestry.Messages.ajaxFailure + exception, response);
[jira] [Closed] (TAP5-1367) ajaxExceptionHandler Method name typo
[ https://issues.apache.org/jira/browse/TAP5-1367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1367. -- Resolution: Fixed Fix Version/s: 5.3 ajaxExceptionHandler Method name typo - Key: TAP5-1367 URL: https://issues.apache.org/jira/browse/TAP5-1367 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.4 Reporter: Dimitris Zenios Assignee: Howard M. Lewis Ship Fix For: 5.3 There is a typo in tapestry.js regarding ajaxExceptionHandler function.The method name is ajaxExceptionHander instead of ajaxExceptionHandler and you are registering it in (new Ajax.request) as ajaxExceptionHandler -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TAP5-1336) Components / pages don't reload correctly under tomcat
[ https://issues.apache.org/jira/browse/TAP5-1336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship updated TAP5-1336: --- That patch is no longer valid due to the switch over to Plastic. Could you see if this problem still manifests under Tomcat? Components / pages don't reload correctly under tomcat -- Key: TAP5-1336 URL: https://issues.apache.org/jira/browse/TAP5-1336 Project: Tapestry 5 Issue Type: Bug Components: tapestry-ioc Affects Versions: 5.2.2 Reporter: Denis Delangle Attachments: patch_tomcat_reload.txt I am using eclipse, with maven plugin m2eclipse. When I launch tomcat with tomcat-maven-plugin (V 1.1), pages don't reload when I modify them. I have to restart my web server to see the changes. What I noticed when I modify a page : * Tapestry is notified of a modification of the class file * It flushes the old page instance and tries to reload the class file * It in fact reloads the old version of the file - it seems that Tomcat classloader gives the old class file inputStream in getResourceAsStream methods I made a modification in ClassFactoryClassPool to get a clean new InputStream from the classFile, that fixed my issue, now pages are well reloaded when I modify them under Tomcat. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-1311) @ActivationRequestParameter fields in subclass not set prior to activate handler in superclass
[ https://issues.apache.org/jira/browse/TAP5-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship resolved TAP5-1311. Resolution: Invalid Assignee: Howard M. Lewis Ship @ActivationRequestParameter operates by adding event handling logic for the activate event; however that logic follows the general guidelines of parent class before subclass. That means all activate event logic in the base class is handled first, then activate event logic in the sub class (including @ActivationRequestParameter). @ActivationRequestParameter fields in subclass not set prior to activate handler in superclass Key: TAP5-1311 URL: https://issues.apache.org/jira/browse/TAP5-1311 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.1 Reporter: Vjeran Marcinko Assignee: Howard M. Lewis Ship @ActivationRequestParameter fields in page subclass are not set prior to calling activate handler in superclass page. Ordering is proper if activate handler and @ActivationRequestParameter fields are in same page class. This bug is present in 5.2.1 and not in 5.2.0. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1535) When there's a type mismatch between a container component at the field with @InjectComponent, the type of the containing component should be part of the exception messa
[ https://issues.apache.org/jira/browse/TAP5-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083366#comment-13083366 ] Hudson commented on TAP5-1535: -- Integrated in tapestry-trunk-freestyle #468 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/468/]) TAP5-1535: When there's a type mismatch between a container component at the field with @InjectComponent, the type of the containing component should be part of the exception message hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156714 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectContainerWorker.java * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java When there's a type mismatch between a container component at the field with @InjectComponent, the type of the containing component should be part of the exception message --- Key: TAP5-1535 URL: https://issues.apache.org/jira/browse/TAP5-1535 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.2.5 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Fix For: 5.3 Currently, the name of the field with @InjectComponent is identified, as is the type of that field, but it would make it easier to debug what's gone wrong if the type of the container component was also in the message, as that's not always obvious from the container's component id. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-1180) LinkSubmit does nothing
[ https://issues.apache.org/jira/browse/TAP5-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship resolved TAP5-1180. Resolution: Cannot Reproduce I've never seen the problem you see, across multiple browsers and versions of Tapestry. Please re-open with a test case if the problem still remains. LinkSubmit does nothing --- Key: TAP5-1180 URL: https://issues.apache.org/jira/browse/TAP5-1180 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Paul Stanton After stepping through the javascript, I believe it's because the onsubmit event handler for the form is javascript:Tapestry.waitForPage(event); who's first line is if (Tapestry.pageLoaded) return;. This is the equivalent of if (Tapestry.pageLoaded) return false; when evaluated to a boolean as it is in the LinkSubmit onClick handler: if (onsubmit == undefined || onsubmit.call(window.document, event)) { this.createHidden(); this.form.submit(); } .. and therefore this.form.submit(); is never called. Obviously this is a bug, I'm pretty sure the resolution would be to change Tapestry.waitForPage so that it returns true if the page is loaded and false otherwise, ie: waitForPage : function(event) { if (Tapestry.pageLoaded) return true; ... return false; } This will allow 'waitForPage' to be evaluated to a boolean as it is in LinkSubmit.onClick, however there may be a better solution. EG: MyPage.tml: !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; html xmlns=http://www.w3.org/1999/xhtml; xmlns:t=http://tapestry.apache.org/schema/tapestry_5_1_0.xsd; xmlns:p=tapestry:parameter t:form t:id=myForm t:linksubmit t:id=myLinklink/t:linksubmit t:submit t:id=mySubmit / /t:form /html MyPage.java public Class MyPage { public void onSuccessFromMyForm() { LOG.debug(onSuccessFromMyForm); } public void onSelectedFromMyLink() { LOG.debug(onSelectedFromMyLink); } public void onSelectedFromMySubmit() { LOG.debug(onSelectedFromMySubmit); } } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1263) private methods in class heirarchy override each other with @SetupRender annotation
[ https://issues.apache.org/jira/browse/TAP5-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1263. -- Resolution: Invalid I believe this was fixed in 5.2 when we corrected some logic related to private methods and method overrides. Please re-open with a test case if the problem is still present in 5.3. private methods in class heirarchy override each other with @SetupRender annotation --- Key: TAP5-1263 URL: https://issues.apache.org/jira/browse/TAP5-1263 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Paul Stanton Assignee: Christophe Cordenier I've found a strange issue with the @SetupRender annotation when used in a class hierarchy. Typically, in java 2 classes within a hierarchy can have the same signature for a private method and not effect each other, so I would expect this to be the case when both of these private methods are annotated with @SetupRender. Therefore the output for case 1 and case 2 (below) should be the same and print both messages setupRender2, setupRender1. However case 1 only prints setupRender2 meaning it somehow overwrites the method in it's implementing class. This is concerning because 1. there should never be a requirement that a sub-class knows of it's super-classes implementation 2. if hierarchy does come into play, the subclass should override the super class. CASE 1: -- public abstract class StartBase { @SetupRender private void init() { log.debug(setupRender2); } } public class Start extends StartBase { @SetupRender private void init() { log.debug(setupRender1); } } CASE 2: -- public abstract class StartBase { @SetupRender private void init2() { log.debug(setupRender2); } } public class Start extends StartBase { @SetupRender private void init1() { log.debug(setupRender1); } } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1599) Upgrade Selenium to 2.3.1
[ https://issues.apache.org/jira/browse/TAP5-1599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083365#comment-13083365 ] Hudson commented on TAP5-1599: -- Integrated in tapestry-trunk-freestyle #468 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/468/]) TAP5-1599: Adjust for slight difference in how disabled fields are reported under Selenium 2 TAP5-1599: Commit patch to move to Selenium 2.3.1 (note: some test failures) hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156705 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156704 Files : * /tapestry/tapestry5/trunk/tapestry-test/build.gradle * /tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java * /tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/AbstractIntegrationTestSuite.java * /tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java Upgrade Selenium to 2.3.1 - Key: TAP5-1599 URL: https://issues.apache.org/jira/browse/TAP5-1599 Project: Tapestry 5 Issue Type: Bug Components: tapestry-test Reporter: Mark Shead Assignee: Howard M. Lewis Ship Attachments: PATCH-TAP5-1599 The current version of Selenium only works with older browsers. Selenium 2.3.1 is almost a drop in replacement and will allow tests to be run with Firefox 5. At least on my setup, Selenium 2.3.1 is not significantly slower and is sometimes faster than the current version. Below are the test times running on Ubuntu 11.04. Firefox 5: 5.3 Selenium 2 Gradle 6:47 6:42 Using Firefox 3.6: 5.2.6 Selenium 1 Maven 6:14 5.3 with Selenium 1 Gradle 7:05 7:14 5.3 Selenium 2 Gradle 7:26 8:01 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-995) First coercion assignable to target type is used instead of most specific target type coercion
[ https://issues.apache.org/jira/browse/TAP5-995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship resolved TAP5-995. --- Resolution: Won't Fix I do wish I had used an OrderedConfiguration, not a unordered Configuration, when defining the TypeCoercer. A solution to your problem probably requires an ordered configuration ... but TypeCoercer is too wired into the IoC container (and virtually every Tapestry framework or application) to change. Right now the TypeCoercer sees the two coercions as equal (same number of steps) and stops when it finds the first one. As this doesn't seem to affect most users and most coercions, I'm going to table it for the meantime. First coercion assignable to target type is used instead of most specific target type coercion -- Key: TAP5-995 URL: https://issues.apache.org/jira/browse/TAP5-995 Project: Tapestry 5 Issue Type: Bug Components: tapestry-ioc Affects Versions: 5.1.0.5 Reporter: Peter Rietzler Attachments: TypeCoercerImplTest.java TypeCoercerImpl uses the first assignable coercion instead of the most specific target type coercion. Coercion depends on order of contribution (altough contribution is not ordered). See attached unit test. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-869) When Submit is used inside Loop and configured as defered (default), context value from last loop iteration is always taken as selected event argument
[ https://issues.apache.org/jira/browse/TAP5-869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-869. - Resolution: Invalid This is why you can turn deferred (triggering of the 'selected' event) off. When Submit is used inside Loop and configured as defered (default), context value from last loop iteration is always taken as selected event argument Key: TAP5-869 URL: https://issues.apache.org/jira/browse/TAP5-869 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Vjeran Marcinko One of major uses of Submit's context parameter is when Submit is used inside Loop to be able to distinguish which button was pressed. Unfortunately, always context value from last loop iteration gets passed via selected event argument, making it always look as if last iteration submit was selected. When defer parameter is set to false (it's true by default), then everything works fine. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-722) Tapestry ajax form swallows server-side errors
[ https://issues.apache.org/jira/browse/TAP5-722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-722. - Resolution: Duplicate Tapestry ajax form swallows server-side errors -- Key: TAP5-722 URL: https://issues.apache.org/jira/browse/TAP5-722 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Ciaran Wood Assignee: Christophe Cordenier Attachments: TAP-722.patch I've encountered a bug in T5.1.0.5 where a form that submits via ajax (i.e. The form has its zone parameter set) will never notify the user if the server-side action fails. I've traced it down to this line in tapestry.js: // Set a default failure handler if none is provided. options.onFailure |= Tapestry.ajaxFailureHandler; This line is in the sendAjaxRequest function that gets added to all form elements via Prototype's Element.addMethods function. I used firebug to debug the above statement and instead of the OR assignment that it looks like, options.onFailure actually ends up being assigned the value '0'. I guess this means that its only a bitwise operation and can't be used for functions etc. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156744 - /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
Author: hlship Date: Thu Aug 11 19:06:57 2011 New Revision: 1156744 URL: http://svn.apache.org/viewvc?rev=1156744view=rev Log: TAP5-832: Support a nulls parameter on Hidden to correctly handle null values sent to or received from the client inside the field Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java?rev=1156744r1=1156743r2=1156744view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java Thu Aug 11 19:06:57 2011 @@ -15,11 +15,12 @@ package org.apache.tapestry5.corelib.components; import org.apache.tapestry5.*; -import org.apache.tapestry5.dom.Element; import org.apache.tapestry5.annotations.Environmental; import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.annotations.SupportsInformalParameters; +import org.apache.tapestry5.dom.Element; import org.apache.tapestry5.ioc.annotations.Inject; +import org.apache.tapestry5.ioc.internal.util.InternalUtils; import org.apache.tapestry5.services.ComponentDefaultProvider; import org.apache.tapestry5.services.FormSupport; import org.apache.tapestry5.services.Request; @@ -30,9 +31,9 @@ import org.apache.tapestry5.services.jav * {@linkplain org.apache.tapestry5.ValueEncoder#toClient(Object) encoded} when rendered, then decoded when the form is * submitted, * and the value parameter updated. - * - * @since 5.1.0.2 + * * @tapestrydoc + * @since 5.1.0.2 */ @SupportsInformalParameters public class Hidden implements ClientElement @@ -44,6 +45,14 @@ public class Hidden implements ClientEle private Object value; /** + * Defines how nulls on the server side, or sent from the client side, are treated. The selected strategy may + * replace the nulls with some other value. The default strategy leaves nulls alone. Another built-in strategy, + * zero, replaces nulls with the value 0. + */ +@Parameter(defaultPrefix = BindingConstants.NULLFIELDSTRATEGY, value = default) +private NullFieldStrategy nulls; + +/** * Value encoder for the value, usually determined automatically from the type of the property bound to the value * parameter. */ @@ -94,7 +103,9 @@ public class Hidden implements ClientEle boolean beginRender(MarkupWriter writer) { if (formSupport == null) +{ throw new RuntimeException(The Hidden component must be enclosed by a Form component.); +} controlName = formSupport.allocateControlName(resources.getId()); @@ -102,7 +113,9 @@ public class Hidden implements ClientEle formSupport.store(this, new ProcessSubmission(controlName)); -String encoded = encoder.toClient(value); +Object toEncode = value == null ? nulls.replaceToClient() : value; + +String encoded = toEncode == null ? : encoder.toClient(toEncode); hiddenInputElement = writer.element(input, type, hidden, name, controlName, value, encoded); @@ -117,7 +130,9 @@ public class Hidden implements ClientEle { String encoded = request.getParameter(controlName); -Object decoded = encoder.toValue(encoded); +String toDecode = InternalUtils.isBlank(encoded) ? nulls.replaceFromClient() : encoded; + +Object decoded = toDecode == null ? null : encoder.toValue(toDecode); value = decoded; }
[jira] [Closed] (TAP5-832) Hidden input field fails with coercion problem on empty value (patch incl)
[ https://issues.apache.org/jira/browse/TAP5-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-832. - Resolution: Fixed Fix Version/s: 5.3 Assignee: Howard M. Lewis Ship Hidden input field fails with coercion problem on empty value (patch incl) -- Key: TAP5-832 URL: https://issues.apache.org/jira/browse/TAP5-832 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.0, 5.1.0.5 Reporter: Sebastian Hennebrueder Assignee: Howard M. Lewis Ship Fix For: 5.3 Attachments: Hidden.patch If a hidden field has a blanc input , it fails with the following stackstrace (my Hidden component is just a copy of the orginal of 5.1.0.5) The reason is that there is no nullfieldstrategie assigned to a hidden field as opposed to text fields. The attached patch adds such a strategie. # org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:71) # org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.write(InternalComponentResourcesImpl.java:540) # de.laliluna.bibabook.components.Hidden._$update_parameter_value(Hidden.java) # de.laliluna.bibabook.components.Hidden.processSubmission(Hidden.java:136) # de.laliluna.bibabook.components.Hidden.access$000(Hidden.java:37) # de.laliluna.bibabook.components.Hidden$ProcessSubmission.execute(Hidden.java:94) # de.laliluna.bibabook.components.Hidden$ProcessSubmission.execute(Hidden.java:86) # org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:480) # org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:378) # org.apache.tapestry5.corelib.components.Form$onAction$invocation_1237b3fe6bd.invokeAdvisedMethod(Form$onAction$invocation_1237b3fe6bd.java) # org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71) # org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37) # org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156755 - in /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal: ConstructorServiceCreator.java ModuleImpl.java ServiceBuilderMethodInvoker.java
Author: hlship Date: Thu Aug 11 19:28:52 2011 New Revision: 1156755 URL: http://svn.apache.org/viewvc?rev=1156755view=rev Log: TAP5-1577: Duplication in operation trace when invoking certain methods Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java?rev=1156755r1=1156754r2=1156755view=diff == --- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java (original) +++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java Thu Aug 11 19:28:52 2011 @@ -45,7 +45,7 @@ public class ConstructorServiceCreator e public Object createObject() { -return resources.getTracker().invoke(Invoking + creatorDescription, new InvokableObject() +return resources.getTracker().invoke(Invoking constructor + creatorDescription, new InvokableObject() { public Object invoke() { Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java?rev=1156755r1=1156754r2=1156755view=diff == --- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java (original) +++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java Thu Aug 11 19:28:52 2011 @@ -305,7 +305,7 @@ public class ModuleImpl implements Modul return creator.createObject(); } -creator = new OperationTrackingObjectCreator(registry, Invoking + creator.toString(), creator); +creator = new OperationTrackingObjectCreator(registry, Invoking service creator + creator.toString(), creator); creator = new LifecycleWrappedServiceCreator(lifecycle, resources, creator); Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java?rev=1156755r1=1156754r2=1156755view=diff == --- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java (original) +++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java Thu Aug 11 19:28:52 2011 @@ -42,14 +42,14 @@ public class ServiceBuilderMethodInvoker */ public Object createObject() { -// Defer getting (and possibly instantitating) the module instance until the last possible +// Defer getting (and possibly instantiating) the module instance until the last possible // moment. If the method is static, there's no need to even get the builder. final Object moduleInstance = InternalUtils.isStatic(builderMethod) ? null : resources.getModuleBuilder(); final OperationTracker tracker = resources.getTracker(); -return tracker.invoke(String.format(Invoking + creatorDescription), new InvokableObject() +return tracker.invoke(String.format(Constructing service implementation via + creatorDescription), new InvokableObject() { public Object invoke() {
[jira] [Closed] (TAP5-1577) Duplication in operation trace when invoking certain methods
[ https://issues.apache.org/jira/browse/TAP5-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1577. -- Resolution: Fixed Fix Version/s: 5.3 Duplication in operation trace when invoking certain methods Key: TAP5-1577 URL: https://issues.apache.org/jira/browse/TAP5-1577 Project: Tapestry 5 Issue Type: Bug Components: tapestry-ioc Affects Versions: 5.3 Reporter: Howard M. Lewis Ship Priority: Minor Labels: exception-reporting Fix For: 5.3 Noticed this in another bug (TAP5-1576): SEVERE: Operations trace: SEVERE: [ 1] Constructing instance of page class org.apache.tapestry5.corelib.pages.ExceptionReport SEVERE: [ 2] Realizing service ValueEncoderSource SEVERE: [ 3] Invoking org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337) SEVERE: [ 4] Invoking org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337) SEVERE: [ 5] Determining injection value for parameter #1 (java.util.Map) SEVERE: [ 6] Collecting mapped configuration for service ValueEncoderSource SEVERE: [ 7] Invoking method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource) (at JpaModule.java:180). Notice that [3] and [4] are the same thing; either [4] should be removed, or the Invoking on one of the frames should be changed to explain better what's going on. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-832) Hidden input field fails with coercion problem on empty value (patch incl)
[ https://issues.apache.org/jira/browse/TAP5-832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083443#comment-13083443 ] Hudson commented on TAP5-832: - Integrated in tapestry-trunk-freestyle #469 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/469/]) TAP5-832: Support a nulls parameter on Hidden to correctly handle null values sent to or received from the client inside the field hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156744 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java Hidden input field fails with coercion problem on empty value (patch incl) -- Key: TAP5-832 URL: https://issues.apache.org/jira/browse/TAP5-832 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.0, 5.1.0.5 Reporter: Sebastian Hennebrueder Assignee: Howard M. Lewis Ship Fix For: 5.3 Attachments: Hidden.patch If a hidden field has a blanc input , it fails with the following stackstrace (my Hidden component is just a copy of the orginal of 5.1.0.5) The reason is that there is no nullfieldstrategie assigned to a hidden field as opposed to text fields. The attached patch adds such a strategie. # org.apache.tapestry5.internal.bindings.PropBinding.set(PropBinding.java:71) # org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.write(InternalComponentResourcesImpl.java:540) # de.laliluna.bibabook.components.Hidden._$update_parameter_value(Hidden.java) # de.laliluna.bibabook.components.Hidden.processSubmission(Hidden.java:136) # de.laliluna.bibabook.components.Hidden.access$000(Hidden.java:37) # de.laliluna.bibabook.components.Hidden$ProcessSubmission.execute(Hidden.java:94) # de.laliluna.bibabook.components.Hidden$ProcessSubmission.execute(Hidden.java:86) # org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:480) # org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:378) # org.apache.tapestry5.corelib.components.Form$onAction$invocation_1237b3fe6bd.invokeAdvisedMethod(Form$onAction$invocation_1237b3fe6bd.java) # org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71) # org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37) # org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1367) ajaxExceptionHandler Method name typo
[ https://issues.apache.org/jira/browse/TAP5-1367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083444#comment-13083444 ] Hudson commented on TAP5-1367: -- Integrated in tapestry-trunk-freestyle #469 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/469/]) TAP5-1367: ajaxExceptionHandler Method name typo hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156722 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js ajaxExceptionHandler Method name typo - Key: TAP5-1367 URL: https://issues.apache.org/jira/browse/TAP5-1367 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.4 Reporter: Dimitris Zenios Assignee: Howard M. Lewis Ship Fix For: 5.3 There is a typo in tapestry.js regarding ajaxExceptionHandler function.The method name is ajaxExceptionHander instead of ajaxExceptionHandler and you are registering it in (new Ajax.request) as ajaxExceptionHandler -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1577) Duplication in operation trace when invoking certain methods
[ https://issues.apache.org/jira/browse/TAP5-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083445#comment-13083445 ] Hudson commented on TAP5-1577: -- Integrated in tapestry-trunk-freestyle #469 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/469/]) TAP5-1577: Duplication in operation trace when invoking certain methods hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156755 Files : * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java Duplication in operation trace when invoking certain methods Key: TAP5-1577 URL: https://issues.apache.org/jira/browse/TAP5-1577 Project: Tapestry 5 Issue Type: Bug Components: tapestry-ioc Affects Versions: 5.3 Reporter: Howard M. Lewis Ship Priority: Minor Labels: exception-reporting Fix For: 5.3 Noticed this in another bug (TAP5-1576): SEVERE: Operations trace: SEVERE: [ 1] Constructing instance of page class org.apache.tapestry5.corelib.pages.ExceptionReport SEVERE: [ 2] Realizing service ValueEncoderSource SEVERE: [ 3] Invoking org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337) SEVERE: [ 4] Invoking org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337) SEVERE: [ 5] Determining injection value for parameter #1 (java.util.Map) SEVERE: [ 6] Collecting mapped configuration for service ValueEncoderSource SEVERE: [ 7] Invoking method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource) (at JpaModule.java:180). Notice that [3] and [4] are the same thing; either [4] should be removed, or the Invoking on one of the frames should be changed to explain better what's going on. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-2) DateField customization
[ https://issues.apache.org/jira/browse/TAP5-2?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-2. -- DateField customization --- Key: TAP5-2 URL: https://issues.apache.org/jira/browse/TAP5-2 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Skow Priority: Minor Fix For: 5.3 I'm unable to find a way to customize the underlying DatePicker that DateField uses. At the very least, one should be able to change the starting day of the week and attach the 'onchange' event on the text field so something can happen when a date is picked from the popup calendar. The only workaround I've come up with is to pull the datefield.js out of the Tapestry jar and hard-code the starting day of the week. I'm still working to getting the onchange event of the text field to fire. Perhaps there is an easy way to do this without actually needing a fix - if so, perhaps all that is needed is a quick wiki howto. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-2) DateField customization
[ https://issues.apache.org/jira/browse/TAP5-2?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-2. Resolution: Won't Fix Fix Version/s: 5.3 Is somehow too old to be current so close it, if you're interested please reopen DateField customization --- Key: TAP5-2 URL: https://issues.apache.org/jira/browse/TAP5-2 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Skow Priority: Minor Fix For: 5.3 I'm unable to find a way to customize the underlying DatePicker that DateField uses. At the very least, one should be able to change the starting day of the week and attach the 'onchange' event on the text field so something can happen when a date is picked from the popup calendar. The only workaround I've come up with is to pull the datefield.js out of the Tapestry jar and hard-code the starting day of the week. I'm still working to getting the onchange event of the text field to fire. Perhaps there is an easy way to do this without actually needing a fix - if so, perhaps all that is needed is a quick wiki howto. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-5) Context lost in a form fragment in a property editor component
[ https://issues.apache.org/jira/browse/TAP5-5?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-5. Resolution: Won't Fix Fix Version/s: 5.3 5.0.x isn't supported anymore if you feel please open a new on 5.3 Context lost in a form fragment in a property editor component -- Key: TAP5-5 URL: https://issues.apache.org/jira/browse/TAP5-5 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: José Paumard Fix For: 5.3 Attachments: tapestry-form-fragment.patch I created a PropertyEditor to edit a special class, which content spans over one or more pair of String. The TML for the PropertyEditor declaration is : t:block t:id=myProp t:editor.myPropEditor t:id=myPropEditor propertyvalue=prop:context.propertyValue propertyname=prop:context.label messages=prop:context.containerMessages/ /t:block The TML of the property editor itself is : t:label for=s11/ t:textfield t:id=s12/ br/ t:label for=s21/ : t:textfield t:id=s22 / br/ t:checkbox t:id=showFragment1 t:mixins=triggerfragment fragment=fragment1/ t:formfragment t:id=fragment1 visible=showFragment1 t:label for=t11/ t:textfield t:id=t12/ br/ t:label for=t21/ : t:textfield t:id=t22 / br/ /t:formfragment With a basic POJO class associated to that, and the declaration of the parameters : public class MyPropertyEditor { @Parameter(name=propertyValue,required=true) private MyProperty myProperty ; @Parameter(name=propertyName,required=true) private String propertyName ; @Parameter(name=messages,required=true) private Messages messages ; private String s11, s12, s21, s22, t11, t12, t21, t22 ; ... } If I try to read / update the myPropery parameter in that class : - from the s11, s12, s21, s22 getter or setter - everything works ok, I can read or update this parameter - from the t11, t12, t21 or t22 getter or setter, I get the following stack trace : An unexpected application exception has occurred. * org.apache.tapestry5.runtime.ComponentEventException Failure writing parameter 'value' of component AppPropertyEditBlocks:mypropertyeditor.content2: Failure reading parameter 'propertyValue' of component AppPropertyEditBlocks:mypropertyeditor: No object of type org.apache.tapestry5.services.PropertyEditContext is available from the Environment. Available types are org.apache.tapestry5.ValidationTracker, org.apache.tapestry5.services.ComponentEventResultProcessor, org.apache.tapestry5.services.FormSupport, org.apache.tapestry5.services.Heartbeat. context eventType action location classpath:org/.../webapp/components/item/AbstractCreate.tml, line 6, column 24 1 t:container xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; 2 3 ${message:title} 4 br/ 5 6 t:form t:id=create 7 t:errors/ 8 t:beaneditor t:id=createEditor object=item exclude=prop:excludelist/ 9 t:submit value=message:create/ 10 /t:form 11 * org.apache.tapestry5.ioc.internal.util.TapestryException Failure writing parameter 'value' of component AppPropertyEditBlocks:mypropertyeditor.content2: Failure reading parameter 'propertyValue' of component AppPropertyEditBlocks:mypropertyeditor: No object of type org.apache.tapestry5.services.PropertyEditContext is available from the Environment. Available types are org.apache.tapestry5.ValidationTracker, org.apache.tapestry5.services.ComponentEventResultProcessor, org.apache.tapestry5.services.FormSupport, org.apache.tapestry5.services.Heartbeat. location classpath:org/.../webapp/components/editor/MyPropertyEditor.tml, line 21, column 62 16 t:checkbox t:id=showFragment1 t:mixins=triggerfragment fragment=fragment1/ 17 t:label for=showFragment1/ 18 19 t:formfragment t:id=fragment1 visible=showFragment1 20 t:label for=t11/ : t:textfield t:id=t12/ 21 t:label for=t21/ : t:textfield t:id=t33 / 22 /t:formfragment 23 24 25 /td/tr 26 /table * org.apache.tapestry5.ioc.internal.util.TapestryException Failure reading parameter 'propertyValue' of component AppPropertyEditBlocks:mypropertyeditor: No object of type org.apache.tapestry5.services.PropertyEditContext is available from the Environment. Available types are
[jira] [Closed] (TAP5-5) Context lost in a form fragment in a property editor component
[ https://issues.apache.org/jira/browse/TAP5-5?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-5. -- Context lost in a form fragment in a property editor component -- Key: TAP5-5 URL: https://issues.apache.org/jira/browse/TAP5-5 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: José Paumard Fix For: 5.3 Attachments: tapestry-form-fragment.patch I created a PropertyEditor to edit a special class, which content spans over one or more pair of String. The TML for the PropertyEditor declaration is : t:block t:id=myProp t:editor.myPropEditor t:id=myPropEditor propertyvalue=prop:context.propertyValue propertyname=prop:context.label messages=prop:context.containerMessages/ /t:block The TML of the property editor itself is : t:label for=s11/ t:textfield t:id=s12/ br/ t:label for=s21/ : t:textfield t:id=s22 / br/ t:checkbox t:id=showFragment1 t:mixins=triggerfragment fragment=fragment1/ t:formfragment t:id=fragment1 visible=showFragment1 t:label for=t11/ t:textfield t:id=t12/ br/ t:label for=t21/ : t:textfield t:id=t22 / br/ /t:formfragment With a basic POJO class associated to that, and the declaration of the parameters : public class MyPropertyEditor { @Parameter(name=propertyValue,required=true) private MyProperty myProperty ; @Parameter(name=propertyName,required=true) private String propertyName ; @Parameter(name=messages,required=true) private Messages messages ; private String s11, s12, s21, s22, t11, t12, t21, t22 ; ... } If I try to read / update the myPropery parameter in that class : - from the s11, s12, s21, s22 getter or setter - everything works ok, I can read or update this parameter - from the t11, t12, t21 or t22 getter or setter, I get the following stack trace : An unexpected application exception has occurred. * org.apache.tapestry5.runtime.ComponentEventException Failure writing parameter 'value' of component AppPropertyEditBlocks:mypropertyeditor.content2: Failure reading parameter 'propertyValue' of component AppPropertyEditBlocks:mypropertyeditor: No object of type org.apache.tapestry5.services.PropertyEditContext is available from the Environment. Available types are org.apache.tapestry5.ValidationTracker, org.apache.tapestry5.services.ComponentEventResultProcessor, org.apache.tapestry5.services.FormSupport, org.apache.tapestry5.services.Heartbeat. context eventType action location classpath:org/.../webapp/components/item/AbstractCreate.tml, line 6, column 24 1 t:container xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; 2 3 ${message:title} 4 br/ 5 6 t:form t:id=create 7 t:errors/ 8 t:beaneditor t:id=createEditor object=item exclude=prop:excludelist/ 9 t:submit value=message:create/ 10 /t:form 11 * org.apache.tapestry5.ioc.internal.util.TapestryException Failure writing parameter 'value' of component AppPropertyEditBlocks:mypropertyeditor.content2: Failure reading parameter 'propertyValue' of component AppPropertyEditBlocks:mypropertyeditor: No object of type org.apache.tapestry5.services.PropertyEditContext is available from the Environment. Available types are org.apache.tapestry5.ValidationTracker, org.apache.tapestry5.services.ComponentEventResultProcessor, org.apache.tapestry5.services.FormSupport, org.apache.tapestry5.services.Heartbeat. location classpath:org/.../webapp/components/editor/MyPropertyEditor.tml, line 21, column 62 16 t:checkbox t:id=showFragment1 t:mixins=triggerfragment fragment=fragment1/ 17 t:label for=showFragment1/ 18 19 t:formfragment t:id=fragment1 visible=showFragment1 20 t:label for=t11/ : t:textfield t:id=t12/ 21 t:label for=t21/ : t:textfield t:id=t33 / 22 /t:formfragment 23 24 25 /td/tr 26 /table * org.apache.tapestry5.ioc.internal.util.TapestryException Failure reading parameter 'propertyValue' of component AppPropertyEditBlocks:mypropertyeditor: No object of type org.apache.tapestry5.services.PropertyEditContext is available from the Environment. Available types are org.apache.tapestry5.ValidationTracker, org.apache.tapestry5.services.ComponentEventResultProcessor, org.apache.tapestry5.services.FormSupport,
[jira] [Resolved] (TAP5-7) Palette component error marker appears on the line below the component when validation fails.
[ https://issues.apache.org/jira/browse/TAP5-7?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-7. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Palette component error marker appears on the line below the component when validation fails. - Key: TAP5-7 URL: https://issues.apache.org/jira/browse/TAP5-7 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Windows XP, IE 7.0.5730.13, FireFox 2.0.0.14, Tapestry 5.0.11, Eclipse 3.3.2 Maven 2.0.9, Run-Jetty-Run Reporter: Daniel Priority: Minor Fix For: 5.3 I have overridden the following CSS classes to make the palette fields smaller: div.t-palette-available SELECT { width: 100px; float: left; } div.t-palette-selected SELECT { width: 100px; float: left; clear: right; } The HTML for the palette displaying the error X icon on the next line looks like: div class=t-beaneditor-row label class=t-error for=keywords id=keywords:labelKeywords/label input id=keywords:values name=keywords:values type=hidden value=[] div class=t-palette div class=t-palette-available div class=t-palette-titleAvailable/div select id=keywords:avail multiple=multiple name=keywords:avail size=7 option value=31word4 /select /div div class=t-palette-controls button disabled=disabled id=keywords:select img alt=Select gt; src=assets/tapestry/corelib/components/select.png /button button disabled=disabled id=keywords:deselect img alt=lt; Deselect src=assets/tapestry/corelib/components/deselect.png /button /div div class=t-palette-selected div class=t-palette-titleSelected/div select id=keywords multiple=multiple name=keywords size=7select/ /div div class=t-palette-spacer/div /div img alt=[Error] class=t-error-icon id=keywords:icon src=assets/tapestry/field-error-marker.gif /div -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-7) Palette component error marker appears on the line below the component when validation fails.
[ https://issues.apache.org/jira/browse/TAP5-7?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-7. -- Palette component error marker appears on the line below the component when validation fails. - Key: TAP5-7 URL: https://issues.apache.org/jira/browse/TAP5-7 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Windows XP, IE 7.0.5730.13, FireFox 2.0.0.14, Tapestry 5.0.11, Eclipse 3.3.2 Maven 2.0.9, Run-Jetty-Run Reporter: Daniel Priority: Minor Fix For: 5.3 I have overridden the following CSS classes to make the palette fields smaller: div.t-palette-available SELECT { width: 100px; float: left; } div.t-palette-selected SELECT { width: 100px; float: left; clear: right; } The HTML for the palette displaying the error X icon on the next line looks like: div class=t-beaneditor-row label class=t-error for=keywords id=keywords:labelKeywords/label input id=keywords:values name=keywords:values type=hidden value=[] div class=t-palette div class=t-palette-available div class=t-palette-titleAvailable/div select id=keywords:avail multiple=multiple name=keywords:avail size=7 option value=31word4 /select /div div class=t-palette-controls button disabled=disabled id=keywords:select img alt=Select gt; src=assets/tapestry/corelib/components/select.png /button button disabled=disabled id=keywords:deselect img alt=lt; Deselect src=assets/tapestry/corelib/components/deselect.png /button /div div class=t-palette-selected div class=t-palette-titleSelected/div select id=keywords multiple=multiple name=keywords size=7select/ /div div class=t-palette-spacer/div /div img alt=[Error] class=t-error-icon id=keywords:icon src=assets/tapestry/field-error-marker.gif /div -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-9) Component event requests that fail should still send a redirect (to the exception report page)
[ https://issues.apache.org/jira/browse/TAP5-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-9. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Component event requests that fail should still send a redirect (to the exception report page) -- Key: TAP5-9 URL: https://issues.apache.org/jira/browse/TAP5-9 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 When a request, such as a form submission, fails with an exception, we currently render the exception report page within the same request. We should capture the necessary information (as client persistent properties, once implemented as TAPESTRY-1356), including request headers and session state *within the request which threw the exception*, then send a normal client-redirect to the exception page to present the data. If nothing else, this will be needed by the time we implement portlets, since you can't fudge the difference between action and render requests inside a portlet container. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-8) Application message catalog is only used when a not localized version is present
[ https://issues.apache.org/jira/browse/TAP5-8?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-8. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Application message catalog is only used when a not localized version is present Key: TAP5-8 URL: https://issues.apache.org/jira/browse/TAP5-8 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Hugo Palma Priority: Minor Fix For: 5.3 If i provide a MyApp_en.properties in the WEB-INF dir of my application the bundle is ignored. But if i add an empty MyApp.properties file the bundle is not longer ignored and works just fine. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-8) Application message catalog is only used when a not localized version is present
[ https://issues.apache.org/jira/browse/TAP5-8?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-8. -- Application message catalog is only used when a not localized version is present Key: TAP5-8 URL: https://issues.apache.org/jira/browse/TAP5-8 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Hugo Palma Priority: Minor Fix For: 5.3 If i provide a MyApp_en.properties in the WEB-INF dir of my application the bundle is ignored. But if i add an empty MyApp.properties file the bundle is not longer ignored and works just fine. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-9) Component event requests that fail should still send a redirect (to the exception report page)
[ https://issues.apache.org/jira/browse/TAP5-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-9. -- Component event requests that fail should still send a redirect (to the exception report page) -- Key: TAP5-9 URL: https://issues.apache.org/jira/browse/TAP5-9 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 When a request, such as a form submission, fails with an exception, we currently render the exception report page within the same request. We should capture the necessary information (as client persistent properties, once implemented as TAPESTRY-1356), including request headers and session state *within the request which threw the exception*, then send a normal client-redirect to the exception page to present the data. If nothing else, this will be needed by the time we implement portlets, since you can't fudge the difference between action and render requests inside a portlet container. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1568) Discuss / Change process of Building and Deploying Artifacts
[ https://issues.apache.org/jira/browse/TAP5-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andreas Andreou closed TAP5-1568. - Resolution: Fixed Process has been updated for some time now (first with nexus handling the artifacts and then with gradle builds), so closing as fixed Discuss / Change process of Building and Deploying Artifacts Key: TAP5-1568 URL: https://issues.apache.org/jira/browse/TAP5-1568 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1 Reporter: Andreas Andreou See http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/tapestry/tapestry-project/maven-metadata.xml and http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/tapestry/tapestry-annotations/maven-metadata.xml Both miss references to the 4.1 artifacts... (is it possible they were hande edited at some point?) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-16) Error popups are not positioned well near the edges of the page
[ https://issues.apache.org/jira/browse/TAP5-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-16. --- Error popups are not positioned well near the edges of the page --- Key: TAP5-16 URL: https://issues.apache.org/jira/browse/TAP5-16 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 Attachments: screenshot-1.jpg When the error popup is too close to the edge of the page, the message inside gets truncated. I think the error popup should recognize when this happens and instead position itself differently, so that the message is not truncated, and the right edge of the bubble aligns with the right edge of the field. In addition, a different image should be used, one that doesn't include the nib (the triangular part that points at the field) ... or the nib should be moved to the opposite right side of the image. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-17) Null value in RadioGroup returns the string on
[ https://issues.apache.org/jira/browse/TAP5-17?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-17. - Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Null value in RadioGroup returns the string on Key: TAP5-17 URL: https://issues.apache.org/jira/browse/TAP5-17 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Linux 2.6.24 Sun JDK 6 Reporter: Dave Dombrosky Priority: Minor Fix For: 5.3 When using a null value on a radio button, or a value the gets ValueEncoded to null, the value gets submitted to the server as on. The value should come back null, or at least as an empty String. I have no idea how on is getting submitted instead of the correct value. To test: 1) Create radio group with a few radio components in it. 2) Make one of these radio buttons have value=null. 3) Submit form and watch as you get the String on returned instead of null. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-17) Null value in RadioGroup returns the string on
[ https://issues.apache.org/jira/browse/TAP5-17?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-17. --- Null value in RadioGroup returns the string on Key: TAP5-17 URL: https://issues.apache.org/jira/browse/TAP5-17 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Linux 2.6.24 Sun JDK 6 Reporter: Dave Dombrosky Priority: Minor Fix For: 5.3 When using a null value on a radio button, or a value the gets ValueEncoded to null, the value gets submitted to the server as on. The value should come back null, or at least as an empty String. I have no idea how on is getting submitted instead of the correct value. To test: 1) Create radio group with a few radio components in it. 2) Make one of these radio buttons have value=null. 3) Submit form and watch as you get the String on returned instead of null. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-16) Error popups are not positioned well near the edges of the page
[ https://issues.apache.org/jira/browse/TAP5-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-16. - Resolution: Won't Fix Fix Version/s: 5.3 A lot has changed here so please reopen if needed Error popups are not positioned well near the edges of the page --- Key: TAP5-16 URL: https://issues.apache.org/jira/browse/TAP5-16 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 Attachments: screenshot-1.jpg When the error popup is too close to the edge of the page, the message inside gets truncated. I think the error popup should recognize when this happens and instead position itself differently, so that the message is not truncated, and the right edge of the bubble aligns with the right edge of the field. In addition, a different image should be used, one that doesn't include the nib (the triangular part that points at the field) ... or the nib should be moved to the opposite right side of the image. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-21) Misleading error message when a component sub-class invokes non-default constructor of parent component class
[ https://issues.apache.org/jira/browse/TAP5-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-21. - Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Misleading error message when a component sub-class invokes non-default constructor of parent component class - Key: TAP5-21 URL: https://issues.apache.org/jira/browse/TAP5-21 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Linux, Sun JDK 1.6 Reporter: Jens Pfau Priority: Minor Fix For: 5.3 Some of my pages inherit from a common abstract base class but even if I move this to root package.base, I receive the following application exception: Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for root package.pages.MyPage at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:241) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator(ComponentInstantiatorSourceImpl.java:223) at $ComponentInstantiatorSource_118ac384906.findInstantiator($ComponentInstantiatorSource_118ac384906.java) at org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComponentElement(PageElementFactoryImpl.java:257) at $PageElementFactory_118ac384934.newRootComponentElement($PageElementFactory_118ac384934.java) at org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootComponent(PageLoaderProcessor.java:413) at org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:391) at org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:60) at $PageLoader_118ac384932.loadPage($PageLoader_118ac384932.java) at org.apache.tapestry.internal.services.PagePoolCache.checkout(PagePoolCache.java:188) at org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:107) at $PagePool_118ac384931.checkout($PagePool_118ac384931.java) at org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:43) at $RequestPageCache_118ac384930.get($RequestPageCache_118ac384930.java) at $RequestPageCache_118ac384903.get($RequestPageCache_118ac384903.java) at org.apache.tapestry.internal.services.LinkFactoryImpl.createPageLink(LinkFactoryImpl.java:239) at $LinkFactory_118ac384935.createPageLink($LinkFactory_118ac384935.java) at org.apache.tapestry.internal.structure.PageImpl.createPageLink(PageImpl.java:161) at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.createPageLink(InternalComponentResourcesImpl.java:128) at org.apache.tapestry.corelib.components.PageLink.beginRender(PageLink.java:73) at org.apache.tapestry.corelib.components.PageLink.beginRender(PageLink.java) at org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:338) at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:874) ... 62 more Caused by: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for root package.pages.MyPage at javassist.Loader.findClass(Loader.java:359) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:73) at javassist.Loader.loadClass(Loader.java:311) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:237) ... 84 more Caused by: java.lang.RuntimeException: Base class root package.base.AbstractPage (super class of root package.pages.MyPage) is not in a controlled package and is therefore not valid. You should try moving the class to package root package.base. at org.apache.tapestry.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:126) at $ComponentClassTransformer_118ac384913.transformComponentClass($ComponentClassTransformer_118ac384913.java) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:162) at javassist.Loader.findClass(Loader.java:340) ... 88 more -- This message is automatically generated by JIRA. For more information on JIRA, see:
[jira] [Resolved] (TAP5-26) When @Validate(required) is applied to a field whose type is primitive, the client-side JavaScript includes two invocations of Tapestry.Validator.required
[ https://issues.apache.org/jira/browse/TAP5-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-26. - Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable When @Validate(required) is applied to a field whose type is primitive, the client-side JavaScript includes two invocations of Tapestry.Validator.required Key: TAP5-26 URL: https://issues.apache.org/jira/browse/TAP5-26 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 Tapestry should recognize that the required validator was already indicated via @Validate and not re-add it. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-19) Clicking on autocomplete scrollbar in Internet Explorer clears results
[ https://issues.apache.org/jira/browse/TAP5-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-19. --- Clicking on autocomplete scrollbar in Internet Explorer clears results -- Key: TAP5-19 URL: https://issues.apache.org/jira/browse/TAP5-19 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Joel Wiegman Fix For: 5.3 When displaying large sets of results in an Autocomplete mixin, a scrollbar conveniently appears. Clicking on that scrollbar in Internet Explorer causes the results to disappear. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-21) Misleading error message when a component sub-class invokes non-default constructor of parent component class
[ https://issues.apache.org/jira/browse/TAP5-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-21. --- Misleading error message when a component sub-class invokes non-default constructor of parent component class - Key: TAP5-21 URL: https://issues.apache.org/jira/browse/TAP5-21 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Linux, Sun JDK 1.6 Reporter: Jens Pfau Priority: Minor Fix For: 5.3 Some of my pages inherit from a common abstract base class but even if I move this to root package.base, I receive the following application exception: Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for root package.pages.MyPage at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:241) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator(ComponentInstantiatorSourceImpl.java:223) at $ComponentInstantiatorSource_118ac384906.findInstantiator($ComponentInstantiatorSource_118ac384906.java) at org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComponentElement(PageElementFactoryImpl.java:257) at $PageElementFactory_118ac384934.newRootComponentElement($PageElementFactory_118ac384934.java) at org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootComponent(PageLoaderProcessor.java:413) at org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:391) at org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:60) at $PageLoader_118ac384932.loadPage($PageLoader_118ac384932.java) at org.apache.tapestry.internal.services.PagePoolCache.checkout(PagePoolCache.java:188) at org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:107) at $PagePool_118ac384931.checkout($PagePool_118ac384931.java) at org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:43) at $RequestPageCache_118ac384930.get($RequestPageCache_118ac384930.java) at $RequestPageCache_118ac384903.get($RequestPageCache_118ac384903.java) at org.apache.tapestry.internal.services.LinkFactoryImpl.createPageLink(LinkFactoryImpl.java:239) at $LinkFactory_118ac384935.createPageLink($LinkFactory_118ac384935.java) at org.apache.tapestry.internal.structure.PageImpl.createPageLink(PageImpl.java:161) at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.createPageLink(InternalComponentResourcesImpl.java:128) at org.apache.tapestry.corelib.components.PageLink.beginRender(PageLink.java:73) at org.apache.tapestry.corelib.components.PageLink.beginRender(PageLink.java) at org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:338) at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:874) ... 62 more Caused by: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for root package.pages.MyPage at javassist.Loader.findClass(Loader.java:359) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:73) at javassist.Loader.loadClass(Loader.java:311) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:237) ... 84 more Caused by: java.lang.RuntimeException: Base class root package.base.AbstractPage (super class of root package.pages.MyPage) is not in a controlled package and is therefore not valid. You should try moving the class to package root package.base. at org.apache.tapestry.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:126) at $ComponentClassTransformer_118ac384913.transformComponentClass($ComponentClassTransformer_118ac384913.java) at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:162) at javassist.Loader.findClass(Loader.java:340) ... 88 more -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (TAP5-19) Clicking on autocomplete scrollbar in Internet Explorer clears results
[ https://issues.apache.org/jira/browse/TAP5-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti resolved TAP5-19. - Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Clicking on autocomplete scrollbar in Internet Explorer clears results -- Key: TAP5-19 URL: https://issues.apache.org/jira/browse/TAP5-19 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Joel Wiegman Fix For: 5.3 When displaying large sets of results in an Autocomplete mixin, a scrollbar conveniently appears. Clicking on that scrollbar in Internet Explorer causes the results to disappear. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-26) When @Validate(required) is applied to a field whose type is primitive, the client-side JavaScript includes two invocations of Tapestry.Validator.required
[ https://issues.apache.org/jira/browse/TAP5-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-26. --- When @Validate(required) is applied to a field whose type is primitive, the client-side JavaScript includes two invocations of Tapestry.Validator.required Key: TAP5-26 URL: https://issues.apache.org/jira/browse/TAP5-26 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 Tapestry should recognize that the required validator was already indicated via @Validate and not re-add it. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-27) Improve exception message for default field validation when value parameter is not bound.
[ https://issues.apache.org/jira/browse/TAP5-27?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-27. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Improve exception message for default field validation when value parameter is not bound. - Key: TAP5-27 URL: https://issues.apache.org/jira/browse/TAP5-27 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Environment: Windows XP, Java 1.6, Tapestry 5.0.11, Eclipse 3.3.2, Maven 2.0.9, Run-Jetty-Run Reporter: Daniel Priority: Minor Fix For: 5.3 The exception that was generated was an IllegalArgumentException with the message,Parameter annotationProvider was null. thrown from: org.apache.tapestry.ioc.internal.util.Defense.notNull(Defense.java:37) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1156825 - /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
Author: hlship Date: Thu Aug 11 20:53:16 2011 New Revision: 1156825 URL: http://svn.apache.org/viewvc?rev=1156825view=rev Log: TAP5-877: Fade effect for error popups should be disabled in IE since it can't properly fade the images Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js?rev=1156825r1=1156824r2=1156825view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js Thu Aug 11 20:53:16 2011 @@ -1382,6 +1382,16 @@ Tapestry.ErrorPopup = Class.create({ if (this.animation) return; +if (Prototype.Browser.IE) { +this.outerDiv.show(); + +var bound = _.bind(this.hideIfNotFocused, this); + +_.delay(bound, 100); + +return; +} + this.animation = new Effect.Appear(this.outerDiv, { queue : this.queue, afterFinish : function() { @@ -1393,6 +1403,15 @@ Tapestry.ErrorPopup = Class.create({ }); }, +/** Used in IE to hide the field if not the focus field. */ +hideIfNotFocused : function() { + +if (this.field != Tapestry.currentFocusField) { +this.outerDiv.hide(); +} +}, + + stopAnimation : function() { if (this.animation) this.animation.cancel(); @@ -1404,6 +1423,11 @@ Tapestry.ErrorPopup = Class.create({ if (this.animation) return; +if (Prototype.IE) { +this.outerDiv.hide(); +return; +} + this.animation = new Effect.Fade(this.outerDiv, { queue : this.queue, afterFinish : function() {
[jira] [Closed] (TAP5-877) Fade effect for error popups should be disabled in IE since it can't properly fade the images
[ https://issues.apache.org/jira/browse/TAP5-877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-877. - Resolution: Fixed Fix Version/s: 5.3 Assignee: Howard M. Lewis Ship Fade effect for error popups should be disabled in IE since it can't properly fade the images - Key: TAP5-877 URL: https://issues.apache.org/jira/browse/TAP5-877 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.0 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 IE uses a GIF, not a PNG, for the border images (the bevel) around the popup error message. The fade in/fade out animations look bad, because the transparent area immediately turns black for the duration of the fade. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-31) DateField Calendar component has scroll bar burn through
[ https://issues.apache.org/jira/browse/TAP5-31?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-31. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable DateField Calendar component has scroll bar burn through Key: TAP5-31 URL: https://issues.apache.org/jira/browse/TAP5-31 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: OSX Leopard, Firefox Reporter: Josh Canfield Priority: Minor Fix For: 5.3 The new datepicker component has the old browser control burn through problem. When the calendar appears on top of a scrollbar or select dropdown the scrollbar appears through the calendar. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-36) Only the last of multiple t:parameter components with the same name in the same grid are rendered, without an error message.
[ https://issues.apache.org/jira/browse/TAP5-36?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-36. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Only the last of multiple t:parameter components with the same name in the same grid are rendered, without an error message. Key: TAP5-36 URL: https://issues.apache.org/jira/browse/TAP5-36 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Environment: Windows XP SP 2, Jetty Launcher 5.1.12, Maven 2.0.9, Hibernate 3.2.2, Eclipse 3.3.2, FireFox 2.0.0.15, IE7 Reporter: Daniel Priority: Minor Fix For: 5.3 If two parameters are specified with the same name inside a grid component (for example) in a tml file, Tapestry seems to ignore the first one and render only the second. Can Tapestry throw an exception when there is a conflict between identically named parameter components? -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-38) Validation error bubble positioning should be different for checkbox and radio than for other types of fields
[ https://issues.apache.org/jira/browse/TAP5-38?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-38. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Validation error bubble positioning should be different for checkbox and radio than for other types of fields - Key: TAP5-38 URL: https://issues.apache.org/jira/browse/TAP5-38 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 Because such fields are so narrow, the horizontal offset applied (that looks fine on a TextField) ends up looking strange, with the nib of the bubble pointing to a spot just to the right of the radio button. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-40) Pop up error bubbles (for client side validation) do not interact properly with IE 6 select elements
[ https://issues.apache.org/jira/browse/TAP5-40?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-40. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Pop up error bubbles (for client side validation) do not interact properly with IE 6 select elements Key: TAP5-40 URL: https://issues.apache.org/jira/browse/TAP5-40 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 This pretty standard stuff, IE 6 (and earlier) has its z-order issue, where the popup menu from a select list is always ordered in front of anything else. The standard technique is to temporarily hide the select element while obscured by the popup bubble. I've tested with IE 7 and this is not an issue (though IE 7's PNG support is not as good as Firefox's, so there are some minor graphic glitches while animating fade-in and fade-out). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-44) enable creation of custom onException event handler
[ https://issues.apache.org/jira/browse/TAP5-44?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-44. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable enable creation of custom onException event handler - Key: TAP5-44 URL: https://issues.apache.org/jira/browse/TAP5-44 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Kristian Marinkovic Fix For: 5.3 make it possible to create custom onException event handler that are fired when custom Exceptions are thrown. i have the use case saying, that when an optimistic lock exception is thrown the same page with the newly loaded entity and an error message has to be displayed. Although it is possible to use the onException event it would be much nicer to have a onExceptionFromOptimisticLocking exception where the developer can put the exception handling into this specific method. In the near future we will have multiple other exceptions that need to be handled in a similar way. i prefer specific event handler to a bunch of instanceof statements -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-46) Palette component should support drag and drop of the options
[ https://issues.apache.org/jira/browse/TAP5-46?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-46. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Palette component should support drag and drop of the options - Key: TAP5-46 URL: https://issues.apache.org/jira/browse/TAP5-46 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 It would be nice if it were possible to drag selections from one column to the other, and to drag within the available list to support reordering. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-54) Add configurable limits on how long (in ms) or how many operations are allowed when rendering
[ https://issues.apache.org/jira/browse/TAP5-54?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-54. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Add configurable limits on how long (in ms) or how many operations are allowed when rendering - Key: TAP5-54 URL: https://issues.apache.org/jira/browse/TAP5-54 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 This would help catch situations where there's a runaway endless loop before hitting an OutOfMemoryError. Probably should be configurable per-page via meta-data, to allow for pages that take a long time to render, or are very complex. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-55) Persistence strategy should alternately be specified via an annotation on the persisted field
[ https://issues.apache.org/jira/browse/TAP5-55?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-55. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Persistence strategy should alternately be specified via an annotation on the persisted field - Key: TAP5-55 URL: https://issues.apache.org/jira/browse/TAP5-55 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 Currently you must use a name (or constant) to define the persistence strategy. Using a name will always be less refactoring safe than an annotation. With just @Persist (the empty string value) a search based on meta data is started. It would be nice if there was a way to inject some logic that could check for an auxiliary annotation or other bit of logic to decide the persistence strategy. Ideally, when using tapestry-hibernate and a field is an entity type defined in Hibernate, the entity persistence strategy should be the default, before checking meta data. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-58) Tapestry should be smarter about event handler methods refiring events with the same name
[ https://issues.apache.org/jira/browse/TAP5-58?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-58. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Tapestry should be smarter about event handler methods refiring events with the same name - Key: TAP5-58 URL: https://issues.apache.org/jira/browse/TAP5-58 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 An idiom that's evolving is for a component or mixin to receive an event via an event handler method, and then refire the event with a different context to obtain information or behavior from its container. Currently, you must either a) fire a differently named event or b) expressly trigger the event on the container's resources. It would be nice if Tapestry was smarter, and woul track which event(s) a component or mixin is currently handling, and would automatically skip the component if another event of the same name was triggered. Basically, roll the b) logic above directly into ComponentResources/ComponentPageElement. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-59) Tracking issue for Tapestry/Spring Web Flow integration
[ https://issues.apache.org/jira/browse/TAP5-59?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083568#comment-13083568 ] Massimo Lusetti commented on TAP5-59: - Doesn anyone still interested in Spring Web Flow? Tracking issue for Tapestry/Spring Web Flow integration --- Key: TAP5-59 URL: https://issues.apache.org/jira/browse/TAP5-59 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship This will encompass a new module, tapestry-webflow (not tapestry-swf, since that looks like it's related to Flash). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-64) Support Java Portlet Specification V2 - JSR-286
[ https://issues.apache.org/jira/browse/TAP5-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083570#comment-13083570 ] Massimo Lusetti commented on TAP5-64: - Does this still current and with interested? Support Java Portlet Specification V2 - JSR-286 --- Key: TAP5-64 URL: https://issues.apache.org/jira/browse/TAP5-64 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Jan Vissers Attachments: tapestry_portlet_5.0.15.zip, tapestry_portlet_5.0.18.zip, tapestry_portlet_5.1.0.5.zip Specification will be finished early 2008. We need a framework that allows us to write JSR-286 portlets, would be nice if we could stick with T5 for this. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-65) Validate fields based on EJB annotations
[ https://issues.apache.org/jira/browse/TAP5-65?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-65. --- Resolution: Won't Fix Fix Version/s: 5.3 There's the beanvalidator module... Please open a new one for 5.3 if this still applicable Validate fields based on EJB annotations Key: TAP5-65 URL: https://issues.apache.org/jira/browse/TAP5-65 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Dan Adams Priority: Minor Fix For: 5.3 Perform some kind of validation of fields based on EJB annotions. This actually seems like it should at least not be automatic as it could cause some unexpected behavior. What kind of validations can be infered other than @Column(optional=false) means it's required? (Came out of TAPESTRY-1318) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-67) Split persistence strategy into two parts: where the data is stored (session, client, hidden fields, etc.) and duration (normal, flash, maybe others)
[ https://issues.apache.org/jira/browse/TAP5-67?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-67. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Split persistence strategy into two parts: where the data is stored (session, client, hidden fields, etc.) and duration (normal, flash, maybe others) - Key: TAP5-67 URL: https://issues.apache.org/jira/browse/TAP5-67 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 It would be nice to be able to say flash on the client without having to define an entirely new strategy; it seems like the strategy (client vs. server, primarily) and the lifespan (forever, flash, maybe something new in-between, such as 'while on same page') could be split and combined in different ways. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-68) Add ability to use Seam and Tapestry 5 together
[ https://issues.apache.org/jira/browse/TAP5-68?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-68. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Add ability to use Seam and Tapestry 5 together --- Key: TAP5-68 URL: https://issues.apache.org/jira/browse/TAP5-68 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Mikhail Grushinskiy Fix For: 5.3 Add ability to use Seam and Tapestry 5 together. Support Seam as IoC controller and render Seam Beans using Tapestry (This should give better performance than JSF). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-64) Support Java Portlet Specification V2 - JSR-286
[ https://issues.apache.org/jira/browse/TAP5-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083658#comment-13083658 ] postmaster@cumquat commented on TAP5-64: Beste afzender, Dit e-mailadres van Cumquat is niet langer meer in gebruik. U kunt contact opnemen met Cumquat via een van de onderstaande e-mailadressen: - project.off...@cumquat.nl voor projectgerelateerde onderwerpen - sa...@cumquat.nl voor commerciële onderwerpen - i...@cumquat.nl voor algemene onderwerpen Dank u wel. Dear sender, This e-mail account of Cumquat is no longer is use. Please contact Cumquat by using one of the e-mail accounts below: - project.off...@cumquat.nl for project related issues - sa...@cumquat.nl for sales questions - i...@cumquat.nl for general questions Thank you. Cumquat Information Technology B.V. De Dreef 19 3706 BR ZEIST t +31 (0)30 6940 490 f +31 (0)30 6940 499 i www.cumquat.nl Support Java Portlet Specification V2 - JSR-286 --- Key: TAP5-64 URL: https://issues.apache.org/jira/browse/TAP5-64 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Jan Vissers Attachments: tapestry_portlet_5.0.15.zip, tapestry_portlet_5.0.18.zip, tapestry_portlet_5.1.0.5.zip Specification will be finished early 2008. We need a framework that allows us to write JSR-286 portlets, would be nice if we could stick with T5 for this. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-72) Improve Groovy support in Tapestry
[ https://issues.apache.org/jira/browse/TAP5-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-72. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable BTW I think this could be valuable but we will see Improve Groovy support in Tapestry -- Key: TAP5-72 URL: https://issues.apache.org/jira/browse/TAP5-72 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 There's a large number of places where Groovy support inside Tapestry could be improved. Automatic mapping to and from various callback and configuration interfaces to Groovy's Closure would be a great start. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-75) Create Doxia APT Macro to make it easier to link to JavaDoc
[ https://issues.apache.org/jira/browse/TAP5-75?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-75. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Create Doxia APT Macro to make it easier to link to JavaDoc --- Key: TAP5-75 URL: https://issues.apache.org/jira/browse/TAP5-75 Project: Tapestry 5 Issue Type: Task Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 I'm getting sick of manually linking to JavaDoc, and I believe a Doxia macro could do the work for me. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-82) Allow Blocks to render themselves initially
[ https://issues.apache.org/jira/browse/TAP5-82?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-82. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Allow Blocks to render themselves initially --- Key: TAP5-82 URL: https://issues.apache.org/jira/browse/TAP5-82 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Igor Drobiazko Priority: Minor Fix For: 5.3 Initially a block is not rendered. This is quite reasonable for the usecase in which you define an empty block for the Grid. Now consider following scenario: We have a Grid containing an ActionLink for every single row. t:grid t:id=grid source=users model=model row=user t:parameter name=deleteCell t:actionlink t:id=delete zone=deleteZone context=user.idDelete/t:actionlink /t:parameter /t:grid Clicking on the link I want to delete the user and update the table without to refresh the whole page. To make a partial response we have several possibilities. Two of them are to return a component or a block. It would be nice to wrap the table by a block which is rendered initially. This block could be returned by the action method. Alternatively one could put the Grid into the zone but this doesn't work well. Every second click ends in a full refresh of the page. The reason is that after the partial response the ActionLinks of the updated Grid are not converted into Ajax links. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-877) Fade effect for error popups should be disabled in IE since it can't properly fade the images
[ https://issues.apache.org/jira/browse/TAP5-877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083666#comment-13083666 ] Hudson commented on TAP5-877: - Integrated in tapestry-trunk-freestyle #470 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/470/]) TAP5-877: Fade effect for error popups should be disabled in IE since it can't properly fade the images hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1156825 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js Fade effect for error popups should be disabled in IE since it can't properly fade the images - Key: TAP5-877 URL: https://issues.apache.org/jira/browse/TAP5-877 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.0 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 IE uses a GIF, not a PNG, for the border images (the bevel) around the popup error message. The fade in/fade out animations look bad, because the transparent area immediately turns black for the duration of the fade. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-76) Provide decorators service matching based on annotations
[ https://issues.apache.org/jira/browse/TAP5-76?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-76. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Provide decorators service matching based on annotations Key: TAP5-76 URL: https://issues.apache.org/jira/browse/TAP5-76 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Thiago H. de Paula Figueiredo Fix For: 5.3 It would be very useful if we could match services for decoration using the services' annotations. In spite of documentation saying it can be done, it can't: Tapestry IoC documentation: Note: It is not possible to decorate the services of the TapestryIOCModule. Note: Another idea will be other ways of matching services: base on inheritance of the service interface and/or based on the presence of particular class annotations on the service interface. None of this has been implemented yet, and can readily be accompllished inside the decorator method (which will return null if it decides the service doesn't need decoration). If you write a @Match(*), Tapestry-IoC throws an exception telling that you cannot decorate internal Tapestry-IoC services. Therefore, there's no way to select services to decorate using only annotations: we need to match services based on name patterns in all situations. A suggestions is the creation of a @MatchAnnotation() annotation. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-83) add a contructor with page class as parameter to BeanBlockContribution
[ https://issues.apache.org/jira/browse/TAP5-83?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-83. --- Resolution: Fixed Fix Version/s: 5.3 Is this a left over? add a contructor with page class as parameter to BeanBlockContribution -- Key: TAP5-83 URL: https://issues.apache.org/jira/browse/TAP5-83 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Kristian Marinkovic Priority: Trivial Fix For: 5.3 this would enable type safe programming: instead of: configuration.add(new BeanBlockContribution(dealerType,DealerTypePropertyBlock,dealerType,true)); or configuration.add(new BeanBlockContribution(dealerType, resolver.resolvePageClassNameToPageName(DealerTypePropertyBlock.class.getName()),dealerType,true)); this would be better and shorter (also in case of refactoring): configuration.add(new BeanBlockContribution(dealerType,DealerTypePropertyBlock.class,dealerType,true)); -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-85) Make Java Class optional for Rendering Pages
[ https://issues.apache.org/jira/browse/TAP5-85?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-85. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Make Java Class optional for Rendering Pages Key: TAP5-85 URL: https://issues.apache.org/jira/browse/TAP5-85 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Environment: Microsoft Windows Vista Business Edition, Eclipse 3.3, Maven 2, Jetty 5.5, Tomcat 6 Reporter: Evan M Rawson Priority: Minor Fix For: 5.3 You should not need a java class create to view a page. The framework should be able to generate a basic class on the fly. This would aid significantly to the production flow of tapestry applications. Meaning that designers and system architects do not need to setup the basic java class in order to build and test the front end user interface. When a java class representing the page is present then it would override this default generate class that tapestry makes on the fly. EX: right now im creating a pretty decent sized tapestry application (75 to 125 pages). The pages have been mocked up and the interface is being assembled (html/css). I am finding that i am needing to create a bunch of empty java classes in order to view the page to test it; this seems pointless and redundant to me. For example a script in maven could be written to auto generate all of the classes based on the html template dir is stored, saving a few hours of naming and creating. the java developer should not have to create the html pages, technically they should be able to use junit to handle testing their base components which they have created. The backend and frontend should seamlessly integrated with each other. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-94) Add a hidden fields parameter to BeanEditor and BeanEditForm
[ https://issues.apache.org/jira/browse/TAP5-94?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-94. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Add a hidden fields parameter to BeanEditor and BeanEditForm -- Key: TAP5-94 URL: https://issues.apache.org/jira/browse/TAP5-94 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Geoff Callender Priority: Minor Fix For: 5.3 A hidden fields parameter would allow code like this: t:beaneditform t:id=form object=person submitLabel=Save hidden=version/ instead of this: t:beaneditform t:id=form object=person submitLabel=Save !-- Include version in the form to prevent it being updated/refreshed in onActivate(), which would defeat optimistic locking. -- t:parameter name=version t:hidden t:id=version value=person.version/ /t:parameter /t:beaneditform Please note this is not the same as using remove, eg: t:beaneditform t:id=form object=person submitLabel=Save remove=version/ which in this example would defeat optimistic locking because version's value would no longer make the round-trip to the client. In case it helps, here's what onActivate() might looks like in this example: private Long _personId; @Persist(flash) private Person _person; void onActivate(Long id) throws Exception { _personId = id; if (_person == null) { _person = getPersonService().findPerson(_personId); if (_person == null) { throw new Exception(Person + _personId + does not exist.); } } } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-102) Add a default sort column parameter to Grid component
[ https://issues.apache.org/jira/browse/TAP5-102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-102. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Add a default sort column parameter to Grid component --- Key: TAP5-102 URL: https://issues.apache.org/jira/browse/TAP5-102 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Christoph Jäger Fix For: 5.3 Add a parameter defaultSortColumn to the Grid component, so we can specify the column by which to sort by default from the .tml, without having to write code in the .java part of the page. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-99) Frequently instantiated service implementations should have a specialized instantiation class created to prevent extra reflection calls
[ https://issues.apache.org/jira/browse/TAP5-99?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-99. --- Resolution: Invalid Fix Version/s: 5.3 Too much changed Frequently instantiated service implementations should have a specialized instantiation class created to prevent extra reflection calls --- Key: TAP5-99 URL: https://issues.apache.org/jira/browse/TAP5-99 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 From the department of premature optimization: For services that are scope perthread, the service implementation will be invoked repeatedly, via either invoking a constructor, or invoking a (static or instance) builder method on a module class. Currently each such instantiation requires calculating the method/constructor parameters (somewhat expensive) and invocations of the method/constructor via reflection (borderline expensive). The code responsible for this could track the number of instantitations and, on the second (or later) pass, create a shim class responsible for performing the same operations in a non-reflective way. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-96) Component parameter report should document alternate types
[ https://issues.apache.org/jira/browse/TAP5-96?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-96. --- Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Component parameter report should document alternate types -- Key: TAP5-96 URL: https://issues.apache.org/jira/browse/TAP5-96 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Daniel Gredler Priority: Minor Fix For: 5.3 The component parameter report (http://tapestry.apache.org/tapestry5/tapestry-core/component-parameters.html) currently lists the type of each parameter, but there is no way for the user to know what types can be coerced into the parameter type. The report should either link to a separate report indicating available coercions, or should list all the possible types for each parameter, based on the standard coercions available in Tapestry. A feature that isn't documented might as well not exist, as they say... -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-110) let make JSONObject secured
[ https://issues.apache.org/jira/browse/TAP5-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-110. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable let make JSONObject secured --- Key: TAP5-110 URL: https://issues.apache.org/jira/browse/TAP5-110 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Sven Homburg Fix For: 5.3 eg.: set security comment delimiters (/*-secure-\n...*/) around sensitive JSON or JavaScript data to prevent Hijacking. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-113) Ordering with pre/post requisites could be simplified, improved
[ https://issues.apache.org/jira/browse/TAP5-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-113. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Ordering with pre/post requisites could be simplified, improved --- Key: TAP5-113 URL: https://issues.apache.org/jira/browse/TAP5-113 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Environment: Tapestry 5 alpha code Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 The Ordering logic is based on pre and post requisites, showing up as @After and @Before annotations, and corresponding method parameters. I think this is limiting. I would like to coalesce @After and @Before into just @Order. The value for @Order is a list of constraint strings. A constraint string is a type, a colon, and a list of service ids. The type can be before, after or within. Example: before:Security,Transaction Within will allow orderings to be broken up easily into phases. Once a phase is defined with before and after constrains, the within: constraint will order the element after the phase, but before the phase's post-requisites. Example: phase2 -- after:phase1, before:phase3 object1 -- within:phase2 object2 -- within:phase2 after:object1 object1 ends up with the effective constraints after:phase1, before:phase3 object2 ends up with the effective constraints: after:phase1, object1 before:phase3 This works well with the fact that null objects may be contributed into an ordering as placeholders (but are editted out of the final list). From experience, this is very necessary. The Tapestry 4 enhancement process would certainly have benefited from this. Finally, Tapestry 5 has reasonable glob matching of service ids and the list of constraints should work from that. Currently, the code (imported from HiveMind) only recognizes a single glob, *. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-117) Allow contributing whole page to BeanBlockSource
[ https://issues.apache.org/jira/browse/TAP5-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-117. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Allow contributing whole page to BeanBlockSource Key: TAP5-117 URL: https://issues.apache.org/jira/browse/TAP5-117 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.0.15 Reporter: Ivan Dubrov Priority: Minor Fix For: 5.3 Allow contributing whole page as source of blocks to the BeanBlockSource service, so each block on the page becomes display (or edit) block for the datatype with name equal to the block id. In that case adding new display blocks for given datatype will not require adding it in the application module, you only add it in the page template. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-111) Protect serialized object blobs from being tampered by external user
[ https://issues.apache.org/jira/browse/TAP5-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-111. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Protect serialized object blobs from being tampered by external user Key: TAP5-111 URL: https://issues.apache.org/jira/browse/TAP5-111 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Martijn Brinkers Fix For: 5.3 Using ClientPersistentFieldStorage (t:state:client parameter) an external user can 'inject' arbitary serialiable objects. An external user can inject for example a very big byte array consuming a lot of memory. One solution would be to add a keyed secure hash (HMAC to be precise) to the binary blob to Tapestry can detect that the blob has been tampered with. It be nice if the packing/unpacking (currently done by Base64ObjectInputStream) would be serviced (that is make it a service) so it would be easy to override this behaviour. Same applies to t:formdata although the impact is less because it only accepts objects implementing ComponentAction. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-115) Component report doesn't list parameters inherited from classes outside the project
[ https://issues.apache.org/jira/browse/TAP5-115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-115. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Component report doesn't list parameters inherited from classes outside the project --- Key: TAP5-115 URL: https://issues.apache.org/jira/browse/TAP5-115 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Fix For: 5.3 When a component extends form a base class in another project, the parameter and inheritance information from the base class is not available. It may be necessary to package up the component-report.xml file inside each JAR file so that it is accessible when generating later project's component report. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-122) Integrate scriptaculous Ajax.InPlaceEditor with Tapestry
[ https://issues.apache.org/jira/browse/TAP5-122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-122. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Integrate scriptaculous Ajax.InPlaceEditor with Tapestry Key: TAP5-122 URL: https://issues.apache.org/jira/browse/TAP5-122 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Joshua Partogi Fix For: 5.3 It would be great to integrate scriptaculous Ajax.InPlaceEditor and make it as component since Tapestry already bundled scriptaculous. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-120) Make Tapestry 5 ready for IDE content assistance
[ https://issues.apache.org/jira/browse/TAP5-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-120. Resolution: Won't Fix Fix Version/s: 5.3 Intellij IDEA has some and GoS will bring some for Eclipse Make Tapestry 5 ready for IDE content assistance Key: TAP5-120 URL: https://issues.apache.org/jira/browse/TAP5-120 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Environment: tapestry 5.0.5, eclipse 3.3 and patched maven-eclipse-plugin to support wtp 2.0 Reporter: Peter Mädel Priority: Minor Fix For: 5.3 Attachments: NewTMLTemplate.TML.xml, README.txt, t5.2.0.tld It would be nice to have IDE content assistance like described for Tapestry 4 at http://wiki.apache.org/tapestry/HowToSetupEclipseWtp#head-a8e28da2f6e2724e0d960d3364b5250db0d0d8bb There is no problem in adding the dtd xml-file within tapestry-core.jar!\org\apache\tapestry\internal\services\tapestry_5_0_0.xsd to the schema catalog but unfortunately its not enabling content assistance for the tapestry tag library - due to missing component description? I could imagine that not only Eclipse but also Idea users would benefit. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-137) org.hibernate.TransactionException thrown when a transaction is directly rolledback (outside of tapestry-hibernate)
[ https://issues.apache.org/jira/browse/TAP5-137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-137. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable org.hibernate.TransactionException thrown when a transaction is directly rolledback (outside of tapestry-hibernate) --- Key: TAP5-137 URL: https://issues.apache.org/jira/browse/TAP5-137 Project: Tapestry 5 Issue Type: Bug Affects Versions: 5.0.15 Reporter: Joe Klecko Priority: Minor Fix For: 5.3 A org.hibernate.TransactionException: Transaction not successfully started occurs when a transaction is rolledback in tapestry-hibernate if the transaction has previously been rolledback. The problem is because HibernateSessionManagerImpl retains a reference to the transaction. So when HibernateSessionManagerImpl .threadDidCleanup() or HibernateSessionManagerImpl abort() is called it does not first check to see if the transaction reference has been rolled back (somewhere else) before calling rollback. One possible fix would be to call Transaction.wasRolledback() to determine if tapestry-hibernate should call trans.rollback(). Another would be to refrain from keeping a reference to the transaction and always call Session.beginTransaction(). Q. Why not just inject HibernateSessionManager and call abort()? A. Because there are times when you do not have control over the code calling trans.rollback() for example in a third party library (which is how I ran into this). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-145) TextField should include a parameter that will render a suffix (that appears between the field itself and any error decoration icons)
[ https://issues.apache.org/jira/browse/TAP5-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-145. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable TextField should include a parameter that will render a suffix (that appears between the field itself and any error decoration icons) --- Key: TAP5-145 URL: https://issues.apache.org/jira/browse/TAP5-145 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Howard M. Lewis Ship Priority: Minor Fix For: 5.3 I want to be able to at a suffix such as ft or kcal/day and have it appear to the left of the field and before the error icon. I think this could be a parameter suffix that could be type String or type Block. A string is simply output, a Block is rendered. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-144) TestBase should support creating new class mocks (using easymockclassextension), not just traditional interface mocks
[ https://issues.apache.org/jira/browse/TAP5-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-144. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable TestBase should support creating new class mocks (using easymockclassextension), not just traditional interface mocks - Key: TAP5-144 URL: https://issues.apache.org/jira/browse/TAP5-144 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.1.0.0 Reporter: Howard M. Lewis Ship Fix For: 5.3 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-143) Add client-side column resizing to grid.
[ https://issues.apache.org/jira/browse/TAP5-143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti closed TAP5-143. Resolution: Won't Fix Fix Version/s: 5.3 Please open a new one for 5.3 if this still applicable Add client-side column resizing to grid. Key: TAP5-143 URL: https://issues.apache.org/jira/browse/TAP5-143 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Environment: Any. Reporter: Daniel Priority: Minor Fix For: 5.3 Many applications provide a means of resizing UI columns by double-clicking/clicking and dragging the border between columns. Typically a double-click will resize the column to the width of the column's widest cell, which depends on the content of the cell. Otherwise, clicking and dragging the border is the means of growing/shrinking the column depending on where the mouse is released. Although this can be done through JavaScript, it is common enough functionality that it seems it should be provided by default. That said, there should probably also be a way to turn the default resizing off so it doesn't conflict with any custom resizing functionality, existing or planned for in Tapestry applications. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-146) Provide some way to get the component that fired an event
[ https://issues.apache.org/jira/browse/TAP5-146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083701#comment-13083701 ] Massimo Lusetti commented on TAP5-146: -- Does this still of interest Thiago!? Provide some way to get the component that fired an event - Key: TAP5-146 URL: https://issues.apache.org/jira/browse/TAP5-146 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Thiago H. de Paula Figueiredo It would be very nice to have event handler methods know what component fired that event, specially for mixins. There's a discussion in the mailing list: http://www.nabble.com/forum/ViewPost.jtp?post=18157269framed=y. Howard said: We could change Event to expose the source Component ... we could also change the EventWorker logic to see if the sole parameter to an event handler method is of type ComponentEvent and pass the event directly to the event handler method. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-147) Localization: Messages should be overwiteable by Container (.i.e. users) of the component
[ https://issues.apache.org/jira/browse/TAP5-147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Massimo Lusetti reassigned TAP5-147: Assignee: Massimo Lusetti Localization: Messages should be overwiteable by Container (.i.e. users) of the component -- Key: TAP5-147 URL: https://issues.apache.org/jira/browse/TAP5-147 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Fritz Pröbstle Assignee: Massimo Lusetti Currently messages are *only* searched in the component and its subclasses catalogs. This means only the component provider suppies messages. Often a *User* of a componet ( ie. the container ) wants to override the messages. In a special case the container is the page which should have means to change *all* messages. I propose a path-like syntax to specify thew hierarchy.(means all messages are reachable if the container hierarchy is documented) I.e: page.properties --- firstContainerId.innerContainerId.name= overwriten message In the Message search for a component it the following search would appear: look in immediate container ... look in the moust outer container (page) the look upo in the componet and its subclasses. If a message is found stop the search and take the message. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-147) Localization: Messages should be overwiteable by Container (.i.e. users) of the component
[ https://issues.apache.org/jira/browse/TAP5-147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083704#comment-13083704 ] Massimo Lusetti commented on TAP5-147: -- I'm fine with a Won't Fix here but would like to reactivate the discussion a bit since I find this very valuable in my experience. Localization: Messages should be overwiteable by Container (.i.e. users) of the component -- Key: TAP5-147 URL: https://issues.apache.org/jira/browse/TAP5-147 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Fritz Pröbstle Assignee: Massimo Lusetti Currently messages are *only* searched in the component and its subclasses catalogs. This means only the component provider suppies messages. Often a *User* of a componet ( ie. the container ) wants to override the messages. In a special case the container is the page which should have means to change *all* messages. I propose a path-like syntax to specify thew hierarchy.(means all messages are reachable if the container hierarchy is documented) I.e: page.properties --- firstContainerId.innerContainerId.name= overwriten message In the Message search for a component it the following search would appear: look in immediate container ... look in the moust outer container (page) the look upo in the componet and its subclasses. If a message is found stop the search and take the message. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-148) Select multiple component
[ https://issues.apache.org/jira/browse/TAP5-148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083706#comment-13083706 ] Massimo Lusetti commented on TAP5-148: -- Is this in a working queue or not ? Select multiple component - Key: TAP5-148 URL: https://issues.apache.org/jira/browse/TAP5-148 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.15 Reporter: Robin Helgelin Priority: Minor The current Select component doesn't support multiple fields. I guess this can be solved by extending the existing component or create a new SelectMultiple component. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira