[1/6] git commit: add a task to update the Bootstrap resources

2014-06-30 Thread jkemnade
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

2014-06-30 Thread jkemnade
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

2014-06-30 Thread Jochen Kemnade (JIRA)

 [ 
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

2014-06-30 Thread Jochen Kemnade (JIRA)

[ 
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

2014-06-30 Thread Jochen Kemnade (JIRA)

[ 
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

2014-06-30 Thread Thilo Tanner (JIRA)

[ 
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

2014-06-30 Thread thiagohp
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

2014-06-30 Thread ASF subversion and git services (JIRA)

[ 
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

2014-06-30 Thread Thiago H. de Paula Figueiredo (JIRA)

 [ 
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)

2014-06-30 Thread thiagohp
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

2014-06-30 Thread ASF subversion and git services (JIRA)

[ 
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)

2014-06-30 Thread thiagohp
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

2014-06-30 Thread Thiago H. de Paula Figueiredo (JIRA)

[ 
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

2014-06-30 Thread Thiago H. de Paula Figueiredo (JIRA)

 [ 
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

2014-06-30 Thread Hudson (JIRA)

[ 
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

2014-06-30 Thread Thiago H. de Paula Figueiredo (JIRA)

[ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

[ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread hlship
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

2014-06-30 Thread ASF subversion and git services (JIRA)

[ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread Hudson (JIRA)

[ 
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

2014-06-30 Thread Hudson (JIRA)

[ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread thiagohp
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

2014-06-30 Thread thiagohp
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

2014-06-30 Thread ASF subversion and git services (JIRA)

[ 
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

2014-06-30 Thread Thiago H. de Paula Figueiredo (JIRA)

 [ 
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

2014-06-30 Thread hlship
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

2014-06-30 Thread ASF subversion and git services (JIRA)

[ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

[ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

 [ 
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

2014-06-30 Thread Howard M. Lewis Ship (JIRA)

[ 
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

2014-06-30 Thread Hudson (JIRA)

[ 
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

2014-06-30 Thread Hudson (JIRA)

[ 
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)