[jira] [Created] (TAP5-1562) Tree leafs are not selectable
Tree leafs are not selectable - Key: TAP5-1562 URL: https://issues.apache.org/jira/browse/TAP5-1562 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3.0 Reporter: Igor Drobiazko Currently it's not possible to select/unselect leaf nodes. This limitation makes the Tree component unusable as the only way to interact with is to expand nodes. A common use case for a tree is to execute some logic upon a leaf selection. We should fix it before 5.3 goes final. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1140148 - /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java
Author: joshcanfield Date: Mon Jun 27 13:13:37 2011 New Revision: 1140148 URL: http://svn.apache.org/viewvc?rev=1140148view=rev Log: TAP5-1559 - Excessive warnings Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java?rev=1140148r1=1140147r2=1140148view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java Mon Jun 27 13:13:37 2011 @@ -1,4 +1,4 @@ -// Copyright 2010 [ORG] +// Copyright 2010, 2011 The Apache Software Foundation // // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. @@ -12,13 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. + package org.apache.tapestry5; import org.apache.tapestry5.ajax.MultiZoneUpdate; /** * Extends {@link ClientElement} with the concept of a body, a Block that can be rendered to provide the content - * within. The primary implementation of this is the {@link Zone} component, which exposes its client id and body for + * within. The primary implementation of this is the {@link org.apache.tapestry5.corelib.components.Zone} component, which exposes its client id and body for * use with {@link MultiZoneUpdate}. * * @since 5.2.3
svn commit: r1140149 - in /tapestry/tapestry5/trunk: plastic/src/main/java/org/apache/tapestry5/plastic/ tapestry-core/src/main/java/org/apache/tapestry5/
Author: joshcanfield Date: Mon Jun 27 13:14:18 2011 New Revision: 1140149 URL: http://svn.apache.org/viewvc?rev=1140149view=rev Log: TAP5-1559 - Excessive warnings Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticClass.java tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticMethod.java tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchBlock.java tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchCallback.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentEventCallback.java Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticClass.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticClass.java?rev=1140149r1=1140148r2=1140149view=diff == --- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticClass.java (original) +++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticClass.java Mon Jun 27 13:14:18 2011 @@ -21,7 +21,7 @@ import java.util.Set; /** * The representation of a class while it is being instrumented and transformed. PlasticClass allows - * for an imperative style of development: the PlastiClass is provided to other objects; they can query it + * for an imperative style of development: the PlasticClass is provided to other objects; they can query it * for relevant fields or methods, and invoke methods that modify the class in various ways. Ultimately, the * end result is a {@link ClassInstantiator} used to create instances of the fully instrumented and transformed class. * p Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java?rev=1140149r1=1140148r2=1140149view=diff == --- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java (original) +++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java Mon Jun 27 13:14:18 2011 @@ -37,7 +37,7 @@ public class PlasticManager implements P /** * A builder object for configuring the PlasticManager before instantiating it. Assumes a no-op * {@link PlasticManagerDelegate} and an empty set of controlled packages, which is appropriate - * when simply {@linkplain PlasticManager#createProxy(Class, PlasticClassTransformer) creating proxy objects). + * when simply {@linkplain PlasticManager#createProxy(Class, PlasticClassTransformer) creating proxy objects}. * The builder object is internally mutable and uses a fluid API (each method returns the same instance). */ public static class PlasticManagerBuilder extends Lockable Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticMethod.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticMethod.java?rev=1140149r1=1140148r2=1140149view=diff == --- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticMethod.java (original) +++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticMethod.java Mon Jun 27 13:14:18 2011 @@ -20,7 +20,7 @@ import java.util.List; * A method of a {@linkplain PlasticClass transformed class}. * p * No methods of this object should be invoked after the class transformation is - * {@linkplain PlasticClass#createInstantiator() completed}. + * {@linkplain PlasticClassTransformation#createInstantiator() completed}. */ public interface PlasticMethod extends AnnotationAccess { Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchBlock.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchBlock.java?rev=1140149r1=1140148r2=1140149view=diff == --- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchBlock.java (original) +++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchBlock.java Mon Jun 27 13:14:18 2011 @@ -17,14 +17,12 @@ package org.apache.tapestry5.plastic; /** * Allows a portion of a method to be marked so that exception and finally
[jira] [Commented] (TAP5-1559) Excessive warnings
[ https://issues.apache.org/jira/browse/TAP5-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13055545#comment-13055545 ] Hudson commented on TAP5-1559: -- Integrated in tapestry-trunk-freestyle #387 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/387/]) TAP5-1559 - Excessive warnings TAP5-1559 - Excessive warnings joshcanfield : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1140149 Files : * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticMethod.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticClass.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchBlock.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentEventCallback.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/TryCatchCallback.java joshcanfield : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1140148 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ClientBodyElement.java Excessive warnings --- Key: TAP5-1559 URL: https://issues.apache.org/jira/browse/TAP5-1559 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.3.0 Reporter: Josh Canfield Priority: Trivial Tracking issue for cleaning up compiler warnings. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1140163 - /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java
Author: joshcanfield Date: Mon Jun 27 13:57:28 2011 New Revision: 1140163 URL: http://svn.apache.org/viewvc?rev=1140163view=rev Log: TAP5-1559 - Excessive warnings Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java?rev=1140163r1=1140162r2=1140163view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ComponentResources.java Mon Jun 27 13:57:28 2011 @@ -204,7 +204,7 @@ public interface ComponentResources exte ListString getInformalParameterNames(); /** - * Reads an informal parameter and {@linkplain org.apache.tapestry5.ioc.services.TypeCoercer coercers) the bound + * Reads an informal parameter and {@linkplain org.apache.tapestry5.ioc.services.TypeCoercer coercers} the bound * value to the indicated type. * * @param name name of informal parameter
svn commit: r1140164 - in /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5: ./ ajax/ dom/ internal/ internal/services/javascript/
Author: joshcanfield Date: Mon Jun 27 13:57:43 2011 New Revision: 1140164 URL: http://svn.apache.org/viewvc?rev=1140164view=rev Log: TAP5-1559 - Excessive warnings Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/TrackableComponentEventCallback.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/TapestryInternalUtils.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/CoreJavaScriptStack.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java?rev=1140164r1=1140163r2=1140164view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/EventConstants.java Mon Jun 27 13:57:43 2011 @@ -138,7 +138,7 @@ public class EventConstants * Event triggered by {@link org.apache.tapestry5.corelib.components.AjaxFormLoop} to inform the * container that a new row has been requested. The return value from the event handler must be the newly created * object, which must - * also be visible in the {@link encoder parameter}. + * also be visible in the {@link org.apache.tapestry5.corelib.components.AjaxFormLoop#encoder} parameter. */ public static final String ADD_ROW = addRow; @@ -168,7 +168,7 @@ public class EventConstants * request completions of * the current input. The context is the partial string provided by the client. * - * @SINCE 5.1.0.4 + * @since 5.1.0.4 */ public static final String PROVIDE_COMPLETIONS = provideCompletions; Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/TrackableComponentEventCallback.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/TrackableComponentEventCallback.java?rev=1140164r1=1140163r2=1140164view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/TrackableComponentEventCallback.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/TrackableComponentEventCallback.java Mon Jun 27 13:57:43 2011 @@ -23,8 +23,9 @@ import org.apache.tapestry5.services.Tra /** * Extends {@link ComponentEventCallback} with a way to determine if the underlying event has been aborted * due to a some event returning an acceptable, non-null value. The standard implementation of this - * is a wrapper around either the {@linkplain Traditional traditional} or {@linkplain Ajax} versions - * of the {@link ComponentEventResultProcessor} service, i.e., they allow for a navigational result. + * is a wrapper around either the {@linkplain Traditional traditional} or + * {@linkplain org.apache.tapestry5.services.Ajax ajax} versions of the {@link ComponentEventResultProcessor} + * service, i.e., they allow for a navigational result. * p * Instances of this are made available via the {@link Environmental} annotation. * Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java?rev=1140164r1=1140163r2=1140164view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ajax/MultiZoneUpdate.java Mon Jun 27 13:57:43 2011 @@ -45,7 +45,8 @@ public class MultiZoneUpdate this(zoneId, renderer, null); } -/** Alternate constructor that takes a ClientBodyElement (typically, a {@link Zone}). */ +/** Alternate constructor that takes a ClientBodyElement (typically, a + * {@link org.apache.tapestry5.corelib.components.Zone}). */ public MultiZoneUpdate(ClientBodyElement zone) { this(zone.getClientId(), zone.getBody()); Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Element.java URL:
[jira] [Commented] (TAP5-1562) Tree leafs are not selectable
[ https://issues.apache.org/jira/browse/TAP5-1562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13055628#comment-13055628 ] Howard M. Lewis Ship commented on TAP5-1562: Selection would be nice; I've done that in a tree component for a client. You could override the block that renders the tree elements to include a checkbox, but that's a bit too roll-your-own. Tree leafs are not selectable - Key: TAP5-1562 URL: https://issues.apache.org/jira/browse/TAP5-1562 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3.0 Reporter: Igor Drobiazko Currently it's not possible to select/unselect leaf nodes. This limitation makes the Tree component unusable as the only way to interact with is to expand nodes. A common use case for a tree is to execute some logic upon a leaf selection. We should fix it before 5.3 goes final. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (TAP5-1563) ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE
ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Bug Components: tapestry-ioc Affects Versions: 5.2.4 Reporter: Andy Blower ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1562) Tree leafs are not selectable
[ https://issues.apache.org/jira/browse/TAP5-1562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13055640#comment-13055640 ] Igor Drobiazko commented on TAP5-1562: -- Actually I was thinking about selecting a leaf by clicking on it. Tree leafs are not selectable - Key: TAP5-1562 URL: https://issues.apache.org/jira/browse/TAP5-1562 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3.0 Reporter: Igor Drobiazko Currently it's not possible to select/unselect leaf nodes. This limitation makes the Tree component unusable as the only way to interact with is to expand nodes. A common use case for a tree is to execute some logic upon a leaf selection. We should fix it before 5.3 goes final. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TAP5-1563) ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE
[ https://issues.apache.org/jira/browse/TAP5-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andy Blower updated TAP5-1563: -- Description: ParallelExecutor service is bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour for someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation of ParallelExecutor is very misleading and should be expanded to explain this correctly. This blog post I found explains it clearly: http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size was: ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour to someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation should be expanded to explain this correctly. This blog post I found explains it clearly http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Improvement Components: documentation, tapestry-ioc Reporter: Andy Blower Priority: Minor ParallelExecutor service is bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour for someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation of ParallelExecutor is very misleading and should be expanded to explain this correctly. This blog post I found explains it clearly: http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TAP5-1563) ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE
[ https://issues.apache.org/jira/browse/TAP5-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andy Blower updated TAP5-1563: -- Component/s: documentation Priority: Minor (was: Major) Description: ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour to someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation should be expanded to explain this correctly. This blog post I found explains it clearly http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size was:ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. Issue Type: Improvement (was: Bug) Affects Version/s: (was: 5.2.4) ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Improvement Components: documentation, tapestry-ioc Reporter: Andy Blower Priority: Minor ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour to someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation should be expanded to explain this correctly. This blog post I found explains it clearly http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TAP5-1563) Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size
[ https://issues.apache.org/jira/browse/TAP5-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship updated TAP5-1563: --- Issue Type: Bug (was: Improvement) Summary: Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size (was: ParallelExecutor service appears to be bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE ) Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Bug Components: documentation, tapestry-ioc Reporter: Andy Blower Priority: Minor ParallelExecutor service is bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour for someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation of ParallelExecutor is very misleading and should be expanded to explain this correctly. This blog post I found explains it clearly: http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1563) Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size
[ https://issues.apache.org/jira/browse/TAP5-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship reassigned TAP5-1563: -- Assignee: Howard M. Lewis Ship Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Bug Components: documentation, tapestry-ioc Reporter: Andy Blower Assignee: Howard M. Lewis Ship Priority: Minor ParallelExecutor service is bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour for someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation of ParallelExecutor is very misleading and should be expanded to explain this correctly. This blog post I found explains it clearly: http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[CONF] Apache Tapestry Configuration
Configuration Page edited by Howard M. Lewis Ship Changes (14) ... h3. tapestry.force-absolute-uris _For Tapestry 5.0 and 5.1 only_: when false (the default), Tapestry will attempt to optimize URIs that it generates, using relative URIs when such URIs are shorter than absolute URIs. When true, all URIs will be absolute URIs (including the context path, and the complete path for the request). Starting in Tapestry 5.2, URL optimization has been removed, and all URIs are always absolute. {deprecated:since=5.2}Starting in Tapestry 5.2, URL optimization has been removed, and all URIs are always absolute. _Removed in 5.3._{deprecated} _For Tapestry 5.0 and 5.1 only_: when false (the default), Tapestry will attempt to optimize URIs that it generates, using relative URIs when such URIs are shorter than absolute URIs. When true, all URIs will be absolute URIs (including the context path, and the complete path for the request). h3. tapestry.gzip-compression-enabled ... h3. tapestry.page-pool.active-window _Starting in 5.2, this is only used if tapestry.page-pool-enabled is true._ {deprecated:since=5.2}Starting in 5.2, this is only used if tapestry.page-pool-enabled is true. _Removed in 5.3_{deprecated} The time interval that an instantiated page instance may be cached before being removed. As pages are returned to the pool, they are time stamped. Periodically (as per the file check interval), the pool is scanned for page instances that have not been used recently; those that are outside the active window are discarded. This is used to free up unnecessary page instances after a request surge. Starting in 5.2, this is only effective if tapestry.page-pool-enabled is true. ... The default is false. {deprecated:since=5.2}Removed in 5.3.{deprecated} h3. tapestry.page-pool.hard-limit _Starting in 5.2, this is only used if tapestry.page-pool-enabled is true._ {deprecated:since=5.2}Starting in 5.2, this is only used if tapestry.page-pool-enabled is true. _Removed in 5.3_{deprecated} The absolute maximum number of page instances (for a particular page name / locale combination) that Tapestry will create at any time. If this number is reached, then requests will fail because a page instance is not available ... this can happen as part of a denial of service attack. For this value to have any meaning, it should be lower than the number of threads that the servlet container is configured to use when processing requests. ... h3. tapestry.page-pool.soft-limit _Starting in 5.2, this is only used if tapestry.page-pool-enabled is true._ {deprecated:since=5.2}Starting in 5.2, this is only used if tapestry.page-pool-enabled is true. _Removed in 5.3_{deprecated} The number of pages in the page pool (for a given page name / locale combination) before which Tapestry will start to wait for existing pages to be made available. Under this limit of pages, Tapestry will simply create a new page instance if no existing instance is readily available. Once the soft limit is reached, Tapestry will wait a short period of time (the soft wait interval) to see if an existing page instance is made available. It will then create a new page instance (unless the hard limit has been reached). ... h3. tapestry.page-pool.soft-wait _Starting in 5.2, this is only used if tapestry.page-pool-enabled is true._ {deprecated:since=5.2}Starting in 5.2, this is only used if tapestry.page-pool-enabled is true. _Removed in 5.3_{deprecated} The time interval that Tapestry will wait for a page instance to become available before deciding whether to create an entirely new page instance. ... h3. tapestry.suppress-redirect-from-action-requests {deprecated:since=5.2}_Removed in 5.3._{deprecated} Normally, Tapestry responds to action requests (such as form submissions) by sending a client-side redirect to the rendering page. This has a lot of benefits in terms of improving browser navigation, making sure URLs are bookmarkable, and so forth. However, it has a cost: more data stored persistently in the session, and a double-request for each user action (one action request, one render request). Setting this symbol to true changes the Tapestry behavior to make it more like Tapestry 4: a markup response is sent directly for the action request, with no redirect in the middle. This option should be used with care, and only in cases where you are certain that the benefits outweigh the disadvantages. h3.
[jira] [Closed] (TAP5-1563) Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size
[ https://issues.apache.org/jira/browse/TAP5-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1563. -- Resolution: Fixed Fix Version/s: 5.3.1 Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Bug Components: documentation, tapestry-ioc Reporter: Andy Blower Assignee: Howard M. Lewis Ship Priority: Minor Fix For: 5.3.1 ParallelExecutor service is bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour for someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation of ParallelExecutor is very misleading and should be expanded to explain this correctly. This blog post I found explains it clearly: http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1140275 - /tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/TapestryJavaScriptTests.groovy
Author: hlship Date: Mon Jun 27 19:15:17 2011 New Revision: 1140275 URL: http://svn.apache.org/viewvc?rev=1140275view=rev Log: Fix corrupted package name in JavaScriptTests.groovy Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/TapestryJavaScriptTests.groovy Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/TapestryJavaScriptTests.groovy URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/TapestryJavaScriptTests.groovy?rev=1140275r1=1140274r2=1140275view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/TapestryJavaScriptTests.groovy (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/TapestryJavaScriptTests.groovy Mon Jun 27 19:15:17 2011 @@ -1,4 +1,4 @@ -package org.apache.tapestry5.integrati.app1 +package org.apache.tapestry5.integration.app1 import org.apache.tapestry5.integration.TapestryCoreTestCase import org.testng.annotations.Test
svn commit: r1140276 - in /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc: IOCSymbols.java services/TapestryIOCModule.java
Author: hlship Date: Mon Jun 27 19:15:21 2011 New Revision: 1140276 URL: http://svn.apache.org/viewvc?rev=1140276view=rev Log: TAP5-1563: Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java?rev=1140276r1=1140275r2=1140276view=diff == --- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java (original) +++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java Mon Jun 27 19:15:21 2011 @@ -1,10 +1,10 @@ -// Copyright 2010 The Apache Software Foundation +// Copyright 2010, 2011 The Apache Software Foundation // // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an AS IS BASIS, @@ -16,24 +16,38 @@ package org.apache.tapestry5.ioc; /** * Configuration symbols used by the IoC container. - * + * * @since 5.2.2 */ public class IOCSymbols { /** - * The minimum size of the thread pool. The default is 3. + * The minimum size of the thread pool. The default is 3. When a task is created and there are fewer + * than this number of threads in the pool, a new thread is created for the task. */ public static final String THREAD_POOL_CORE_SIZE = tapestry.thread-pool.core-pool-size; /** - * Maximium size of the pool before submitted invocations must wait to execute; the default is 20. + * The size of the task queue. When there are at least {@linkplain #THREAD_POOL_CORE_SIZE the core number} of + * threads in the pool, tasks will be placed in the queue. If the queue is empty, more threads + * may be created (up to the {@linkplain #THREAD_POOL_MAX_SIZE maximum pool size}). If the queue is full and + * all threads have been created, the task is rejected. + * p + * The default is 100. + * + * @since 5.3 + * @see http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size + */ +public static final String THREAD_POOL_QUEUE_SIZE = tapestry.thread-pool.queue-size; + +/** + * Maximium size of the thread pool, which defaults to 10. */ public static final String THREAD_POOL_MAX_SIZE = tapestry.thread-pool.max-pool-size; /** * Time in milliseconds (via {@link org.apache.tapestry5.ioc.util.TimeInterval}) to keep waiting threads alive. - * Default is one minute (an epoch in application time). + * Default is one minute. */ public static final String THREAD_POOL_KEEP_ALIVE = tapestry.thread-pool.keep-alive; @@ -41,7 +55,7 @@ public class IOCSymbols * By default, the {@link org.apache.tapestry5.ioc.services.ParallelExecutor} service uses a thread pool. In * environments (such as Google Application Engine) where thread creation is not allowed, this can be set to * false, and deferred logic will, instead, execute immediately. - * + * * @since 5.1.0.3 */ public static final String THREAD_POOL_ENABLED = tapestry.thread-pool-enabled; Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java?rev=1140276r1=1140275r2=1140276view=diff == --- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java (original) +++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java Mon Jun 27 19:15:21 2011 @@ -1,4 +1,4 @@ -// Copyright 2006, 2007, 2008, 2009, 2010 The Apache Software Foundation +// Copyright 2006, 2007, 2008, 2009, 2010, 2011 The Apache Software Foundation // // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. @@ -524,6 +524,9 @@ public final class TapestryIOCModule @Symbol(IOCSymbols.THREAD_POOL_ENABLED)
[CONF] Apache Tapestry Configuration
Configuration Page edited by Josh Canfield Comment: Putting clarity in the front of the force-absolute-uris description. Changes (1) ... h3. tapestry.force-absolute-uris {deprecated:since=5.2}Starting in Tapestry 5.2, URL the optimization to generate relative URIs has been removed, and all URIs are always absolute. _Removed in 5.3._{deprecated} _For Tapestry 5.0 and 5.1 only_: when false (the default), Tapestry will attempt to optimize URIs that it generates, using relative URIs when such URIs are shorter than absolute URIs. When true, all URIs will be absolute URIs (including the context path, and the complete path for the request). ... Full Content Related Articles Page: IoC cookbook - Service Configurations Page: Tapestry IoC Configuration Page: Application Module Class Cheat Sheet Page: Symbols Page: Response Compression Page: Configuration Configuring Tapestry Tapestry runs on top of the standard Java Servlet API. To the servlet container, such as Tomcat, Tapestry appears as a servlet filter. This gives Tapestry great flexibility in matching URLs without requiring lots of XML configuration. Contents Changes to web.xml Your Application's Module Class Configuration Symbol Names Configuring Ignored Paths Configuring Content Type Mapping Setting Execution Modes Changes to web.xml Tapestry applications are configured almost entirely using Java, not XML. However, a small but necessary amount of configuration occurs inside the servlet deployment descriptor, WEB-INF/web.xml. Most of the configuration is boilerplate, nearly the same for all applications. !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" web-app display-nameMy Tapestry Application/display-name context-param param-nametapestry.app-package/param-name param-valueorg.example.myapp/param-value /context-param filter filter-nameapp/filter-name filter-classorg.apache.tapestry5.TapestryFilter/filter-class /filter filter-mapping filter-nameapp/filter-name url-pattern/*/url-pattern /filter-mapping /web-app Tapestry Requests vs. Container Requests The Tapestry filter matches all the requests that apply to Tapestry, and passes the rest off to the servlet container. In situations where there would be a naming conflict, actual files inside the web application take precedence over Tapestry pages. Tapestry recognizes the root URL, where the servlet path is simply "/", and renders the application page "Index", if it exists. The application-specific part, the tapestry.app-package context parameter, provides your application's root package name. Tapestry uses this to locate your page and component classes. It expects page classes in the pages sub-package and components in the components sub-package. In the example above, page classes will be stored in the org.example.myapp.pages package (or in sub-packages below). Likewise, component classes will be stored in the org.example.myapp.components package. By convention, the filter name (filter-name) is almost always "app", but you can use any name you want. Tapestry uses this to determine what module class name to look for (see below). Your Application's Module Class Main Article: Tapestry IoC Configuration Most other configuration occurs inside your application's module class. The application module class will often define new services, provide overrides of services, or make contributions to service configurations. Tapestry looks for your application module class in the services package (under the root package) of your application. It capitalizes the filter-name and appends "Module". In
svn commit: r1140303 - in /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5: corelib/components/Tree.java tree/DefaultTreeModel.java
Author: joshcanfield Date: Mon Jun 27 20:34:08 2011 New Revision: 1140303 URL: http://svn.apache.org/viewvc?rev=1140303view=rev Log: TAP5-1559 - Excessive warnings Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/tree/DefaultTreeModel.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java?rev=1140303r1=1140302r2=1140303view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java Mon Jun 27 20:34:08 2011 @@ -113,7 +113,7 @@ public class Tree public void render(MarkupWriter writer, RenderQueue queue) { writer.end(); -}; +} }; private static RenderCommand RENDER_LABEL_SPAN = new RenderCommand() @@ -121,7 +121,7 @@ public class Tree public void render(MarkupWriter writer, RenderQueue queue) { writer.element(span, class, t-tree-label); -}; +} }; /** @@ -206,7 +206,7 @@ public class Tree }; } -/** Renders an lt;ulgt; element and renders each node recusively inside the element. */ +/** Renders an lt;ulgt; element and renders each node recursively inside the element. */ private class RenderNodes implements RenderCommand { private final FlowTreeNode nodes; Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/tree/DefaultTreeModel.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/tree/DefaultTreeModel.java?rev=1140303r1=1140302r2=1140303view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/tree/DefaultTreeModel.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/tree/DefaultTreeModel.java Mon Jun 27 20:34:08 2011 @@ -33,6 +33,7 @@ import java.util.Map; * @param T * @since 5.3.0 */ +@SuppressWarnings({UnusedDeclaration}) public class DefaultTreeModelT implements TreeModelT { private final ValueEncoderT encoder; @@ -48,7 +49,7 @@ public class DefaultTreeModelT impleme public TreeNodeT map(T value) { return new DefaultTreeNode(value); -}; +} }; private class DefaultTreeNode implements TreeNodeT @@ -101,8 +102,11 @@ public class DefaultTreeModelT impleme * Creates a new model starting from a single root element. * * @param encoder + *used to convert values to strings and vice-versa * @param adapter + *adapts elements to the tree * @param root + *defines the root node of the model */ public DefaultTreeModel(ValueEncoderT encoder, TreeModelAdapterT adapter, T root) {
[jira] [Assigned] (TAP5-1549) ParameterWorker forces evaluation of defaultXXX methods, even if the parameter is bound
[ https://issues.apache.org/jira/browse/TAP5-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Zeigler reassigned TAP5-1549: Assignee: Robert Zeigler ParameterWorker forces evaluation of defaultXXX methods, even if the parameter is bound --- Key: TAP5-1549 URL: https://issues.apache.org/jira/browse/TAP5-1549 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.5 Reporter: Robert Zeigler Assignee: Robert Zeigler The revised implementation of ParameterWorker evaluates the defaultXXX method regardless of whether or not the parameter is bound. This can easily lead to application exceptions, particularly when the defaultXXX value is computed rather than static. For example, loop's encoder parameter attempts to get a ValueEncoder from ValueEncoderSource. This will fail if, for instance, the loop's value is a hibernate entity with a multi-column PK, even if the developer binds a custom ValueEncoder to the parameter to handle the entity. Admittedly, this case has a workaround: contribute the custom encoder to ValueEncoderSource. But that's only one edge case. The correct solution is to lazily evaluate defaultXXX methods. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1558) FormFragment should allow more fine grained control over when to be considered invisible
[ https://issues.apache.org/jira/browse/TAP5-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Zeigler reassigned TAP5-1558: Assignee: Robert Zeigler FormFragment should allow more fine grained control over when to be considered invisible -- Key: TAP5-1558 URL: https://issues.apache.org/jira/browse/TAP5-1558 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.3.0 Reporter: Robert Zeigler Assignee: Robert Zeigler Priority: Minor The 5.2 line of Tapestry introduced the alwaysSubmit parameter to form fragment. This is nice because it allows the fragment to be submitted even if hidden. However, it doesn't cover all use cases. Consider a situation like: form div id=tab1...t:formfragment ...t:textfield validate=required...//t:formfragment/div div id=tab2...t:formfragment ...t:textfield validate=required...//t:formfragment/div t:submit/ /form User reveals tab 1, then reveals the form fragment on tab1 and makes changes. Now user reveals tab2. Note that the fragment on tab1 is still revealed in the context of tab1, but the entire tab1 is hidden. There is currently no way to make it so that submit will submit the information from the formfragment in both tabs and behave correctly in all situations. I will enumerate. Some definitions for clarity: fragmentX is the fragment on tabX. fragmentX visibility refers to the state of the actual fragment, rather than the state of the containing tab. So if fragment1 is visible, it means it's visible when tab1 is active... and I am considering it visible when tab2 is active, even though the entire tab1 is invisible. 1) If alwaysSubmit is false and fragment1 is invisible, you will get the correct behavior regardless of tab1/tab2 visibility 2) If alwaysSubmit is false and fragment1 is visible, you will get the correct behavior iff tab1 is active. If tab2 is active, fragment1's fields will not be submitted. 3) If alwaysSubmit is true and fragment1 is invisible, you will get incorrect behavior (well, technically, it's correct: the information will be submitted, as per alwaysSubmit, but this is a case where you don't actually /want/ the information submitted if the fragment isn't visible) 4) If alwaysSubmit is true and fragment is visible, you will get correct behavior. You can conditionally alwaysSubmit: alwaysSubmit on the same condition for visibility as the visible trigger. The problem here comes in the following scenario: User opens a page with fragment1 initially visible, but no data yet in the required field. User marks fragment1 as invisible. User submits the form. The submission will fail because alwaysSubmit was true at the time the form rendered. The culprit behind this is Tapestry's isDeepVisible method. It searches for visibility up to the point where it finds a form element. But in the case above, the form element contains the tab divs, so the fragment is determined to be invisible and the data not submitted for the inactive tab, even if the user clicked on the trigger to make the fragment visible while the tab was active. This is something of an edge case, but I think it can be handled cleanly by introducing a new parameter to formfragment, such as visiblebound (but better named!). The idea is to allow developers to specify an element or selector expression that bounds the search for visibility. The default would be the containing form element which would preserve the current behavior. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1559) Excessive warnings
[ https://issues.apache.org/jira/browse/TAP5-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13055767#comment-13055767 ] Hudson commented on TAP5-1559: -- Integrated in tapestry-trunk-freestyle #389 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/389/]) TAP5-1559 - Excessive warnings joshcanfield : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1140303 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Tree.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/tree/DefaultTreeModel.java Excessive warnings --- Key: TAP5-1559 URL: https://issues.apache.org/jira/browse/TAP5-1559 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.3.0 Reporter: Josh Canfield Priority: Trivial Tracking issue for cleaning up compiler warnings. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1563) Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size
[ https://issues.apache.org/jira/browse/TAP5-1563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13055768#comment-13055768 ] Hudson commented on TAP5-1563: -- Integrated in tapestry-trunk-freestyle #389 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/389/]) TAP5-1563: Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1140276 Files : * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/TapestryIOCModule.java Need configuration for queue size w/ ParallelExecutor; as is, limited to pool core size threads, rather than pool max size -- Key: TAP5-1563 URL: https://issues.apache.org/jira/browse/TAP5-1563 Project: Tapestry 5 Issue Type: Bug Components: documentation, tapestry-ioc Reporter: Andy Blower Assignee: Howard M. Lewis Ship Priority: Minor Fix For: 5.3.1 ParallelExecutor service is bound to the number of executor threads specified by THREAD_POOL_CORE_SIZE rather than THREAD_POOL_MAX_SIZE, which means by default only three parallel tasks are executed at once rather than the maximum of 20. This is unexpected behaviour for someone not familiar with the ThreadPoolExecutor design, which is not intuitive. The documentation of ParallelExecutor is very misleading and should be expanded to explain this correctly. This blog post I found explains it clearly: http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1140374 - /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java
Author: joshcanfield Date: Mon Jun 27 23:38:58 2011 New Revision: 1140374 URL: http://svn.apache.org/viewvc?rev=1140374view=rev Log: TAP5-1559 - Excessive warnings (see http://download.oracle.com/javase/6/docs/technotes/tools/windows/javadoc.html#@see) Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java?rev=1140374r1=1140373r2=1140374view=diff == --- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java (original) +++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCSymbols.java Mon Jun 27 23:38:58 2011 @@ -36,7 +36,9 @@ public class IOCSymbols * The default is 100. * * @since 5.3 - * @see http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size + * @see a href=http://www.bigsoft.co.uk/blog/index.php/2009/11/27/rules-of-a-threadpoolexecutor-pool-size; + * Rules of a ThreadPoolExecutor pool size + * /a */ public static final String THREAD_POOL_QUEUE_SIZE = tapestry.thread-pool.queue-size;
[jira] [Assigned] (TAP5-1171) Tapestry should ignore FXBase methods in JavaFX module classes
[ https://issues.apache.org/jira/browse/TAP5-1171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship reassigned TAP5-1171: -- Assignee: (was: Howard M. Lewis Ship) Tapestry should ignore FXBase methods in JavaFX module classes -- Key: TAP5-1171 URL: https://issues.apache.org/jira/browse/TAP5-1171 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-ioc Affects Versions: 5.2.0 Reporter: Antoine Mischler Attachments: InjectionTest-src.zip, fix_for_TAP5-1171.patch, log.txt JavaFX classes always extends the com.sun.javafx.runtime.FXBase class. For module classes written in JavaFX, Tapestry complains that it doesn't recognize the public methods from FXBase. These methods should be ignored. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1284) When using @PageActivationContext and override a no-args activate event handler of parent page, the handler called too soon
[ https://issues.apache.org/jira/browse/TAP5-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13056230#comment-13056230 ] Howard M. Lewis Ship commented on TAP5-1284: I should have looked at this one more carefully before I started working on it. The @PageActivationContext is in the child class. The basic rule that parent class event handlers are invoked before child class event handlers still holds. Thus the order of execution is the activate event on BaseClass, which is the invocation of BasePage.onActivate(). This is overridden in ConcreteClass, and fails. If it didn't fail, then Tapestry would process the @PageActivationContext event handler in ConcreteClass, and skip the onActivate() method in ConcreteClass, because it is an override of a BasePage method. Short of introducing yet another event that would occur between the activate event and the other processing for the request (which might be a page render or a component event request), there isn't a way to express what you want in Tapestry. You could rip out the @PageActivationContext annotation and replace it with an onActivate(MyEntity) method that accomplished the same thing and it would be more clearly an error. So in summary, the event handler is not called too soon, it is called in the correct established order, which simply is not convenient for your code. I'm going to leave this issue open for a bit, and think about adding a postActivate event that would exist to support validations after the completion of the activate event. However, once you open up one special case like that, you start to think in terms of something more general purpose ... such as exposing a more general way to defer some logic during the processing of an event (rather than, effectively, splitting one event into two, for timing purposes). When using @PageActivationContext and override a no-args activate event handler of parent page, the handler called too soon --- Key: TAP5-1284 URL: https://issues.apache.org/jira/browse/TAP5-1284 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.0 Reporter: Alexander Gavrilov Assignee: Howard M. Lewis Ship Priority: Critical It appears that the overrided onActivate() method is called before the @PageActivationContext logic, which means the following can fail: public class BasePage { private MyEntity entity; protected void setEntity(MyEntity entity) { this.entity = entity; } protected void onActivate() { if (entity == null) throw new RuntimeException(Entity not found.); } } public class ConcreteClass { @PageActivationContext private MyEntity entity; protected void onActivate() { setEntity(entity); super.onActivate(); } } Workaround is do not use methods overriding. The problem is the consecuence of Howard's approach: if the child class *overrides* a method of the parent, then the overridden method will be invoked only by the parent class. When Tapestry performs transformation it skips OnEventWorker advice, which invoke event handler method of subclass and add it only for parent class. And required for @PageActivationContext chain of invocation breaks. My approach is that if some class override some event handler method of some class then Tapestry should stop advaicing parent class method invocation and should rely on subclass method definition and is the subclass implementor responibility to invoke parent class method. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1140425 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/ main/java/org/apache/tapestry5/internal/services/ main/java/org/apache/tapestry5/services/ test/j
Author: joshcanfield Date: Tue Jun 28 04:12:30 2011 New Revision: 1140425 URL: http://svn.apache.org/viewvc?rev=1140425view=rev Log: TAP5-1559 - Excessive warnings Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationHub.java tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java?rev=1140425r1=1140424r2=1140425view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java Tue Jun 28 04:12:30 2011 @@ -169,7 +169,7 @@ public class SymbolConstants * If true (the default), then the {@link org.apache.tapestry5.services.PersistentLocale} will be encoded into the * {@link org.apache.tapestry5.Link} path by the {@link org.apache.tapestry5.services.ComponentEventLinkEncoder} * service. If overridden to false this does not occur, but you should provide a - * {@link org.apache.tapestry5.services.LinkCreationListener} (registered with the + * {@link org.apache.tapestry5.services.LinkCreationListener2} (registered with the * {@link org.apache.tapestry5.services.LinkCreationHub}) in order to add the locale as a query parameter (or * provide some alternate means of persisting the locale between requests). * Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java?rev=1140425r1=1140424r2=1140425view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java Tue Jun 28 04:12:30 2011 @@ -1,4 +1,4 @@ -// Copyright 2007, 2008, 2009 The Apache Software Foundation +// Copyright 2007, 2008, 2009, 2011 The Apache Software Foundation // // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. @@ -15,9 +15,7 @@ package org.apache.tapestry5.internal.services; import org.apache.tapestry5.Link; -import org.apache.tapestry5.services.LinkCreationListener; -import org.apache.tapestry5.services.PersistentFieldChange; -import org.apache.tapestry5.services.PersistentFieldStrategy; +import org.apache.tapestry5.services.*; import java.util.Collection; @@ -26,7 +24,7 @@ import java.util.Collection; * ClientPersistentFieldStorage}. This division of layer allows this service to be a true singleton, and a listener to * the {@link LinkSource}, and allow per-request state to be isolated inside the other service. */ -public class ClientPersistentFieldStrategy implements PersistentFieldStrategy, LinkCreationListener +public class ClientPersistentFieldStrategy implements PersistentFieldStrategy, LinkCreationListener2 { private final ClientPersistentFieldStorage storage; @@ -45,12 +43,12 @@ public class ClientPersistentFieldStrate storage.postChange(pageName, componentId, fieldName, newValue); } -public void createdComponentEventLink(Link link) +public void createdComponentEventLink(Link link, ComponentEventRequestParameters parameters) { storage.updateLink(link); } -public void createdPageRenderLink(Link link) +public void createdPageRenderLink(Link link, PageRenderRequestParameters parameters) { storage.updateLink(link); } Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java URL:
[jira] [Commented] (TAP5-1559) Excessive warnings
[ https://issues.apache.org/jira/browse/TAP5-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13056316#comment-13056316 ] Hudson commented on TAP5-1559: -- Integrated in tapestry-trunk-freestyle #391 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/391/]) TAP5-1559 - Excessive warnings joshcanfield : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1140425 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSource.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClientPersistentFieldStrategy.java * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/SymbolConstants.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/LinkCreationHub.java Excessive warnings --- Key: TAP5-1559 URL: https://issues.apache.org/jira/browse/TAP5-1559 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.3.0 Reporter: Josh Canfield Priority: Trivial Tracking issue for cleaning up compiler warnings. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira