[jira] [Created] (TAP5-1562) Tree leafs are not selectable

2011-06-27 Thread Igor Drobiazko (JIRA)
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

2011-06-27 Thread joshcanfield
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/

2011-06-27 Thread joshcanfield
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

2011-06-27 Thread Hudson (JIRA)

[ 
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

2011-06-27 Thread joshcanfield
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/

2011-06-27 Thread joshcanfield
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

2011-06-27 Thread Howard M. Lewis Ship (JIRA)

[ 
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

2011-06-27 Thread Andy Blower (JIRA)
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

2011-06-27 Thread Igor Drobiazko (JIRA)

[ 
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

2011-06-27 Thread Andy Blower (JIRA)

 [ 
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

2011-06-27 Thread Andy Blower (JIRA)

 [ 
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

2011-06-27 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2011-06-27 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2011-06-27 Thread confluence







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

2011-06-27 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2011-06-27 Thread hlship
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

2011-06-27 Thread hlship
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

2011-06-27 Thread confluence







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

2011-06-27 Thread joshcanfield
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

2011-06-27 Thread Robert Zeigler (JIRA)

 [ 
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

2011-06-27 Thread Robert Zeigler (JIRA)

 [ 
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

2011-06-27 Thread Hudson (JIRA)

[ 
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

2011-06-27 Thread Hudson (JIRA)

[ 
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

2011-06-27 Thread joshcanfield
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

2011-06-27 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2011-06-27 Thread Howard M. Lewis Ship (JIRA)

[ 
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

2011-06-27 Thread joshcanfield
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

2011-06-27 Thread Hudson (JIRA)

[ 
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