[jira] [Commented] (TAP5-2453) Generic List not fully supported
[ https://issues.apache.org/jira/browse/TAP5-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16209109#comment-16209109 ] Jochen Kemnade commented on TAP5-2453: -- [~thiagohp], any ideas? The problem is probably that {{org.apache.tapestry5.plastic.MethodDescription.MethodDescription(Method)}} does not extract the generics information. We'd probably have to move {{GenericsUtils}} to from {{commons}} to {{plastic}} and use its methods to retrieve the info. > Generic List not fully supported > --- > > Key: TAP5-2453 > URL: https://issues.apache.org/jira/browse/TAP5-2453 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc >Affects Versions: 5.4, 5.3.8 >Reporter: Jan Mynařík > Labels: generics > Attachments: TapestryGenericsTest.java > > > I've created an abstract generic CRUD implementation. When binding > implementations resulting proxies doesn't fully report parametrized type via > reflections. > See attached test. In 5.3.8 it fails in all asserts, in 5.4 only in the last > one. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Closed] (TAP5-2473) Improvements for GridPaginationModel
[ https://issues.apache.org/jira/browse/TAP5-2473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade closed TAP5-2473. Resolution: Won't Fix > Improvements for GridPaginationModel > > > Key: TAP5-2473 > URL: https://issues.apache.org/jira/browse/TAP5-2473 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core >Affects Versions: 5.4 >Reporter: Felix Scheffer >Priority: Trivial > Labels: patch > Attachments: 0002-GridPaginationModel-improvements.patch > > > The patch uses primitive types for "current page" and "ascending" in > GridPaginationModel to avoid null checking in the Grid component. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Closed] (TAP5-2545) Reduce lock contention during page loading
[ https://issues.apache.org/jira/browse/TAP5-2545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade closed TAP5-2545. Resolution: Fixed Fix Version/s: 5.5.0 The sub-tasks are fixed, so I'll close this one too. > Reduce lock contention during page loading > -- > > Key: TAP5-2545 > URL: https://issues.apache.org/jira/browse/TAP5-2545 > Project: Tapestry 5 > Issue Type: Improvement > Components: plastic, tapestry-core >Reporter: Michael Mikhulya > Labels: patch, performance > Fix For: 5.5.0 > > > I investigated lock contention during concurrent page loading > (PageLoader.loadPage). > There are two main producers of lock contention: > ComponentInstantiatorSourceImpl and PlasticClassLoader. > I created a patch for two top issues, see it in attachments. > There is still issue with PlasticClassLoader. I will report separate issue > regarding it. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TAP5-2585) Expression Issues (CronExpression.java and GenericsUtils.java)
[ https://issues.apache.org/jira/browse/TAP5-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16209060#comment-16209060 ] Hudson commented on TAP5-2585: -- FAILURE: Integrated in Jenkins build tapestry-trunk-freestyle #1658 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1658/]) TAP5-2585: Fix whitespace check (jkemnade: rev c152c38f74d0439db33a951e87bb8dda25753d45) * (edit) tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java TAP5-2585: remove useless ternary (jkemnade: rev ef290f5360dc89d5544171c1168c93e5f59c0e1e) * (edit) commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java > Expression Issues (CronExpression.java and GenericsUtils.java) > -- > > Key: TAP5-2585 > URL: https://issues.apache.org/jira/browse/TAP5-2585 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc >Affects Versions: 5.4.3 >Reporter: AppChecker >Assignee: Jochen Kemnade > Labels: appchecker > Fix For: 5.5.0 > > > Hi > Please look following fragments of source code: > 1) > [tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937] > {code:java}for (; i < s.length() && (s.charAt(i) != ' ' || s.charAt(i) != > '\t'); i++) > {code} > Expression (s.charAt\(i) != ' ' || s.charAt\(i) != '\t') is always true. > Probably, is should be: > {code:java} > (s.charAt(i) != ' ' && s.charAt(i) != '\t') > {code} > 2) > [commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577] > {code:java} > isSuper ? toString(wt.getLowerBounds()) : toString(wt.getLowerBounds())); > {code} > It is strange that the parts of the ternary operator are same. > These possible defect found by > [AppChecker|https://npo-echelon.ru/en/solutions/appchecker.php]. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TAP5-2585) Expression Issues (CronExpression.java and GenericsUtils.java)
[ https://issues.apache.org/jira/browse/TAP5-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16209058#comment-16209058 ] ASF subversion and git services commented on TAP5-2585: --- Commit ef290f5360dc89d5544171c1168c93e5f59c0e1e in tapestry-5's branch refs/heads/master from [~jkemnade] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=ef290f5 ] TAP5-2585: remove useless ternary > Expression Issues (CronExpression.java and GenericsUtils.java) > -- > > Key: TAP5-2585 > URL: https://issues.apache.org/jira/browse/TAP5-2585 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc >Affects Versions: 5.4.3 >Reporter: AppChecker >Assignee: Jochen Kemnade > Labels: appchecker > Fix For: 5.5.0 > > > Hi > Please look following fragments of source code: > 1) > [tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937] > {code:java}for (; i < s.length() && (s.charAt(i) != ' ' || s.charAt(i) != > '\t'); i++) > {code} > Expression (s.charAt\(i) != ' ' || s.charAt\(i) != '\t') is always true. > Probably, is should be: > {code:java} > (s.charAt(i) != ' ' && s.charAt(i) != '\t') > {code} > 2) > [commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577] > {code:java} > isSuper ? toString(wt.getLowerBounds()) : toString(wt.getLowerBounds())); > {code} > It is strange that the parts of the ternary operator are same. > These possible defect found by > [AppChecker|https://npo-echelon.ru/en/solutions/appchecker.php]. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TAP5-2585) Expression Issues (CronExpression.java and GenericsUtils.java)
[ https://issues.apache.org/jira/browse/TAP5-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16209057#comment-16209057 ] ASF subversion and git services commented on TAP5-2585: --- Commit c152c38f74d0439db33a951e87bb8dda25753d45 in tapestry-5's branch refs/heads/master from [~jkemnade] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=c152c38 ] TAP5-2585: Fix whitespace check > Expression Issues (CronExpression.java and GenericsUtils.java) > -- > > Key: TAP5-2585 > URL: https://issues.apache.org/jira/browse/TAP5-2585 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc >Affects Versions: 5.4.3 >Reporter: AppChecker >Assignee: Jochen Kemnade > Labels: appchecker > Fix For: 5.5.0 > > > Hi > Please look following fragments of source code: > 1) > [tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937] > {code:java}for (; i < s.length() && (s.charAt(i) != ' ' || s.charAt(i) != > '\t'); i++) > {code} > Expression (s.charAt\(i) != ' ' || s.charAt\(i) != '\t') is always true. > Probably, is should be: > {code:java} > (s.charAt(i) != ' ' && s.charAt(i) != '\t') > {code} > 2) > [commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577] > {code:java} > isSuper ? toString(wt.getLowerBounds()) : toString(wt.getLowerBounds())); > {code} > It is strange that the parts of the ternary operator are same. > These possible defect found by > [AppChecker|https://npo-echelon.ru/en/solutions/appchecker.php]. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[1/2] tapestry-5 git commit: TAP5-2585: Fix whitespace check
Repository: tapestry-5 Updated Branches: refs/heads/master 0fe1446f2 -> ef290f536 TAP5-2585: Fix whitespace check Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/c152c38f Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c152c38f Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c152c38f Branch: refs/heads/master Commit: c152c38f74d0439db33a951e87bb8dda25753d45 Parents: 0fe1446 Author: Jochen KemnadeAuthored: Wed Oct 18 11:25:30 2017 +0200 Committer: Jochen Kemnade Committed: Wed Oct 18 11:25:30 2017 +0200 -- .../tapestry5/ioc/internal/services/cron/CronExpression.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c152c38f/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java -- diff --git a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java index 1a71ca9..82a0bff 100644 --- a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java +++ b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java @@ -934,7 +934,7 @@ public class CronExpression implements Serializable protected int findNextWhiteSpace(int i, String s) { -for (; i < s.length() && (s.charAt(i) != ' ' || s.charAt(i) != '\t'); i++) +for (; i < s.length() && (s.charAt(i) != ' ' && s.charAt(i) != '\t'); i++) { ; }
[2/2] tapestry-5 git commit: TAP5-2585: remove useless ternary
TAP5-2585: remove useless ternary Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ef290f53 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ef290f53 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ef290f53 Branch: refs/heads/master Commit: ef290f5360dc89d5544171c1168c93e5f59c0e1e Parents: c152c38 Author: Jochen KemnadeAuthored: Wed Oct 18 11:28:00 2017 +0200 Committer: Jochen Kemnade Committed: Wed Oct 18 11:28:00 2017 +0200 -- .../java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ef290f53/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java -- diff --git a/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java b/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java index bd834a5..9bf4d00 100644 --- a/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java +++ b/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java @@ -574,7 +574,7 @@ public class GenericsUtils final boolean isSuper = wt.getLowerBounds().length > 0; return String.format("? %s %s", isSuper ? "super" : "extends", -isSuper ? toString(wt.getLowerBounds()) : toString(wt.getLowerBounds())); +toString(wt.getLowerBounds())); } static String toString(Type[] types)
[jira] [Closed] (TAP5-2585) Expression Issues (CronExpression.java and GenericsUtils.java)
[ https://issues.apache.org/jira/browse/TAP5-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade closed TAP5-2585. Resolution: Fixed Assignee: Jochen Kemnade Fix Version/s: 5.5.0 Thanks. > Expression Issues (CronExpression.java and GenericsUtils.java) > -- > > Key: TAP5-2585 > URL: https://issues.apache.org/jira/browse/TAP5-2585 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc >Affects Versions: 5.4.3 >Reporter: AppChecker >Assignee: Jochen Kemnade > Labels: appchecker > Fix For: 5.5.0 > > > Hi > Please look following fragments of source code: > 1) > [tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/cron/CronExpression.java#L937] > {code:java}for (; i < s.length() && (s.charAt(i) != ' ' || s.charAt(i) != > '\t'); i++) > {code} > Expression (s.charAt\(i) != ' ' || s.charAt\(i) != '\t') is always true. > Probably, is should be: > {code:java} > (s.charAt(i) != ' ' && s.charAt(i) != '\t') > {code} > 2) > [commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577|https://github.com/apache/tapestry-5/blob/95a548ec488a3c09c16117a0e6f9d3ce28db0322/commons/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java#L577] > {code:java} > isSuper ? toString(wt.getLowerBounds()) : toString(wt.getLowerBounds())); > {code} > It is strange that the parts of the ternary operator are same. > These possible defect found by > [AppChecker|https://npo-echelon.ru/en/solutions/appchecker.php]. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[tapestry-5] Git Push Summary
Repository: tapestry-5 Updated Tags: refs/tags/5.5.0-alpha-7 [created] b58621fbf
tapestry-5 git commit: increment version number
Repository: tapestry-5 Updated Branches: refs/heads/master b58621fbf -> 0fe1446f2 increment version number Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/0fe1446f Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/0fe1446f Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/0fe1446f Branch: refs/heads/master Commit: 0fe1446f2d19ebe658b0d59ed88694eb3ad76b7c Parents: b58621f Author: Jochen KemnadeAuthored: Wed Oct 18 09:29:00 2017 +0200 Committer: Jochen Kemnade Committed: Wed Oct 18 09:29:00 2017 +0200 -- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0fe1446f/build.gradle -- diff --git a/build.gradle b/build.gradle index b6db510..de23bb7 100755 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ project.version = tapestryVersion() def tapestryVersion() { def major = "5.5.0" -def minor = "-alpha-7" +def minor = "-alpha-8" // When building on the CI server, make sure -SNAPSHOT is appended, as it is a nightly build. // When building normally, or for a release, no suffix is desired.
[jira] [Closed] (TAP5-2558) Lock contention in PlasticClassPool
[ https://issues.apache.org/jira/browse/TAP5-2558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade closed TAP5-2558. Resolution: Fixed Assignee: Jochen Kemnade Fix Version/s: 5.5.0 > Lock contention in PlasticClassPool > --- > > Key: TAP5-2558 > URL: https://issues.apache.org/jira/browse/TAP5-2558 > Project: Tapestry 5 > Issue Type: Sub-task > Components: plastic >Reporter: Michael Mikhulya >Assignee: Jochen Kemnade > Labels: patch, performance > Fix For: 5.5.0 > > Attachments: 0002-reduce-lock-contention-during-page-loading-2.patch > > > This is a subtask of TAP5-2545 (Reduce lock contention during page loading). -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (TAP5-2558) Lock contention in PlasticClassPool
[ https://issues.apache.org/jira/browse/TAP5-2558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16208857#comment-16208857 ] Jochen Kemnade commented on TAP5-2558: -- Patch applied, thanks Michael. > Lock contention in PlasticClassPool > --- > > Key: TAP5-2558 > URL: https://issues.apache.org/jira/browse/TAP5-2558 > Project: Tapestry 5 > Issue Type: Sub-task > Components: plastic >Reporter: Michael Mikhulya >Assignee: Jochen Kemnade > Labels: patch, performance > Fix For: 5.5.0 > > Attachments: 0002-reduce-lock-contention-during-page-loading-2.patch > > > This is a subtask of TAP5-2545 (Reduce lock contention during page loading). -- This message was sent by Atlassian JIRA (v6.4.14#64029)
tapestry-5 git commit: reduce lock-contention during page loading #2
Repository: tapestry-5 Updated Branches: refs/heads/master 1c42cceef -> b58621fbf reduce lock-contention during page loading #2 Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b58621fb Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b58621fb Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b58621fb Branch: refs/heads/master Commit: b58621fbf8a01e9f7fea2c19881b83f5d6de651f Parents: 1c42cce Author: Michael MikhulyaAuthored: Tue Jul 19 11:55:30 2016 +0300 Committer: Jochen Kemnade Committed: Wed Oct 18 08:11:34 2017 +0200 -- .../internal/plastic/PlasticClassPool.java | 63 ++-- .../internal/plastic/PlasticInternalUtils.java | 7 +++ 2 files changed, 38 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b58621fb/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java -- diff --git a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java index 3cf1700..dfbb8cf 100644 --- a/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java +++ b/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java @@ -56,7 +56,7 @@ public class PlasticClassPool implements ClassLoaderDelegate, Opcodes, PlasticCl * Maps class names to instantiators for that class name. * Synchronized on the loader. */ -private final Map instantiators = PlasticInternalUtils.newMap(); +private final Map instantiators = PlasticInternalUtils.newConcurrentMap(); private final InheritanceData emptyInheritanceData = new InheritanceData(null); @@ -599,50 +599,49 @@ public class PlasticClassPool implements ClassLoaderDelegate, Opcodes, PlasticCl public ClassInstantiator getClassInstantiator(String className) { -synchronized (loader) +ClassInstantiator result = instantiators.get(className); + +if (result == null) { -if (!instantiators.containsKey(className)) +try { -try -{ -loader.loadClass(className); -} catch (ClassNotFoundException ex) -{ -throw new RuntimeException(ex); -} +loader.loadClass(className); +result = instantiators.get(className); +} catch (ClassNotFoundException ex) +{ +throw new RuntimeException(ex); } +} -ClassInstantiator result = instantiators.get(className); -if (result == null) -{ -// TODO: Verify that the problem is incorrect package, and not any other failure. +if (result != null) +{ +return result; +} -StringBuilder b = new StringBuilder(); -b.append("Class '") -.append(className) -.append("' is not a transformed class. Transformed classes should be in one of the following packages: "); +// TODO: Verify that the problem is incorrect package, and not any other failure. -String sep = ""; +StringBuilder b = new StringBuilder(); +b.append("Class '") +.append(className) +.append("' is not a transformed class. Transformed classes should be in one of the following packages: "); -List names = new ArrayList(controlledPackages); -Collections.sort(names); +String sep = ""; -for (String name : names) -{ -b.append(sep); -b.append(name); +List names = new ArrayList(controlledPackages); +Collections.sort(names); -sep = ", "; -} +for (String name : names) +{ +b.append(sep); +b.append(name); -String message = b.append('.').toString(); +sep = ", "; +} -throw new IllegalArgumentException(message); -} +String message = b.append('.').toString(); -return result; -} +throw new IllegalArgumentException(message); } TypeCategory getTypeCategory(String typeName)