[jira] [Commented] (TAP5-2316) Support for message catalogs for JS modules
[ https://issues.apache.org/jira/browse/TAP5-2316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13970514#comment-13970514 ] Jochen Kemnade commented on TAP5-2316: -- I think this in not entirely invalid. I wasn't aware of the possibility to contribute to the {{ComponentMessagesSource}} and indeed, that would solve a lot of the use-cases I can think of. However, if an application consists of different parts with different access restrictions, I don't want the messages that show up in one part of the application to be exposed to a user who isn't permitted to access that section. For example, I don't want regular users to see messages from the admin section. But I think I can solve that using virtual resources if you think this isn't something that Tapestry should be able to do out of the box. > Support for message catalogs for JS modules > --- > > Key: TAP5-2316 > URL: https://issues.apache.org/jira/browse/TAP5-2316 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core >Affects Versions: 5.4 >Reporter: Jochen Kemnade > Labels: i18n, javascript > > Content that is rendered in the client from JavaScript modules is quite hard > to internationalize. > Either you can manually create a messages JSON object and pass it to the > client via data attributes or the init function or you can add all the > strings to the core message catalog and require that. > The latter is not possible for component libraries though as they do not have > a message catalog. > The former is not possible for "utility" modules that do not have an > associated Java class. > This could be solved by creating a virtual message module for every > JavaScript module that has a corresponding .properties file next to it. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2236) It should be possible to determine when there are active Ajax requests
[ https://issues.apache.org/jira/browse/TAP5-2236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13970551#comment-13970551 ] Jochen Kemnade commented on TAP5-2236: -- This is was fixed 0ef56e79b254bc730de04586236bbe7f1ea94b62 on 2013-11-25. > It should be possible to determine when there are active Ajax requests > -- > > Key: TAP5-2236 > URL: https://issues.apache.org/jira/browse/TAP5-2236 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.4 >Reporter: Howard M. Lewis Ship > Labels: testing > > Often, for testing, it is necessary to know when an Ajax request has > completed. This is currently accomplished via sleeps and such (in Tapestry's > built-in test suite). For Ajax requests via the t5/core/dom:ajaxRequest API, > Tapestry can track how many Ajax requests are active, and set an attribute on > the body element to indicate if there are any active requests. > The body attribute "data-ajax-active" will be "true" when there is at least > one Ajax request and will revert to "false" when all requests have completed > succesfully, or failed with an error or exception. > This is similar to the "data-page-initialized" attribute; it is on the body > element to make it easier to query it using CSS. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (TAP5-2319) Add a streaming API to tapestry-json
Jochen Kemnade created TAP5-2319: Summary: Add a streaming API to tapestry-json Key: TAP5-2319 URL: https://issues.apache.org/jira/browse/TAP5-2319 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-json Affects Versions: 5.4 Reporter: Jochen Kemnade tapestry-json should offer a streaming API. It should be possible to read a JSONObject/Array from a stream or Reader and output it to a stream or Writer. When working with large objects, it is often not desirable to have the whole JSON string in memory. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2201) Serious issue with assets and checksums - different for same file
[ https://issues.apache.org/jira/browse/TAP5-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13970555#comment-13970555 ] Dragan Sahpaski commented on TAP5-2201: --- Thanks. > Serious issue with assets and checksums - different for same file > - > > Key: TAP5-2201 > URL: https://issues.apache.org/jira/browse/TAP5-2201 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.4 >Reporter: Magnus Kvalheim >Assignee: Howard M. Lewis Ship > Labels: 5.4.22 > Attachments: bootstrap.server2.css, bootstrap.server3.css, > server2.png, server3.png > > > Hi everybody. > Today we've launched a website based on 5.4. We're very exited about the > upcoming release(5.4) and I'll post separately about our experiences (mostly > great). > Post release we've identified a potential serious issue related to assets and > their checksums. > What we see is that a handful of the assets generate different hashes for the > same file. > =Example: bootstrap.css= > Server 1: > /asset.gz/meta/92ffb14a/tapestry5/bootstrap_3_0_0/css/bootstrap.css > Server 2: > /asset.gz/meta/5787e482/tapestry5/bootstrap_3_0_0/css/bootstrap.css > Server 3: > /asset.gz/meta/f5e7c535/tapestry5/bootstrap_3_0_0/css/bootstrap.css > Server 3 - restart: > /asset.gz/meta/219ee41e/tapestry5/bootstrap_3_0_0/css/bootstrap.css > We also see the same behaviour for the non gzip version of bootstrap.css. > It is not only for /meta/ > =JCarouselWrapper.css= > /asset/app/f59da774/mixins/ui/JCarouselWrapper.css > /asset/app/6ddc92ee/mixins/ui/JCarouselWrapper.css > As you can see - we're load balanced with app served from several nodes. > Normally I'd serve these through CloudFront on a cookieless domain (with > tapestry as origin), but it's not possible as load balanced assets could hit > 'wrong' server and get the 404 instead. > So for now they are served through website domain with sticky sessions - and > pray that it don't cause us problems... :) > All are served with same web container: > Apache Tomcat/7.0.39 > JDK 1.7.0_11 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2219) XML-Parsing broken if system encoding is not UTF-8
[ https://issues.apache.org/jira/browse/TAP5-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971383#comment-13971383 ] Jochen Kemnade commented on TAP5-2219: -- This is actually the same problem as in TAP5-1741. > XML-Parsing broken if system encoding is not UTF-8 > -- > > Key: TAP5-2219 > URL: https://issues.apache.org/jira/browse/TAP5-2219 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.4 > Environment: Windows (probably linux too but most systems run with > utf-8) >Reporter: Michael Wyraz > Attachments: XMLTokenStreamTests.java > > Original Estimate: 0.5h > Remaining Estimate: 0.5h > > Tapestry reads tml files in XMLTokenStream.openStream(), does some doctype > "magic" and writes all the file content's into a ByteOutputStream. On T5.3 > reading/writing was done using the system's caracter encoding. With T5.4 that > was changed for the reader but not for the writer. This messes up all > non-ascii characters if system encoding is not utf-8. > Solution: Change > PrintWriter writer = new PrintWriter(bos); > To > PrintWriter writer = new PrintWriter(new OutputStreamWriter(bos, > "UTF8")); > in XMLTokenStream.openStream(). > TODO: Unit test for XMLTokenStream (follows soon) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (TAP5-2219) XML-Parsing broken if system encoding is not UTF-8
[ https://issues.apache.org/jira/browse/TAP5-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971383#comment-13971383 ] Jochen Kemnade edited comment on TAP5-2219 at 4/16/14 1:12 PM: --- This is actually the same problem as in TAP5-1741 and TAP5-1778. was (Author: jkemnade): This is actually the same problem as in TAP5-1741. > XML-Parsing broken if system encoding is not UTF-8 > -- > > Key: TAP5-2219 > URL: https://issues.apache.org/jira/browse/TAP5-2219 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.4 > Environment: Windows (probably linux too but most systems run with > utf-8) >Reporter: Michael Wyraz > Attachments: XMLTokenStreamTests.java > > Original Estimate: 0.5h > Remaining Estimate: 0.5h > > Tapestry reads tml files in XMLTokenStream.openStream(), does some doctype > "magic" and writes all the file content's into a ByteOutputStream. On T5.3 > reading/writing was done using the system's caracter encoding. With T5.4 that > was changed for the reader but not for the writer. This messes up all > non-ascii characters if system encoding is not utf-8. > Solution: Change > PrintWriter writer = new PrintWriter(bos); > To > PrintWriter writer = new PrintWriter(new OutputStreamWriter(bos, > "UTF8")); > in XMLTokenStream.openStream(). > TODO: Unit test for XMLTokenStream (follows soon) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2236) It should be possible to determine when there are active Ajax requests
[ https://issues.apache.org/jira/browse/TAP5-2236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2236. -- Resolution: Fixed Fix Version/s: 5.4 Assignee: Howard M. Lewis Ship > It should be possible to determine when there are active Ajax requests > -- > > Key: TAP5-2236 > URL: https://issues.apache.org/jira/browse/TAP5-2236 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.4 >Reporter: Howard M. Lewis Ship >Assignee: Howard M. Lewis Ship > Labels: testing > Fix For: 5.4 > > > Often, for testing, it is necessary to know when an Ajax request has > completed. This is currently accomplished via sleeps and such (in Tapestry's > built-in test suite). For Ajax requests via the t5/core/dom:ajaxRequest API, > Tapestry can track how many Ajax requests are active, and set an attribute on > the body element to indicate if there are any active requests. > The body attribute "data-ajax-active" will be "true" when there is at least > one Ajax request and will revert to "false" when all requests have completed > succesfully, or failed with an error or exception. > This is similar to the "data-page-initialized" attribute; it is on the body > element to make it easier to query it using CSS. -- This message was sent by Atlassian JIRA (v6.2#6252)
[1/3] git commit: TAP5-2201: Mark all image/* content types as non-compressable
Repository: tapestry-5 Updated Branches: refs/heads/master 24534b3dd -> 401b29e73 TAP5-2201: Mark all image/* content types as non-compressable Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/39d9aba1 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/39d9aba1 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/39d9aba1 Branch: refs/heads/master Commit: 39d9aba1e161f3a50c0531a58256c11723123961 Parents: 24534b3 Author: Howard M. Lewis Ship Authored: Tue Apr 15 15:21:20 2014 -0700 Committer: Howard M. Lewis Ship Committed: Tue Apr 15 15:21:20 2014 -0700 -- .../assets/CompressionAnalyzerImpl.java | 14 ++- .../apache/tapestry5/modules/AssetsModule.java | 6 +-- .../services/assets/CompressionAnalyzer.java| 13 --- .../assets/CompressionAnalyzerImplTests.groovy | 41 4 files changed, 61 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/39d9aba1/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java index 66b1fe0..bca9404 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java @@ -1,5 +1,3 @@ -// Copyright 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 @@ -37,6 +35,18 @@ public class CompressionAnalyzerImpl implements CompressionAnalyzer Boolean result = configuration.get(key); +if (result != null) { +return result.booleanValue(); +} + +// Now look for a wild card. + +x = contentType.indexOf('/'); + +String wildKey = contentType.substring(0, x) + "/*"; + +result = configuration.get(wildKey); + return result == null ? true : result.booleanValue(); } } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/39d9aba1/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java index 90190b1..a97683d 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java @@ -1,5 +1,3 @@ -// Copyright 2011, 2012, 2013 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 @@ -196,9 +194,7 @@ public class AssetsModule @Contribute(CompressionAnalyzer.class) public void disableCompressionForImageTypes(MappedConfiguration configuration) { -configuration.add("image/jpeg", false); -configuration.add("image/gif", false); -configuration.add("image/png", false); +configuration.add("image/*", false); configuration.add("application/x-shockwave-flash", false); configuration.add("application/font-woff", false); configuration.add("application/x-font-ttf", false); http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/39d9aba1/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java index 41f54d8..4f060ff 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java @@ -1,5 +1,3 @@ -// Copyright 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 @@ -19,9 +17,12 @@ import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration; /** * Identifies which content type
[2/3] git commit: TAP5-2306: Identify templates that should use strict mixin parameters
TAP5-2306: Identify templates that should use strict mixin parameters Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1f0c7464 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1f0c7464 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1f0c7464 Branch: refs/heads/master Commit: 1f0c7464c80e415a19825c612ca6b8139db6ba1e Parents: 39d9aba Author: Howard M. Lewis Ship Authored: Tue Apr 15 16:13:03 2014 -0700 Committer: Howard M. Lewis Ship Committed: Tue Apr 15 16:13:03 2014 -0700 -- .../internal/parser/ComponentTemplate.java | 13 ++-- .../internal/parser/ComponentTemplateImpl.java | 31 ++-- .../services/ComponentTemplateSourceImpl.java | 7 +++-- .../internal/services/SaxTemplateParser.java| 30 +-- .../ComponentTemplateSourceImplTest.java| 4 --- .../services/TemplateParserImplTest.java| 10 +-- .../internal/services/instrumented_element.tml | 2 +- 7 files changed, 68 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1f0c7464/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java index a016614..704da05 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java @@ -1,5 +1,3 @@ -// Copyright 2006, 2008, 2009 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 @@ -38,6 +36,17 @@ public interface ComponentTemplate boolean isExtension(); /** + * Indicates whether lax (the old default) or strict (the new default) mixin parameters are used. + * In strict mode, introduced with the 5.4 template DTD, mixin parameters must be qualified with the mixin name. + * In prior releases, Tapestry would attempt a search for a fit, and this causes ambiguities + * that can't be addressed. + * + * @since 5.4 + * @return true if a 5.4 or later DTD + */ +boolean usesStrictMixinParameters(); + +/** * Returns a list of tokens associated with an extension point, or null if this template neither defines the * extension point nor overrides it. * http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1f0c7464/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java index efc4aff..318da4c 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java @@ -1,5 +1,3 @@ -// Copyright 2006, 2008, 2009 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 @@ -17,12 +15,13 @@ package org.apache.tapestry5.internal.parser; import org.apache.tapestry5.ioc.Location; import org.apache.tapestry5.ioc.Resource; import org.apache.tapestry5.ioc.internal.util.CollectionFactory; -import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newList; import org.apache.tapestry5.ioc.internal.util.InternalUtils; import java.util.List; import java.util.Map; +import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newList; + public class ComponentTemplateImpl implements ComponentTemplate { private final Resource resource; @@ -31,23 +30,32 @@ public class ComponentTemplateImpl implements ComponentTemplate private final Map componentIds; -private final boolean extension; +private final boolean extension, strictMixinParameters; private final Map> overrides; /** - * @param resource the resource from which the template was parsed - * @param tokens the tokens of the template, a copy of this list will be made - * @param componentIds ids of components defined in the template + * @param resource + * the resource from which the template was parsed
[3/3] git commit: TAP5-2306: Change the logic to not create aliases for mixin parameters when the template is strict
TAP5-2306: Change the logic to not create aliases for mixin parameters when the template is strict Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/401b29e7 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/401b29e7 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/401b29e7 Branch: refs/heads/master Commit: 401b29e7356a150059f96f7dc18a30d7d9a86291 Parents: 1f0c746 Author: Howard M. Lewis Ship Authored: Wed Apr 16 09:46:59 2014 -0700 Committer: Howard M. Lewis Ship Committed: Wed Apr 16 09:46:59 2014 -0700 -- .../internal/pageload/AssemblerContext.java | 8 ++- .../pageload/ComponentAssemblerImpl.java| 14 ++--- .../EmbeddedComponentAssemblerImpl.java | 58 +--- .../internal/pageload/PageLoaderImpl.java | 6 +- .../internal/services/SaxTemplateParser.java| 2 +- .../tapestry5/integration/app1/MiscTests.groovy | 22 .../tapestry5/integration/app1/pages/Index.java | 4 +- .../app1/pages/MixinParameters54.java | 20 +++ .../app1/pages/MixinParameters54.tml| 14 + 9 files changed, 112 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/401b29e7/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java index 1ee3f29..705e1e0 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java @@ -1,5 +1,3 @@ -// Copyright 2009 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 @@ -34,12 +32,16 @@ class AssemblerContext implements TokenStream final TokenStream stream; +// Set based on the use of the 5.4 DTD (or better) in the template. +final boolean strictMixinParameters; + private final List composable = CollectionFactory.newList(); -AssemblerContext(ComponentAssembler assembler, TokenStream stream) +AssemblerContext(ComponentAssembler assembler, TokenStream stream, boolean strictMixinParameters) { this.assembler = assembler; this.stream = stream; +this.strictMixinParameters = strictMixinParameters; } public boolean more() http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/401b29e7/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java index 5e952cd..dcfcb03 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java @@ -1,5 +1,3 @@ -// Copyright 2009-2014 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 @@ -54,13 +52,15 @@ class ComponentAssemblerImpl implements ComponentAssembler private final OperationTracker tracker; +private final boolean strictMixinParameters; + private Map publishedParameterToEmbeddedId; private Map embeddedIdToAssembler; public ComponentAssemblerImpl(ComponentAssemblerSource assemblerSource, ComponentInstantiatorSource instantiatorSource, ComponentClassResolver componentClassResolver, - Instantiator instantiator, ComponentPageElementResources resources, OperationTracker tracker) + Instantiator instantiator, ComponentPageElementResources resources, OperationTracker tracker, boolean strictMixinParameters) { this.assemblerSource = assemblerSource; this.instantiatorSource = instantiatorSource; @@ -68,6 +68,7 @@ class ComponentAssemblerImpl implements ComponentAssembler this.instantiator = instantiator; this.resources = resources; this.tracker = tracker; +this.strictMixinParameters = strictMixinParameters; } public ComponentPageElement
[jira] [Commented] (TAP5-2201) Serious issue with assets and checksums - different for same file
[ https://issues.apache.org/jira/browse/TAP5-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971633#comment-13971633 ] ASF subversion and git services commented on TAP5-2201: --- Commit 39d9aba1e161f3a50c0531a58256c11723123961 in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=39d9aba ] TAP5-2201: Mark all image/* content types as non-compressable > Serious issue with assets and checksums - different for same file > - > > Key: TAP5-2201 > URL: https://issues.apache.org/jira/browse/TAP5-2201 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.4 >Reporter: Magnus Kvalheim >Assignee: Howard M. Lewis Ship > Labels: 5.4.22 > Attachments: bootstrap.server2.css, bootstrap.server3.css, > server2.png, server3.png > > > Hi everybody. > Today we've launched a website based on 5.4. We're very exited about the > upcoming release(5.4) and I'll post separately about our experiences (mostly > great). > Post release we've identified a potential serious issue related to assets and > their checksums. > What we see is that a handful of the assets generate different hashes for the > same file. > =Example: bootstrap.css= > Server 1: > /asset.gz/meta/92ffb14a/tapestry5/bootstrap_3_0_0/css/bootstrap.css > Server 2: > /asset.gz/meta/5787e482/tapestry5/bootstrap_3_0_0/css/bootstrap.css > Server 3: > /asset.gz/meta/f5e7c535/tapestry5/bootstrap_3_0_0/css/bootstrap.css > Server 3 - restart: > /asset.gz/meta/219ee41e/tapestry5/bootstrap_3_0_0/css/bootstrap.css > We also see the same behaviour for the non gzip version of bootstrap.css. > It is not only for /meta/ > =JCarouselWrapper.css= > /asset/app/f59da774/mixins/ui/JCarouselWrapper.css > /asset/app/6ddc92ee/mixins/ui/JCarouselWrapper.css > As you can see - we're load balanced with app served from several nodes. > Normally I'd serve these through CloudFront on a cookieless domain (with > tapestry as origin), but it's not possible as load balanced assets could hit > 'wrong' server and get the 404 instead. > So for now they are served through website domain with sticky sessions - and > pray that it don't cause us problems... :) > All are served with same web container: > Apache Tomcat/7.0.39 > JDK 1.7.0_11 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2306) Mixin parameters should be qualified (with the new 5.4 DTD)
[ https://issues.apache.org/jira/browse/TAP5-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971635#comment-13971635 ] ASF subversion and git services commented on TAP5-2306: --- Commit 401b29e7356a150059f96f7dc18a30d7d9a86291 in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=401b29e ] TAP5-2306: Change the logic to not create aliases for mixin parameters when the template is strict > Mixin parameters should be qualified (with the new 5.4 DTD) > --- > > Key: TAP5-2306 > URL: https://issues.apache.org/jira/browse/TAP5-2306 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.3, 5.4 >Reporter: Howard M. Lewis Ship >Assignee: Howard M. Lewis Ship > Labels: parameters, template > Fix For: 5.4 > > > Tapestry's current behavior, with the 5.3 DTD (and the current 5.4 DTD) is > that parameters are matched against any mixin, or the component, with a > formal parameter. > A problem exists when a mixin has a formal parameter and the component (or > other mixin) supports informal parameters; the mixin will "take" the > unqualified attribute as a parameter. > I think a better solution would be to require that mixin parameter names be > fully qualified, always. > Of course, there's more ambiguity in the Component annotations's parameters > parameter. > I would suggest that parameters be added to the Mixin annotation, and it > should be used inside a Mixins annotation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2306) Mixin parameters should be qualified (with the new 5.4 DTD)
[ https://issues.apache.org/jira/browse/TAP5-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971634#comment-13971634 ] ASF subversion and git services commented on TAP5-2306: --- Commit 1f0c7464c80e415a19825c612ca6b8139db6ba1e in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=1f0c746 ] TAP5-2306: Identify templates that should use strict mixin parameters > Mixin parameters should be qualified (with the new 5.4 DTD) > --- > > Key: TAP5-2306 > URL: https://issues.apache.org/jira/browse/TAP5-2306 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.3, 5.4 >Reporter: Howard M. Lewis Ship >Assignee: Howard M. Lewis Ship > Labels: parameters, template > Fix For: 5.4 > > > Tapestry's current behavior, with the 5.3 DTD (and the current 5.4 DTD) is > that parameters are matched against any mixin, or the component, with a > formal parameter. > A problem exists when a mixin has a formal parameter and the component (or > other mixin) supports informal parameters; the mixin will "take" the > unqualified attribute as a parameter. > I think a better solution would be to require that mixin parameter names be > fully qualified, always. > Of course, there's more ambiguity in the Component annotations's parameters > parameter. > I would suggest that parameters be added to the Mixin annotation, and it > should be used inside a Mixins annotation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2306) Mixin parameters should be qualified (with the new 5.4 DTD)
[ https://issues.apache.org/jira/browse/TAP5-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2306. -- Resolution: Fixed Fix Version/s: 5.4 > Mixin parameters should be qualified (with the new 5.4 DTD) > --- > > Key: TAP5-2306 > URL: https://issues.apache.org/jira/browse/TAP5-2306 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core >Affects Versions: 5.3, 5.4 >Reporter: Howard M. Lewis Ship >Assignee: Howard M. Lewis Ship > Labels: parameters, template > Fix For: 5.4 > > > Tapestry's current behavior, with the 5.3 DTD (and the current 5.4 DTD) is > that parameters are matched against any mixin, or the component, with a > formal parameter. > A problem exists when a mixin has a formal parameter and the component (or > other mixin) supports informal parameters; the mixin will "take" the > unqualified attribute as a parameter. > I think a better solution would be to require that mixin parameter names be > fully qualified, always. > Of course, there's more ambiguity in the Component annotations's parameters > parameter. > I would suggest that parameters be added to the Mixin annotation, and it > should be used inside a Mixins annotation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971688#comment-13971688 ] Jigar Joshi edited comment on TAP5-2214 at 4/16/14 5:23 PM: Any tentative date around when this would be available to 5.4 release ? Thanks was (Author: jigarjm): Any tentative dates around when this would be available to 5.4 release ? Thanks > Make tapestry5 java8 compatible > --- > > Key: TAP5-2214 > URL: https://issues.apache.org/jira/browse/TAP5-2214 > Project: Tapestry 5 > Issue Type: Improvement > Components: plastic >Affects Versions: 5.4 >Reporter: Joachim Van der Auwera >Assignee: Kalle Korhonen > Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, > 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, > plastic-5.3.7-mint-asm5-java8.jar > > > As it stands Tapestry does not work on java8. This seems to be caused by ASM. > Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971688#comment-13971688 ] Jigar Joshi commented on TAP5-2214: --- Any tentative dates around when this would be available to 5.4 release ? Thanks > Make tapestry5 java8 compatible > --- > > Key: TAP5-2214 > URL: https://issues.apache.org/jira/browse/TAP5-2214 > Project: Tapestry 5 > Issue Type: Improvement > Components: plastic >Affects Versions: 5.4 >Reporter: Joachim Van der Auwera >Assignee: Kalle Korhonen > Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, > 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, > plastic-5.3.7-mint-asm5-java8.jar > > > As it stands Tapestry does not work on java8. This seems to be caused by ASM. > Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2214. -- > Make tapestry5 java8 compatible > --- > > Key: TAP5-2214 > URL: https://issues.apache.org/jira/browse/TAP5-2214 > Project: Tapestry 5 > Issue Type: Improvement > Components: plastic >Affects Versions: 5.4 >Reporter: Joachim Van der Auwera >Assignee: Kalle Korhonen > Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, > 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, > plastic-5.3.7-mint-asm5-java8.jar > > > As it stands Tapestry does not work on java8. This seems to be caused by ASM. > Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971755#comment-13971755 ] Howard M. Lewis Ship commented on TAP5-2214: It should be present in 5.4-beta-4, a preview release. > Make tapestry5 java8 compatible > --- > > Key: TAP5-2214 > URL: https://issues.apache.org/jira/browse/TAP5-2214 > Project: Tapestry 5 > Issue Type: Improvement > Components: plastic >Affects Versions: 5.4 >Reporter: Joachim Van der Auwera >Assignee: Kalle Korhonen > Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, > 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, > plastic-5.3.7-mint-asm5-java8.jar > > > As it stands Tapestry does not work on java8. This seems to be caused by ASM. > Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
Lenny Primak created TAP5-2321: -- Summary: Tapestry 5.3.7 does not run with Java 8 Key: TAP5-2321 URL: https://issues.apache.org/jira/browse/TAP5-2321 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (TAP5-2320) Tapestry 5.3.7 does not run with Java 8
Lenny Primak created TAP5-2320: -- Summary: Tapestry 5.3.7 does not run with Java 8 Key: TAP5-2320 URL: https://issues.apache.org/jira/browse/TAP5-2320 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
[ https://issues.apache.org/jira/browse/TAP5-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971760#comment-13971760 ] Lenny Primak commented on TAP5-2321: Related Ticket: https://issues.apache.org/jira/browse/TAP5-2214 > Tapestry 5.3.7 does not run with Java 8 > --- > > Key: TAP5-2321 > URL: https://issues.apache.org/jira/browse/TAP5-2321 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic >Affects Versions: 5.3.7 >Reporter: Lenny Primak >Priority: Critical > > Tapestry 5.3.7 does not run on Java 8 due to ASM issues. > The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 > and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971761#comment-13971761 ] Jigar Joshi commented on TAP5-2214: --- Thanks! [~hlship], I read here as well: http://java.dzone.com/articles/closing-tapestry-54 any tentative date for {{5.4-release}} ? > Make tapestry5 java8 compatible > --- > > Key: TAP5-2214 > URL: https://issues.apache.org/jira/browse/TAP5-2214 > Project: Tapestry 5 > Issue Type: Improvement > Components: plastic >Affects Versions: 5.4 >Reporter: Joachim Van der Auwera >Assignee: Kalle Korhonen > Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, > 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, > plastic-5.3.7-mint-asm5-java8.jar > > > As it stands Tapestry does not work on java8. This seems to be caused by ASM. > Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
[ https://issues.apache.org/jira/browse/TAP5-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kalle Korhonen resolved TAP5-2321. -- Resolution: Duplicate Assignee: Kalle Korhonen TAP5-2214 Was merged to 5.3 branch: commit a0ac605dbd89f543b0396d747f5909e1ba38205b Author: kaosko Date: Tue Mar 25 11:29:43 2014 -0700 FIXED - TAP5-2214: Make tapestry5 java8 compatible - update ASM source to 5.0.1, should be jdk 1.5 compatible, see ASM bug "317132 ASM 5.0 do not supported JDK 1.5?" > Tapestry 5.3.7 does not run with Java 8 > --- > > Key: TAP5-2321 > URL: https://issues.apache.org/jira/browse/TAP5-2321 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic >Affects Versions: 5.3.7 >Reporter: Lenny Primak >Assignee: Kalle Korhonen >Priority: Critical > > Tapestry 5.3.7 does not run on Java 8 due to ASM issues. > The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 > and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
[ https://issues.apache.org/jira/browse/TAP5-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kalle Korhonen closed TAP5-2321. > Tapestry 5.3.7 does not run with Java 8 > --- > > Key: TAP5-2321 > URL: https://issues.apache.org/jira/browse/TAP5-2321 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic >Affects Versions: 5.3.7 >Reporter: Lenny Primak >Assignee: Kalle Korhonen >Priority: Critical > > Tapestry 5.3.7 does not run on Java 8 due to ASM issues. > The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 > and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-375) Provide some way to bind services without explicit binder.bind() calls or builder methods
[ https://issues.apache.org/jira/browse/TAP5-375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971888#comment-13971888 ] Basile Chandesris commented on TAP5-375: It seems already available via a module: https://github.com/anjlab/anjlab-tapestry-commons/tree/master/anjlab-tapestry-commons > Provide some way to bind services without explicit binder.bind() calls or > builder methods > - > > Key: TAP5-375 > URL: https://issues.apache.org/jira/browse/TAP5-375 > Project: Tapestry 5 > Issue Type: New Feature >Affects Versions: 5.0.16 >Reporter: Thiago H. de Paula Figueiredo >Priority: Minor > Labels: tapestry5-review-for-closing > > Full discussion at > http://www.nabble.com/Tapestry-IoC%3A-binding-service-without-code%2C-just-convention-over-configuration-td20585891.html. > I have been wondering about some ways to write even less configuration with > Tapestry-IoC and yet more convention over configuration. > > At first we had: > > public static void bind(ServiceBinder binder) { > binder.bind(Service.class, ServiceImplementation.class); > } > > Then, if ServiceImplementation is in the same package, we can write: > > public static void bind(ServiceBinder binder) { > binder.bind(Service.class); > } > > I'm thinking of not even have that binder.bind() call, automatically binding > services located in packages defined by some convention. How could I > implement that? Can we add services to a Registry or use ServiceBinder just > like we can use add objects to a service distributed configuration? I spent > some time looking at the Tapestry sources, but I couldn't find an answer. > > Another related funcionality I was thinking was to automatically provide some > well-know service implementations when no one was explicitly providaded. > Example: suppose we have the convention that every entity class must a > corresponding controller class. Then I want to provide a default controller > implementation for it if none is provided, because some components and pages > expect one controller instance for each entity class. How could I do that? > > My goal is to to have non-trivial zero configuration (or almost zero > configuration) applications in Tapestry, provided that they follow the > conventions. > Em Wed, 19 Nov 2008 15:31:16 -0300, Howard Lewis Ship > escreveu: > > Interesting idea. You could probably put something together around > > ClassNameLocator, i.e., a wrapper that given package names, find > > interfaces inside those packages that have matching Impl classes. i.e. > > > > public static void bind(ServiceBinder binder) > > { > > new AutoServiceBinder("my.package.root").bind(binder); > > } > How can I get a ClassNameLocator instance in bind(ServiceBinder binder)? > Trying to inject through public static void bind(ServiceBinder binder, > ClassNameLocator classNameLocator) does not work (method is never > invoked). It must be static, so I cannot use a constructor in my module > class. > And what about the creation of default implementation for unbound services? -- This message was sent by Atlassian JIRA (v6.2#6252)