[1/6] git commit: add a task to update the Bootstrap resources
Repository: tapestry-5 Updated Branches: refs/heads/master d2ccbe2df - ef7f9c43e add a task to update the Bootstrap resources Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1a4e8b08 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1a4e8b08 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1a4e8b08 Branch: refs/heads/master Commit: 1a4e8b087393e7a35eaa0e790b92bc78b1c2f474 Parents: d2ccbe2 Author: Jochen Kemnade jochen.kemn...@eddyson.de Authored: Mon Jun 30 10:19:07 2014 +0200 Committer: Jochen Kemnade jochen.kemn...@eddyson.de Committed: Mon Jun 30 10:19:07 2014 +0200 -- build.gradle | 41 + 1 file changed, 41 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1a4e8b08/build.gradle -- diff --git a/build.gradle b/build.gradle index e8948fc..1869f64 100755 --- a/build.gradle +++ b/build.gradle @@ -572,3 +572,44 @@ boolean checkJDK() { true } } + +task updateBootstrap { + def bootstrapVersion = '3.2.0' + def target = new File(temporaryDir, 'bootstrap.zip') + ant.get(src: https://github.com/twbs/bootstrap/archive/v${bootstrapVersion}.zip;, dest: target) + + def adjustDirectory = { + def relativePath = it.relativePath + if (relativePath.pathString.contains('/dist/')){ + relativePath = new RelativePath(!it.file.isDirectory(), relativePath.segments[2..-1] as String[]) + } else { + relativePath = new RelativePath(!it.file.isDirectory(), relativePath.segments[1..-1] as String[]) + } + println copying $it.relativePath to $relativePath + it.relativePath = relativePath + + } + + copy { +from(zipTree(target)){ +include('*/js/*.js') +include('*/dist/fonts/*') +include('*/dist/css/bootstrap.css') +include('*/dist/css/bootstrap-theme.css') + +eachFile adjustDirectory +} + into('tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/') + } + + copy { +from(zipTree(target)){ +include('*/js/*.js') +include('*/dist/fonts/*') +include('*/less/**/*.less') + +eachFile adjustDirectory +} +into('tapestry-webresources/src/test/webapp/bootstrap/') + } +} \ No newline at end of file
[6/6] git commit: update Bootstrap to 3.2.0
update Bootstrap to 3.2.0 Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ef7f9c43 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ef7f9c43 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ef7f9c43 Branch: refs/heads/master Commit: ef7f9c43ec4f8a4a7e76383c1877215e17d972a9 Parents: 1a4e8b0 Author: Jochen Kemnade jochen.kemn...@eddyson.de Authored: Mon Jun 30 10:29:50 2014 +0200 Committer: Jochen Kemnade jochen.kemn...@eddyson.de Committed: Mon Jun 30 10:29:50 2014 +0200 -- .../tapestry5/bootstrap/css/bootstrap-theme.css | 97 +- .../tapestry5/bootstrap/css/bootstrap.css | 5062 ++ .../assets/tapestry5/bootstrap/js/affix.js | 33 +- .../assets/tapestry5/bootstrap/js/alert.js | 16 +- .../assets/tapestry5/bootstrap/js/button.js | 19 +- .../assets/tapestry5/bootstrap/js/carousel.js | 80 +- .../assets/tapestry5/bootstrap/js/collapse.js | 44 +- .../assets/tapestry5/bootstrap/js/dropdown.js | 30 +- .../assets/tapestry5/bootstrap/js/modal.js | 95 +- .../assets/tapestry5/bootstrap/js/popover.js| 17 +- .../assets/tapestry5/bootstrap/js/scrollspy.js | 63 +- .../assets/tapestry5/bootstrap/js/tab.js| 19 +- .../assets/tapestry5/bootstrap/js/tooltip.js| 172 +- .../assets/tapestry5/bootstrap/js/transition.js | 25 +- .../src/test/webapp/bootstrap/js/affix.js | 33 +- .../src/test/webapp/bootstrap/js/alert.js | 16 +- .../src/test/webapp/bootstrap/js/button.js | 19 +- .../src/test/webapp/bootstrap/js/carousel.js| 80 +- .../src/test/webapp/bootstrap/js/collapse.js| 44 +- .../src/test/webapp/bootstrap/js/dropdown.js| 30 +- .../src/test/webapp/bootstrap/js/modal.js | 95 +- .../src/test/webapp/bootstrap/js/popover.js | 17 +- .../src/test/webapp/bootstrap/js/scrollspy.js | 63 +- .../src/test/webapp/bootstrap/js/tab.js | 19 +- .../src/test/webapp/bootstrap/js/tooltip.js | 172 +- .../src/test/webapp/bootstrap/js/transition.js | 25 +- .../src/test/webapp/bootstrap/less/alerts.less |7 +- .../src/test/webapp/bootstrap/less/badges.less | 36 +- .../test/webapp/bootstrap/less/bootstrap.less |5 +- .../webapp/bootstrap/less/button-groups.less| 18 +- .../src/test/webapp/bootstrap/less/buttons.less |2 - .../test/webapp/bootstrap/less/carousel.less| 19 +- .../src/test/webapp/bootstrap/less/code.less|7 +- .../bootstrap/less/component-animations.less| 10 +- .../test/webapp/bootstrap/less/dropdowns.less |2 + .../src/test/webapp/bootstrap/less/forms.less | 186 +- .../test/webapp/bootstrap/less/glyphicons.less | 10 +- .../webapp/bootstrap/less/input-groups.less |8 +- .../test/webapp/bootstrap/less/jumbotron.less |4 + .../src/test/webapp/bootstrap/less/labels.less |2 +- .../test/webapp/bootstrap/less/list-group.less | 23 +- .../src/test/webapp/bootstrap/less/mixins.less | 960 +--- .../webapp/bootstrap/less/mixins/alerts.less| 14 + .../less/mixins/background-variant.less |8 + .../bootstrap/less/mixins/border-radius.less| 18 + .../webapp/bootstrap/less/mixins/buttons.less | 50 + .../bootstrap/less/mixins/center-block.less |7 + .../webapp/bootstrap/less/mixins/clearfix.less | 22 + .../webapp/bootstrap/less/mixins/forms.less | 81 + .../webapp/bootstrap/less/mixins/gradients.less | 59 + .../bootstrap/less/mixins/grid-framework.less | 91 + .../test/webapp/bootstrap/less/mixins/grid.less | 122 + .../webapp/bootstrap/less/mixins/hide-text.less | 21 + .../webapp/bootstrap/less/mixins/image.less | 34 + .../webapp/bootstrap/less/mixins/labels.less| 12 + .../bootstrap/less/mixins/list-group.less | 29 + .../bootstrap/less/mixins/nav-divider.less | 10 + .../less/mixins/nav-vertical-align.less |9 + .../webapp/bootstrap/less/mixins/opacity.less |8 + .../bootstrap/less/mixins/pagination.less | 23 + .../webapp/bootstrap/less/mixins/panels.less| 24 + .../bootstrap/less/mixins/progress-bar.less | 10 + .../bootstrap/less/mixins/reset-filter.less |8 + .../webapp/bootstrap/less/mixins/resize.less|6 + .../less/mixins/responsive-visibility.less | 15 + .../test/webapp/bootstrap/less/mixins/size.less | 10 + .../webapp/bootstrap/less/mixins/tab-focus.less |9 + .../webapp/bootstrap/less/mixins/table-row.less | 28 + .../bootstrap/less/mixins/text-emphasis.less|8 + .../bootstrap/less/mixins/text-overflow.less|8 + .../bootstrap/less/mixins/vendor-prefixes.less | 224 + .../src/test/webapp/bootstrap/less/modals.less | 25 +- .../src/test/webapp/bootstrap/less/navbar.less | 43 +- .../src/test/webapp/bootstrap/less/navs.less|
[jira] [Assigned] (TAP5-2351) Missing Bootstrap CSS Source Map
[ https://issues.apache.org/jira/browse/TAP5-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade reassigned TAP5-2351: Assignee: Jochen Kemnade Missing Bootstrap CSS Source Map Key: TAP5-2351 URL: https://issues.apache.org/jira/browse/TAP5-2351 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Thilo Tanner Assignee: Jochen Kemnade Priority: Minor Labels: bootstrap The source map file (boostrap.css.map) for bootstrap.css is missing in the core stack. It could either be shipped with Tapestry or the reference at the end of bootstrap.css could be removed: /*# sourceMappingURL=bootstrap.css.map */ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2351) Missing Bootstrap CSS Source Map
[ https://issues.apache.org/jira/browse/TAP5-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047488#comment-14047488 ] Jochen Kemnade commented on TAP5-2351: -- If we wanted to support source maps with the current code, we'd have to rewrite both the {{# sourceMappingURL=...}} directive in the CSS as well as the source URLs in the source map file. I'm not sure if it's worth the effort. I think that we should remove the directive. Maybe we can revisit this after TAP5-2185. Missing Bootstrap CSS Source Map Key: TAP5-2351 URL: https://issues.apache.org/jira/browse/TAP5-2351 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Thilo Tanner Assignee: Jochen Kemnade Priority: Minor Labels: bootstrap The source map file (boostrap.css.map) for bootstrap.css is missing in the core stack. It could either be shipped with Tapestry or the reference at the end of bootstrap.css could be removed: /*# sourceMappingURL=bootstrap.css.map */ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2351) Missing Bootstrap CSS Source Map
[ https://issues.apache.org/jira/browse/TAP5-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047489#comment-14047489 ] Jochen Kemnade commented on TAP5-2351: -- Well, we could also rewrite the URLs during compile time... Missing Bootstrap CSS Source Map Key: TAP5-2351 URL: https://issues.apache.org/jira/browse/TAP5-2351 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Thilo Tanner Assignee: Jochen Kemnade Priority: Minor Labels: bootstrap The source map file (boostrap.css.map) for bootstrap.css is missing in the core stack. It could either be shipped with Tapestry or the reference at the end of bootstrap.css could be removed: /*# sourceMappingURL=bootstrap.css.map */ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2351) Missing Bootstrap CSS Source Map
[ https://issues.apache.org/jira/browse/TAP5-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047547#comment-14047547 ] Thilo Tanner commented on TAP5-2351: I suggest to find a solution for TAP5-2185 first (keep this issue in mind). Rewriting the URL smells a little bit like a workaround. Let me know, if I can help with something. Missing Bootstrap CSS Source Map Key: TAP5-2351 URL: https://issues.apache.org/jira/browse/TAP5-2351 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Thilo Tanner Assignee: Jochen Kemnade Priority: Minor Labels: bootstrap The source map file (boostrap.css.map) for bootstrap.css is missing in the core stack. It could either be shipped with Tapestry or the reference at the end of bootstrap.css could be removed: /*# sourceMappingURL=bootstrap.css.map */ -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: TAP5-1515 : Support for external assets
Repository: tapestry-5 Updated Branches: refs/heads/master ef7f9c43e - 37a801d97 TAP5-1515 : Support for external assets Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/37a801d9 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/37a801d9 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/37a801d9 Branch: refs/heads/master Commit: 37a801d975de8d76c3123c3a9b14efda56db7d10 Parents: ef7f9c4 Author: Thiago H. de Paula Figueiredo thiag...@apache.org Authored: Mon Jun 30 15:08:27 2014 -0300 Committer: Thiago H. de Paula Figueiredo thiag...@apache.org Committed: Mon Jun 30 15:08:27 2014 -0300 -- .../tapestry5/internal/AssetConstants.java | 16 +++ .../internal/services/AssetSourceImpl.java | 58 +- .../services/ExternalUrlAssetFactory.java | 70 .../tapestry5/internal/services/UrlAsset.java | 44 .../internal/services/UrlResource.java | 112 +++ .../apache/tapestry5/modules/AssetsModule.java | 4 + .../tapestry5/integration/app1/AssetTests.java | 12 ++ .../app1/pages/nested/AssetDemo.java| 22 +++- .../integration/app1/services/AppModule.java| 8 +- .../integration/app1/pages/nested/AssetDemo.tml | 14 +++ 10 files changed, 353 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/37a801d9/tapestry-core/src/main/java/org/apache/tapestry5/internal/AssetConstants.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/AssetConstants.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/AssetConstants.java index 7ea1431..647b3b6 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/AssetConstants.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/AssetConstants.java @@ -14,6 +14,9 @@ package org.apache.tapestry5.internal; +import java.net.MalformedURLException; +import java.net.URL; + /** * Defines constants for the two basic asset prefixes. * @@ -26,4 +29,17 @@ public class AssetConstants /** For assets that are stored in the classpath (i.e., inside 3rd party component library JARs). */ public static final String CLASSPATH = classpath; + +/** For assets that are external (stored in another service) and have a non-secure URL (http://...) */ +public static final String HTTP = http; + +/** For assets that are external (stored in another service) and have a secure URL (https://...) */ +public static final String HTTPS = https; + +/** For assets that are external (stored in another service) and have a protocol-relative URL (//...) */ +public static final String PROTOCOL_RELATIVE = //; + +/** For assets that are external (stored in another service) and stored in a publicly available FTP server (ftp://...) */ +public static final String FTP = ftp; + } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/37a801d9/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java index cd9b4af..bac9e0c 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java @@ -31,9 +31,14 @@ import org.apache.tapestry5.ioc.services.ThreadLocale; import org.apache.tapestry5.ioc.util.StrategyRegistry; import org.apache.tapestry5.services.AssetFactory; import org.apache.tapestry5.services.AssetSource; +import org.apache.tapestry5.services.Request; import org.slf4j.Logger; import java.lang.ref.SoftReference; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Arrays; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.WeakHashMap; @@ -42,6 +47,10 @@ import java.util.concurrent.atomic.AtomicBoolean; @SuppressWarnings(all) public class AssetSourceImpl extends LockSupport implements AssetSource { + +private final ListString EXTERNAL_URL_PREFIXES = Arrays.asList( +AssetConstants.HTTP, AssetConstants.HTTPS, AssetConstants.PROTOCOL_RELATIVE, AssetConstants.FTP); + private final StrategyRegistryAssetFactory registry; private final ThreadLocale threadLocale; @@ -57,15 +66,29 @@ public class AssetSourceImpl extends LockSupport implements AssetSource private final AtomicBoolean firstWarning = new AtomicBoolean(true); private final
[jira] [Commented] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047922#comment-14047922 ] ASF subversion and git services commented on TAP5-1515: --- Commit 37a801d975de8d76c3123c3a9b14efda56db7d10 in tapestry-5's branch refs/heads/master from [~thiagohp] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=37a801d ] TAP5-1515 : Support for external assets Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiago H. de Paula Figueiredo updated TAP5-1515: Labels: month-of-tapestry (was: ) Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo Labels: month-of-tapestry It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: TAP5-1515 : Support for external assets (more tests)
Repository: tapestry-5 Updated Branches: refs/heads/master 37a801d97 - d150c3c73 TAP5-1515 : Support for external assets (more tests) Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/d150c3c7 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/d150c3c7 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/d150c3c7 Branch: refs/heads/master Commit: d150c3c73366c0ccd7447813fad2dba9e032d35b Parents: 37a801d Author: Thiago H. de Paula Figueiredo thiag...@apache.org Authored: Mon Jun 30 15:32:02 2014 -0300 Committer: Thiago H. de Paula Figueiredo thiag...@apache.org Committed: Mon Jun 30 15:32:02 2014 -0300 -- .../tapestry5/integration/app1/AssetTests.java | 11 +++ .../app1/pages/nested/AssetDemo.java| 1 + .../integration/app1/services/AppModule.java| 2 +- .../integration/app1/pages/nested/AssetDemo.js | 13 + .../integration/app1/pages/nested/AssetDemo.tml | 20 +++- 5 files changed, 41 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d150c3c7/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java -- diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java index 6848223..6e69fad 100644 --- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java +++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java @@ -60,10 +60,13 @@ public class AssetTests extends App1TestCase { openLinks(AssetDemo); -assertEquals(http://cdnjs.cloudflare.com/ajax/libs/d3/3.4.8/d3.js;, getText(httpAsset)); -assertEquals(https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.8/d3.js;, getText(httpsAsset)); -assertEquals(http://cdnjs.cloudflare.com/ajax/libs/d3/3.4.8/d3.js;, getText(protocolRelativeAsset)); -assertEquals(ftp://cdnjs.cloudflare.com/ajax/libs/d3/3.4.8/d3.js;, getText(ftpAsset)); +assertEquals(http://cdnjs.cloudflare.com/ajax/libs/d3/3.0.0/d3.js;, getText(httpAsset)); +assertEquals(https://cdnjs.cloudflare.com/ajax/libs/d3/3.0.0/d3.js;, getText(httpsAsset)); +assertEquals(http://cdnjs.cloudflare.com/ajax/libs/d3/3.0.0/d3.js;, getText(protocolRelativeAsset)); +assertEquals(ftp://cdnjs.cloudflare.com/ajax/libs/d3/3.0.0/d3.js;, getText(ftpAsset)); + +// check whether externaly @Import'ed d3 works +assertTrue(isElementPresent(css=svg)); } private void compareDownloadedAsset(String assetURL, String localPath) throws Exception http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d150c3c7/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java -- diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java index e2b3705..57a049f 100644 --- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java +++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java @@ -28,6 +28,7 @@ import org.apache.tapestry5.services.javascript.StylesheetOptions; * Primarily used to demonstrate that assets can be localized and exposed to the client, this has grown to also * demonstrate the use of the {@link Import} annotation. */ +@Import(library = {http://${d3.url};, AssetDemo.js}) public class AssetDemo { @Property http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d150c3c7/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java -- diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java index 85e0fcc..7b3d1fa 100644 --- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java +++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java @@ -154,7 +154,7 @@ public class AppModule // This is the emphasis of testing at this point. configuration.add(SymbolConstants.JAVASCRIPT_INFRASTRUCTURE_PROVIDER, jquery); -configuration.add(D3_URL_SYMBOL, cdnjs.cloudflare.com/ajax/libs/d3/3.4.8/d3.js); +configuration.add(D3_URL_SYMBOL,
[jira] [Commented] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047951#comment-14047951 ] ASF subversion and git services commented on TAP5-1515: --- Commit d150c3c73366c0ccd7447813fad2dba9e032d35b in tapestry-5's branch refs/heads/master from [~thiagohp] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=d150c3c ] TAP5-1515 : Support for external assets (more tests) Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo Labels: month-of-tapestry It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: TAP5-1515 : Support for external assets (some code improvements)
Repository: tapestry-5 Updated Branches: refs/heads/master d150c3c73 - d9a795f1a TAP5-1515 : Support for external assets (some code improvements) Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/d9a795f1 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/d9a795f1 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/d9a795f1 Branch: refs/heads/master Commit: d9a795f1a90e4994a1b64658caf94ba58e9da623 Parents: d150c3c Author: Thiago H. de Paula Figueiredo thiag...@apache.org Authored: Mon Jun 30 15:46:46 2014 -0300 Committer: Thiago H. de Paula Figueiredo thiag...@apache.org Committed: Mon Jun 30 15:46:46 2014 -0300 -- .../internal/services/AssetSourceImpl.java| 3 ++- .../integration/app1/pages/nested/AssetDemo.java | 2 +- .../integration/app1/pages/nested/AssetDemo.tml | 18 -- 3 files changed, 3 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d9a795f1/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java index bac9e0c..140b32b 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java @@ -173,7 +173,8 @@ public class AssetSourceImpl extends LockSupport implements AssetSource String url; if (prefix.equals(AssetConstants.PROTOCOL_RELATIVE)) { -url = (request != null request.isSecure() ? https: : http:) + expanded; +url = (request != null request.isSecure() ? https: : http:) + expanded; +url = url.replace(//:, //); } else { http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d9a795f1/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java -- diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java index 57a049f..ca77f76 100644 --- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java +++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java @@ -28,7 +28,7 @@ import org.apache.tapestry5.services.javascript.StylesheetOptions; * Primarily used to demonstrate that assets can be localized and exposed to the client, this has grown to also * demonstrate the use of the {@link Import} annotation. */ -@Import(library = {http://${d3.url};, AssetDemo.js}) +@Import(library = {//:${d3.url}, AssetDemo.js}) public class AssetDemo { @Property http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d9a795f1/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml -- diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml index 6a4f8e7..68bc425 100644 --- a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml +++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml @@ -83,24 +83,6 @@ Using d3, loaded directly from a CDN using external asset support (example from http://christopheviau.com/d3_tutorial/): /p -script type=text/javascript - -var sampleSVG = d3.select(#viz) -.append(svg) -.attr(width, 100) -.attr(height, 100); - -sampleSVG.append(circle) -.style(stroke, gray) -.style(fill, white) -.attr(r, 40) -.attr(cx, 50) -.attr(cy, 50) -.on(mouseover, function(){d3.select(this).style(fill, aliceblue);}) -.on(mouseout, function(){d3.select(this).style(fill, white);}); - -/script - div id=viz/ /html \ No newline at end of file
[jira] [Commented] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047971#comment-14047971 ] Thiago H. de Paula Figueiredo commented on TAP5-1515: - I implemented it in a little different way. As it's about assets, a new binding wouldn't help, so I wrote a new AssetFactory to handle that. In addition, instead of using an url or uri prefix, you use it directly: @Import(library=https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js}. http, https, and ftp are supported. In addition, //:example.com/example.js is also supported. In this case, it'll generate an http://example.com/example.js URL if the page was requested through HTTP and https://example.com/example.js if through HTTPS. Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo Labels: month-of-tapestry It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiago H. de Paula Figueiredo resolved TAP5-1515. - Resolution: Fixed Fix Version/s: 5.4 Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo Labels: month-of-tapestry Fix For: 5.4 It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047981#comment-14047981 ] Hudson commented on TAP5-1515: -- SUCCESS: Integrated in tapestry-trunk-freestyle #1267 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1267/]) TAP5-1515 : Support for external assets (thiagohp: rev 37a801d975de8d76c3123c3a9b14efda56db7d10) * tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ExternalUrlAssetFactory.java * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/UrlResource.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/AssetConstants.java * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/UrlAsset.java * tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java TAP5-1515 : Support for external assets (more tests) (thiagohp: rev d150c3c73366c0ccd7447813fad2dba9e032d35b) * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AssetTests.java * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java * tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.js * tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo Labels: month-of-tapestry Fix For: 5.4 It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2032) GenericsUtils does not handle generics properly when extracting the actual type
[ https://issues.apache.org/jira/browse/TAP5-2032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14047990#comment-14047990 ] Thiago H. de Paula Figueiredo commented on TAP5-2032: - Could you please provide all the classes involved? There are pieces missing and the description above is confusing. In addition, could you please try with the latest 5.4 beta? Some problems in GenericUtils were fixed in the last couple of years. GenericsUtils does not handle generics properly when extracting the actual type --- Key: TAP5-2032 URL: https://issues.apache.org/jira/browse/TAP5-2032 Project: Tapestry 5 Issue Type: Bug Components: tapestry-ioc Affects Versions: 5.3.6 Reporter: DI Florian Hackenberger Assignee: Thiago H. de Paula Figueiredo We have the following interfaces / classes public interface IPersonWithRoleAssociationA extends IEntityAssociationWithInfoA, Person { PersonRole getRole(); void setRole(PersonRole role); } public interface IEntityAssociationWithInfoP, C { P getParent(); void setParent(P parent); C getChild(); void setChild(C child); } public class Person implements Serializable { String name; public String getName() { return name; } } and the page: public class EditPersonsWithRoles { @Property(write=false) IPersonWithRoleAssociationA personWithRole; } and the template snippet: t:textfield t:id=personSex t:value=personWithRole.child.name/ Leads to the following exception: Exception generating conduit for expression 'personWithRole.child.name': ... ... Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.tapestry5.ioc.internal.util.GenericsUtils.resolve(GenericsUtils.java:388) ~[tapestry-ioc-5.3.6.jar:na] at org.apache.tapestry5.ioc.internal.util.GenericsUtils.resolve(GenericsUtils.java:128) ~[tapestry-ioc-5.3.6.jar:na] at org.apache.tapestry5.ioc.internal.util.GenericsUtils.extractActualType(GenericsUtils.java:74) ~[tapestry-ioc-5.3.6.jar:na] at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.buildGetterMethodAccessTerm(PropertyConduitSourceImpl.java:1119) ~[tapestry-core-5.3.6.jar:na] At GenericsUtils.java:388 we have: resolved = ((ParameterizedType) t).getActualTypeArguments()[i]; where: i = 1 resolved = C ((ParameterizedType) t).getActualTypeArguments() = [org.topfive.entities.IPersonWithRoleAssociationP] so the problem seems to be that the code assumes that it can find the type information for C as the second generic parameter for IPersonWithRoleAssociation, when in fact is is the second generic parameter for the superclass IEntityAssociationWithInfo which IPersonWithRoleAssociation extends and passes C explicitly (Person). Everything is fine, if I use a marker interface for Person (IPerson) and declare: public interface IPersonWithRoleAssociationA, P extends IPerson extends IEntityAssociationWithInfoA, P -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2351) Missing Bootstrap CSS Source Map
[ https://issues.apache.org/jira/browse/TAP5-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048114#comment-14048114 ] Howard M. Lewis Ship commented on TAP5-2351: The option is either to rewrite the URL, or leave it as is, but perform a redirect when the incorrect content hash code arrives in a request. I suppose parsing the carefully formatted comment would not be such a problem, but this is to my mind a bit of an edge case. Missing Bootstrap CSS Source Map Key: TAP5-2351 URL: https://issues.apache.org/jira/browse/TAP5-2351 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Thilo Tanner Assignee: Jochen Kemnade Priority: Minor Labels: bootstrap The source map file (boostrap.css.map) for bootstrap.css is missing in the core stack. It could either be shipped with Tapestry or the reference at the end of bootstrap.css could be removed: /*# sourceMappingURL=bootstrap.css.map */ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (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:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2201. -- Resolution: Not a Problem I think from the summary here, it is really a CloudFront issue complicated by other factors. Tapestry, at the very least, allows you to switch off the problematic subsystems (such as GZip). 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)
git commit: TAP5-1290: Add required flag to @ActivationRequestParameter annotation
Repository: tapestry-5 Updated Branches: refs/heads/master d9a795f1a - 7a2f98c8e TAP5-1290: Add required flag to @ActivationRequestParameter annotation Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/7a2f98c8 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/7a2f98c8 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/7a2f98c8 Branch: refs/heads/master Commit: 7a2f98c8edb9c0ab90b664e38ab82d420e0f446c Parents: d9a795f Author: Howard M. Lewis Ship hls...@apache.org Authored: Mon Jun 30 14:08:51 2014 -0700 Committer: Howard M. Lewis Ship hls...@apache.org Committed: Mon Jun 30 14:09:03 2014 -0700 -- .../annotations/ActivationRequestParameter.java | 12 .../transform/ActivationRequestParameterWorker.java | 16 .../app1/ActivationRequestParameterTests.groovy | 11 +-- .../tapestry5/integration/app1/pages/Index.java | 2 ++ .../integration/app1/pages/MissingRequiredARP.java | 9 + 5 files changed, 40 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7a2f98c8/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java index d5f8086..f7e264d 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java @@ -1,5 +1,3 @@ -// Copyright 2010, 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 @@ -47,7 +45,7 @@ import org.apache.tapestry5.services.ValueEncoderSource; * Fields annotated with ActivationRequestParameter are emnot/em considered persistent (its a process parallel to the one * related to the {@link Persist} annotation). Invoking {@link ComponentResources#discardPersistentFieldChanges()} will * emnot/em affect annotated fields, only assigning them back to null will. - * + * * @see RequestParameter * @see ValueEncoder */ @@ -62,5 +60,11 @@ public @interface ActivationRequestParameter /** The name of the query parameter, which defaults to the name of the field. */ String value() default ; -// TODO: Attributes to limit it to just render links, or just component event links? +/** + * If true then a null value is an error. If false, then a null value will result in no update to the field. Either way, + * a null field value will result in no query parameter added to a {@linkplain org.apache.tapestry5.Link generated link}. + * + * @since 5.4 + */ +boolean required() default false; } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7a2f98c8/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java index 29afeef..55dfee0 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java @@ -1,5 +1,3 @@ -// 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 @@ -19,6 +17,7 @@ import org.apache.tapestry5.Link; import org.apache.tapestry5.ValueEncoder; import org.apache.tapestry5.annotations.ActivationRequestParameter; import org.apache.tapestry5.internal.services.ComponentClassCache; +import org.apache.tapestry5.ioc.internal.util.TapestryException; import org.apache.tapestry5.ioc.util.IdAllocator; import org.apache.tapestry5.model.MutableComponentModel; import org.apache.tapestry5.plastic.FieldHandle; @@ -86,7 +85,7 @@ public class ActivationRequestParameterWorker implements ComponentClassTransform String fieldName = String.format(%s.%s, field.getPlasticClass().getClassName(), field.getName()); -setValueFromInitializeEventHandler(support, fieldName, handle, parameterName, encoder,
[jira] [Commented] (TAP5-1290) Add required flag to @ActivationRequestParameter annotation
[ https://issues.apache.org/jira/browse/TAP5-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048168#comment-14048168 ] ASF subversion and git services commented on TAP5-1290: --- Commit 7a2f98c8edb9c0ab90b664e38ab82d420e0f446c in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=7a2f98c ] TAP5-1290: Add required flag to @ActivationRequestParameter annotation Add required flag to @ActivationRequestParameter annotation --- Key: TAP5-1290 URL: https://issues.apache.org/jira/browse/TAP5-1290 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.2 Environment: Tapestry 5.2.0 alpha Reporter: Vjeran Marcinko Assignee: Howard M. Lewis Ship Fix For: 5.4 It would be really nice to have required argument in @ActivationRequestParameter so one doesn't have to check it manually before page rendering begins. I guess many people such as me, who don't care about RESTful URLs, will find @ActivationRequestParameter much easier way to pass render parameters than standard activation context, not just because it offers naming and optionality, but also because one have clean separation between parameter setting process (through this annotation) and preprocessing logic needed for some pages (placed in onActivate, such as security check or other mutli page preprocesing logic; request filters is sometimes too cumbersome way to achieve the same). Required flag would be nice addition to make it truly top-level way to pass render params. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-1290) Add required flag to @ActivationRequestParameter annotation
[ https://issues.apache.org/jira/browse/TAP5-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1290. -- Resolution: Fixed Fix Version/s: 5.4 Add required flag to @ActivationRequestParameter annotation --- Key: TAP5-1290 URL: https://issues.apache.org/jira/browse/TAP5-1290 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.2 Environment: Tapestry 5.2.0 alpha Reporter: Vjeran Marcinko Assignee: Howard M. Lewis Ship Fix For: 5.4 It would be really nice to have required argument in @ActivationRequestParameter so one doesn't have to check it manually before page rendering begins. I guess many people such as me, who don't care about RESTful URLs, will find @ActivationRequestParameter much easier way to pass render parameters than standard activation context, not just because it offers naming and optionality, but also because one have clean separation between parameter setting process (through this annotation) and preprocessing logic needed for some pages (placed in onActivate, such as security check or other mutli page preprocesing logic; request filters is sometimes too cumbersome way to achieve the same). Required flag would be nice addition to make it truly top-level way to pass render params. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-1946) When a request is being processed under SPDY protocol, compression should be disabled
[ https://issues.apache.org/jira/browse/TAP5-1946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1946. -- Resolution: Won't Fix When a request is being processed under SPDY protocol, compression should be disabled - Key: TAP5-1946 URL: https://issues.apache.org/jira/browse/TAP5-1946 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: jetty, spdy SPDY is a protocol implemented by Jetty (on the server side) and some versions of FF and Chrome that allows for secure, multiplexed, compressed, async communication. Tapestry should detect when the request originates over a SPDY connection, and not attempt to compress content, as SPDY incorporates compression directly. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-1515) Support for external assets
[ https://issues.apache.org/jira/browse/TAP5-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048184#comment-14048184 ] Hudson commented on TAP5-1515: -- SUCCESS: Integrated in tapestry-trunk-freestyle #1268 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1268/]) TAP5-1515 : Support for external assets (some code improvements) (thiagohp: rev d9a795f1a90e4994a1b64658caf94ba58e9da623) * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java * tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml Support for external assets --- Key: TAP5-1515 URL: https://issues.apache.org/jira/browse/TAP5-1515 Project: Tapestry 5 Issue Type: New Feature Components: tapestry-core Reporter: Hugo Palma Assignee: Thiago H. de Paula Figueiredo Labels: month-of-tapestry Fix For: 5.4 It would be great if an external asset (url based) could be referenced from Tapestry. For example, i may want to include a CDN asset in an Import annotation in a component. One resolution suggestion would be to introduce an uri prefix, something like: @Import(library = { uri:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js; }) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-1290) Add required flag to @ActivationRequestParameter annotation
[ https://issues.apache.org/jira/browse/TAP5-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048183#comment-14048183 ] Hudson commented on TAP5-1290: -- SUCCESS: Integrated in tapestry-trunk-freestyle #1268 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1268/]) TAP5-1290: Add required flag to @ActivationRequestParameter annotation (hlship: rev 7a2f98c8edb9c0ab90b664e38ab82d420e0f446c) * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MissingRequiredARP.java * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java * tapestry-core/src/main/java/org/apache/tapestry5/annotations/ActivationRequestParameter.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ActivationRequestParameterWorker.java * tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/ActivationRequestParameterTests.groovy Add required flag to @ActivationRequestParameter annotation --- Key: TAP5-1290 URL: https://issues.apache.org/jira/browse/TAP5-1290 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.2 Environment: Tapestry 5.2.0 alpha Reporter: Vjeran Marcinko Assignee: Howard M. Lewis Ship Fix For: 5.4 It would be really nice to have required argument in @ActivationRequestParameter so one doesn't have to check it manually before page rendering begins. I guess many people such as me, who don't care about RESTful URLs, will find @ActivationRequestParameter much easier way to pass render parameters than standard activation context, not just because it offers naming and optionality, but also because one have clean separation between parameter setting process (through this annotation) and preprocessing logic needed for some pages (placed in onActivate, such as security check or other mutli page preprocesing logic; request filters is sometimes too cumbersome way to achieve the same). Required flag would be nice addition to make it truly top-level way to pass render params. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-954) URLRewriting only applys to component event and page render requests, not to asset requests
[ https://issues.apache.org/jira/browse/TAP5-954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-954. - Resolution: Won't Fix The service AssetPathConstructor is (at least from 5.4 on) a central hub for generating asset URLs; decorating or replacing this service provides an opportunity to replace such URLs, perhaps by prefixing with the address of a CDN. URLRewriting only applys to component event and page render requests, not to asset requests --- Key: TAP5-954 URL: https://issues.apache.org/jira/browse/TAP5-954 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Since you don't get a chance to manipulate asset requests when rendered, you have to know to exclude them when processing an incoming request. This is one more step (and one more bit of background knowledge needed) to hide the T5 application under a new URL (/t5 prefix for everything). -- This message was sent by Atlassian JIRA (v6.2#6252)
[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tapestry-5
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tapestry-5 Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/3b8fe942 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/3b8fe942 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/3b8fe942 Branch: refs/heads/master Commit: 3b8fe942b1ce903e7084aa24cb8eb5ac5db2fbc9 Parents: b35cd7e 7a2f98c Author: Thiago H. de Paula Figueiredo thiag...@apache.org Authored: Mon Jun 30 19:04:09 2014 -0300 Committer: Thiago H. de Paula Figueiredo thiag...@apache.org Committed: Mon Jun 30 19:04:09 2014 -0300 -- .../annotations/ActivationRequestParameter.java | 12 .../transform/ActivationRequestParameterWorker.java | 16 .../app1/ActivationRequestParameterTests.groovy | 11 +-- .../tapestry5/integration/app1/pages/Index.java | 2 ++ .../integration/app1/pages/MissingRequiredARP.java | 9 + 5 files changed, 40 insertions(+), 10 deletions(-) --
[1/2] git commit: TAP5-2292 : Autocomplete Mixin shows only 5 suggestions
Repository: tapestry-5 Updated Branches: refs/heads/master 7a2f98c8e - 3b8fe942b TAP5-2292 : Autocomplete Mixin shows only 5 suggestions Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b35cd7e3 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b35cd7e3 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b35cd7e3 Branch: refs/heads/master Commit: b35cd7e3e5e0939e841189efe5c40d64f4d6186e Parents: d9a795f Author: Thiago H. de Paula Figueiredo thiag...@apache.org Authored: Mon Jun 30 19:03:21 2014 -0300 Committer: Thiago H. de Paula Figueiredo thiag...@apache.org Committed: Mon Jun 30 19:03:21 2014 -0300 -- .../META-INF/modules/t5/core/autocomplete.coffee | 1 + .../org/apache/tapestry5/corelib/mixins/Autocomplete.java| 8 +++- tapestry-core/src/test/app1/AutocompleteDemo.tml | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b35cd7e3/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/autocomplete.coffee -- diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/autocomplete.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/autocomplete.coffee index 7dbb2da..1a33e94 100644 --- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/autocomplete.coffee +++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/autocomplete.coffee @@ -23,6 +23,7 @@ define [./dom, ./ajax, jquery, ./utils, ./typeahead], $field.typeahead minLength: spec.minChars +limit: spec.limit remote: url: spec.url replace: (uri, query) - extendURL uri, t:input: query http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b35cd7e3/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java index 7fce141..074ce88 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java @@ -91,6 +91,12 @@ public class Autocomplete private String tokens; /** + * Maximum number of suggestions shown in the UI. It maps to Typeahead's limit option. Default value: 5. + */ +@Parameter(5) +private int maxSuggestions; + +/** * The context for the providecompletions event. * This list of values will be converted into strings and included in * the URI. The strings will be coerced back to whatever their values are and made available to event handler @@ -122,7 +128,7 @@ public class Autocomplete Link link = resources.createEventLink(EVENT_NAME, context); JSONObject spec = new JSONObject(id, field.getClientId(), -url, link.toString()).put(minChars, minChars); +url, link.toString()).put(minChars, minChars).put(limit, maxSuggestions); jsSupport.require(t5/core/autocomplete).with(spec); } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b35cd7e3/tapestry-core/src/test/app1/AutocompleteDemo.tml -- diff --git a/tapestry-core/src/test/app1/AutocompleteDemo.tml b/tapestry-core/src/test/app1/AutocompleteDemo.tml index 918ed85..b74074f 100644 --- a/tapestry-core/src/test/app1/AutocompleteDemo.tml +++ b/tapestry-core/src/test/app1/AutocompleteDemo.tml @@ -5,7 +5,7 @@ t:errors/ -t:textfield t:id=title t:mixins=autocomplete,formgroup tokens=,; size=60/ +t:textfield t:id=title t:mixins=autocomplete,formgroup tokens=,; maxSuggestions=10 size=60/ t:textfield t:id=withContext t:mixins=autocomplete,formgroup context=context/ div class=form-actions
[jira] [Commented] (TAP5-2292) Autocomplete Mixin shows only 5 suggestions
[ https://issues.apache.org/jira/browse/TAP5-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048228#comment-14048228 ] ASF subversion and git services commented on TAP5-2292: --- Commit b35cd7e3e5e0939e841189efe5c40d64f4d6186e in tapestry-5's branch refs/heads/master from [~thiagohp] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=b35cd7e ] TAP5-2292 : Autocomplete Mixin shows only 5 suggestions Autocomplete Mixin shows only 5 suggestions --- Key: TAP5-2292 URL: https://issues.apache.org/jira/browse/TAP5-2292 Project: Tapestry 5 Issue Type: Wish Affects Versions: 5.4 Reporter: yiannis pericleous Assignee: Thiago H. de Paula Figueiredo Labels: autocomplete, typeahead Typeahead, which is used by the autocomplete mixin by default limits the results shown to 5. The mixin provides no way of setting the limit parameter in typeahead. The fix is simple, introduce a 'limit' parameter in the mixin, and in autocomplete.js do something like: return $field.typeahead({ minLength: spec.minChars, limit: spec.limit, remote: { -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (TAP5-2292) Autocomplete Mixin shows only 5 suggestions
[ https://issues.apache.org/jira/browse/TAP5-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiago H. de Paula Figueiredo resolved TAP5-2292. - Resolution: Fixed Fix Version/s: 5.4 Added maxSuggestions parameter to the Autocomplete mixin. Default value: 5. Autocomplete Mixin shows only 5 suggestions --- Key: TAP5-2292 URL: https://issues.apache.org/jira/browse/TAP5-2292 Project: Tapestry 5 Issue Type: Wish Affects Versions: 5.4 Reporter: yiannis pericleous Assignee: Thiago H. de Paula Figueiredo Labels: autocomplete, typeahead Fix For: 5.4 Typeahead, which is used by the autocomplete mixin by default limits the results shown to 5. The mixin provides no way of setting the limit parameter in typeahead. The fix is simple, introduce a 'limit' parameter in the mixin, and in autocomplete.js do something like: return $field.typeahead({ minLength: spec.minChars, limit: spec.limit, remote: { -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: TAP5-2083: Failing to load asset / stylesheet with @Import annotation in subclassed component
Repository: tapestry-5 Updated Branches: refs/heads/master 3b8fe942b - 64ef39cf2 TAP5-2083: Failing to load asset / stylesheet with @Import annotation in subclassed component Fixes use of @Import and @Inject @Path in a base class vs. a subclass (as long as the assets are stored in META-INF/assets). Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/64ef39cf Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/64ef39cf Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/64ef39cf Branch: refs/heads/master Commit: 64ef39cf2a2eacf94f70487a704254cc34733116 Parents: 3b8fe94 Author: Howard M. Lewis Ship hls...@apache.org Authored: Mon Jun 30 15:48:16 2014 -0700 Committer: Howard M. Lewis Ship hls...@apache.org Committed: Mon Jun 30 15:48:27 2014 -0700 -- 54_RELEASE_NOTES.md| 6 ++ .../internal/bindings/AssetBindingFactory.java | 4 +--- .../internal/services/AssetInjectionProvider.java | 8 +--- .../internal/services/AssetSourceImpl.java | 6 ++ .../tapestry5/internal/transform/ImportWorker.java | 14 +++--- .../org/apache/tapestry5/services/AssetSource.java | 14 +++--- .../integration/app1/AtImportTests.groovy | 9 - .../integration/app1/pages/LogoSubclass.java | 7 +++ .../integration/locallib/alpha/pages/Logo.groovy | 13 + .../tapestry5/integration/app1/pages/Index.java| 1 + .../META-INF/assets/lib/alpha/feature.jpg | Bin 0 - 25956 bytes .../META-INF/assets/lib/alpha/show-logo.js | 1 + .../integration/locallib/alpha/pages/Logo.tml | 12 13 files changed, 74 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/64ef39cf/54_RELEASE_NOTES.md -- diff --git a/54_RELEASE_NOTES.md b/54_RELEASE_NOTES.md index eda173b..4c80c5d 100644 --- a/54_RELEASE_NOTES.md +++ b/54_RELEASE_NOTES.md @@ -71,6 +71,12 @@ Tapestry 5.4 introduces a new module, tapestry-webresources, which provides supp CoffeeScript into JavaScript, Less into CSS, and for minimizing CSS and JavaScript. All processing takes place at runtime. +Tapestry now properly handles the case for a base class referencing assets that is subclassed into a +different library (or subclasses from a library to the application). As long as the new location, under +`META-INF/assets`, is used, then Tapestry will locate the base class asset inside the subfolder +corresponding the the base class' library. In prior releases, the resolution was against the +subclass' library, which would fail. + ## FormGroup Mixin This new mixin for Field components adds the outer `div class=form-group` and `label` elements for a Field http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/64ef39cf/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/AssetBindingFactory.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/AssetBindingFactory.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/AssetBindingFactory.java index df5207f..c0f532e 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/AssetBindingFactory.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/AssetBindingFactory.java @@ -1,5 +1,3 @@ -// Copyright 2007, 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 @@ -43,7 +41,7 @@ public class AssetBindingFactory implements BindingFactory // sub-class gets instantiated, because relative path for the asset should be relative to the // base class, but will instead by relative to the subclass. -Asset asset = source.getComponentAsset(container, expression); +Asset asset = source.getComponentAsset(container, expression, container.getComponentModel().getLibraryName()); return new AssetBinding(location, description, asset); } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/64ef39cf/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetInjectionProvider.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetInjectionProvider.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetInjectionProvider.java index 2dd0742..d429da0 100644 ---
[jira] [Commented] (TAP5-2083) Failing to load asset / stylesheet with @Import annotation in subclassed component
[ https://issues.apache.org/jira/browse/TAP5-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048272#comment-14048272 ] ASF subversion and git services commented on TAP5-2083: --- Commit 64ef39cf2a2eacf94f70487a704254cc34733116 in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=64ef39c ] TAP5-2083: Failing to load asset / stylesheet with @Import annotation in subclassed component Fixes use of @Import and @Inject @Path in a base class vs. a subclass (as long as the assets are stored in META-INF/assets). Failing to load asset / stylesheet with @Import annotation in subclassed component -- Key: TAP5-2083 URL: https://issues.apache.org/jira/browse/TAP5-2083 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Felix Gonschorek Assignee: Howard M. Lewis Ship Labels: tapestry-core, tapestry5 Fix For: 5.4 Attachments: tapestry-test-2013-03-08.zip Importing a stylesheet with the @Import annotation fails, when subclassing a component which is in a different folder: tapestry tries to load the asset in the folder of the subclassed component instead of the folder, where the class resides where the @Import annotation is put on. Going to attach a test -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2083) Failing to load asset / stylesheet with @Import annotation in subclassed component
[ https://issues.apache.org/jira/browse/TAP5-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2083. -- Resolution: Fixed Fix Version/s: 5.4 Failing to load asset / stylesheet with @Import annotation in subclassed component -- Key: TAP5-2083 URL: https://issues.apache.org/jira/browse/TAP5-2083 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Felix Gonschorek Assignee: Howard M. Lewis Ship Labels: tapestry-core, tapestry5 Fix For: 5.4 Attachments: tapestry-test-2013-03-08.zip Importing a stylesheet with the @Import annotation fails, when subclassing a component which is in a different folder: tapestry tries to load the asset in the folder of the subclassed component instead of the folder, where the class resides where the @Import annotation is put on. Going to attach a test -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Assigned] (TAP5-841) DateField selects wrong date if client is in a different timezone than the server
[ https://issues.apache.org/jira/browse/TAP5-841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship reassigned TAP5-841: - Assignee: (was: Howard M. Lewis Ship) DateField selects wrong date if client is in a different timezone than the server - Key: TAP5-841 URL: https://issues.apache.org/jira/browse/TAP5-841 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4, 5.1.0.5 Reporter: David Rees Attachments: T5.3-DateField-Patch.txt This affects 5.0.18 and 5.1.0.5 in my testing. Situation is that if the server is running in a different timezone than the client, the DateField chooser will select the wrong date on the calendar. For example, if the server is running in Pacific/Auckland and the client is running in America/Los_Angeles, Auckland is a day ahead of Los Angeles for most of the time and the bug is easy to reproduce. Right now it is 3:40PM Sep 8, 2009 America/Los_Angeles and 10:40AM Sep 9, 2009 Pacific/Auckland. If the date on the server to be displayed by the DateField is Sep 9, 2009, when you select the date chooser, Sep 8, 2009 is selected in the JavaScript calendar dialog. I found this message which seems to indicate that Howard thought it might be an issue - looks like he was correct: http://www.nabble.com/Re%3A-Tapestry-5.0.15-DateField-localization-problem--patch-included--p20033325.html -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-902) GridDataSource does not allow performing less than 2 queries if returning results
[ https://issues.apache.org/jira/browse/TAP5-902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048295#comment-14048295 ] Howard M. Lewis Ship commented on TAP5-902: --- The issue is that prepare() needs to know the number of available rows in order to calculate values for startIndex and endIndex. The two queries issue is unavoidable if we want to handle very large result sets. I'm sure a smart implementation could, for small result sets, do a single query, then provide a subset of the results. GridDataSource does not allow performing less than 2 queries if returning results - Key: TAP5-902 URL: https://issues.apache.org/jira/browse/TAP5-902 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Dan Adams Assignee: Howard M. Lewis Ship By having getAvailableRows() and prepare() separate, any implementation is forced to perform 2 queries. Many systems allow getting the results of a query and the total count in one query so that you don't have to perform 2 queries. Getting around this requires some pretty gross hacks (unless you just don't use grid at all which is unfortunate). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-902) GridDataSource does not allow performing less than 2 queries if returning results
[ https://issues.apache.org/jira/browse/TAP5-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-902. - Resolution: Won't Fix See comments; there is no single good fix that combined a single query (for small result sets) with scalability (for very large result sets). GridDataSource does not allow performing less than 2 queries if returning results - Key: TAP5-902 URL: https://issues.apache.org/jira/browse/TAP5-902 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Dan Adams Assignee: Howard M. Lewis Ship By having getAvailableRows() and prepare() separate, any implementation is forced to perform 2 queries. Many systems allow getting the results of a query and the total count in one query so that you don't have to perform 2 queries. Getting around this requires some pretty gross hacks (unless you just don't use grid at all which is unfortunate). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2139) When an exception occurs during minification, the asset should be sent unminimized
[ https://issues.apache.org/jira/browse/TAP5-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048303#comment-14048303 ] Howard M. Lewis Ship commented on TAP5-2139: The challenge is meshing these requirements with those concerning minimization of stacks. I'm going to research what it would take to mark an entire stack as non-minimizable; this would allow assets to be isolated from minimization effectively. When an exception occurs during minification, the asset should be sent unminimized -- Key: TAP5-2139 URL: https://issues.apache.org/jira/browse/TAP5-2139 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-webresources Affects Versions: 5.4 Reporter: Jochen Kemnade Assignee: Howard M. Lewis Ship The current closure compiler version fails to minimize angular.js (https://github.com/angular/angular.js/issues/1304). A WroRuntimeException is thrown from GoogleClosureCompressorProcessor which is not handled, so the asset is not sent to the client at all. When an asset cannot be minimized for whatever reason, Tapestry should just send the original asset. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2083) Failing to load asset / stylesheet with @Import annotation in subclassed component
[ https://issues.apache.org/jira/browse/TAP5-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048311#comment-14048311 ] Hudson commented on TAP5-2083: -- FAILURE: Integrated in tapestry-trunk-freestyle #1269 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1269/]) TAP5-2083: Failing to load asset / stylesheet with @Import annotation in subclassed component (hlship: rev 64ef39cf2a2eacf94f70487a704254cc34733116) * tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java * tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AtImportTests.groovy * tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetInjectionProvider.java * 54_RELEASE_NOTES.md * tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LogoSubclass.java * tapestry-core/src/test/groovy/org/apache/tapestry5/integration/locallib/alpha/pages/Logo.groovy * tapestry-core/src/test/resources/META-INF/assets/lib/alpha/show-logo.js * tapestry-core/src/main/java/org/apache/tapestry5/internal/bindings/AssetBindingFactory.java * tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AssetSourceImpl.java * tapestry-core/src/test/resources/org/apache/tapestry5/integration/locallib/alpha/pages/Logo.tml * tapestry-core/src/test/resources/META-INF/assets/lib/alpha/feature.jpg * tapestry-core/src/main/java/org/apache/tapestry5/services/AssetSource.java Failing to load asset / stylesheet with @Import annotation in subclassed component -- Key: TAP5-2083 URL: https://issues.apache.org/jira/browse/TAP5-2083 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Felix Gonschorek Assignee: Howard M. Lewis Ship Labels: tapestry-core, tapestry5 Fix For: 5.4 Attachments: tapestry-test-2013-03-08.zip Importing a stylesheet with the @Import annotation fails, when subclassing a component which is in a different folder: tapestry tries to load the asset in the folder of the subclassed component instead of the folder, where the class resides where the @Import annotation is put on. Going to attach a test -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2292) Autocomplete Mixin shows only 5 suggestions
[ https://issues.apache.org/jira/browse/TAP5-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14048312#comment-14048312 ] Hudson commented on TAP5-2292: -- FAILURE: Integrated in tapestry-trunk-freestyle #1269 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/1269/]) TAP5-2292 : Autocomplete Mixin shows only 5 suggestions (thiagohp: rev b35cd7e3e5e0939e841189efe5c40d64f4d6186e) * tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java * tapestry-core/src/test/app1/AutocompleteDemo.tml * tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/autocomplete.coffee Autocomplete Mixin shows only 5 suggestions --- Key: TAP5-2292 URL: https://issues.apache.org/jira/browse/TAP5-2292 Project: Tapestry 5 Issue Type: Wish Affects Versions: 5.4 Reporter: yiannis pericleous Assignee: Thiago H. de Paula Figueiredo Labels: autocomplete, typeahead Fix For: 5.4 Typeahead, which is used by the autocomplete mixin by default limits the results shown to 5. The mixin provides no way of setting the limit parameter in typeahead. The fix is simple, introduce a 'limit' parameter in the mixin, and in autocomplete.js do something like: return $field.typeahead({ minLength: spec.minChars, limit: spec.limit, remote: { -- This message was sent by Atlassian JIRA (v6.2#6252)