[2/2] git commit: TAP-2299: update Gradle wrapper to 1.12-rc-2 make groovy a testCompile dependency

2014-04-26 Thread jkemnade
TAP-2299: update Gradle wrapper to 1.12-rc-2
make groovy a testCompile dependency


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/fc9c89ac
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/fc9c89ac
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/fc9c89ac

Branch: refs/heads/master
Commit: fc9c89ac762a7adac80d7368c62a15817fd9656a
Parents: 9612824
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 11:08:35 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 11:08:35 2014 +0200

--
 build.gradle | 4 ++--
 gradle/wrapper/gradle-wrapper.properties | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/fc9c89ac/build.gradle
--
diff --git a/build.gradle b/build.gradle
index ce85b86..bf5c708 100755
--- a/build.gradle
+++ b/build.gradle
@@ -172,7 +172,7 @@ subprojects {
 eclipse.classpath.plusConfigurations += configurations.provided
 
 dependencies {
-compile org.codehaus.groovy:groovy-all:${versions.groovy}
+testCompile org.codehaus.groovy:groovy-all:${versions.groovy}
 
 deployerJars org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-6
 
@@ -397,7 +397,7 @@ task continuousIntegration {
 }
 
 task wrapper(type: Wrapper) {
-gradleVersion = '1.12-rc-1'
+gradleVersion = '1.12-rc-2'
 description Regenerates the Gradle Wrapper files
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/fc9c89ac/gradle/wrapper/gradle-wrapper.properties
--
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 0cb679b..495d7b7 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Apr 20 02:35:03 CEST 2014
+#Sat Apr 26 11:07:48 CEST 2014
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-rc-1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-rc-2-bin.zip



[1/2] git commit: updated build to gradle-1.12-rc-1

2014-04-26 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 536013cb4 - fc9c89ac7


updated build to gradle-1.12-rc-1

- updated wrapper
- use `compile` configuration instead of deprecated `groovy` configuration for 
groovy dependency
- use `maven` syntax instead of deprecated `mavenRepo` syntax
- `idea.project` should only be configured for root project


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/9612824b
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/9612824b
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/9612824b

Branch: refs/heads/master
Commit: 9612824b363ac16e6f1fe85a72a6692db4ed983a
Parents: 536013c
Author: Peter Niederwieser pnied...@gmail.com
Authored: Sun Apr 20 03:04:56 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 11:03:46 2014 +0200

--
 build.gradle|  27 ++-
 gradle/wrapper/gradle-wrapper.jar   | Bin 46707 - 51357 bytes
 gradle/wrapper/gradle-wrapper.properties|   4 +--
 .../filtered/archetype-resources/build.gradle   |  26 +-
 tapestry-jpa/build.gradle   |   5 +++-
 5 files changed, 40 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9612824b/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 36d96f3..ce85b86 100755
--- a/build.gradle
+++ b/build.gradle
@@ -91,16 +91,9 @@ allprojects {
 mavenCentral()
 
 // All things JBoss/Hibernate
-mavenRepo name: JBoss, url: 
https://repository.jboss.org/nexus/content/repositories/releases/;
-}
-
-idea {
-project {
-// Leave at 1.5 to make sure that IDEA doesn't break the build for 
non-IDEA users by inserting
-// @Override on implementations all over the place.
-languageLevel = 1.5
-// But this is what most (all?) of the devs are actually using:
-jdkName = 1.7
+maven {
+name JBoss
+url 
https://repository.jboss.org/nexus/content/repositories/releases/;
 }
 }
 
@@ -111,6 +104,16 @@ allprojects {
 
 }
 
+idea {
+project {
+// Leave at 1.5 to make sure that IDEA doesn't break the build for 
non-IDEA users by inserting
+// @Override on implementations all over the place.
+languageLevel = 1.5
+// But this is what most (all?) of the devs are actually using:
+jdkName = 1.7
+}
+}
+
 // Specific to top-level build, not set for subprojects:
 
 configurations {
@@ -169,7 +172,7 @@ subprojects {
 eclipse.classpath.plusConfigurations += configurations.provided
 
 dependencies {
-groovy org.codehaus.groovy:groovy-all:${versions.groovy}
+compile org.codehaus.groovy:groovy-all:${versions.groovy}
 
 deployerJars org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-6
 
@@ -394,7 +397,7 @@ task continuousIntegration {
 }
 
 task wrapper(type: Wrapper) {
-gradleVersion = '1.3'
+gradleVersion = '1.12-rc-1'
 description Regenerates the Gradle Wrapper files
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9612824b/gradle/wrapper/gradle-wrapper.jar
--
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
index b6b646b..722a83e 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and 
b/gradle/wrapper/gradle-wrapper.jar differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9612824b/gradle/wrapper/gradle-wrapper.properties
--
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 36e7a7d..0cb679b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Dec 20 19:06:17 CET 2012
+#Sun Apr 20 02:35:03 CEST 2014
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-rc-1-bin.zip

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9612824b/quickstart/filtered/archetype-resources/build.gradle
--
diff --git a/quickstart/filtered/archetype-resources/build.gradle 
b/quickstart/filtered/archetype-resources/build.gradle
index 6a82d70..5182455 100644
--- a/quickstart/filtered/archetype-resources/build.gradle
+++ 

[09/10] git commit: TAP5-2315: remove obsolete upload.js asset and import

2014-04-26 Thread jkemnade
TAP5-2315: remove obsolete upload.js asset and import


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/6ef3fba3
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/6ef3fba3
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/6ef3fba3

Branch: refs/heads/master
Commit: 6ef3fba394440c066baf11fa915cec90c4b68001
Parents: 7202a3b
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 13:43:18 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 13:43:18 2014 +0200

--
 .../tapestry5/upload/components/Upload.java |  5 
 .../tapestry5/upload/components/upload.js   | 27 
 2 files changed, 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6ef3fba3/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
--
diff --git 
a/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
 
b/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
index db92161..e6c5bcc 100755
--- 
a/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
+++ 
b/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
@@ -64,11 +64,6 @@ public class Upload extends AbstractField
 @Mixin
 private RenderDisabled renderDisabled;
 
-@Inject
-@Path(upload.js)
-private Asset uploadScript;
-
-
 /**
  * Computes a default value for the validate parameter using {@link 
FieldValidatorDefaultSource}.
  */

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6ef3fba3/tapestry-upload/src/main/resources/org/apache/tapestry5/upload/components/upload.js
--
diff --git 
a/tapestry-upload/src/main/resources/org/apache/tapestry5/upload/components/upload.js
 
b/tapestry-upload/src/main/resources/org/apache/tapestry5/upload/components/upload.js
deleted file mode 100644
index 650eccc..000
--- 
a/tapestry-upload/src/main/resources/org/apache/tapestry5/upload/components/upload.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2012 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * Ensures that the encoding type of the containing form is 
multipart/form-data when an Upload
- * component is dynamically added to the form via Ajax.
- */
-Tapestry.Initializer.injectedUpload = function(element)
-{  
-var form = $(element).form; 
-if (form)
-{
-form.enctype = multipart/form-data;
-form.encoding = multipart/form-data;
-} 
-}
\ No newline at end of file



[04/10] git commit: TAP5-2317: fix a StackOverflowError when counting a large flow

2014-04-26 Thread jkemnade
TAP5-2317: fix a StackOverflowError when counting a large flow


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/602f43f5
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/602f43f5
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/602f43f5

Branch: refs/heads/master
Commit: 602f43f5441a7f0309a712130587e3433c959448
Parents: d8ec30d
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 13:19:09 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 13:19:09 2014 +0200

--
 .../main/java/org/apache/tapestry5/func/AbstractFlow.java   | 9 -
 .../src/test/java/org/apache/tapestry5/func/FuncTest.java   | 8 
 2 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/602f43f5/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
--
diff --git 
a/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java 
b/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
index 9a5eb5b..e657c41 100644
--- a/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
+++ b/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
@@ -213,7 +213,14 @@ abstract class AbstractFlowT implements FlowT
 
 public int count()
 {
-return isEmpty() ? 0 : 1 + rest().count();
+if (isEmpty()){
+return 0;
+}
+int count = 0;
+for(FlowT flow = this; flow != null  !flow.isEmpty(); flow = 
flow.rest()){
+count++;
+}
+return count;
 }
 
 public FlowT take(int length)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/602f43f5/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
--
diff --git 
a/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java 
b/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
index 7bf527a..a9f2dc6 100644
--- a/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
+++ b/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
@@ -571,6 +571,14 @@ public class FuncTest extends BaseFuncTest
 }
 
 @Test
+public void count_of_a_large_flow()
+{
+FlowInteger flow = F.series(1, 1).take(5);
+
+assertEquals(flow.count(), 5);
+}
+
+@Test
 public void concat_empty_list()
 {
 FlowInteger flow = F.flow(1, 3);



[08/10] git commit: TAP5-2289: Update Bootstrap to 3.1.1, update Less4j to 1.5.3

2014-04-26 Thread jkemnade
TAP5-2289: Update Bootstrap to 3.1.1, update Less4j to 1.5.3


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/7202a3bb
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/7202a3bb
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/7202a3bb

Branch: refs/heads/master
Commit: 7202a3bb288a9a6bcfaf122fc146dc9c0385e39c
Parents: 602f43f
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 13:21:59 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 13:21:59 2014 +0200

--
 .../tapestry5/bootstrap/css/bootstrap-theme.css |   2 +-
 .../tapestry5/bootstrap/css/bootstrap.css   | 536 +--
 .../fonts/glyphicons-halflings-regular.eot  | Bin 20290 - 20335 bytes
 .../fonts/glyphicons-halflings-regular.svg  |  94 ++--
 .../fonts/glyphicons-halflings-regular.ttf  | Bin 41236 - 41280 bytes
 .../fonts/glyphicons-halflings-regular.woff | Bin 23292 - 23320 bytes
 .../assets/tapestry5/bootstrap/js/affix.js  |   2 +-
 .../assets/tapestry5/bootstrap/js/alert.js  |   2 +-
 .../assets/tapestry5/bootstrap/js/button.js |   2 +-
 .../assets/tapestry5/bootstrap/js/carousel.js   |   2 +-
 .../assets/tapestry5/bootstrap/js/collapse.js   |   2 +-
 .../assets/tapestry5/bootstrap/js/dropdown.js   |   2 +-
 .../assets/tapestry5/bootstrap/js/modal.js  |   2 +-
 .../assets/tapestry5/bootstrap/js/popover.js|   2 +-
 .../assets/tapestry5/bootstrap/js/scrollspy.js  |   2 +-
 .../assets/tapestry5/bootstrap/js/tab.js|   2 +-
 .../assets/tapestry5/bootstrap/js/tooltip.js|   2 +-
 .../assets/tapestry5/bootstrap/js/transition.js |   2 +-
 tapestry-webresources/build.gradle  |   2 +-
 .../fonts/glyphicons-halflings-regular.eot  | Bin 20290 - 20335 bytes
 .../fonts/glyphicons-halflings-regular.svg  |  94 ++--
 .../fonts/glyphicons-halflings-regular.ttf  | Bin 41236 - 41280 bytes
 .../fonts/glyphicons-halflings-regular.woff | Bin 23292 - 23320 bytes
 .../src/test/webapp/bootstrap/js/affix.js   |   2 +-
 .../src/test/webapp/bootstrap/js/alert.js   |   2 +-
 .../src/test/webapp/bootstrap/js/button.js  |   2 +-
 .../src/test/webapp/bootstrap/js/carousel.js|   2 +-
 .../src/test/webapp/bootstrap/js/collapse.js|   2 +-
 .../src/test/webapp/bootstrap/js/dropdown.js|   2 +-
 .../src/test/webapp/bootstrap/js/modal.js   |   2 +-
 .../src/test/webapp/bootstrap/js/popover.js |   2 +-
 .../src/test/webapp/bootstrap/js/scrollspy.js   |   2 +-
 .../src/test/webapp/bootstrap/js/tab.js |   2 +-
 .../src/test/webapp/bootstrap/js/tooltip.js |   2 +-
 .../src/test/webapp/bootstrap/js/transition.js  |   2 +-
 .../src/test/webapp/bootstrap/less/alerts.less  |   0
 .../src/test/webapp/bootstrap/less/badges.less  |   0
 .../test/webapp/bootstrap/less/bootstrap.less   |   0
 .../test/webapp/bootstrap/less/breadcrumbs.less |   0
 .../webapp/bootstrap/less/button-groups.less|   6 +-
 .../src/test/webapp/bootstrap/less/buttons.less |   8 +-
 .../test/webapp/bootstrap/less/carousel.less|   6 +-
 .../src/test/webapp/bootstrap/less/close.less   |   0
 .../src/test/webapp/bootstrap/less/code.less|   0
 .../bootstrap/less/component-animations.less|   0
 .../test/webapp/bootstrap/less/dropdowns.less   |   0
 .../src/test/webapp/bootstrap/less/forms.less   |  25 +-
 .../test/webapp/bootstrap/less/glyphicons.less  |   0
 .../src/test/webapp/bootstrap/less/grid.less|  24 +-
 .../webapp/bootstrap/less/input-groups.less |   5 +
 .../test/webapp/bootstrap/less/jumbotron.less   |   0
 .../src/test/webapp/bootstrap/less/labels.less  |   0
 .../test/webapp/bootstrap/less/list-group.less  |   0
 .../src/test/webapp/bootstrap/less/media.less   |   0
 .../src/test/webapp/bootstrap/less/mixins.less  |  33 +-
 .../src/test/webapp/bootstrap/less/modals.less  |   5 +-
 .../src/test/webapp/bootstrap/less/navbar.less  |   2 +-
 .../src/test/webapp/bootstrap/less/navs.less|   0
 .../test/webapp/bootstrap/less/normalize.less   |   0
 .../src/test/webapp/bootstrap/less/pager.less   |   0
 .../test/webapp/bootstrap/less/pagination.less  |   0
 .../src/test/webapp/bootstrap/less/panels.less  |  97 ++--
 .../test/webapp/bootstrap/less/popovers.less|  22 +-
 .../src/test/webapp/bootstrap/less/print.less   |   0
 .../webapp/bootstrap/less/progress-bars.less|   0
 .../bootstrap/less/responsive-utilities.less|  13 +-
 .../test/webapp/bootstrap/less/scaffolding.less |   0
 .../src/test/webapp/bootstrap/less/tables.less  |   0
 .../src/test/webapp/bootstrap/less/theme.less   |   0
 .../test/webapp/bootstrap/less/thumbnails.less  |   2 +-
 .../src/test/webapp/bootstrap/less/tooltip.less |   0
 .../src/test/webapp/bootstrap/less/type.less|   7 +-
 .../test/webapp/bootstrap/less/utilities.less   |   0
 

[05/10] TAP5-2289: Update Bootstrap to 3.1.1, update Less4j to 1.5.3

2014-04-26 Thread jkemnade
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7202a3bb/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
--
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
old mode 100755
new mode 100644
index ae746d8..71723db
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins.less
@@ -54,8 +54,7 @@
 
 // Placeholder text
 .placeholder(@color: @input-color-placeholder) {
-  :-moz-placeholder{ color: @color; } // Firefox 4-18
-  ::-moz-placeholder   { color: @color;   // Firefox 19+
+  ::-moz-placeholder   { color: @color;   // Firefox
   opacity: 1; } // See 
https://github.com/twbs/bootstrap/pull/11526
   :-ms-input-placeholder   { color: @color; } // Internet Explorer 10+
   ::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
@@ -253,7 +252,6 @@
   -webkit-user-select: @select;
  -moz-user-select: @select;
   -ms-user-select: @select; // IE10+
-   -o-user-select: @select;
   user-select: @select;
 }
 
@@ -629,10 +627,7 @@
 }
 
 .responsive-invisibility() {
-,
-  tr,
-  th,
-  td { display: none !important; }
+  display: none !important;
 }
 
 
@@ -796,7 +791,7 @@
   .col(1); // kickstart it
 }
 
-.make-grid-columns-float(@class) {
+.float-grid-columns(@class) {
   .col(@index) when (@index = 1) { // initial
 @item: ~.col-@{class}-@{index};
 .col((@index + 1), @item);
@@ -813,34 +808,42 @@
   .col(1); // kickstart it
 }
 
-.calc-grid(@index, @class, @type) when (@type = width) and (@index  0) {
+.calc-grid-column(@index, @class, @type) when (@type = width) and (@index  0) 
{
   .col-@{class}-@{index} {
 width: percentage((@index / @grid-columns));
   }
 }
-.calc-grid(@index, @class, @type) when (@type = push) {
+.calc-grid-column(@index, @class, @type) when (@type = push) {
   .col-@{class}-push-@{index} {
 left: percentage((@index / @grid-columns));
   }
 }
-.calc-grid(@index, @class, @type) when (@type = pull) {
+.calc-grid-column(@index, @class, @type) when (@type = pull) {
   .col-@{class}-pull-@{index} {
 right: percentage((@index / @grid-columns));
   }
 }
-.calc-grid(@index, @class, @type) when (@type = offset) {
+.calc-grid-column(@index, @class, @type) when (@type = offset) {
   .col-@{class}-offset-@{index} {
 margin-left: percentage((@index / @grid-columns));
   }
 }
 
 // Basic looping in LESS
-.make-grid(@index, @class, @type) when (@index = 0) {
-  .calc-grid(@index, @class, @type);
+.loop-grid-columns(@index, @class, @type) when (@index = 0) {
+  .calc-grid-column(@index, @class, @type);
   // next iteration
-  .make-grid((@index - 1), @class, @type);
+  .loop-grid-columns((@index - 1), @class, @type);
 }
 
+// Create grid for specific class
+.make-grid(@class) {
+  .float-grid-columns(@class);
+  .loop-grid-columns(@grid-columns, @class, width);
+  .loop-grid-columns(@grid-columns, @class, pull);
+  .loop-grid-columns(@grid-columns, @class, push);
+  .loop-grid-columns(@grid-columns, @class, offset);
+}
 
 // Form validation states
 //

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7202a3bb/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
--
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
old mode 100755
new mode 100644
index e7f3d72..21cdee0
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
@@ -121,7 +121,6 @@
 
 // Scale up the modal
 @media (min-width: @screen-sm-min) {
-
   // Automatically set modal's width for larger viewports
   .modal-dialog {
 width: @modal-md;
@@ -133,6 +132,8 @@
 
   // Modal sizes
   .modal-sm { width: @modal-sm; }
-  .modal-lg { width: @modal-lg; }
+}
 
+@media (min-width: @screen-md-min) {
+  .modal-lg { width: @modal-lg; }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7202a3bb/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
--
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
old mode 100755
new mode 100644
index ddb67b9..8c4c210
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
@@ -155,7 +155,7 @@
   padding: @navbar-padding-vertical @navbar-padding-horizontal;
   font-size: @font-size-large;
   line-height: @line-height-computed;
-  height: @line-height-computed;
+  height: @navbar-height;
 
   :hover,
   :focus 

[01/10] git commit: upgrade Selenium to 2.41.0

2014-04-26 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master fc9c89ac7 - 138414faf


upgrade Selenium to 2.41.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/4e0c0307
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4e0c0307
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4e0c0307

Branch: refs/heads/master
Commit: 4e0c030722d522de169bf7a5815ea6bf136ca208
Parents: fc9c89a
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 12:48:43 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 12:48:43 2014 +0200

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4e0c0307/build.gradle
--
diff --git a/build.gradle b/build.gradle
index bf5c708..b4f4563 100755
--- a/build.gradle
+++ b/build.gradle
@@ -20,7 +20,7 @@ project.ext.versions = [
 slf4j: 1.7.2,
 wro4j: 1.7.0,
 geb: 0.9.0,
-selenium: 2.37.1
+selenium: 2.41.0
 ]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean(ci)



[10/10] git commit: re-enable the integration tests in tapestry-upload

2014-04-26 Thread jkemnade
re-enable the integration tests in tapestry-upload


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/138414fa
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/138414fa
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/138414fa

Branch: refs/heads/master
Commit: 138414fafd3c835b3aaa705cc095952c82ec3058
Parents: 6ef3fba
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 13:43:56 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 13:43:56 2014 +0200

--
 tapestry-upload/src/test/conf/testng.xml  | 5 ++---
 .../tapestry5/upload/integration/UploadIntegrationTest.java   | 7 +++
 2 files changed, 5 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/138414fa/tapestry-upload/src/test/conf/testng.xml
--
diff --git a/tapestry-upload/src/test/conf/testng.xml 
b/tapestry-upload/src/test/conf/testng.xml
index 6e63873..a6ed192 100755
--- a/tapestry-upload/src/test/conf/testng.xml
+++ b/tapestry-upload/src/test/conf/testng.xml
@@ -17,12 +17,11 @@
 
 suite name=Tapesty Upload Component parallel=false annotations=1.5 
verbose=2
 test name=Tapesty Upload Component
-parameter name=tapestry.integration-webapp value=src/test/webapp/
+parameter name=tapestry.web-app-folder value=src/test/webapp/
 packages
 package name=org.apache.tapestry5.upload.components/
 package name=org.apache.tapestry5.upload.internal.services/
-!-- One day might be able to run this too --
-!--package name=org.apache.tapestry5.upload.integration/--
+package name=org.apache.tapestry5.upload.integration/
 /packages
 /test
 /suite

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/138414fa/tapestry-upload/src/test/java/org/apache/tapestry5/upload/integration/UploadIntegrationTest.java
--
diff --git 
a/tapestry-upload/src/test/java/org/apache/tapestry5/upload/integration/UploadIntegrationTest.java
 
b/tapestry-upload/src/test/java/org/apache/tapestry5/upload/integration/UploadIntegrationTest.java
index 2819995..81f308e 100755
--- 
a/tapestry-upload/src/test/java/org/apache/tapestry5/upload/integration/UploadIntegrationTest.java
+++ 
b/tapestry-upload/src/test/java/org/apache/tapestry5/upload/integration/UploadIntegrationTest.java
@@ -22,9 +22,6 @@ import org.testng.annotations.Test;
 import java.io.File;
 import java.io.IOException;
 
-/**
- * TODO: These tests wont work because Selenium cannot enter values for input 
type=file'
- */
 public class UploadIntegrationTest extends SeleniumTestCase
 {
 
@@ -44,7 +41,7 @@ public class UploadIntegrationTest extends SeleniumTestCase
 }
 }
 
-@Test(enabled = false)
+@Test
 public void integration_test() throws Exception
 {
 
@@ -52,7 +49,9 @@ public class UploadIntegrationTest extends SeleniumTestCase
 
 File source = new File(test/data/upload.txt);
 
+type(name, Sample file);
 type(file, source.getCanonicalPath());
+
 clickAndWait(//input[@value='Upload']);
 }
 }



[02/10] git commit: update to latest Closure Compiler

2014-04-26 Thread jkemnade
update to latest Closure Compiler


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/87881e4d
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/87881e4d
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/87881e4d

Branch: refs/heads/master
Commit: 87881e4d6311e61468edccb634c539abd0cf309d
Parents: 4e0c030
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 12:53:08 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 12:53:08 2014 +0200

--
 tapestry-webresources/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/87881e4d/tapestry-webresources/build.gradle
--
diff --git a/tapestry-webresources/build.gradle 
b/tapestry-webresources/build.gradle
index 52c2885..0a1ff8e 100644
--- a/tapestry-webresources/build.gradle
+++ b/tapestry-webresources/build.gradle
@@ -3,7 +3,7 @@ description = Integration with WRO4J to perform runtime 
CoffeeScript compilatio
 dependencies {
 compile project(:tapestry-core)
 compile com.github.sommeri:less4j:1.4.0
-compile com.google.javascript:closure-compiler:v20131014
+compile com.google.javascript:closure-compiler:v20140407
 compile org.mozilla:rhino:1.7R4
 
 testCompile project(:tapestry-runner)



[03/10] git commit: TAP5-2246: Use CofeeScript list comprehension to log init arguments, fixes JavaScript error in IE8

2014-04-26 Thread jkemnade
TAP5-2246: Use CofeeScript list comprehension to log init arguments, fixes 
JavaScript error in IE8


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/d8ec30d4
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/d8ec30d4
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/d8ec30d4

Branch: refs/heads/master
Commit: d8ec30d41b9e38f04d4dde7b2352c38eed1972c0
Parents: 87881e4
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 12:55:44 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 12:55:44 2014 +0200

--
 .../src/main/coffeescript/META-INF/modules/t5/core/pageinit.coffee | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d8ec30d4/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/pageinit.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/pageinit.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/pageinit.coffee
index f2a4811..1161335 100644
--- 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/pageinit.coffee
+++ 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/pageinit.coffee
@@ -102,7 +102,7 @@ define [underscore, ./console, ./dom, ./events],
   throw new Error Could not locate function `#{qualifiedName}'.
 
 if console.debugEnabled
-  argsString = _.map(initArguments, JSON.stringify).join(, )
+  argsString = (JSON.stringify arg for arg in initArguments).join(, )
   console.debug Invoking #{qualifiedName}(#{argsString})
 
 fn.apply null, initArguments



[5/5] git commit: TAP5-2233: fix t:rowvalue XHR parameter if the RemoveRowLink contains nested elements

2014-04-27 Thread jkemnade
TAP5-2233: fix t:rowvalue XHR parameter if the RemoveRowLink contains nested 
elements


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/3e600c77
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/3e600c77
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/3e600c77

Branch: refs/heads/master
Commit: 3e600c774baed0dabb7a19f93b9dba8946a9be45
Parents: 138414f
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 17:40:06 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 17:41:20 2014 +0200

--
 .../modules/t5/core/ajaxformloop.coffee |  2 +-
 .../src/test/app1/FormInjectorDemo.tml  |  2 +-
 .../tapestry5/integration/app1/AjaxTests.java   | 26 
 3 files changed, 28 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3e600c77/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/ajaxformloop.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/ajaxformloop.coffee
 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/ajaxformloop.coffee
index 649dd6d..b60cf6c 100644
--- 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/ajaxformloop.coffee
+++ 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/ajaxformloop.coffee
@@ -35,7 +35,7 @@ define [./dom, ./events, ./console, ./ajax],
 
   ajax url,
 data:
-  t:rowvalue: @attr data-afl-row-value
+  t:rowvalue: (@closest [data-afl-row-value]).attr 
data-afl-row-value
 success: =
   # The server has removed the row from persistent storage, lets
   # do the same on the UI.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3e600c77/tapestry-core/src/test/app1/FormInjectorDemo.tml
--
diff --git a/tapestry-core/src/test/app1/FormInjectorDemo.tml 
b/tapestry-core/src/test/app1/FormInjectorDemo.tml
index 1a23729..68e2508 100644
--- a/tapestry-core/src/test/app1/FormInjectorDemo.tml
+++ b/tapestry-core/src/test/app1/FormInjectorDemo.tml
@@ -12,7 +12,7 @@
 div class=input-group
 t:textfield t:id=value value=item.value/
 div class=input-group-addon
-t:removerowlink class=btn btn-warning 
btn-xsremove/t:removerowlink
+t:removerowlink class=btn btn-warning 
btn-xst:glyphicon name=trash/ remove/t:removerowlink
 /div
 /div
 /div

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3e600c77/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
index 17cb399..528054f 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
@@ -201,6 +201,32 @@ public class AjaxTests extends App1TestCase
 
 assertText(sum, 0.0);
 }
+
+@Test
+public void remove_ajaxformloop_values_using_buttons_with_nested_elements()
+{
+openLinks(FormInjector Demo);
+
+assertText(sum, 0.0);
+
+click(link=Add another value);
+
+sleep(AJAX_WAIT_TIME);
+
+type(//input[@type='text'][1], 5.1);
+
+clickAndWait(SUBMIT);
+
+assertText(sum, 5.1);
+
+click(css=.glyphicon-trash);
+
+sleep(AJAX_WAIT_TIME);
+
+clickAndWait(SUBMIT);
+
+assertText(sum, 0.0);
+}
 
 /**
  * TAP5-240



[4/5] git commit: TAP5-2277: update Moment.js to latest release

2014-04-27 Thread jkemnade
TAP5-2277: update Moment.js to latest release


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/36375f07
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/36375f07
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/36375f07

Branch: refs/heads/master
Commit: 36375f07cb45f6da87434f4c2ba2b010397d0e05
Parents: 3e600c7
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sat Apr 26 16:36:08 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sat Apr 26 17:41:20 2014 +0200

--
 .../tapestry5/modules/JavaScriptModule.java |2 +-
 .../META-INF/assets/tapestry5/moment-2.4.0.js   | 7063 
 .../META-INF/assets/tapestry5/moment-2.6.0.js   | 7993 ++
 3 files changed, 7994 insertions(+), 7064 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/36375f07/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 0986756..0d08463 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -299,7 +299,7 @@ public class JavaScriptModule
 
@Path(${tapestry.asset.root}/typeahead-0.9.3.js)
 Resource typeahead,
 
-
@Path(${tapestry.asset.root}/moment-2.4.0.js)
+
@Path(${tapestry.asset.root}/moment-2.6.0.js)
 Resource moment,
 
 @Path(${ + 
SymbolConstants.BOOTSTRAP_ROOT + }/js/transition.js)



[1/5] Git Push Summary

2014-04-27 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 138414faf - 36375f07c


[1/3] git commit: TAP5-2183: correctly set the submitting element for LinkSumbit component with nested elements

2014-04-27 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 36375f07c - 1a37c6abd


TAP5-2183: correctly set the submitting element for LinkSumbit component with 
nested elements


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/f65adf64
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f65adf64
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f65adf64

Branch: refs/heads/master
Commit: f65adf64c9311c8246a36fdd1a4ccbc692f7765c
Parents: 36375f0
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sun Apr 27 12:48:01 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sun Apr 27 12:48:01 2014 +0200

--
 .../META-INF/modules/t5/core/forms.coffee   |  2 +-
 tapestry-core/src/test/app1/LinkSubmitDemo.tml  |  1 +
 .../tapestry5/integration/app1/FormTests.java   | 16 
 .../integration/app1/pages/LinkSubmitDemo.java  |  2 ++
 4 files changed, 20 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f65adf64/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
index e148189..c20714a 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
@@ -180,7 +180,7 @@ define [./events, ./dom, underscore],
 console.error Submitting link element not contained inside a form 
element.
 return false
 
-  setSubmittingHidden form, this
+  setSubmittingHidden form, @closest a[data-submit-mode]
 
   # Now the ugly part; if we just invoke submit() on the form, it does not 
trigger
   # the form's submit event, which we need.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f65adf64/tapestry-core/src/test/app1/LinkSubmitDemo.tml
--
diff --git a/tapestry-core/src/test/app1/LinkSubmitDemo.tml 
b/tapestry-core/src/test/app1/LinkSubmitDemo.tml
index 6c5a196..7764e30 100644
--- a/tapestry-core/src/test/app1/LinkSubmitDemo.tml
+++ b/tapestry-core/src/test/app1/LinkSubmitDemo.tml
@@ -10,6 +10,7 @@
 
 t:linksubmit class=btn btn-default t:id=fred context=formContext 
alt=fFred/t:linksubmit
 t:linksubmit class=btn btn-default t:id=barney defer=true 
event=neighbor alt=bBarney/t:linksubmit
+t:linksubmit class=btn btn-default t:id=pebbles defer=true 
event=daughter alt=pt:glyphicon name=star/ Pebbles/t:linksubmit
 
   /t:form
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f65adf64/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
index 946a0bb..b0bf953 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
@@ -857,6 +857,22 @@ public class FormTests extends App1TestCase
 assertText(name-value, Betty);
 assertText(last-clicked, Barney);
 }
+
+/**
+ * TAP5-2183
+ */
+@Test
+public void link_submit_component_with_nested_element()
+{
+openLinks(LinkSubmit Demo);
+
+type(name, Wilma);
+
+clickAndWait(css=.glyphicon-star);
+
+assertText(name-value, Wilma);
+assertText(last-clicked, Pebbles);
+}
 
 @Test
 public void calendar_field_inside_bean_editor()

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f65adf64/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkSubmitDemo.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkSubmitDemo.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkSubmitDemo.java
index 9299619..4832f63 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkSubmitDemo.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/LinkSubmitDemo.java
@@ -46,4 +46,6 @@ public class LinkSubmitDemo
 }
 
 void onNeighbor() { lastClicked = Barney; }
+
+void onDaughter() { lastClicked = Pebbles; }
 }



[3/3] git commit: TAP5-2219, TAP5-1778, TAP5-1714: when transforming the template stream, use the same encoding for the input and the output

2014-04-27 Thread jkemnade
TAP5-2219, TAP5-1778, TAP5-1714: when transforming the template stream, use the 
same encoding for the input and the output


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1a37c6ab
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1a37c6ab
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1a37c6ab

Branch: refs/heads/master
Commit: 1a37c6abd59254d3e9e6ce676cd7b300d704ecac
Parents: 70d4efb
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sun Apr 27 15:30:30 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sun Apr 27 15:30:30 2014 +0200

--
 .../internal/services/XMLTokenStream.java   |   6 +-
 .../internal/services/XMLTokenStreamTests.java  | 110 +++
 2 files changed, 114 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1a37c6ab/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/XMLTokenStream.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/XMLTokenStream.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/XMLTokenStream.java
index 1fe5656..b80c6d6 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/XMLTokenStream.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/XMLTokenStream.java
@@ -345,12 +345,14 @@ public class XMLTokenStream
 private InputStream openStream() throws IOException
 {
 InputStream rawStream = resource.openStream();
+
+String transformationEncoding = UTF8;
 
-InputStreamReader rawReader = new InputStreamReader(rawStream, UTF8);
+InputStreamReader rawReader = new InputStreamReader(rawStream, 
transformationEncoding);
 LineNumberReader reader = new LineNumberReader(rawReader);
 
 ByteArrayOutputStream bos = new ByteArrayOutputStream(5000);
-PrintWriter writer = new PrintWriter(bos);
+PrintWriter writer = new PrintWriter(new OutputStreamWriter(bos, 
transformationEncoding));
 
 State state = State.MAYBE_XML;
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1a37c6ab/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/XMLTokenStreamTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/XMLTokenStreamTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/XMLTokenStreamTests.java
new file mode 100644
index 000..e80ad06
--- /dev/null
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/XMLTokenStreamTests.java
@@ -0,0 +1,110 @@
+package org.apache.tapestry5.internal.services;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.HashMap;
+
+import org.apache.tapestry5.internal.services.XMLTokenStream;
+import org.apache.tapestry5.internal.services.XMLTokenType;
+import org.apache.tapestry5.ioc.MappedConfiguration;
+import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.util.AbstractResource;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+
+public class XMLTokenStreamTests
+{
+private static class MappedConfigurationStubK,V extends HashMapK, V 
implements MappedConfigurationK, V
+{
+public void add(K key, V value)
+{
+put(key,value);
+}
+public void override(K key, V value)
+{
+put(key,value);
+}
+public void addInstance(K key, Class? extends V clazz)
+{
+throw new UnsupportedOperationException();
+}
+public void overrideInstance(K key, Class? extends V clazz)
+{
+throw new UnsupportedOperationException();
+}
+}
+
+
+
+private static class ResourceStub extends AbstractResource
+{
+final byte[] content;
+public ResourceStub(byte[] content)
+{
+super();
+this.content=content;
+}
+public URL toURL()
+{
+return null;
+}
+protected Resource newResource(String path)
+{
+return null;
+}
+@Override
+public InputStream openStream() throws IOException
+{
+return new ByteArrayInputStream(content);
+}
+}
+
+protected void resetDefaultCharset() throws Exception
+{
+// The charset is cached after system start - so we ned to clear that 
cache to force a certain 

[2/3] git commit: TAP5-2229: make the DatePicker JavaScript an AMD module

2014-04-27 Thread jkemnade
TAP5-2229: make the DatePicker JavaScript an AMD module


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/70d4efbc
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/70d4efbc
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/70d4efbc

Branch: refs/heads/master
Commit: 70d4efbce0b90dd34b20b7872e5fbe6572a248d1
Parents: f65adf6
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Sun Apr 27 13:08:40 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Sun Apr 27 13:08:40 2014 +0200

--
 .../META-INF/modules/t5/core/datefield.coffee   |  17 +-
 .../tapestry5/corelib/components/DateField.java |   3 +-
 .../tapestry5/datepicker_106/js/datepicker.js   | 744 --
 .../META-INF/modules/t5/core/datepicker.js  | 766 +++
 4 files changed, 777 insertions(+), 753 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70d4efbc/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
index bb3a6b5..aca4653 100644
--- 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
+++ 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
@@ -15,8 +15,8 @@
 # ## t5/core/datefield
 #
 # Provides support for the `core/DateField` component.
-define [./dom, ./events, ./messages, ./ajax, underscore, ./fields],
-  (dom, events, messages, ajax, _) -
+define [./dom, ./events, ./messages, ./ajax, underscore, 
./datepicker, ./fields],
+  (dom, events, messages, ajax, _, DatePicker) -
 
 
 # Translate from the provided order (SUNDAY = 0, MONDAY = 1), to
@@ -24,18 +24,18 @@ define [./dom, ./events, ./messages, ./ajax, 
underscore, ./fields],
 serverFirstDay = parseInt messages date-symbols.first-day
 datePickerFirstDay = if serverFirstDay is 0 then 6 else serverFirstDay - 1
 
-# Loalize a few other things.
-DatePicker.months = (messages date-symbols.months).split ,
+# Localize a few other things.
 days = (messages date-symbols.days).split ,
 
 # Shuffle sunday to the end, so that monday is first.
 
 days.push days.shift()
 
-DatePicker.days = _.map days, (name) - name.substr(0, 1).toLowerCase()
+monthsLabels = (messages date-symbols.months).split ,
+daysLabels = _.map days, (name) - name.substr(0, 1).toLowerCase()
+todayLabel = messages core-datefield-today
+noneLabel = messages core-datefield-none
 
-DatePicker.TODAY = messages core-datefield-today
-DatePicker.NONE = messages core-datefield-none
 
 # Track the active popup; only one allowed at a time. May look to rework 
this
 # later so that there's just one popup and it is moved around the 
viewport, or
@@ -114,6 +114,9 @@ define [./dom, ./events, ./messages, ./ajax, 
underscore, ./fields],
   createPopup: -
 @datePicker = new DatePicker()
 @datePicker.setFirstWeekDay datePickerFirstDay
+
+@datePicker.setLocalizations monthsLabels, daysLabels, todayLabel, 
noneLabel
+
 @popup = dom.create(div, { class: datefield-popup well}).append 
@datePicker.create()
 @container.insertAfter @popup
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70d4efbc/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DateField.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DateField.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DateField.java
index 286a845..b55cc7b 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DateField.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DateField.java
@@ -50,8 +50,7 @@ import java.util.Locale;
  * @see TextField
  */
 // TODO: More testing; see https://issues.apache.org/jira/browse/TAPESTRY-1844
-@Import(library = ${tapestry.datepicker}/js/datepicker.js,
-stylesheet = ${tapestry.datepicker}/css/datepicker.css,
+@Import(stylesheet = ${tapestry.datepicker}/css/datepicker.css,
 module = t5/core/datefield)
 @Events(EventConstants.VALIDATE)
 public class DateField extends AbstractField

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/70d4efbc/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/js/datepicker.js
--
diff --git 

git commit: TAP5-2309: #close Add Hungarian translation contributed by Balázs Palcsó

2014-04-28 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 1a37c6abd - 133374e92


TAP5-2309: #close Add Hungarian translation contributed by Balázs Palcsó


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/133374e9
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/133374e9
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/133374e9

Branch: refs/heads/master
Commit: 133374e92c41bde99825cd2d5f6a8dcd706cc530
Parents: 1a37c6a
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon Apr 28 08:44:24 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Apr 28 08:44:24 2014 +0200

--
 .../org/apache/tapestry5/core_hu.properties | 114 +++
 .../kaptcha/tapestry-kaptcha_hu.properties  |  17 +++
 2 files changed, 131 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/133374e9/tapestry-core/src/main/resources/org/apache/tapestry5/core_hu.properties
--
diff --git 
a/tapestry-core/src/main/resources/org/apache/tapestry5/core_hu.properties 
b/tapestry-core/src/main/resources/org/apache/tapestry5/core_hu.properties
new file mode 100644
index 000..5711e98
--- /dev/null
+++ b/tapestry-core/src/main/resources/org/apache/tapestry5/core_hu.properties
@@ -0,0 +1,114 @@
+# Copyright 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an AS IS BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# We try to keep the validation messages consistent, with the constraint
+# value (if applicable) as the first parameter, and the field's label as the
+# second parameter. Occasionally we must use specific indexing when that's
+# not the best order.
+
+# PropertyEditor Unable to locate block error:
+core-block-error=Nem található szerkesztő block defínició a(z) %3$s 
típusú %4$s értékű objektum '%1$s' mezőjéhez (adattípus (data type) 
'%2$s')
+
+# BeanEditForm Cancel button label:
+core-cancel-label=Mégse
+
+# DateField validation error:
+core-date-value-not-parseable='%s' dátum nem értelmezhető.
+
+# Validation error summary instructions:
+core-default-error-banner=A folytatáshoz az alábbi hibákat javítania kell.
+
+# Alerts Dismiss label:
+core-dismiss-label=Összes figyelmen kívül hagyása
+
+# Form nesting error:
+core-form-nesting-not-allowed=Form komponensek nem ágyazhatóak 
egymásba/másik Form komponensbe.
+
+# Grid pager link title:
+core-goto-page=Ugrás a(z) %d oldalra
+
+# Form missing POST or t:formdata error:
+core-invalid-form-request=Form-okat POST módon kell a szerver felé 
elküldeni. A kérésnek tartalmaznia kell a következő mezőket: %s
+
+# Grid no data message:
+core-no-grid-data-to-display=Nincs megjeleníthető adat.
+
+# Palette Available list label:
+core-palette-available-label=Elérhető
+
+# Palette Deselect button:
+core-palette-deselect-label= Kijelölés megszűntetése
+
+# Palette Move Down button:
+core-palette-down-label=Le
+
+# Palette Select button:
+core-palette-select-label=Kijelölés 
+
+# Palette Selected list label:
+core-palette-selected-label=Kijelölt
+
+# Palette Move Up button:
+core-palette-up-label=Fel
+
+# ProgressiveDisplay loading label:
+core-progressive-display-loading=Betöltés ...
+
+# BeanEditForm Submit button:
+core-submit-label=Létrehoz/Ment
+
+# String-to-integer translation error:
+integer-format-exception=%s egész szám kell legyen.
+
+# email validator error:
+invalid-email=Érvénytelen e-mail cím.
+
+# Integer max validator error:
+max-integer=%2$s nem lehet nagyobb, mint %1$d.
+
+# String maxLength validation error:
+maximum-string-length=%2$s legfeljebb %1$d karakter hosszú lehet.
+
+# Integer min validator error:
+min-integer=%2$s nem lehet kisebb, mint %1$d.
+
+# String minLength validator error:
+minimum-string-length=%2$s legalább %1$d karakter hosszú kell legyen.
+
+# String-to-number translation error:
+number-format-exception=%s szám kell legyen.
+
+# regexp validator error:
+regexp=%2$s nem felel meg az elvárt '%1$s' formátumnak.
+
+# required validator error:
+required=%s megadása kötelező.
+
+# Client-side numeric validation error:
+core-input-not-numeric=A megadott érték nem szám.
+
+# Client-side integer validation error:
+core-input-not-integer=A 

[2/4] git commit: update wro4j to 1.7.4, makes the CoffeeScript compilation tasks use CoffeeScript 1.7.1

2014-04-29 Thread jkemnade
update wro4j to 1.7.4, makes the CoffeeScript compilation tasks use 
CoffeeScript 1.7.1


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b7bba3a4
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b7bba3a4
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b7bba3a4

Branch: refs/heads/master
Commit: b7bba3a419242032ae27b944f40d22e43c45eac2
Parents: f3a3f34
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Apr 29 09:32:16 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Apr 29 09:59:56 2014 +0200

--
 buildSrc/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b7bba3a4/buildSrc/build.gradle
--
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index fb868ad..8ff8725 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -6,6 +6,6 @@ repositories {
 
 
 dependencies {
-compile ro.isdc.wro4j:wro4j-extensions:1.7.0
+compile ro.isdc.wro4j:wro4j-extensions:1.7.4
 gradleApi()
 }



[1/4] git commit: update Geb to 0.9.2

2014-04-29 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 133374e92 - 277d82c85


update Geb to 0.9.2


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/f3a3f34c
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f3a3f34c
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f3a3f34c

Branch: refs/heads/master
Commit: f3a3f34c7da61a67907d7ff5888478aeae6ed2d2
Parents: 133374e
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Apr 29 09:31:59 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Apr 29 09:31:59 2014 +0200

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f3a3f34c/build.gradle
--
diff --git a/build.gradle b/build.gradle
index b4f4563..ab1f7e3 100755
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@ project.ext.versions = [
 groovy: 2.0.6,
 slf4j: 1.7.2,
 wro4j: 1.7.0,
-geb: 0.9.0,
+geb: 0.9.2,
 selenium: 2.41.0
 ]
 



[3/4] git commit: update copyright year in quickstart layout

2014-04-29 Thread jkemnade
update copyright year in quickstart layout


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/dbc27995
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/dbc27995
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/dbc27995

Branch: refs/heads/master
Commit: dbc27995f83c385f3d7aef667c31a246ff33cbf5
Parents: b7bba3a
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Apr 29 10:48:18 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Apr 29 10:48:18 2014 +0200

--
 .../archetype-resources/src/main/resources/components/Layout.tml   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/dbc27995/quickstart/filtered/archetype-resources/src/main/resources/components/Layout.tml
--
diff --git 
a/quickstart/filtered/archetype-resources/src/main/resources/components/Layout.tml
 
b/quickstart/filtered/archetype-resources/src/main/resources/components/Layout.tml
index 444770c..3edc360 100644
--- 
a/quickstart/filtered/archetype-resources/src/main/resources/components/Layout.tml
+++ 
b/quickstart/filtered/archetype-resources/src/main/resources/components/Layout.tml
@@ -71,7 +71,7 @@
 hr /
 
 footer
-pcopy; Your Company 2013/p
+pcopy; Your Company 2014/p
 /footer
 
 /div !-- /container --



git commit: update Gradle wrapper to 1.12

2014-04-29 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 277d82c85 - c7a496b8c


update Gradle wrapper to 1.12


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/c7a496b8
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c7a496b8
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c7a496b8

Branch: refs/heads/master
Commit: c7a496b8cffee987e7e0f1f51dd9fff86b0eed6e
Parents: 277d82c
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Apr 29 13:30:51 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Apr 29 13:30:51 2014 +0200

--
 build.gradle |   2 +-
 gradle/wrapper/gradle-wrapper.jar| Bin 51357 - 51357 bytes
 gradle/wrapper/gradle-wrapper.properties |   4 ++--
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c7a496b8/build.gradle
--
diff --git a/build.gradle b/build.gradle
index ab1f7e3..fcaabaa 100755
--- a/build.gradle
+++ b/build.gradle
@@ -397,7 +397,7 @@ task continuousIntegration {
 }
 
 task wrapper(type: Wrapper) {
-gradleVersion = '1.12-rc-2'
+gradleVersion = '1.12'
 description Regenerates the Gradle Wrapper files
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c7a496b8/gradle/wrapper/gradle-wrapper.jar
--
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
index 722a83e..b49a12a 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and 
b/gradle/wrapper/gradle-wrapper.jar differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c7a496b8/gradle/wrapper/gradle-wrapper.properties
--
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 495d7b7..a9db652 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sat Apr 26 11:07:48 CEST 2014
+#Tue Apr 29 12:59:50 CEST 2014
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-rc-2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip



git commit: Revert update to latest Closure Compiler as it requires Java 1.7

2014-04-29 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master c7a496b8c - df619008f


Revert update to latest Closure Compiler as it requires Java 1.7

This reverts commit 87881e4d6311e61468edccb634c539abd0cf309d.

Conflicts:
tapestry-webresources/build.gradle


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/df619008
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/df619008
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/df619008

Branch: refs/heads/master
Commit: df619008fda59410d9ed5ad4667e3fcfd0c038ad
Parents: c7a496b
Author: Jochen Kemnade jochenkemn...@web.de
Authored: Tue Apr 29 22:26:48 2014 +0200
Committer: Jochen Kemnade jochenkemn...@web.de
Committed: Tue Apr 29 22:26:48 2014 +0200

--
 tapestry-webresources/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/df619008/tapestry-webresources/build.gradle
--
diff --git a/tapestry-webresources/build.gradle 
b/tapestry-webresources/build.gradle
index 686dab3..283bd9c 100644
--- a/tapestry-webresources/build.gradle
+++ b/tapestry-webresources/build.gradle
@@ -3,7 +3,7 @@ description = Integration with WRO4J to perform runtime 
CoffeeScript compilatio
 dependencies {
 compile project(:tapestry-core)
 compile com.github.sommeri:less4j:1.5.3
-compile com.google.javascript:closure-compiler:v20140407
+compile com.google.javascript:closure-compiler:v20131014
 compile org.mozilla:rhino:1.7R4
 
 testCompile project(:tapestry-runner)



git commit: TAP5-2302: ignore methods overridden from java.lang.Object in module classes

2014-04-30 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master df619008f - 4458dc3aa


TAP5-2302: ignore methods overridden from java.lang.Object in module classes


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4458dc3a
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4458dc3a
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4458dc3a

Branch: refs/heads/master
Commit: 4458dc3aa020103654c63d69344d77883a4ae21f
Parents: df61900
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Apr 30 13:38:44 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Apr 30 13:40:02 2014 +0200

--
 .../ioc/internal/DefaultModuleDefImpl.java  | 34 +++-
 .../ioc/specs/DefaultModuleDefImplSpec.groovy   | 12 ++
 .../ModuleWithOverriddenObjectMethods.java  | 42 
 3 files changed, 87 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4458dc3a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
index eca6b7d..be3c3ee 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
@@ -119,7 +119,20 @@ public class DefaultModuleDefImpl implements ModuleDef2, 
ServiceDefAccumulator
 
 SetMethod methods = 
CollectionFactory.newSet(moduleClass.getMethods());
 
-methods.removeAll(OBJECT_METHODS);
+IteratorMethod methodIterator = methods.iterator();
+
+while (methodIterator.hasNext())
+{
+Method method = methodIterator.next();
+for (Method objectMethod : OBJECT_METHODS)
+{
+if (signaturesAreEqual(method, objectMethod))
+{
+methodIterator.remove();
+}
+}
+}
+
 removeSyntheticMethods(methods);
 
 boolean modulePreventsServiceDecoration = 
moduleClass.getAnnotation(PreventServiceDecoration.class) != null;
@@ -134,6 +147,25 @@ public class DefaultModuleDefImpl implements ModuleDef2, 
ServiceDefAccumulator
 moduleClass.getName(), InternalUtils.joinSorted(methods)));
 }
 
+private static boolean signaturesAreEqual(Method m1, Method m2)
+{
+if (m1.getName() == m2.getName()) {
+if (!m1.getReturnType().equals(m2.getReturnType()))
+return false;
+Class?[] params1 = m1.getParameterTypes();
+Class?[] params2 = m2.getParameterTypes();
+if (params1.length == params2.length)
+{
+for (int i = 0; i  params1.length; i++) {
+if (params1[i] != params2[i])
+return false;
+}
+return true;
+}
+}
+return false;
+}
+
 /**
  * Identifies the module class and a list of service ids within the module.
  */

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4458dc3a/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
--
diff --git 
a/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy 
b/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
index d017dfc..5600ed0 100644
--- a/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
+++ b/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
@@ -424,6 +424,18 @@ class DefaultModuleDefImplSpec extends Specification {
 
 md.serviceIds.size() == 1
   }
+  
+  def Methods overridden from Object are ignored() {
+
+when:
+
+def md = module ModuleWithOverriddenObjectMethods
+
+then:
+
+md.serviceIds.size() == 1
+  }
+
 
   private createSyntheticModuleClass() {
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4458dc3a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ModuleWithOverriddenObjectMethods.java
--
diff --git 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ModuleWithOverriddenObjectMethods.java
 
b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ModuleWithOverriddenObjectMethods.java
new file mode 100644
index 000..3999820
--- /dev/null
+++ 

[1/2] git commit: fix a NullPointerException when the conduit is null, e.g. when BeanModel.addEmpty(String) is used

2014-05-02 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master b97d9aa36 - 7294f9bcb


fix a NullPointerException when the conduit is null, e.g. when 
BeanModel.addEmpty(String) is used


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/a7b45565
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/a7b45565
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/a7b45565

Branch: refs/heads/master
Commit: a7b455651f22aa7cf82c20e2bdb6ef145bfd1ca6
Parents: b97d9aa
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Fri May 2 09:59:34 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Fri May 2 09:59:34 2014 +0200

--
 .../internal/beaneditor/PropertyModelImpl.java  | 23 +++-
 1 file changed, 13 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a7b45565/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
index 3edfaff..703ce44 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/PropertyModelImpl.java
@@ -53,17 +53,20 @@ public class PropertyModelImpl implements PropertyModel
 label = TapestryInternalUtils.defaultLabel(id, messages, name);
 
 // TAP5-2305
-Sortable sortableAnnotation = conduit.getAnnotation(Sortable.class);
-if (sortableAnnotation != null) 
+if (conduit != null)
 {
-sortable = sortableAnnotation.value();
-}
-else
-{
-// Primitive types need to be converted to wrapper types before 
checking to see
-// if they are sortable.
-Class wrapperType = PlasticUtils.toWrapperType(getPropertyType());
-sortable = Comparable.class.isAssignableFrom(wrapperType);
+Sortable sortableAnnotation = 
conduit.getAnnotation(Sortable.class);
+if (sortableAnnotation != null)
+{
+sortable = sortableAnnotation.value();
+}
+else
+{
+// Primitive types need to be converted to wrapper types 
before checking to see
+// if they are sortable.
+Class wrapperType = 
PlasticUtils.toWrapperType(getPropertyType());
+sortable = Comparable.class.isAssignableFrom(wrapperType);
+}
 }
 }
 



[2/2] git commit: TAP5-2311: URL-decode the loadPage parameter to fix reloading of nested pages

2014-05-02 Thread jkemnade
TAP5-2311: URL-decode the loadPage parameter to fix reloading of nested pages


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/7294f9bc
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/7294f9bc
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/7294f9bc

Branch: refs/heads/master
Commit: 7294f9bcbf15a677cf8ec27a9db2c647d4115d4c
Parents: a7b4556
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Fri May 2 09:46:37 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Fri May 2 10:00:35 2014 +0200

--
 .../corelib/pages/ExceptionReport.java  |  5 -
 .../integration/app1/CoreBehaviorsTests.java| 15 +
 .../tapestry5/integration/app1/pages/Index.java |  4 +++-
 .../pages/nested/PageThatThrowsException.java   | 23 
 4 files changed, 45 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7294f9bc/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
index 3676c20..e6db1ed 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/pages/ExceptionReport.java
@@ -99,6 +99,9 @@ public class ExceptionReport implements ExceptionReporter
 
 @Inject
 private ReloadHelper reloadHelper;
+
+@Inject
+private URLEncoder urlEncoder;
 
 @Property
 private String rootURL;
@@ -129,7 +132,7 @@ public class ExceptionReport implements ExceptionReporter
 {
 reloadHelper.forceReload();
 
-return 
linkSource.createPageRenderLinkWithContext(request.getParameter(loadPage), 
reloadContext);
+return 
linkSource.createPageRenderLinkWithContext(urlEncoder.decode(request.getParameter(loadPage)),
 reloadContext);
 }
 
 Object onActionFromReloadRoot() throws MalformedURLException

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7294f9bc/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
index 1655716..2179b98 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
@@ -1705,4 +1705,19 @@ public class CoreBehaviorsTests extends App1TestCase
 assertTextPresent(Page called with correct activation context,
 You should never see me if use an erroneous activation 
context);
 }
+
+/**
+ * TAP5-2311
+ */
+@Test
+public void reload_from_nested_page()
+{
+openLinks(Reload on nested page);
+
+assertTextPresent(This page throws an exception);
+
+clickAndWait(css=a:contains('Go to page'):contains('with reload'));
+
+assertTextPresent(This page throws an exception);
+}
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7294f9bc/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
index fcd8647..bfd68f3 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
@@ -559,7 +559,9 @@ public class Index
 
 new Item(ModuleConfigurationCallbackDemo, 
ModuleConfigurationCallback Demo, Shows an example of changing the 
Require.js configuration using JavaScriptSupport.addModuleConfigurationDemo()),
 
-new Item(PartialTemplateRendererDemo, 
PartialTemplateRenderer Demo, Shows some examples of rendering blocks and 
components to a String using PartialTemplateRenderer)
+new Item(PartialTemplateRendererDemo, 
PartialTemplateRenderer Demo, Shows some examples of rendering blocks and 
components to a String using PartialTemplateRenderer),
+
+new Item(nested/PageThatThrowsException, Reload on 
nested page, Tests a page reload from a 

git commit: make sure that Gradle runs the test with the US locale

2014-05-04 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 4ca5ff117 - aae91f0b8


make sure that Gradle runs the test with the US locale


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/aae91f0b
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/aae91f0b
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/aae91f0b

Branch: refs/heads/master
Commit: aae91f0b802a65f69af377fa2854eb4488e457a2
Parents: 4ca5ff1
Author: Jochen Kemnade jkemn...@apache.org
Authored: Sun May 4 18:03:29 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sun May 4 18:03:29 2014 +0200

--
 build.gradle | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/aae91f0b/build.gradle
--
diff --git a/build.gradle b/build.gradle
index fcaabaa..a67fa8c 100755
--- a/build.gradle
+++ b/build.gradle
@@ -191,6 +191,8 @@ subprojects {
 systemProperties[tapestry.service-reloading-enabled] = false
 
 jvmArgs(-XX:MaxPermSize=512m, -Dfile.encoding=UTF-8)
+
+environment.LANG = 'en_US.UTF-8'
 }
 
 jar {



[3/3] git commit: update jQuery to 1.11.1, update RequireJS to 2.1.11

2014-05-05 Thread jkemnade
update jQuery to 1.11.1, update RequireJS to 2.1.11


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/5b12cea9
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/5b12cea9
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/5b12cea9

Branch: refs/heads/master
Commit: 5b12cea9f97e12b1433cf960b83e7bcc45bee63d
Parents: aae91f0
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon May 5 09:45:29 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon May 5 09:45:29 2014 +0200

--
 .../META-INF/assets/tapestry5/jquery.js | 19803 -
 .../META-INF/assets/tapestry5/require.js|   328 +-
 2 files changed, 10051 insertions(+), 10080 deletions(-)
--




[1/3] update jQuery to 1.11.1, update RequireJS to 2.1.11

2014-05-05 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master aae91f0b8 - 5b12cea9f


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/5b12cea9/tapestry-core/src/main/resources/META-INF/assets/tapestry5/require.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/require.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/require.js
index a48922b..24b061e 100644
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/require.js
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/require.js
@@ -1,5 +1,5 @@
 /** vim: et:ts=4:sw=4:sts=4
- * @license RequireJS 2.1.10 Copyright (c) 2010-2014, The Dojo Foundation All 
Rights Reserved.
+ * @license RequireJS 2.1.11 Copyright (c) 2010-2014, The Dojo Foundation All 
Rights Reserved.
  * Available via the MIT or new BSD license.
  * see: http://github.com/jrburke/requirejs for details
  */
@@ -11,32 +11,32 @@
 var requirejs, require, define;
 (function (global) {
 var req, s, head, baseElement, dataMain, src,
-interactiveScript, currentlyAddingScript, mainScript, subPath,
-version = '2.1.10',
-commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
-cjsRequireRegExp = 
/[^.]\s*require\s*\(\s*[']([^'\s]+)[']\s*\)/g,
-jsSuffixRegExp = /\.js$/,
-currDirRegExp = /^\.\//,
-op = Object.prototype,
-ostring = op.toString,
-hasOwn = op.hasOwnProperty,
-ap = Array.prototype,
-apsp = ap.splice,
-isBrowser = !!(typeof window !== 'undefined'  typeof navigator 
!== 'undefined'  window.document),
-isWebWorker = !isBrowser  typeof importScripts !== 'undefined',
-//PS3 indicates loaded and complete, but need to wait for complete
-//specifically. Sequence is 'loading', 'loaded', execution,
-// then 'complete'. The UA check is unfortunate, but not sure how
-//to feature test w/o causing perf issues.
-readyRegExp = isBrowser  navigator.platform === 'PLAYSTATION 3' ?
-/^complete$/ : /^(complete|loaded)$/,
-defContextName = '_',
-//Oh the tragedy, detecting opera. See the usage of isOpera for reason.
-isOpera = typeof opera !== 'undefined'  opera.toString() === 
'[object Opera]',
-contexts = {},
-cfg = {},
-globalDefQueue = [],
-useInteractive = false;
+interactiveScript, currentlyAddingScript, mainScript, subPath,
+version = '2.1.11',
+commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
+cjsRequireRegExp = /[^.]\s*require\s*\(\s*[']([^'\s]+)[']\s*\)/g,
+jsSuffixRegExp = /\.js$/,
+currDirRegExp = /^\.\//,
+op = Object.prototype,
+ostring = op.toString,
+hasOwn = op.hasOwnProperty,
+ap = Array.prototype,
+apsp = ap.splice,
+isBrowser = !!(typeof window !== 'undefined'  typeof navigator !== 
'undefined'  window.document),
+isWebWorker = !isBrowser  typeof importScripts !== 'undefined',
+//PS3 indicates loaded and complete, but need to wait for complete
+//specifically. Sequence is 'loading', 'loaded', execution,
+// then 'complete'. The UA check is unfortunate, but not sure how
+//to feature test w/o causing perf issues.
+readyRegExp = isBrowser  navigator.platform === 'PLAYSTATION 3' ?
+  /^complete$/ : /^(complete|loaded)$/,
+defContextName = '_',
+//Oh the tragedy, detecting opera. See the usage of isOpera for reason.
+isOpera = typeof opera !== 'undefined'  opera.toString() === 
'[object Opera]',
+contexts = {},
+cfg = {},
+globalDefQueue = [],
+useInteractive = false;
 
 function isFunction(it) {
 return ostring.call(it) === '[object Function]';
@@ -109,8 +109,8 @@ var requirejs, require, define;
 eachProp(source, function (value, prop) {
 if (force || !hasProp(target, prop)) {
 if (deepStringMixin  typeof value === 'object'  value 

-!isArray(value)  !isFunction(value) 
-!(value instanceof RegExp)) {
+!isArray(value)  !isFunction(value) 
+!(value instanceof RegExp)) {
 
 if (!target[prop]) {
 target[prop] = {};
@@ -141,7 +141,7 @@ var requirejs, require, define;
 throw err;
 }
 
-//Allow getting a global that expressed in
+//Allow getting a global that is expressed in
 //dot notation, like 'a.b.c'.
 function getGlobal(value) {
 if (!value) {
@@ -196,31 +196,31 @@ var requirejs, require, define;
 
 function newContext(contextName) {
 var inCheckLoaded, Module, context, handlers,
-

git commit: update SLF4J to 1.7.7

2014-05-05 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 5b12cea9f - 4d45afaf2


update SLF4J to 1.7.7


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4d45afaf
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4d45afaf
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4d45afaf

Branch: refs/heads/master
Commit: 4d45afaf2b814e40a6e6c004fe52fe7c79f43040
Parents: 5b12cea
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon May 5 10:00:30 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon May 5 10:00:30 2014 +0200

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4d45afaf/build.gradle
--
diff --git a/build.gradle b/build.gradle
index a67fa8c..1d42f7b 100755
--- a/build.gradle
+++ b/build.gradle
@@ -17,7 +17,7 @@ project.ext.versions = [
 spock: 0.7-groovy-2.0,
 hibernate: 4.3.1.Final,
 groovy: 2.0.6,
-slf4j: 1.7.2,
+slf4j: 1.7.7,
 wro4j: 1.7.0,
 geb: 0.9.2,
 selenium: 2.41.0



[2/2] git commit: TAP5-2256: reset the zone to null in the setup render phase, fixes zone element being rendered only for the first iteration of a loop

2014-05-06 Thread jkemnade
TAP5-2256: reset the zone to null in the setup render phase, fixes zone element 
being rendered only for the first iteration of a loop


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/14524fec
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/14524fec
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/14524fec

Branch: refs/heads/master
Commit: 14524fecd3da310db41fee71f9bd3cb9eb22efa8
Parents: 6a63e75
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue May 6 11:13:50 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue May 6 11:26:55 2014 +0200

--
 .../tapestry5/corelib/components/Grid.java  |  2 ++
 .../src/test/app1/InplaceGridInLoopDemo.tml | 22 
 .../tapestry5/integration/app1/GridTests.java   | 20 +++
 .../tapestry5/integration/app1/pages/Index.java |  4 ++-
 .../app1/pages/InplaceGridInLoopDemo.java   | 27 
 5 files changed, 74 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/14524fec/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
index 2a37214..dd3fda4 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
@@ -440,6 +440,8 @@ public class Grid implements GridModel, ClientElement
 
 Object setupRender()
 {
+zone = null;
+
 if (formSupport != null)
 formSupport.store(this, SETUP_DATA_SOURCE);
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/14524fec/tapestry-core/src/test/app1/InplaceGridInLoopDemo.tml
--
diff --git a/tapestry-core/src/test/app1/InplaceGridInLoopDemo.tml 
b/tapestry-core/src/test/app1/InplaceGridInLoopDemo.tml
new file mode 100644
index 000..e12609b
--- /dev/null
+++ b/tapestry-core/src/test/app1/InplaceGridInLoopDemo.tml
@@ -0,0 +1,22 @@
+html t:type=Border 
xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
+
+h1In-Place Grid in a Loop Demo/h1
+   
+   t:loop source=[1,2] value=index
+   t:any class=prop:containerclass
+   table t:type=grid t:id=grid source=tracks 
row=track inplace=true rowsPerPage=5
+   t:parameter name=ratingheader
+   t:actionlink t:id=sortRatingSort 
Rating/t:actionlink
+   /t:parameter
+   t:parameter name=ratingcell
+   t:outputRating rating=track.rating/
+   /t:parameter
+   /table
+   /t:any
+/t:loop
+
+p
+[t:actionlink t:id=resetreset the Grids/t:actionlink]
+/p
+
+/html

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/14524fec/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
index 1a55695..2d5f7b3 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
@@ -332,4 +332,24 @@ public class GridTests extends App1TestCase
 assertAttribute(//a[contains(@href,'columns:sort')]/@rel, 
nofollow);
 }
 
+/**
+ * TAP5-2256
+ */
+@Test
+public void sorting_inplace_grid_in_a_loop()
+{
+openLinks(In-Place Grid in a Loop Demo, reset the Grids);
+
+click(css=.grid1 th[data-grid-property='title'] a);
+waitForAjaxRequestsToComplete();
+click(css=.grid2 th[data-grid-property='album'] a);
+waitForAjaxRequestsToComplete();
+assertAttribute(css=.grid1 
th[data-grid-property='title']/@data-grid-column-sort, ascending);
+assertAttribute(css=.grid2 
th[data-grid-property='album']/@data-grid-column-sort, ascending);
+assertAttribute(css=.grid2 
th[data-grid-property='title']/@data-grid-column-sort, sortable);
+
+
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/14524fec/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
--
diff --git 

[1/2] git commit: use org.apache.tapestry5.test.SeleniumTestCase.waitForAjaxRequestsToComplete() instead of sleeping for a fixed amount of time

2014-05-06 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 4d45afaf2 - 14524fecd


use org.apache.tapestry5.test.SeleniumTestCase.waitForAjaxRequestsToComplete() 
instead of sleeping for a fixed amount of time


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/6a63e750
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/6a63e750
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/6a63e750

Branch: refs/heads/master
Commit: 6a63e750ed8d245b83199d04d79b28eb3076603b
Parents: 4d45afa
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue May 6 09:03:45 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue May 6 09:03:45 2014 +0200

--
 .../tapestry5/integration/app1/AlertsTests.groovy   |  4 ++--
 .../tapestry5/integration/TapestryCoreTestCase.java |  4 
 .../apache/tapestry5/integration/app1/AjaxTests.java|  8 
 .../apache/tapestry5/integration/app1/CacheTests.java   |  2 +-
 .../apache/tapestry5/integration/app1/FormTests.java|  6 +++---
 .../apache/tapestry5/integration/app1/GridTests.java|  4 ++--
 .../tapestry5/integration/app1/ZoneRefreshTest.java |  4 ++--
 .../apache/tapestry5/integration/app1/ZoneTests.java| 12 ++--
 8 files changed, 24 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6a63e750/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
--
diff --git 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
index ed540cd..4cf2aa9 100644
--- 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
+++ 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
@@ -49,7 +49,7 @@ class AlertsTests extends App1TestCase {
 
 click css=$CONTAINER button.close
 
-sleep AJAX_WAIT_TIME
+waitForAjaxRequestsToComplete()
 
 // Check that the alert container is now empty
 
@@ -146,7 +146,7 @@ class AlertsTests extends App1TestCase {
 
 click //input[@value='Ajax Update']
 
-sleep AJAX_WAIT_TIME
+waitForAjaxRequestsToComplete()
 
 waitForCSSSelectedElementToAppear div.t-error
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6a63e750/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
index fb54010..1c3baa7 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
@@ -24,6 +24,10 @@ public abstract class TapestryCoreTestCase extends 
SeleniumTestCase
 public static final String TEST_APP_BANNER = Tapestry Integration Test 
Application;
 
 // Rule of thumb time, in ms, to wait for Ajax to occur.
+/**
+ *@deprecated Use {@link #waitForAjaxRequestsToComplete()} 
+ */
+@Deprecated
 public static final int AJAX_WAIT_TIME = 250;
 
 protected final void assertTextSeries(String idFormat, int startIndex, 
String... values)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6a63e750/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
index 528054f..956b3fb 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/AjaxTests.java
@@ -185,7 +185,7 @@ public class AjaxTests extends App1TestCase
 
 click(link=Add another value);
 
-sleep(AJAX_WAIT_TIME);
+waitForAjaxRequestsToComplete();
 
 type(//input[@type='text'][1], 5.1);
 
@@ -195,7 +195,7 @@ public class AjaxTests extends App1TestCase
 
 click(link=remove);
 
-sleep(AJAX_WAIT_TIME);
+waitForAjaxRequestsToComplete();
 
 clickAndWait(SUBMIT);
 
@@ -211,7 +211,7 @@ public class AjaxTests extends App1TestCase
 
 click(link=Add another value);
 
-sleep(AJAX_WAIT_TIME);
+waitForAjaxRequestsToComplete();
 
 

[2/2] git commit: TAP5-2266: escape html content in @code tags instead of removing it

2014-05-12 Thread jkemnade
TAP5-2266: escape html content in @code tags instead of removing it


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/85a71aed
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/85a71aed
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/85a71aed

Branch: refs/heads/master
Commit: 85a71aeda85a8abbc8993c8771d60b1ef3d0
Parents: 1363f91
Author: Jochen Kemnade jkemn...@apache.org
Authored: Mon May 12 21:25:18 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Mon May 12 21:25:18 2014 +0200

--
 tapestry-javadoc/build.gradle| 1 +
 .../org/apache/tapestry5/javadoc/ParameterDescription.java   | 8 
 2 files changed, 9 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/85a71aed/tapestry-javadoc/build.gradle
--
diff --git a/tapestry-javadoc/build.gradle b/tapestry-javadoc/build.gradle
index 278f209..032114a 100644
--- a/tapestry-javadoc/build.gradle
+++ b/tapestry-javadoc/build.gradle
@@ -2,6 +2,7 @@ description = JavaDoc Plugin for Tapestry that generates 
component reference do
 
 dependencies {
   compile project(':tapestry-core')
+  compile commons-lang:commons-lang:2.6
   compile files(getTools())
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/85a71aed/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
--
diff --git 
a/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
 
b/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
index 80aa2ae..a60f8a7 100644
--- 
a/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
+++ 
b/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
@@ -21,6 +21,8 @@ import com.sun.javadoc.Tag;
 import java.io.IOException;
 import java.util.regex.Pattern;
 
+import org.apache.commons.lang.StringEscapeUtils;
+
 public class ParameterDescription
 {
 public final FieldDoc field;
@@ -98,6 +100,12 @@ public class ParameterDescription
 builder.append(seeTag.referencedMemberName());
 }
 }
+else if (tag.name().equals(@code))
+{
+builder.append(code);
+builder.append(StringEscapeUtils.escapeHtml(tag.text()));
+builder.append(/code);
+}
 }
 
 String text = builder.toString();



[1/2] git commit: fix some illegal markup (closing tags with attributes)

2014-05-12 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 3d0060691 - 85a71aeda


fix some illegal markup (closing tags with attributes)


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1363f915
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1363f915
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1363f915

Branch: refs/heads/master
Commit: 1363f915d51209fc6e418a643100f069f7b4aa86
Parents: 3d00606
Author: Jochen Kemnade jkemn...@apache.org
Authored: Mon May 12 21:24:32 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Mon May 12 21:24:32 2014 +0200

--
 .../org/apache/tapestry5/javadoc/TapestryDocTaglet.java | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1363f915/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/TapestryDocTaglet.java
--
diff --git 
a/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/TapestryDocTaglet.java
 
b/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/TapestryDocTaglet.java
index 5fa308b..4f19aaf 100644
--- 
a/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/TapestryDocTaglet.java
+++ 
b/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/TapestryDocTaglet.java
@@ -147,10 +147,16 @@ public class TapestryDocTaglet implements Taglet, 
ClassDescriptionSource
 }
 }
 
-private void writeElement(Writer writer, String elementName, String text) 
throws IOException
+private void writeElement(Writer writer, String elementSpec, String text) 
throws IOException
 {
-writer.write(String.format(%s%s/%1$s, elementName,
-InternalUtils.isBlank(text) ? nbsp; : text));
+   String elementName = elementSpec;
+   int idxOfSpace = elementSpec.indexOf(' ');
+   if (idxOfSpace != -1)
+   {
+   elementName = elementSpec.substring(0, idxOfSpace);
+   }
+writer.write(String.format(%s%s/%s, elementSpec,
+InternalUtils.isBlank(text) ? nbsp; : text, elementName));
 }
 
 private void writeClassDescription(ClassDescription cd, Writer writer) 
throws IOException



Git Push Summary

2014-05-16 Thread jkemnade
Repository: tapestry-5
Updated Tags:  refs/tags/5.4-beta-6 [created] 85a71aeda


git commit: tiny performance improvement: break out of the inner loop if we found a match

2014-05-16 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 6249bd2c3 - c44abfd6a


tiny performance improvement: break out of the inner loop if we found a match


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/c44abfd6
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c44abfd6
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c44abfd6

Branch: refs/heads/master
Commit: c44abfd6aa2066554d9608893c42583cee716e52
Parents: 6249bd2
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu May 15 17:37:57 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu May 15 17:37:57 2014 +0200

--
 .../org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c44abfd6/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
index be3c3ee..f7d9a9c 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
@@ -129,6 +129,7 @@ public class DefaultModuleDefImpl implements ModuleDef2, 
ServiceDefAccumulator
 if (signaturesAreEqual(method, objectMethod))
 {
 methodIterator.remove();
+break;
 }
 }
 }



[2/2] git commit: fix a deprecation warning in the zippedBinaries task

2014-05-16 Thread jkemnade
fix a deprecation warning in the zippedBinaries task


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/6249bd2c
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/6249bd2c
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/6249bd2c

Branch: refs/heads/master
Commit: 6249bd2c3a26866e254b7f197c46e5eba5c79023
Parents: b39ad92
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed May 14 09:37:07 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed May 14 09:37:07 2014 +0200

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6249bd2c/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 9abc507..2b7fd18 100755
--- a/build.gradle
+++ b/build.gradle
@@ -456,7 +456,7 @@ task zippedBinaries(type: Zip) {
 group Release artifact
 // This may create a few unwanted dependencies, but does
 // seem to ensure that the subprojects are created
-inputs.files subprojects*.configurations*.archives.artifacts
+inputs.files subprojects*.configurations*.archives.artifacts.files
 
 destinationDir buildDir
 baseName apache-tapestry



[2/2] git commit: fix some typos

2014-05-17 Thread jkemnade
fix some typos


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/fd3c9e6b
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/fd3c9e6b
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/fd3c9e6b

Branch: refs/heads/master
Commit: fd3c9e6b72670e7fe7f5d76f5433d4ac03e067cf
Parents: bb30964
Author: Jochen Kemnade jkemn...@apache.org
Authored: Sat May 17 14:13:49 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sat May 17 14:13:49 2014 +0200

--
 .../archetype-resources/src/main/java/services/AppModule.java  | 2 +-
 .../java/org/apache/tapestry5/corelib/components/Label.java| 2 +-
 .../java/org/apache/tapestry5/corelib/components/Zone.java | 2 +-
 .../apache/tapestry5/internal/pageload/ComponentAssembler.java | 2 +-
 .../apache/tapestry5/ioc/internal/ServiceProxyProvider.java| 2 +-
 .../org/apache/tapestry5/ioc/internal/util/GenericsUtils.java  | 6 +++---
 6 files changed, 8 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/fd3c9e6b/quickstart/filtered/archetype-resources/src/main/java/services/AppModule.java
--
diff --git 
a/quickstart/filtered/archetype-resources/src/main/java/services/AppModule.java 
b/quickstart/filtered/archetype-resources/src/main/java/services/AppModule.java
index c42293e..b2994d6 100644
--- 
a/quickstart/filtered/archetype-resources/src/main/java/services/AppModule.java
+++ 
b/quickstart/filtered/archetype-resources/src/main/java/services/AppModule.java
@@ -35,7 +35,7 @@ public class AppModule
 public static void contributeFactoryDefaults(
 MappedConfigurationString, Object configuration)
 {
-// The application version is incorprated into URLs for most assets. 
Web
+// The application version is incorporated into URLs for most assets. 
Web
 // browsers will cache assets because of the far future expires header.
// If existing assets change (or if the Tapestry version changes) you
// should also change this number, to force the browser to download new

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/fd3c9e6b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
index b030929..2b15eeb 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Label.java
@@ -27,7 +27,7 @@ import org.apache.tapestry5.ioc.internal.util.InternalUtils;
  * Generates a lt;labelgt; element for a particular field. It writes the CSS 
class control-label.
  * p/
  * A Label will render its body, if it has one. However, in most cases it will 
not have a body, and will render its
- * {@linkplain org.apache.tapestry5.Field#getLabel() field's label} as it's 
body. Remember, however, that it is the
+ * {@linkplain org.apache.tapestry5.Field#getLabel() field's label} as its 
body. Remember, however, that it is the
  * field label that will be used in any error messages. The Label component 
allows for client- and server-side
  * validation error decorations.
  *

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/fd3c9e6b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
index 141663f..f79b286 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
@@ -41,7 +41,7 @@ import org.slf4j.Logger;
  * content on the client side. Often, re-rendering the Zone's {@linkplain 
#getBody() body} is useful. Multiple
  * client-side zones may be updated via the {@link 
org.apache.tapestry5.services.ajax.AjaxResponseRenderer} service.
  * p/
- * You will often want to specify the id parameter of the Zone, in addition to 
it's Tapestry component id; this locks
+ * You will often want to specify the id parameter of the Zone, in addition to 
its Tapestry component id; this locks
  * down the client-side id, so the same value is used even in later partial 
renders of the page (essential if the Zone
  * is nested inside another Zone). When you specify the client-side id, it is 
used exactly as provided (meaning that you
  * are responsible for 

[1/2] git commit: TAP5-2266: extend support for HTML content inside parameter JavaDoc

2014-05-17 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master c44abfd6a - fd3c9e6b7


TAP5-2266: extend support for HTML content inside parameter JavaDoc


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/bb309644
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/bb309644
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/bb309644

Branch: refs/heads/master
Commit: bb3096442155f68a69cee0b709717c09287bdea9
Parents: c44abfd
Author: Jochen Kemnade jkemn...@apache.org
Authored: Sat May 17 13:57:30 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sat May 17 14:05:30 2014 +0200

--
 .../tapestry5/corelib/components/DevTool.java   |   2 +-
 tapestry-javadoc/build.gradle   |   3 +
 .../tapestry5/javadoc/ParameterDescription.java |  55 ++--
 .../javadoc/ParameterDescriptionSpec.groovy | 125 +++
 4 files changed, 172 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/bb309644/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
index 320e1cd..0954e66 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/DevTool.java
@@ -58,7 +58,7 @@ public class DevTool
 
 /**
  * If true, then the DevTool modifies its markup so as to work within a 
Bootstrap 3 NavBar. This renders
- * the component as an {@code li} (instead of a {@code div}), and 
removes the btn CSS classes.
+ * the component as a {@code li} (instead of a {@code div}), and 
removes the btn CSS classes.
  */
 @Parameter
 private boolean navbar;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/bb309644/tapestry-javadoc/build.gradle
--
diff --git a/tapestry-javadoc/build.gradle b/tapestry-javadoc/build.gradle
index 032114a..efc6f9d 100644
--- a/tapestry-javadoc/build.gradle
+++ b/tapestry-javadoc/build.gradle
@@ -4,6 +4,9 @@ dependencies {
   compile project(':tapestry-core')
   compile commons-lang:commons-lang:2.6
   compile files(getTools())
+  
+  testCompile org.spockframework:spock-core:${versions.spock}
+  
 }
 
 /** Returns the tools.jar/classes.jar of the Java runtime. */

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/bb309644/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
--
diff --git 
a/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
 
b/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
index a60f8a7..ff8bc11 100644
--- 
a/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
+++ 
b/tapestry-javadoc/src/main/java/org/apache/tapestry5/javadoc/ParameterDescription.java
@@ -14,14 +14,18 @@
 
 package org.apache.tapestry5.javadoc;
 
-import com.sun.javadoc.FieldDoc;
-import com.sun.javadoc.SeeTag;
-import com.sun.javadoc.Tag;
-
 import java.io.IOException;
+import java.util.Locale;
+import java.util.Set;
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+
+import com.sun.javadoc.FieldDoc;
+import com.sun.javadoc.SeeTag;
+import com.sun.javadoc.Tag;
 
 public class ParameterDescription
 {
@@ -45,10 +49,12 @@ public class ParameterDescription
 
 public final boolean deprecated;
 
-private static final Pattern STRIPPER = Pattern.compile((.*?|.*?;), 
Pattern.DOTALL);
+private static final Pattern SPECIAL_CONTENT = 
Pattern.compile((?:/?(\\p{Alpha}+))|(?:\\p{Alpha}+;));
+private static final SetString PASS_THROUGH_TAGS = 
CollectionFactory.newSet(b, em, i, code, strong);
 
-public ParameterDescription(FieldDoc fieldDoc, String name, String type, 
String defaultValue, String defaultPrefix,
-boolean required, boolean allowNull, boolean 
cache, String since, boolean deprecated)
+
+public ParameterDescription(final FieldDoc fieldDoc, final String name, 
final String type, final String defaultValue, final String defaultPrefix,
+final boolean required, final boolean allowNull, final boolean 
cache, final String since, final boolean deprecated)
 {
 this.field = fieldDoc;
 this.name = name;
@@ -76,7 +82,7 @@ public 

[1/2] git commit: TAP5-2333: only query System.nanoTime() if we're going to use the result

2014-05-19 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master fd3c9e6b7 - b452c6fcd


TAP5-2333: only query System.nanoTime() if we're going to use the result


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/69844b86
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/69844b86
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/69844b86

Branch: refs/heads/master
Commit: 69844b86eaa811b8d5bac845db3bd6d927e58979
Parents: fd3c9e6
Author: Jochen Kemnade jkemn...@apache.org
Authored: Mon May 19 19:27:53 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Mon May 19 19:27:53 2014 +0200

--
 .../org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/69844b86/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
index 79cd439..703617c 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
@@ -158,10 +158,11 @@ public class OperationTrackerImpl implements 
OperationTracker
 
 private long start(String description)
 {
-long startNanos = System.nanoTime();
+long startNanos = -1l;
 
 if (logger.isDebugEnabled())
 {
+startNanos = System.nanoTime();
 logger.debug(String.format([%3d] -- %s, operations.getDepth() + 
1, description));
 }
 



[2/2] git commit: avoid more System.nanoTime() calls if we're not going to use the results

2014-05-19 Thread jkemnade
avoid more System.nanoTime() calls if we're not going to use the results


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b452c6fc
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b452c6fc
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b452c6fc

Branch: refs/heads/master
Commit: b452c6fcdc68c3afcf89faf5d21bd5508ea7bd25
Parents: 69844b8
Author: Jochen Kemnade jkemn...@apache.org
Authored: Mon May 19 19:35:54 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Mon May 19 19:35:54 2014 +0200

--
 .../services/PageResponseRendererImpl.java  |  8 ---
 .../internal/services/RenderQueueImpl.java  | 25 +---
 2 files changed, 21 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b452c6fc/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
index 4231e20..5ea88ec 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
@@ -64,9 +64,11 @@ public class PageResponseRendererImpl implements 
PageResponseRenderer
 markupRenderer.renderPageMarkup(page, writer);
 
 PrintWriter pw = response.getPrintWriter(contentType.toString());
-
-long startNanos = System.nanoTime();
-
+long startNanos = -1l;
+if (logger.isDebugEnabled())
+{
+startNanos = System.nanoTime();
+}
 writer.toMarkup(pw);
 
 long endNanos = System.nanoTime();

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b452c6fc/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
index 8f7bafa..bf28118 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
@@ -51,7 +51,11 @@ public class RenderQueueImpl implements RenderQueue
 
 boolean traceEnabled = 
logger.isTraceEnabled(TapestryMarkers.RENDER_COMMANDS);
 
-long startNanos = System.nanoTime();
+long startNanos = -1l;
+if (logger.isDebugEnabled())
+{
+startNanos = System.nanoTime();
+}
 int commandCount = 0;
 int maxDepth = 0;
 
@@ -81,16 +85,19 @@ public class RenderQueueImpl implements RenderQueue
 throw new RenderQueueException(message, 
renderingComponents.getSnapshot(), ex);
 }
 
-long endNanos = System.nanoTime();
+if (logger.isDebugEnabled())
+{
+long endNanos = System.nanoTime();
 
-long elapsedNanos = endNanos - startNanos;
-double elapsedSeconds = ((double) elapsedNanos) / 10d;
+long elapsedNanos = endNanos - startNanos;
+double elapsedSeconds = ((double) elapsedNanos) / 10d;
 
-logger.debug(TapestryMarkers.RENDER_COMMANDS,
-String.format(Executed %,d rendering commands (max queue 
depth: %,d) in %.3f seconds,
-commandCount,
-maxDepth,
-elapsedSeconds));
+logger.debug(TapestryMarkers.RENDER_COMMANDS,
+String.format(Executed %,d rendering commands (max queue 
depth: %,d) in %.3f seconds,
+commandCount,
+maxDepth,
+elapsedSeconds));
+}
 }
 
 public void startComponent(ComponentResources resources)



git commit: fix failing tests after b452c6fcdc68c3afcf89faf5d21bd5508ea7bd25

2014-05-20 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 737ebd64c - 925e84bb4


fix failing tests after b452c6fcdc68c3afcf89faf5d21bd5508ea7bd25


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/925e84bb
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/925e84bb
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/925e84bb

Branch: refs/heads/master
Commit: 925e84bb4d92353cf60de87d17bc880aadda6c24
Parents: 737ebd6
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue May 20 11:09:13 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue May 20 11:09:13 2014 +0200

--
 .../tapestry5/internal/services/PageResponseRendererImpl.java  | 5 +++--
 .../apache/tapestry5/internal/services/RenderQueueImpl.java| 6 --
 .../tapestry5/internal/services/RenderQueueImplTest.java   | 2 ++
 3 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/925e84bb/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
index 5ea88ec..c103d89 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
@@ -65,7 +65,8 @@ public class PageResponseRendererImpl implements 
PageResponseRenderer
 
 PrintWriter pw = response.getPrintWriter(contentType.toString());
 long startNanos = -1l;
-if (logger.isDebugEnabled())
+boolean debugEnabled = logger.isDebugEnabled();
+if (debugEnabled)
 {
 startNanos = System.nanoTime();
 }
@@ -73,7 +74,7 @@ public class PageResponseRendererImpl implements 
PageResponseRenderer
 
 long endNanos = System.nanoTime();
 
-if (logger.isDebugEnabled())
+if (debugEnabled)
 {
 long elapsedNanos = endNanos - startNanos;
 double elapsedSeconds = ((float) elapsedNanos) / 10F;

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/925e84bb/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
index bf28118..e696d82 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
@@ -50,9 +50,11 @@ public class RenderQueueImpl implements RenderQueue
 RenderCommand command = null;
 
 boolean traceEnabled = 
logger.isTraceEnabled(TapestryMarkers.RENDER_COMMANDS);
+boolean debugEnabled = logger.isDebugEnabled();
 
 long startNanos = -1l;
-if (logger.isDebugEnabled())
+
+if (debugEnabled)
 {
 startNanos = System.nanoTime();
 }
@@ -85,7 +87,7 @@ public class RenderQueueImpl implements RenderQueue
 throw new RenderQueueException(message, 
renderingComponents.getSnapshot(), ex);
 }
 
-if (logger.isDebugEnabled())
+if (debugEnabled)
 {
 long endNanos = System.nanoTime();
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/925e84bb/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderQueueImplTest.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderQueueImplTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderQueueImplTest.java
index 0663587..a7bb699 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderQueueImplTest.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RenderQueueImplTest.java
@@ -46,6 +46,7 @@ public class RenderQueueImplTest extends InternalBaseTestCase
 // There's only one check for trace enabled now.
 
 
expect(logger.isTraceEnabled(TapestryMarkers.RENDER_COMMANDS)).andReturn(false);
+expect(logger.isDebugEnabled()).andReturn(true);
 
 logger.debug(eq(TapestryMarkers.RENDER_COMMANDS), isA(String.class));
 
@@ -87,6 +88,7 @@ public class RenderQueueImplTest extends 

git commit: TAP5-2096: correctly scan for classes in nested directories most of the changes such as making the inner Job class static were necessary just to make the class testable

2014-05-20 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 925e84bb4 - 5f8deb1fc


TAP5-2096: correctly scan for classes in nested directories
most of the changes such as making the inner Job class static were necessary 
just to make the class testable


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/5f8deb1f
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/5f8deb1f
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/5f8deb1f

Branch: refs/heads/master
Commit: 5f8deb1fc109af839e670b2d8dd5342ba94a1833
Parents: 925e84b
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue May 20 10:55:30 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue May 20 17:59:09 2014 +0200

--
 .../internal/services/ClasspathScannerImpl.java | 22 ++
 .../ioc/specs/ClasspathScannerImplSpec.groovy   | 44 
 2 files changed, 58 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/5f8deb1f/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClasspathScannerImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClasspathScannerImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClasspathScannerImpl.java
index 27e3777..775bf97 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClasspathScannerImpl.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClasspathScannerImpl.java
@@ -37,7 +37,7 @@ public class ClasspathScannerImpl implements ClasspathScanner
 
 private final ClasspathURLConverter converter;
 
-private final Pattern FOLDER_NAME_PATTERN = 
Pattern.compile(^\\p{javaJavaIdentifierStart}[\\p{javaJavaIdentifierPart}]*$, 
Pattern.CASE_INSENSITIVE);
+private static final Pattern FOLDER_NAME_PATTERN = 
Pattern.compile(^\\p{javaJavaIdentifierStart}[\\p{javaJavaIdentifierPart}]*$, 
Pattern.CASE_INSENSITIVE);
 
 
 public ClasspathScannerImpl(ClasspathURLConverter converter)
@@ -61,13 +61,13 @@ public class ClasspathScannerImpl implements 
ClasspathScanner
 assert packagePath != null  packagePath.endsWith(/);
 assert matcher != null;
 
-return new Job(matcher).findMatches(packagePath);
+return new Job(matcher, contextClassLoader, 
converter).findMatches(packagePath);
 }
 
 /**
  * Check whether container supports opening a stream on a dir/package to 
get a list of its contents.
  */
-private boolean supportsDirStream(URL packageURL)
+private static boolean supportsDirStream(URL packageURL)
 {
 InputStream is = null;
 
@@ -99,7 +99,7 @@ public class ClasspathScannerImpl implements ClasspathScanner
  * @throws java.io.IOException
  * If error occurs creating jar file
  */
-private JarFile getAlternativeJarFile(URL url) throws IOException
+private static JarFile getAlternativeJarFile(URL url) throws IOException
 {
 String urlFile = url.getFile();
 // Trim off any suffix - which is prefixed by !/ on Weblogic
@@ -137,10 +137,14 @@ public class ClasspathScannerImpl implements 
ClasspathScanner
 /**
  * Encapsulates the data, result, and queue of deferred operations for 
performing the scan.
  */
-class Job
+static class Job
 {
 final ClasspathMatcher matcher;
 
+final ClasspathURLConverter converter;
+
+final ClassLoader classloader;
+
 final SetString matches = CollectionFactory.newSet();
 
 /**
@@ -149,15 +153,17 @@ public class ClasspathScannerImpl implements 
ClasspathScanner
 final StackIOWork queue = CollectionFactory.newStack();
 
 
-Job(ClasspathMatcher matcher)
+Job(ClasspathMatcher matcher, ClassLoader classloader, 
ClasspathURLConverter converter)
 {
 this.matcher = matcher;
+this.classloader = classloader;
+this.converter = converter;
 }
 
 SetString findMatches(String packagePath) throws IOException
 {
 
-EnumerationURL urls = 
contextClassLoader.getResources(packagePath);
+EnumerationURL urls = classloader.getResources(packagePath);
 
 while (urls.hasMoreElements())
 {
@@ -231,7 +237,7 @@ public class ClasspathScannerImpl implements 
ClasspathScanner
 
 if (file.isDirectory())
 {
-final String nestedPackagePath = fileName + /;
+final String nestedPackagePath = packagePath + 
fileName + /;
 
 queue.push(new IOWork()
 

git commit: TAP5-2264: disable gzip compression for asset/module requests when the InternalConstants.SUPPRESS_COMPRESSION request attribute is set

2014-05-27 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master b553edf0c - 339288142


TAP5-2264: disable gzip compression for asset/module requests when the 
InternalConstants.SUPPRESS_COMPRESSION request attribute is set


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/33928814
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/33928814
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/33928814

Branch: refs/heads/master
Commit: 3392881422f1f28bee7db38a158ec8d29fd5254b
Parents: b553edf
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue May 27 17:42:23 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue May 27 17:42:23 2014 +0200

--
 .../ResponseCompressionAnalyzerImpl.java |  7 +++
 .../ResponseCompressionAnalyzerTest.groovy   | 19 +++
 2 files changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/33928814/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
index c616318..1fd4072 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerImpl.java
@@ -17,6 +17,7 @@ package org.apache.tapestry5.internal.services;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.internal.InternalConstants;
 import org.apache.tapestry5.internal.TapestryInternalUtils;
 import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.services.ResponseCompressionAnalyzer;
@@ -52,6 +53,12 @@ public class ResponseCompressionAnalyzerImpl implements 
ResponseCompressionAnaly
 return false;
 }
 
+// TAP5-2264:
+if (request.getAttribute(InternalConstants.SUPPRESS_COMPRESSION) != 
null)
+{
+return false;
+}
+
 String supportedEncodings = request.getHeader(Accept-Encoding);
 
 if (supportedEncodings == null)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/33928814/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
--
diff --git 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
index bdd56d5..589a5db 100644
--- 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
+++ 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/ResponseCompressionAnalyzerTest.groovy
@@ -1,5 +1,6 @@
 package org.apache.tapestry5.internal.services
 
+import org.apache.tapestry5.internal.InternalConstants;
 import org.apache.tapestry5.ioc.test.TestBase
 import org.apache.tapestry5.services.ResponseCompressionAnalyzer
 import org.testng.annotations.Test
@@ -23,4 +24,22 @@ class ResponseCompressionAnalyzerTest extends TestBase {
 
 verify()
   }
+
+  @Test
+  //TAP5-2264
+  void InternalConstants.SUPPRESS_COMPRESSION attribute disables gzip 
compression() {
+
+HttpServletRequest request = newMock(HttpServletRequest)
+
+expect(request.getProtocol()).andReturn(HTTP/1.1).once()
+
expect(request.getAttribute(InternalConstants.SUPPRESS_COMPRESSION)).andReturn(yes).once()
+
+replay()
+
+ResponseCompressionAnalyzer rca = new 
ResponseCompressionAnalyzerImpl(request, true, null)
+
+assert rca.isGZipSupported() == false
+
+verify()
+  }
 }



[2/3] git commit: TAP5-2342: avoid importing @java.util.*@ as that might cause naming conflicts with our own classes on future JDK versions

2014-05-29 Thread jkemnade
TAP5-2342: avoid importing @java.util.*@ as that might cause naming conflicts 
with our own classes on future JDK versions


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/f3c872f6
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f3c872f6
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f3c872f6

Branch: refs/heads/master
Commit: f3c872f67d3099bb84faa2bce88d022d95c12f27
Parents: 1069f05
Author: Jochen Kemnade jkemn...@apache.org
Authored: Thu May 29 11:57:34 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Thu May 29 11:57:34 2014 +0200

--
 .../apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java  | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f3c872f6/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
index 55e993d..753e746 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
@@ -29,7 +29,13 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Starting from the Class for a module, identifies all the services (service 
builder methods),



[3/3] git commit: Closes TAP5-2343: check JDK version only if the aggregateJavadoc is executed, perform version check only on JDK 1.5 through 1.7

2014-05-29 Thread jkemnade
Closes TAP5-2343: check JDK version only if the aggregateJavadoc is executed, 
perform version check only on JDK 1.5 through 1.7


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b4fd5686
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b4fd5686
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b4fd5686

Branch: refs/heads/master
Commit: b4fd5686936a6587e12835cc2040db367b5a8e95
Parents: f3c872f
Author: Jochen Kemnade jkemn...@apache.org
Authored: Thu May 29 12:10:52 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Thu May 29 12:10:52 2014 +0200

--
 build.gradle | 18 +++---
 1 file changed, 11 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b4fd5686/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 74b24bd..b349e74 100755
--- a/build.gradle
+++ b/build.gradle
@@ -298,11 +298,11 @@ subprojects {
 // Cribbed from 
https://github.com/hibernate/hibernate-core/blob/master/release/release.gradle#L19
 
 task aggregateJavadoc(type: Javadoc) {
-
-// Temporary: don't check on the CI server. This can be removed when the 
CI server is upgraded.
-if (!continuousIntegrationBuild  !checkJDK())
-throw new StopActionException(Update your JDK to fix VU#225657)
-
+doFirst {
+// Temporary: don't check on the CI server. This can be removed when 
the CI server is upgraded.
+if (!continuousIntegrationBuild  !checkJDK())
+throw new StopActionException(Update your JDK to fix VU#225657)
+}
 dependsOn configurations.javadoc
 group Documentation
 
@@ -557,14 +557,18 @@ boolean checkJDK() {
 def match = jdkVersion =~ /_(\d+)/
 
 if (!match.find())
-throw new IllegalStateException(Could not parse minor version 
number out of #{jdkVersion}.)
+throw new IllegalStateException(Could not parse minor version 
number out of ${jdkVersion}.)
 
 def minor = match[0][1].toInteger()
 
 if (jdkVersion.startsWith(1.7)) {
 minor  21
 }
-else { // JDK 6 and 5 require the same minor version
+else if (jdkVersion.startsWith(1.5) || jdkVersion.startsWith(1.6)) {
+// JDK 6 and 5 require the same minor version
 minor  45
 }
+else {
+true
+}
 }



[1/3] git commit: re-enable assertion, more recent Selenium versions seem to handle XML responses well

2014-05-29 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master ff2fcd8a7 - b4fd56869


re-enable assertion, more recent Selenium versions seem to handle XML responses 
well


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1069f052
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1069f052
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1069f052

Branch: refs/heads/master
Commit: 1069f052f56b6b5e2dcf81456d8be19c5c757ab9
Parents: ff2fcd8
Author: Jochen Kemnade jkemn...@apache.org
Authored: Wed May 28 18:46:55 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Wed May 28 18:46:55 2014 +0200

--
 .../apache/tapestry5/integration/app1/CoreBehaviorsTests.java| 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1069f052/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
index d7ecc25..20703bb 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
@@ -1458,9 +1458,7 @@ public class CoreBehaviorsTests extends App1TestCase
 {
 open(getBaseURL() + xmlcontent);
 
-// Commented out ... Selenium can't seem to handle an XML response.
-
-// assertSourcePresent(![CDATA[  ]]);
+assertSourcePresent(![CDATA[  ]]);
 }
 
 @Test



git commit: fix compilation on JDKs (i.e. OpenJDK 7) that are not able to deduce the generic type

2014-05-31 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 05be6ec9b - 9f9658dfb


fix compilation on JDKs (i.e. OpenJDK 7) that are not able to deduce the 
generic type


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/9f9658df
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/9f9658df
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/9f9658df

Branch: refs/heads/master
Commit: 9f9658dfb2a0453a90d4f02773abb8df671d9892
Parents: 05be6ec
Author: Jochen Kemnade jkemn...@apache.org
Authored: Sat May 31 17:56:59 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sat May 31 17:57:51 2014 +0200

--
 .../internal/services/PreSelectedFormNamesServiceImpl.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9f9658df/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PreSelectedFormNamesServiceImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PreSelectedFormNamesServiceImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PreSelectedFormNamesServiceImpl.java
index 6056976..a6c801b 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PreSelectedFormNamesServiceImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PreSelectedFormNamesServiceImpl.java
@@ -29,7 +29,7 @@ public class PreSelectedFormNamesServiceImpl implements 
PreSelectedFormNamesServ
 public PreSelectedFormNamesServiceImpl(
 @Symbol(InternalSymbols.PRE_SELECTED_FORM_NAMES) String 
preselectedFormNames)
 {
-this.names = 
Collections.unmodifiableSet(CollectionFactory.newSet(TapestryInternalUtils.splitAtCommas(preselectedFormNames)));
+this.names = 
Collections.unmodifiableSet(CollectionFactory.String,StringnewSet(TapestryInternalUtils.splitAtCommas(preselectedFormNames)));
 }
 
 @Override



git commit: Closes TAP5-1658: If a Submit is used in a Grid, trigger the event with the context of the current iteration

2014-05-31 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 9f9658dfb - a7f700c47


Closes TAP5-1658: If a Submit is used in a Grid, trigger the event with the 
context of the current iteration


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/a7f700c4
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/a7f700c4
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/a7f700c4

Branch: refs/heads/master
Commit: a7f700c47e494f5227929481a82fb3ad675115f3
Parents: 9f9658d
Author: Jochen Kemnade jkemn...@apache.org
Authored: Thu May 29 11:53:37 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sat May 31 18:56:37 2014 +0200

--
 .../tapestry5/corelib/components/Submit.java| 13 -
 .../test/app1/GridWithSubmitWithContextDemo.tml | 16 ++
 .../tapestry5/integration/app1/GridTests.java   | 16 ++
 .../pages/GridWithSubmitWithContextDemo.java| 60 
 .../tapestry5/integration/app1/pages/Index.java |  4 +-
 5 files changed, 107 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a7f700c4/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
index e0f6fc7..efb1c88 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Submit.java
@@ -17,6 +17,7 @@ package org.apache.tapestry5.corelib.components;
 import org.apache.tapestry5.*;
 import org.apache.tapestry5.annotations.*;
 import org.apache.tapestry5.corelib.SubmitMode;
+import org.apache.tapestry5.internal.util.Holder;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.json.JSONArray;
@@ -194,12 +195,22 @@ public class Submit implements ClientElement
 if (disabled || !selected(clientId, elementName))
 return;
 
+// TAP5-1658: copy the context of the current Submit instance so we 
trigger the event with
+// the correct context later
+final HolderObject[] currentContextHolder = Holder.create();
+if (context != null)
+{
+Object[] currentContext = new Object[context.length];
+System.arraycopy(context, 0, currentContext, 0, context.length);
+currentContextHolder.put(currentContext);
+}
+
 Runnable sendNotification = new Runnable()
 {
 public void run()
 {
 // TAP5-1024: allow for navigation result from the event 
callback
-resources.triggerEvent(event, context, eventCallback);
+resources.triggerEvent(event, currentContextHolder.get(), 
eventCallback);
 }
 };
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a7f700c4/tapestry-core/src/test/app1/GridWithSubmitWithContextDemo.tml
--
diff --git a/tapestry-core/src/test/app1/GridWithSubmitWithContextDemo.tml 
b/tapestry-core/src/test/app1/GridWithSubmitWithContextDemo.tml
new file mode 100644
index 000..657028d
--- /dev/null
+++ b/tapestry-core/src/test/app1/GridWithSubmitWithContextDemo.tml
@@ -0,0 +1,16 @@
+html t:type=Border 
xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
+
+h1Grid with Submit with context Demo/h1
+
+t:alerts /
+   t:form
+   table t:type=grid t:id=grid source=tracks row=track 
add=delete
+   t:parameter name=ratingcell
+   t:outputRating rating=track.rating/
+   /t:parameter
+   t:parameter name=deletecell
+   t:submit class=btn context=track/
+   /t:parameter
+   /table
+   /t:form
+/html

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a7f700c4/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
index 2d5f7b3..f18f618 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GridTests.java
@@ -351,5 +351,21 @@ public class GridTests extends App1TestCase
 
 }
 
+/**
+ * TAP5-1658
+ */
+@Test
+

git commit: TAP5-2111: Improve ZoneRefresh javadoc, point out that is triggers the 'refresh' event.

2014-06-03 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 2650b107c - 24d47d1a2


TAP5-2111: Improve ZoneRefresh javadoc, point out that is triggers the 
'refresh' event.


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/24d47d1a
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/24d47d1a
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/24d47d1a

Branch: refs/heads/master
Commit: 24d47d1a2ea7f6c79d215cd98c38a0ff66c0d3eb
Parents: 2650b10
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Jun 3 17:04:15 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Jun 3 17:04:15 2014 +0200

--
 .../apache/tapestry5/corelib/mixins/ZoneRefresh.java| 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/24d47d1a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
index 6eb6dab..130f7dc 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
@@ -19,6 +19,7 @@ import org.apache.tapestry5.ComponentResources;
 import org.apache.tapestry5.EventConstants;
 import org.apache.tapestry5.Link;
 import org.apache.tapestry5.annotations.AfterRender;
+import org.apache.tapestry5.annotations.Events;
 import org.apache.tapestry5.annotations.InjectContainer;
 import org.apache.tapestry5.annotations.Parameter;
 import org.apache.tapestry5.corelib.components.Zone;
@@ -28,14 +29,19 @@ import 
org.apache.tapestry5.services.javascript.JavaScriptSupport;
 
 /**
  * p
- * This mixin periodically refreshs a @{link 
org.apache.tapestry5.corelib.components.Zone zone}
+ * This mixin periodically refreshs a {@link 
org.apache.tapestry5.corelib.components.Zone zone}
  * by triggering an event on the server using ajax requests.
  * /p
- * p/
- * bNote: /b This mixin is only meant for a @{link 
org.apache.tapestry5.corelib.components.Zone zone}
+ * p
+ * Server-side, the mixin triggers the refresh event with the mixin's 
context. A container may but
+ * does not need to handle the event. If the event is handled and a value is 
returned, that value is
+ * used to render the response. Otherwise, the Zone's body is re-rendered.
+ * /p
+ * bNote: /b This mixin is only meant for a {@link 
org.apache.tapestry5.corelib.components.Zone zone}.
  *
  * @tapestrydoc
  */
+@Events(EventConstants.REFRESH)
 public class ZoneRefresh
 {
 /**



git commit: Refuse to start the Registry on Java 1.5, deprecate some code that was used for Java 1.5 compatibility only

2014-06-05 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 940722a74 - 0c1790d43


Refuse to start the Registry on Java 1.5, deprecate some code that was used for 
Java 1.5 compatibility only


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/0c1790d4
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/0c1790d4
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/0c1790d4

Branch: refs/heads/master
Commit: 0c1790d43fc316c60df496bca4b34b6337bbce38
Parents: 940722a
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Jun 5 17:18:26 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Jun 5 17:18:26 2014 +0200

--
 .../ioc/internal/PerThreadOperationTracker.java | 23 ++-
 .../tapestry5/ioc/internal/RegistryImpl.java|  5 
 .../internal/services/PerthreadManagerImpl.java | 31 
 .../tapestry5/ioc/internal/util/DummyLock.java  |  1 +
 .../tapestry5/ioc/internal/util/JDKUtils.java   |  1 +
 5 files changed, 15 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0c1790d4/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/PerThreadOperationTracker.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/PerThreadOperationTracker.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/PerThreadOperationTracker.java
index 4e0e57f..db2d310 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/PerThreadOperationTracker.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/PerThreadOperationTracker.java
@@ -17,11 +17,9 @@ package org.apache.tapestry5.ioc.internal;
 import org.apache.tapestry5.ioc.IOOperation;
 import org.apache.tapestry5.ioc.Invokable;
 import org.apache.tapestry5.ioc.OperationTracker;
-import org.apache.tapestry5.ioc.internal.util.JDKUtils;
 import org.slf4j.Logger;
 
 import java.io.IOException;
-import java.util.concurrent.locks.Lock;
 
 /**
  * Manages a per-thread OperationTracker using a ThreadLocal.
@@ -30,8 +28,6 @@ public class PerThreadOperationTracker implements 
OperationTracker
 {
 private final Logger logger;
 
-private final Lock lock = JDKUtils.createLockForThreadLocalCreation();
-
 private final ThreadLocalOperationTrackerImpl perThread = new 
ThreadLocalOperationTrackerImpl()
 {
 @Override
@@ -48,27 +44,12 @@ public class PerThreadOperationTracker implements 
OperationTracker
 
 OperationTracker get()
 {
-lock.lock();
-
-try
-{
-return perThread.get();
-} finally
-{
-lock.unlock();
-}
+return perThread.get();
 }
 
 void cleanup()
 {
-try
-{
-lock.lock();
-if (perThread.get().isEmpty()) perThread.remove();
-} finally
-{
-lock.unlock();
-}
+if (perThread.get().isEmpty()) perThread.remove();
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0c1790d4/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
index 7de7428..0407c5d 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
+++ 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
@@ -329,6 +329,11 @@ public class RegistryImpl implements Registry, 
InternalRegistry, ServiceProxyPro
 @Override
 public void performRegistryStartup()
 {
+if (JDKUtils.JDK_1_5)
+{
+throw new RuntimeException(Your JDK version is too old.
++  Tapestry requires Java 1.6 or newer since version 
5.4.);
+}
 eagerLoadLock.lock();
 
 ListEagerLoadServiceProxy proxies = CollectionFactory.newList();

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0c1790d4/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImpl.java
--
diff --git 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImpl.java
 
b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImpl.java
index 1cad0dc..1c60370 100644
--- 
a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImpl.java
+++ 

[3/3] git commit: update Moment.js to 2.7.0

2014-06-12 Thread jkemnade
update Moment.js to 2.7.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/33eba212
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/33eba212
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/33eba212

Branch: refs/heads/master
Commit: 33eba2123cd96d44fb0979ce3ec18c884550a56f
Parents: 63ad93a
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Jun 12 10:05:51 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Jun 12 10:05:51 2014 +0200

--
 .../tapestry5/modules/JavaScriptModule.java |2 +-
 .../META-INF/assets/tapestry5/moment-2.6.0.js   | 7993 
 .../META-INF/assets/tapestry5/moment-2.7.0.js   | 8521 ++
 3 files changed, 8522 insertions(+), 7994 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/33eba212/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 0d08463..314c423 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -299,7 +299,7 @@ public class JavaScriptModule
 
@Path(${tapestry.asset.root}/typeahead-0.9.3.js)
 Resource typeahead,
 
-
@Path(${tapestry.asset.root}/moment-2.6.0.js)
+
@Path(${tapestry.asset.root}/moment-2.7.0.js)
 Resource moment,
 
 @Path(${ + 
SymbolConstants.BOOTSTRAP_ROOT + }/js/transition.js)



git commit: TAP5-2203: close the date picker pop-up when clicking anywhere outside of it

2014-06-14 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 33eba2123 - 9cd156f37


TAP5-2203: close the date picker pop-up when clicking anywhere outside of it


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/9cd156f3
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/9cd156f3
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/9cd156f3

Branch: refs/heads/master
Commit: 9cd156f37f34cad965f2d366ba2c7869f6f345ca
Parents: 33eba21
Author: Jochen Kemnade jkemn...@apache.org
Authored: Sat Jun 14 11:23:32 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sat Jun 14 11:23:32 2014 +0200

--
 .../META-INF/modules/t5/core/datefield.coffee| 11 +++
 .../org/apache/tapestry5/integration/app1/FormTests.java | 10 +-
 2 files changed, 20 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9cd156f3/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
index 530f6f6..9a9f63d 100644
--- 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
+++ 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/datefield.coffee
@@ -42,6 +42,17 @@ define [./dom, ./events, ./messages, ./ajax, 
underscore, ./datepicker
 # around the DOM.
 activePopup = null
 
+
+isPartOfPopup = (element) -
+  element.findParent(.labelPopup)? or 
element.findParent(.datefield-popup)?
+
+dom.body.on click, -
+  if activePopup and not isPartOfPopup @
+activePopup.hide()
+activePopup = null
+  return
+
+
 class Controller
   constructor: (@container) -
 @field = @container.findFirst input

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/9cd156f3/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
index 5e997f3..cf85b7d 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
@@ -347,7 +347,7 @@ public class FormTests extends App1TestCase
 
waitForCondition(selenium.browserbot.getCurrentWindow().testSupport.findCSSMatchCount('td.selected')
 == 0, PAGE_LOAD_TIMEOUT);
 }
 
-// TAP4-1408
+// TAP5-1408, TAP5-2203
 @Test
 public void datefield_clickoutside_closes()
 {
@@ -361,6 +361,14 @@ public class FormTests extends App1TestCase
 click(css=.x-impact .btn);
 waitForInvisible(css=div.datePicker);
 
+//make sure that clicking somewhere outside the date picker
+//closes it
+click(css=.x-impact .btn);
+waitForCSSSelectedElementToAppear(div.datePicker);
+
+click(css=h1);
+waitForInvisible(css=div.datePicker);
+
 //also make sure that clicking the month label /doesn't/ close the 
picker
 click(css=.x-impact .btn);
 waitForCSSSelectedElementToAppear(div.datePicker);



git commit: remove unused image files

2014-06-16 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master e6a83e031 - 79fd52350


remove unused image files


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/79fd5235
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/79fd5235
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/79fd5235

Branch: refs/heads/master
Commit: 79fd523500a1760d6951d0bf6833885d9f781bad
Parents: e6a83e0
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon Jun 16 11:08:01 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Jun 16 11:08:23 2014 +0200

--
 .../tapestry5/datepicker_106/images/arrow.left.png   | Bin 181 - 0 bytes
 .../tapestry5/datepicker_106/images/arrow.right.png  | Bin 181 - 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/79fd5235/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.left.png
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.left.png
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.left.png
deleted file mode 100644
index 93085aa..000
Binary files 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.left.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/79fd5235/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.right.png
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.right.png
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.right.png
deleted file mode 100644
index 79abee5..000
Binary files 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/datepicker_106/images/arrow.right.png
 and /dev/null differ



git commit: TAP5-2350: add an AMDWrapper class that can be used to wrap plain JavaScript libraries as AMD modules

2014-06-18 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 3ac532438 - a08fd3bd1


TAP5-2350: add an AMDWrapper class that can be used to wrap plain JavaScript 
libraries as AMD modules


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/a08fd3bd
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/a08fd3bd
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/a08fd3bd

Branch: refs/heads/master
Commit: a08fd3bd19dfece2b818a0746af828f091277265
Parents: 3ac5324
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Jun 18 16:59:47 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Jun 18 17:12:35 2014 +0200

--
 .../services/javascript/AMDWrapper.java | 255 +++
 .../JavaScriptModuleConfiguration.java  |   1 +
 .../services/javascript/ModuleManager.java  |   1 +
 .../services/javascript/AMDWrapperSpec.groovy   |  65 +
 4 files changed, 322 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a08fd3bd/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/AMDWrapper.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/AMDWrapper.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/AMDWrapper.java
new file mode 100644
index 000..3783a65
--- /dev/null
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/AMDWrapper.java
@@ -0,0 +1,255 @@
+// Copyright 2014 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.services.javascript;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.SequenceInputStream;
+import java.net.URL;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Vector;
+
+import org.apache.tapestry5.func.F;
+import org.apache.tapestry5.func.Flow;
+import org.apache.tapestry5.func.Mapper;
+import org.apache.tapestry5.func.Predicate;
+import org.apache.tapestry5.internal.util.VirtualResource;
+import org.apache.tapestry5.ioc.Resource;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
+
+/**
+ * Used to wrap plain JavaScript libraries as AMD modules. The underlying
+ * resource is transformed before it is sent to the client.
+ * p
+ * This is an alternative to configuring RequireJS module shims for the
+ * libraries. As opposed to shimmed libraries, the modules created using the
+ * AMDWrapper can be added to JavaScript stacks.
+ * p
+ * If the library depends on global variables, these can be added as module
+ * dependencies. For a library that expects jQuery to be available as
+ * code$code, the wrapper should be setup calling coderequire(jQuery, 
$)code
+ * on the respective wrapper.
+ *
+ * @since 5.4
+ * @see JavaScriptModuleConfiguration
+ * @see ModuleManager
+ */
+public class AMDWrapper {
+
+/**
+ * The underlying resource, usually a JavaScript library
+ */
+private final Resource resource;
+
+/**
+ * The modules that this module requires, the keys being module names and
+ * the values being the respective parameter names for the module's factory
+ * function.
+ */
+private final MapString, String requireConfig = new 
LinkedHashMapString, String();
+
+/**
+ * The expression that determines what is returned from the factory 
function
+ */
+private String returnExpression;
+
+public AMDWrapper(final Resource resource) {
+this.resource = resource;
+}
+
+/**
+ * Add a dependency on another module. The module will be passed into the
+ * generated factory function as a parameter.
+ *
+ * @param moduleName
+ *the name of the required module, e.g. codejQuery/code
+ * @param parameterName
+ *the module's corresponding parameter name of the factory
+ *function, e.g. code$/code
+ * @return this AMDWrapper for further configuration
+ */
+public AMDWrapper require(final String moduleName,
+final String parameterName) {
+requireConfig.put(moduleName, 

git commit: Convert Spock to TestNG

2014-06-18 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master a08fd3bd1 - 09985ff63


Convert Spock to TestNG


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/09985ff6
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/09985ff6
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/09985ff6

Branch: refs/heads/master
Commit: 09985ff63a24c0a8cc764b07fe693ea32199dd60
Parents: a08fd3b
Author: Jochen Kemnade jkemn...@apache.org
Authored: Wed Jun 18 19:52:13 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Wed Jun 18 19:52:13 2014 +0200

--
 .../services/javascript/AMDWrapperSpec.groovy   | 65 
 .../services/javascript/AMDWrapperTest.groovy   | 64 +++
 2 files changed, 64 insertions(+), 65 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/09985ff6/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperSpec.groovy
--
diff --git 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperSpec.groovy
 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperSpec.groovy
deleted file mode 100644
index 802f932..000
--- 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperSpec.groovy
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.tapestry5.services.javascript
-
-import org.apache.tapestry5.ioc.Resource
-
-import spock.lang.Specification
-
-class AMDWrapperSpec extends Specification {
-
-def AMD wrapper without dependencies(){
-setup:
-Resource resource = Mock()
-when:
-def wrapper = new AMDWrapper(resource)
-def moduleConfiguration = wrapper.asJavaScriptModuleConfiguration()
-then:
-!moduleConfiguration.needsConfiguration
-when:
-def amdModuleContent = moduleConfiguration.resource.openStream().text
-then:
-amdModuleContent ==
-define([], function(){
-alert('Hello World!');
-});
-1 * resource.openStream()  new ByteArrayInputStream(alert('Hello 
World!');.bytes)
-}
-
-def AMD wrapper with named dependencies(){
-setup:
-Resource resource = Mock()
-when:
-def wrapper = new AMDWrapper(resource)
-wrapper.require(jquery, '$')
-def moduleConfiguration = wrapper.asJavaScriptModuleConfiguration()
-then:
-!moduleConfiguration.needsConfiguration
-when:
-def amdModuleContent = moduleConfiguration.resource.openStream().text
-then:
-amdModuleContent ==
-'''define([jquery], function($){
-$(body).css(background-color, pink);
-});'''
-1 * resource.openStream()  new 
ByteArrayInputStream('$(body).css(background-color, pink);'.bytes)
-}
-
-def AMD wrapper with return expression(){
-setup:
-Resource resource = Mock()
-when:
-def wrapper = new AMDWrapper(resource)
-wrapper.setReturnExpression(myImportantVar)
-def moduleConfiguration = wrapper.asJavaScriptModuleConfiguration()
-then:
-!moduleConfiguration.needsConfiguration
-when:
-def amdModuleContent = moduleConfiguration.resource.openStream().text
-then:
-amdModuleContent ==
-'''define([], function(){
-var myImportantVar = 42;
-return myImportantVar;
-});'''
-1 * resource.openStream()  new ByteArrayInputStream('var 
myImportantVar = 42;'.bytes)
-}
-}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/09985ff6/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperTest.groovy
--
diff --git 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperTest.groovy
 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperTest.groovy
new file mode 100644
index 000..bbf328e
--- /dev/null
+++ 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/services/javascript/AMDWrapperTest.groovy
@@ -0,0 +1,64 @@
+package org.apache.tapestry5.services.javascript
+
+import org.apache.tapestry5.ioc.Resource
+import org.apache.tapestry5.test.TapestryTestCase
+import org.testng.annotations.Test;
+
+class AMDWrapperTest extends TapestryTestCase {
+
+@Test
+void AMDwrapper_without_dependencies(){
+Resource resource = newMock(Resource)
+expect(resource.openStream()).andReturn(new 
ByteArrayInputStream(alert('Hello World!');.bytes))
+
+replay()
+
+def wrapper = new AMDWrapper(resource)
+
+def moduleConfiguration = wrapper.asJavaScriptModuleConfiguration()
+
+  

git commit: TAP5-2282: ensure that aac@bbb/cc is not considered a valid email address

2014-06-21 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 6ee341ae2 - 4821e2bcf


TAP5-2282: ensure that aac@bbb/cc is not considered a valid email address


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4821e2bc
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4821e2bc
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4821e2bc

Branch: refs/heads/master
Commit: 4821e2bcf2f437b8f77e564639452644f473c7a9
Parents: 6ee341a
Author: Jochen Kemnade jkemn...@apache.org
Authored: Sat Jun 21 22:30:22 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Sat Jun 21 22:30:22 2014 +0200

--
 .../java/org/apache/tapestry5/validator/EmailTest.java| 10 ++
 1 file changed, 10 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4821e2bc/tapestry-core/src/test/java/org/apache/tapestry5/validator/EmailTest.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/validator/EmailTest.java 
b/tapestry-core/src/test/java/org/apache/tapestry5/validator/EmailTest.java
index 4390637..9a9b3e9 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/validator/EmailTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/validator/EmailTest.java
@@ -65,6 +65,16 @@ public class EmailTest extends InternalBaseTestCase
 {
 }
 
+// TAP5-2282
+try
+{
+validator.validate(field, null, formatter, aaa@bbb/cc);
+unreachable();
+}
+catch (ValidationException ex)
+{
+}
+
 verify();
 
 }



git commit: TAP5-2355: fix format argument order in zh_CN validation messages

2014-06-25 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/5.3 4a5b8fc69 - 52765fe76


TAP5-2355: fix format argument order in zh_CN validation messages


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/52765fe7
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/52765fe7
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/52765fe7

Branch: refs/heads/5.3
Commit: 52765fe76f6879a69a975bab8a063aad34af6aeb
Parents: 4a5b8fc
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Jun 25 11:07:15 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Jun 25 11:07:15 2014 +0200

--
 .../tapestry5/internal/ValidationMessages_zh_CN.properties   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/52765fe7/tapestry-core/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_zh_CN.properties
--
diff --git 
a/tapestry-core/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_zh_CN.properties
 
b/tapestry-core/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_zh_CN.properties
index b1d0145..ec7a7cf 100644
--- 
a/tapestry-core/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_zh_CN.properties
+++ 
b/tapestry-core/src/main/resources/org/apache/tapestry5/internal/ValidationMessages_zh_CN.properties
@@ -17,8 +17,8 @@
 # we must use specific indexing when that's not the best order.
 
 required=\u60a8\u5fc5\u987b\u586b\u5199 %s \u7684\u503c\u3002
-minimum-string-length=\u60a8\u5fc5\u987b\u4e3a %s \u63d0\u4f9b\u81f3\u5c11 %d 
\u5b57\u7b26\u3002
-maximum-string-length=\u60a8\u6700\u591a\u80fd\u4e3a %s 
\u63d0\u4f9b\u81f3\u5c11 %d \u5b57\u7b26\u3002
+minimum-string-length=\u60a8\u5fc5\u987b\u4e3a %2$s \u63d0\u4f9b\u81f3\u5c11 
%1$d \u5b57\u7b26\u3002
+maximum-string-length=\u60a8\u6700\u591a\u80fd\u4e3a %2$s 
\u63d0\u4f9b\u81f3\u5c11 %1$d \u5b57\u7b26\u3002
 min-integer=%2$s \u9700\u8981\u5927\u4e8e %1$d \u7684\u503c\u3002 
 max-integer=%2$s \u9700\u8981\u5c0f\u4e8e %1$d \u7684\u503c\u3002
 # This is lousy as a default, since the pattern string is meaningless to the 
user. You should always override



git commit: TAP5-2355, TAP5-1865: fix format argument order in zh_CN validation messages

2014-06-25 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 24344bed9 - 5a8ac6883


TAP5-2355, TAP5-1865: fix format argument order in zh_CN validation messages


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/5a8ac688
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/5a8ac688
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/5a8ac688

Branch: refs/heads/master
Commit: 5a8ac6883fd0d34186c8d849509bdb105e84ea73
Parents: 24344be
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Jun 25 11:14:23 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Jun 25 11:14:23 2014 +0200

--
 .../main/resources/org/apache/tapestry5/core_zh_CN.properties| 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/5a8ac688/tapestry-core/src/main/resources/org/apache/tapestry5/core_zh_CN.properties
--
diff --git 
a/tapestry-core/src/main/resources/org/apache/tapestry5/core_zh_CN.properties 
b/tapestry-core/src/main/resources/org/apache/tapestry5/core_zh_CN.properties
index be726ff..aa4e8ba 100644
--- 
a/tapestry-core/src/main/resources/org/apache/tapestry5/core_zh_CN.properties
+++ 
b/tapestry-core/src/main/resources/org/apache/tapestry5/core_zh_CN.properties
@@ -78,13 +78,13 @@ invalid-email='%s' 不是正确的邮件格式。
 max-integer=%2$s 需要小于 %1$d 的值。
 
 # String maxLength validation error:
-maximum-string-length=您最多能为 %s 提供至少 %d 字符。
+maximum-string-length=您最多能为 %2$s 提供至少 %1$d 字符。
 
 # Integer min validator error:
 min-integer=%2$s 需要大于 %1$d 的值。 
 
 # String minLength validator error:
-minimum-string-length=您必须为 %s 提供至少 %d 字符。
+minimum-string-length=您必须为 %2$s 提供至少 %1$d 字符。
 
 # String-to-number translation error:
 number-format-exception=您必须为 %s 提供数字。



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

[2/3] git commit: update ANTLR to 3.5.2, fixes issues when building the grammar with Java 8 see https://github.com/antlr/antlr3/issues/151

2014-07-01 Thread jkemnade
update ANTLR to 3.5.2, fixes issues when building the grammar with Java 8
see https://github.com/antlr/antlr3/issues/151


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/77020385
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/77020385
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/77020385

Branch: refs/heads/master
Commit: 7702038519af9a548de52b757446b02212f7165f
Parents: a975509
Author: Jochen Kemnade jkemn...@apache.org
Authored: Tue Jul 1 19:08:32 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Tue Jul 1 19:08:32 2014 +0200

--
 tapestry-core/build.gradle | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/77020385/tapestry-core/build.gradle
--
diff --git a/tapestry-core/build.gradle b/tapestry-core/build.gradle
index 41c2adf..c16cd48 100644
--- a/tapestry-core/build.gradle
+++ b/tapestry-core/build.gradle
@@ -27,12 +27,12 @@ dependencies {
 compile commons-codec:commons-codec:1.5
 
 // Transitive will bring in the unwanted string template library as well
-compile org.antlr:antlr-runtime:3.3, {
+compile org.antlr:antlr-runtime:3.5.2, {
 exclude group: org.antlr, module: stringtemplate
 }
 
 // Antlr3 tool path used with the antlr3 task
-antlr3 org.antlr:antlr:3.3
+antlr3 org.antlr:antlr:3.5.2
 
 testRuntime org.hsqldb:hsqldb:1.8.0.10
 }



[1/3] git commit: ensure build file compatibility with Gradle 2.0

2014-07-01 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master accbb5374 - e457a43b8


ensure build file compatibility with Gradle 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/a9755099
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/a9755099
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/a9755099

Branch: refs/heads/master
Commit: a9755099570039a87bb695731223ea45f76d1e3f
Parents: accbb53
Author: Jochen Kemnade jkemn...@apache.org
Authored: Tue Jul 1 18:51:05 2014 +0200
Committer: Jochen Kemnade jkemn...@apache.org
Committed: Tue Jul 1 18:51:05 2014 +0200

--
 build.gradle | 10 +-
 quickstart/filtered/archetype-resources/build.gradle |  6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a9755099/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 1869f64..4dd14e4 100755
--- a/build.gradle
+++ b/build.gradle
@@ -155,19 +155,19 @@ subprojects {
 
 sourceSets {
 main {
-compileClasspath += configurations.provided
+compileClasspath += [configurations.provided]
 }
 test {
-compileClasspath += configurations.provided
-runtimeClasspath += configurations.provided
+compileClasspath += [configurations.provided]
+runtimeClasspath += [configurations.provided]
 }
 }
 
 idea.module {
-scopes.PROVIDED.plus += configurations.provided
+scopes.PROVIDED.plus += [configurations.provided]
 }
 
-eclipse.classpath.plusConfigurations += configurations.provided
+eclipse.classpath.plusConfigurations += [configurations.provided]
 
 dependencies {
 testCompile org.codehaus.groovy:groovy-all:${versions.groovy}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a9755099/quickstart/filtered/archetype-resources/build.gradle
--
diff --git a/quickstart/filtered/archetype-resources/build.gradle 
b/quickstart/filtered/archetype-resources/build.gradle
index 5182455..3df6f01 100644
--- a/quickstart/filtered/archetype-resources/build.gradle
+++ b/quickstart/filtered/archetype-resources/build.gradle
@@ -49,14 +49,14 @@ configurations {
 
 sourceSets {
 main {
-compileClasspath += configurations.provided
+compileClasspath += [configurations.provided]
 // To give the same path as IDEA has
 // output.resourcesDir = 'build/production/${artifactId}'
 // output.classesDir = 'build/production/${artifactId}'
 }
 test {
-compileClasspath += configurations.provided
-runtimeClasspath += configurations.provided
+compileClasspath += [configurations.provided]
+runtimeClasspath += [configurations.provided]
 }
 }
 



git commit: TAP5-2351: remove source mapping url in the updateBootstrap task

2014-07-03 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master db3a7a684 - ee0220c64


TAP5-2351: remove source mapping url in the updateBootstrap task


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ee0220c6
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ee0220c6
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ee0220c6

Branch: refs/heads/master
Commit: ee0220c64a0bb85388fc856fdb8e5401d13aa29c
Parents: db3a7a6
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Jul 3 11:03:36 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Jul 3 11:03:36 2014 +0200

--
 build.gradle   | 6 +-
 .../assets/tapestry5/bootstrap/css/bootstrap-theme.css | 1 +
 .../META-INF/assets/tapestry5/bootstrap/css/bootstrap.css  | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ee0220c6/build.gradle
--
diff --git a/build.gradle b/build.gradle
index ee3ed2c..5ce2fcc 100755
--- a/build.gradle
+++ b/build.gradle
@@ -594,10 +594,14 @@ task updateBootstrap  {
 from(zipTree(target)){
 include('*/js/*.js')
 include('*/dist/fonts/*')
+eachFile adjustDirectory
+}
+from(zipTree(target)){
 include('*/dist/css/bootstrap.css')
 include('*/dist/css/bootstrap-theme.css')
-
 eachFile adjustDirectory
+// TAP5-2351: remove source map reference from css files
+filter({ (it ==~ /\/\*\s*# sourceMappingURL=[\S]+\s*\*\//) ?  : it })
 }
 
into('tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/')
   }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ee0220c6/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap-theme.css
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap-theme.css
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap-theme.css
index dff87f6..432bf14 100644
--- 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap-theme.css
+++ 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap-theme.css
@@ -439,3 +439,4 @@
   -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 
255, 255, .1);
   box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 
255, 255, .1);
 }
+

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ee0220c6/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap.css
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap.css
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap.css
index 88123dc..1f7bc6a 100644
--- 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap.css
+++ 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/css/bootstrap.css
@@ -6200,3 +6200,4 @@ button.close {
 display: none !important;
   }
 }
+



git commit: Revert update ANTLR to 3.5.2, fixes issues when building the grammar with Java 8 Less4j is not compatible with ANTLR 3.5

2014-07-18 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 2667b5a9d - 4bd6302e0


Revert update ANTLR to 3.5.2, fixes issues when building the grammar with Java 
8
Less4j is not compatible with ANTLR 3.5

This reverts commit 7702038519af9a548de52b757446b02212f7165f.


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4bd6302e
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4bd6302e
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4bd6302e

Branch: refs/heads/master
Commit: 4bd6302e0eca754b86e0cb2a9a0ab1ec6270857c
Parents: 2667b5a
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Fri Jul 18 09:36:22 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Fri Jul 18 09:36:32 2014 +0200

--
 tapestry-core/build.gradle | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4bd6302e/tapestry-core/build.gradle
--
diff --git a/tapestry-core/build.gradle b/tapestry-core/build.gradle
index c16cd48..41c2adf 100644
--- a/tapestry-core/build.gradle
+++ b/tapestry-core/build.gradle
@@ -27,12 +27,12 @@ dependencies {
 compile commons-codec:commons-codec:1.5
 
 // Transitive will bring in the unwanted string template library as well
-compile org.antlr:antlr-runtime:3.5.2, {
+compile org.antlr:antlr-runtime:3.3, {
 exclude group: org.antlr, module: stringtemplate
 }
 
 // Antlr3 tool path used with the antlr3 task
-antlr3 org.antlr:antlr:3.5.2
+antlr3 org.antlr:antlr:3.3
 
 testRuntime org.hsqldb:hsqldb:1.8.0.10
 }



git commit: TAP5-2139: rename JavascriptAggregationStrategy to JavaScriptAggregationStrategy to match other classes' capitalization

2014-07-28 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 897d27054 - 74a066eb7


TAP5-2139: rename JavascriptAggregationStrategy to 
JavaScriptAggregationStrategy to match other classes' capitalization


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/74a066eb
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/74a066eb
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/74a066eb

Branch: refs/heads/master
Commit: 74a066eb762f2f3c1efe211229e64a3322188ea5
Parents: 897d270
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon Jul 28 10:33:37 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Jul 28 10:33:37 2014 +0200

--
 .../assets/JavaScriptStackAssembler.java|  4 +-
 .../assets/JavaScriptStackAssemblerImpl.java|  8 ++--
 .../javascript/ExtensibleJavaScriptStack.java   | 16 
 .../JavaScriptAggregationStrategy.java  | 42 
 .../services/javascript/JavaScriptStack.java|  4 +-
 .../JavascriptAggregationStrategy.java  | 42 
 .../services/javascript/StackExtension.java |  2 +-
 .../services/javascript/StackExtensionType.java |  2 +-
 .../t5/webresources/services/AppModule.java |  4 +-
 9 files changed, 62 insertions(+), 62 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74a066eb/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssembler.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssembler.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssembler.java
index dfede36..735c1e8 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssembler.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssembler.java
@@ -13,7 +13,7 @@
 package org.apache.tapestry5.internal.services.assets;
 
 import org.apache.tapestry5.services.assets.StreamableResource;
-import org.apache.tapestry5.services.javascript.JavascriptAggregationStrategy;
+import org.apache.tapestry5.services.javascript.JavaScriptAggregationStrategy;
 
 import java.io.IOException;
 
@@ -34,5 +34,5 @@ public interface JavaScriptStackAssembler
  * p/
  * Expects the {@linkplain 
org.apache.tapestry5.services.LocalizationSetter#setNonPersistentLocaleFromLocaleName(String)
 non-persistent locale} to be set before invoking!
  */
-StreamableResource assembleJavaScriptResourceForStack(String stackName, 
boolean compress, JavascriptAggregationStrategy javascriptAggregationStrategy) 
throws IOException;
+StreamableResource assembleJavaScriptResourceForStack(String stackName, 
boolean compress, JavaScriptAggregationStrategy javascriptAggregationStrategy) 
throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/74a066eb/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
index 2c5200b..0b5c4f1 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/JavaScriptStackAssemblerImpl.java
@@ -21,7 +21,7 @@ import org.apache.tapestry5.ioc.services.ThreadLocale;
 import org.apache.tapestry5.services.assets.*;
 import org.apache.tapestry5.services.javascript.JavaScriptStack;
 import org.apache.tapestry5.services.javascript.JavaScriptStackSource;
-import org.apache.tapestry5.services.javascript.JavascriptAggregationStrategy;
+import org.apache.tapestry5.services.javascript.JavaScriptAggregationStrategy;
 import org.apache.tapestry5.services.javascript.ModuleManager;
 
 import java.io.*;
@@ -60,9 +60,9 @@ public class JavaScriptStackAssemblerImpl implements 
JavaScriptStackAssembler
 
 final boolean compress;
 
-final JavascriptAggregationStrategy javascriptAggregationStrategy;
+final JavaScriptAggregationStrategy javascriptAggregationStrategy;
 
-private Parameters(Locale locale, String stackName, boolean compress, 
JavascriptAggregationStrategy javascriptAggregationStrategy)
+private Parameters(Locale locale, String stackName, boolean compress, 
JavaScriptAggregationStrategy javascriptAggregationStrategy)
  

git commit: TAP5-2359: triggering the submit event on the form already submits it, calling its submit method submits it again

2014-07-29 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 74a066eb7 - b25c8cde5


TAP5-2359: triggering the submit event on the form already submits it, calling 
its submit method submits it again


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b25c8cde
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b25c8cde
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b25c8cde

Branch: refs/heads/master
Commit: b25c8cde5026b3c9d2f923b0afdac4d6058798cf
Parents: 74a066e
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Jul 29 10:31:09 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Jul 29 10:31:09 2014 +0200

--
 .../src/main/coffeescript/META-INF/modules/t5/core/forms.coffee   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b25c8cde/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
index c20714a..fb69d9e 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/forms.coffee
@@ -185,8 +185,7 @@ define [./events, ./dom, underscore],
   # Now the ugly part; if we just invoke submit() on the form, it does not 
trigger
   # the form's submit event, which we need.
 
-  if form.trigger submit
-form.element.submit()
+  form.trigger submit
 
   # And cancel the default behavior for the original click event
   return false



git commit: TAP5-2100: ZoneRefresh mixin triggers refresh event with wrong context

2014-08-04 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 30a66c952 - e087cad11


TAP5-2100: ZoneRefresh mixin triggers refresh event with wrong context


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/e087cad1
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/e087cad1
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/e087cad1

Branch: refs/heads/master
Commit: e087cad11d609bc251727be91bf3d523811d541d
Parents: 30a66c9
Author: Ivan Khalopik ikhalo...@gmail.com
Authored: Thu Mar 28 19:40:14 2013 +0300
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Aug 4 10:42:25 2014 +0200

--
 .../tapestry5/corelib/mixins/ZoneRefresh.java   |  5 ++-
 tapestry-core/src/test/app1/Index.tml   |  4 ++
 .../src/test/app1/ZoneRefreshWithContext.tml| 13 ++
 .../integration/app1/ZoneRefreshTest.java   | 21 ++
 .../app1/pages/ZoneRefreshWithContext.java  | 44 
 5 files changed, 85 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e087cad1/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
index 130f7dc..d2ca6dd 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/ZoneRefresh.java
@@ -17,6 +17,7 @@ package org.apache.tapestry5.corelib.mixins;
 import org.apache.tapestry5.BindingConstants;
 import org.apache.tapestry5.ComponentResources;
 import org.apache.tapestry5.EventConstants;
+import org.apache.tapestry5.EventContext;
 import org.apache.tapestry5.Link;
 import org.apache.tapestry5.annotations.AfterRender;
 import org.apache.tapestry5.annotations.Events;
@@ -83,10 +84,10 @@ public class ZoneRefresh
 
javaScriptSupport.require(t5/core/zone-refresh).with(zone.getClientId(), 
period, link.toString());
 }
 
-Object onZoneRefresh()
+Object onZoneRefresh(EventContext eventContext)
 {
 CaptureResultCallbackObject callback = new 
CaptureResultCallbackObject();
-resources.triggerEvent(EventConstants.REFRESH, context, callback);
+resources.triggerContextEvent(EventConstants.REFRESH, eventContext, 
callback);
 
 if (callback.getResult() != null)
 {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e087cad1/tapestry-core/src/test/app1/Index.tml
--
diff --git a/tapestry-core/src/test/app1/Index.tml 
b/tapestry-core/src/test/app1/Index.tml
index d9a0252..1e7ca79 100644
--- a/tapestry-core/src/test/app1/Index.tml
+++ b/tapestry-core/src/test/app1/Index.tml
@@ -159,6 +159,10 @@
 -- refreshes zone with an event handler returning zone
 /li
 li
+a href=ZoneRefreshWithContextZone Refresh With Context/a
+-- refreshes zone with a context
+/li
+li
 a href=UnsupportedParameterBlockDemoUnsupported Parameter Block 
Demo/a
 -- informal block parameter to a component that does not support 
informal parameters
 /li

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e087cad1/tapestry-core/src/test/app1/ZoneRefreshWithContext.tml
--
diff --git a/tapestry-core/src/test/app1/ZoneRefreshWithContext.tml 
b/tapestry-core/src/test/app1/ZoneRefreshWithContext.tml
new file mode 100644
index 000..956daab
--- /dev/null
+++ b/tapestry-core/src/test/app1/ZoneRefreshWithContext.tml
@@ -0,0 +1,13 @@
+html xmlns:t='http://tapestry.apache.org/schema/tapestry_5_1_0.xsd'
+   head
+   /head
+   
+   body
+  Using zone with context :
+  span t:type='zone' t:mixins='zonerefresh' t:period='2' 
t:context='counter' id='zone' t:id='zone'
+ ${changed}
+  /span
+  t:actionlink t:id='link' zone='zone'Add/t:actionlink
+   /body
+   
+/html
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e087cad1/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
index c18890c..1178fb1 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
+++ 

git commit: TAP5-2100: add an additional sleep to wait for the first refresh after clicking the link in the test case

2014-08-04 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master e087cad11 - dca3b4875


TAP5-2100: add an additional sleep to wait for the first refresh after clicking 
the link in the test case


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/dca3b487
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/dca3b487
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/dca3b487

Branch: refs/heads/master
Commit: dca3b4875a9fe96fb3e6f3ec6bf90cafb086b93a
Parents: e087cad
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon Aug 4 12:57:53 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Aug 4 12:57:53 2014 +0200

--
 .../java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/dca3b487/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
index 1178fb1..3c116f0 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/ZoneRefreshTest.java
@@ -60,6 +60,7 @@ public class ZoneRefreshTest extends App1TestCase
waitForAjaxRequestsToComplete();
 
// assert that counter value didn't changed
+   Thread.sleep(2000l);
assertText(zone, true);
Thread.sleep(2000l);
assertText(zone, true);



[3/3] git commit: update Moment.js to 2.8.1

2014-08-05 Thread jkemnade
update Moment.js to 2.8.1


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/50ebb518
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/50ebb518
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/50ebb518

Branch: refs/heads/master
Commit: 50ebb518e72b8be5336b9f25380a8651a8dfe693
Parents: dca3b48
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Aug 5 12:44:36 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Aug 5 12:44:36 2014 +0200

--
 .../META-INF/modules/t5/core/moment.coffee  |2 +-
 .../tapestry5/modules/JavaScriptModule.java |2 +-
 .../META-INF/assets/tapestry5/moment-2.7.0.js   | 8521 
 .../META-INF/assets/tapestry5/moment-2.8.1.js   | 9072 ++
 4 files changed, 9074 insertions(+), 8523 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/50ebb518/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee
index eeff51d..4b11254 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee
@@ -20,6 +20,6 @@ define [moment],
 (moment) -
   locale = (document.documentElement.getAttribute data-locale) or en
 
-  moment.lang(locale)
+  moment.locale(locale)
 
   return moment
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/50ebb518/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 903fb1a..713eb45 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -337,7 +337,7 @@ public class JavaScriptModule
 
@Path(${tapestry.asset.root}/typeahead-0.9.3.js)
 Resource typeahead,
 
-
@Path(${tapestry.asset.root}/moment-2.7.0.js)
+
@Path(${tapestry.asset.root}/moment-2.8.1.js)
 Resource moment,
 
 @Path(${ + 
SymbolConstants.BOOTSTRAP_ROOT + }/js/transition.js)



[1/3] update Moment.js to 2.8.1

2014-08-05 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master dca3b4875 - 50ebb518e


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/50ebb518/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js
new file mode 100644
index 000..30831bb
--- /dev/null
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js
@@ -0,0 +1,9072 @@
+//! moment.js
+//! version : 2.8.1
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+(function (undefined) {
+/
+Constants
+/
+
+var moment,
+VERSION = '2.8.1',
+// the global-scope this is NOT the global object in Node.js
+globalScope = typeof global !== 'undefined' ? global : this,
+oldGlobalMoment,
+round = Math.round,
+i,
+
+YEAR = 0,
+MONTH = 1,
+DATE = 2,
+HOUR = 3,
+MINUTE = 4,
+SECOND = 5,
+MILLISECOND = 6,
+
+// internal storage for locale config files
+locales = {},
+
+// extra moment internal properties (plugins register props here)
+momentProperties = [],
+
+// check for nodeJS
+hasModule = (typeof module !== 'undefined'  module.exports),
+
+// ASP.NET json date format regex
+aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
+aspNetTimeSpanJsonRegex = 
/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
+
+// from 
http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal 
anywhere
+isoDurationRegex = 
/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
+
+// format tokens
+formattingTokens = 
/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
+localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
+
+// parsing token regexes
+parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
+parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
+parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 
+parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
+parseTokenDigits = /\d+/, // nonzero number of digits
+parseTokenWord = 
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
 // any word (or two) characters or numbers including two/three word month in 
arabic.
+parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + 
- or Z
+parseTokenT = /T/i, // T (ISO separator)
+parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 
123456789.123
+parseTokenOrdinal = /\d{1,2}/,
+
+//strict parsing regexes
+parseTokenOneDigit = /\d/, // 0 - 9
+parseTokenTwoDigits = /\d\d/, // 00 - 99
+parseTokenThreeDigits = /\d{3}/, // 000 - 999
+parseTokenFourDigits = /\d{4}/, //  - 
+parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
+parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
+
+// iso 8601 regex
+// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 
00:00:00.000 + +00:00 or + or +00)
+isoRegex = 
/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| 
)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+
+isoFormat = '-MM-DDTHH:mm:ssZ',
+
+isoDates = [
+['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
+['-MM-DD', /\d{4}-\d{2}-\d{2}/],
+['-[W]WW-E', /\d{4}-W\d{2}-\d/],
+['-[W]WW', /\d{4}-W\d{2}/],
+['-DDD', /\d{4}-\d{3}/]
+],
+
+// iso time formats and regexes
+isoTimes = [
+['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d+/],
+['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+['HH:mm', /(T| )\d\d:\d\d/],
+['HH', /(T| )\d\d/]
+],
+
+// timezone chunker +10:00  [10, 00] or -1530  [-15, 30]
+parseTimezoneChunker = /([\+\-]|\d\d)/gi,
+
+// getter and setter names
+proxyGettersAndSetters = 
'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
+unitMillisecondFactors = {
+'Milliseconds' : 1,
+'Seconds' : 1e3,
+'Minutes' : 6e4,
+'Hours' : 36e5,
+'Days' : 864e5,
+'Months' : 2592e6,
+  

[2/3] update Moment.js to 2.8.1

2014-08-05 Thread jkemnade
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/50ebb518/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.7.0.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.7.0.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.7.0.js
deleted file mode 100644
index 4b6676d..000
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.7.0.js
+++ /dev/null
@@ -1,8521 +0,0 @@
-//! moment.js
-//! version : 2.7.0
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-
-(function (undefined) {
-
-/
-Constants
-/
-
-var moment,
-VERSION = 2.7.0,
-// the global-scope this is NOT the global object in Node.js
-globalScope = typeof global !== 'undefined' ? global : this,
-oldGlobalMoment,
-round = Math.round,
-i,
-
-YEAR = 0,
-MONTH = 1,
-DATE = 2,
-HOUR = 3,
-MINUTE = 4,
-SECOND = 5,
-MILLISECOND = 6,
-
-// internal storage for language config files
-languages = {},
-
-// moment internal properties
-momentProperties = {
-_isAMomentObject: null,
-_i : null,
-_f : null,
-_l : null,
-_strict : null,
-_tzm : null,
-_isUTC : null,
-_offset : null,  // optional. Combine with _isUTC
-_pf : null,
-_lang : null  // optional
-},
-
-// check for nodeJS
-hasModule = (typeof module !== 'undefined'  module.exports),
-
-// ASP.NET json date format regex
-aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
-aspNetTimeSpanJsonRegex = 
/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
-
-// from 
http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
-// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal 
anywhere
-isoDurationRegex = 
/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
-
-// format tokens
-formattingTokens = 
/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
-localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
-
-// parsing token regexes
-parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
-parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
-parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 
-parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
-parseTokenDigits = /\d+/, // nonzero number of digits
-parseTokenWord = 
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
 // any word (or two) characters or numbers including two/three word month in 
arabic.
-parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + 
- or Z
-parseTokenT = /T/i, // T (ISO separator)
-parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 
123456789.123
-parseTokenOrdinal = /\d{1,2}/,
-
-//strict parsing regexes
-parseTokenOneDigit = /\d/, // 0 - 9
-parseTokenTwoDigits = /\d\d/, // 00 - 99
-parseTokenThreeDigits = /\d{3}/, // 000 - 999
-parseTokenFourDigits = /\d{4}/, //  - 
-parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
-parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
-
-// iso 8601 regex
-// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 
00:00:00.000 + +00:00 or + or +00)
-isoRegex = 
/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| 
)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
-
-isoFormat = '-MM-DDTHH:mm:ssZ',
-
-isoDates = [
-['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
-['-MM-DD', /\d{4}-\d{2}-\d{2}/],
-['-[W]WW-E', /\d{4}-W\d{2}-\d/],
-['-[W]WW', /\d{4}-W\d{2}/],
-['-DDD', /\d{4}-\d{3}/]
-],
-
-// iso time formats and regexes
-isoTimes = [
-['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d+/],
-['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
-['HH:mm', /(T| )\d\d:\d\d/],
-['HH', /(T| )\d\d/]
-],
-
-// timezone chunker +10:00  [10, 00] or -1530  [-15, 30]
-parseTimezoneChunker = /([\+\-]|\d\d)/gi,
-
-// getter and setter names
-proxyGettersAndSetters = 
'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
-

[2/2] git commit: TAP5-736: add a test to ensure that null is not accepted as a TextField's validate parameter

2014-08-18 Thread jkemnade
TAP5-736: add a test to ensure that null is not accepted as a TextField's 
validate parameter


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/875ca1c0
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/875ca1c0
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/875ca1c0

Branch: refs/heads/master
Commit: 875ca1c0bd8aff462715315ec668dd9e23c2560a
Parents: c8bf6f9
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon Aug 18 12:34:03 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Aug 18 12:34:03 2014 +0200

--
 .../app1/TextFieldWithNullValidateParameter.tml | 11 ++
 .../tapestry5/integration/app1/FormTests.java   | 11 ++
 .../tapestry5/integration/app1/pages/Index.java |  4 +++-
 .../TextFieldWithNullValidateParameter.java | 23 
 4 files changed, 48 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/875ca1c0/tapestry-core/src/test/app1/TextFieldWithNullValidateParameter.tml
--
diff --git a/tapestry-core/src/test/app1/TextFieldWithNullValidateParameter.tml 
b/tapestry-core/src/test/app1/TextFieldWithNullValidateParameter.tml
new file mode 100644
index 000..21059d7
--- /dev/null
+++ b/tapestry-core/src/test/app1/TextFieldWithNullValidateParameter.tml
@@ -0,0 +1,11 @@
+html t:type=Border 
xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
+
+t:form
+t:errors/
+
+t:textfield value=literal:foobar validate=prop:nullvalidate/
+
+/t:form
+
+
+/html
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/875ca1c0/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
index 58f252a..70f77e7 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
@@ -1219,4 +1219,15 @@ public class FormTests extends App1TestCase
 assertEquals(text, getAttribute(emailValidator@type)); // if HTML5 
support was enabled, this would be email
 }
 
+/** TAP5-736 **/
+@Test
+public void textfield_requires_non_null_validate_parameter() throws 
Exception
+{
+openLinks(TextField with null validate parameter);
+if(isTextPresent(java.lang.NullPointerException)){
+reportAndThrowAssertionError(Unexpected NullPointerException was 
thrown);
+}
+assertTextPresent(This parameter is not allowed to be null.);
+}
+
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/875ca1c0/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
index 42a4ffa..ae49e59 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
@@ -578,7 +578,9 @@ public class Index
 
 new Item(FormFieldClientIdParameterDemo, Form Field 
clientId Parameter Demo, Shows and tests how to explicitly set the id of a 
form field component),
 
-new Item(gridwithsubmitwithcontextdemo, Grid with 
Submit with context, A grid whose rows contain a Submit component with 
context)
+new Item(gridwithsubmitwithcontextdemo, Grid with 
Submit with context, A grid whose rows contain a Submit component with 
context),
+
+new Item(textfieldwithnullvalidateparameter, TextField 
with null validate parameter, A TextField whose validate parameter is bound 
to null)
 );
 
 static

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/875ca1c0/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/TextFieldWithNullValidateParameter.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/TextFieldWithNullValidateParameter.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/TextFieldWithNullValidateParameter.java
new file mode 100644
index 000..e116497
--- /dev/null
+++ 

[1/2] git commit: TAP5-736 - TextField validate parameter allows Null, but throws NPE

2014-08-18 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 93116c9f0 - 875ca1c0b


TAP5-736 - TextField validate parameter allows Null, but throws NPE


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/c8bf6f97
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c8bf6f97
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c8bf6f97

Branch: refs/heads/master
Commit: c8bf6f9739d4ab541d02c7cd9a72689335d8d919
Parents: 93116c9
Author: fscheffer m...@felix-scheffer.de
Authored: Fri Aug 15 00:10:48 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Aug 18 12:30:06 2014 +0200

--
 .../java/org/apache/tapestry5/corelib/base/AbstractTextField.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c8bf6f97/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractTextField.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractTextField.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractTextField.java
index 12c1774..7e6b742 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractTextField.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractTextField.java
@@ -67,7 +67,7 @@ public abstract class AbstractTextField extends AbstractField
  * The object that will perform input validation (which occurs after 
translation). The validate binding prefix is
  * generally used to provide this object in a declarative fashion.
  */
-@Parameter(defaultPrefix = BindingConstants.VALIDATE)
+@Parameter(defaultPrefix = BindingConstants.VALIDATE, allowNull = false)
 @SuppressWarnings(unchecked)
 private FieldValidatorObject validate;
 



git commit: TAP5-2370: utils.startsWith should check for the first occurrence of the pattern in the string, not the last one

2014-08-18 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 875ca1c0b - b7ac7bb5a


TAP5-2370: utils.startsWith should check for the first occurrence of the 
pattern in the string, not the last one


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b7ac7bb5
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b7ac7bb5
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b7ac7bb5

Branch: refs/heads/master
Commit: b7ac7bb5acdd4f77a6916f6ddfe83f672b3c3da0
Parents: 875ca1c
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Mon Aug 18 13:01:58 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Aug 18 13:01:58 2014 +0200

--
 .../coffeescript/META-INF/modules/t5/core/utils.coffee|  2 +-
 .../tapestry5/integration/app1/pages/test-utils.coffee| 10 ++
 .../tapestry5/integration/app1/pages/JavaScriptTests.java |  1 +
 3 files changed, 12 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b7ac7bb5/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/utils.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/utils.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/utils.coffee
index 39af431..5829ea0 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/utils.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/utils.coffee
@@ -41,7 +41,7 @@ define [underscore],
   trim: trim
   extendURL: extendURL
 
-  startsWith: (string, pattern) - (string.lastIndexOf pattern) is 0
+  startsWith: (string, pattern) - (string.indexOf pattern) is 0
   # Trims leading and trailing whitespace from a string. Delegates to 
String.prototype.trim if present.
   # Determines if the input is a blank string, or null, or an empty array.
   isBlank: (input) -

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b7ac7bb5/tapestry-core/src/test/coffeescript/org/apache/tapestry5/integration/app1/pages/test-utils.coffee
--
diff --git 
a/tapestry-core/src/test/coffeescript/org/apache/tapestry5/integration/app1/pages/test-utils.coffee
 
b/tapestry-core/src/test/coffeescript/org/apache/tapestry5/integration/app1/pages/test-utils.coffee
new file mode 100644
index 000..d1628b9
--- /dev/null
+++ 
b/tapestry-core/src/test/coffeescript/org/apache/tapestry5/integration/app1/pages/test-utils.coffee
@@ -0,0 +1,10 @@
+require [t5/core/utils], (utils) -
+
+  module t5/core/utils
+
+  test startsWith, positive case, -
+   ok utils.startsWith 'foobar', 'foo'
+   ok utils.startsWith 'foobarfoo', 'foo' # TAP5-2370
+
+  test startsWith, negative case, -
+equal (utils.startsWith 'barfoo', 'foo'), false

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b7ac7bb5/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/JavaScriptTests.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/JavaScriptTests.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/JavaScriptTests.java
index 88127f7..14ea4a6 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/JavaScriptTests.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/JavaScriptTests.java
@@ -9,6 +9,7 @@ import org.apache.tapestry5.annotations.Import;
 test-dom.js,
 test-messages.js,
 test-validation.js,
+test-utils.js,
 
 // This must come last:
 qunit-driver.js},



git commit: TAP5-2374 - Unnecessary boolean condition

2014-08-18 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master b7ac7bb5a - 360f34498


TAP5-2374 - Unnecessary boolean condition


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/360f3449
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/360f3449
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/360f3449

Branch: refs/heads/master
Commit: 360f3449800485e88e5589da5fd9c06c97e294ea
Parents: b7ac7bb
Author: fscheffer m...@felix-scheffer.de
Authored: Tue Aug 12 22:11:32 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Mon Aug 18 16:18:57 2014 +0200

--
 .../main/java/org/apache/tapestry5/corelib/components/Zone.java   | 3 ---
 1 file changed, 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/360f3449/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
index a04524a..5d68659 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Zone.java
@@ -178,10 +178,7 @@ public class Zone implements ClientBodyElement
 
 e.attribute(data-zone-parameters,
 parameters.toString(compactJSON));
-}
 
-if (insideForm)
-{
 hiddenFieldPositioner = new HiddenFieldPositioner(writer, rules);
 
 actionSink = new ComponentActionSink(logger, clientDataEncoder);



git commit: TAP5-901: apply tests from the patch, the original issue is already fixed

2014-08-20 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 360f34498 - adf7e8bd4


TAP5-901: apply tests from the patch, the original issue is already fixed


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/adf7e8bd
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/adf7e8bd
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/adf7e8bd

Branch: refs/heads/master
Commit: adf7e8bd488da8c1939e07eb596ddb0f656dd6fc
Parents: 360f344
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Aug 20 10:23:46 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Aug 20 10:23:46 2014 +0200

--
 .../integration/app2/base/ChildBasePage.java|  8 
 .../integration/app2/base/ParentBasePage.java   |  5 +
 .../app2/pages/OverrideAbstractMethods.java |  7 +++
 .../pagelevel/OverrideMethodsTest.java  | 21 
 .../app2/pages/OverrideAbstractMethods.tml  |  4 
 5 files changed, 45 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/adf7e8bd/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ChildBasePage.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ChildBasePage.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ChildBasePage.java
new file mode 100644
index 000..44e9aff
--- /dev/null
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ChildBasePage.java
@@ -0,0 +1,8 @@
+package org.apache.tapestry5.integration.app2.base;
+
+public abstract class ChildBasePage extends ParentBasePage {
+   @Override
+   public String getObject() {
+   return foobar;
+   }
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/adf7e8bd/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ParentBasePage.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ParentBasePage.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ParentBasePage.java
new file mode 100644
index 000..4030128
--- /dev/null
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/base/ParentBasePage.java
@@ -0,0 +1,5 @@
+package org.apache.tapestry5.integration.app2.base;
+
+public abstract class ParentBasePage {
+   public abstract Object getObject();
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/adf7e8bd/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/OverrideAbstractMethods.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/OverrideAbstractMethods.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/OverrideAbstractMethods.java
new file mode 100644
index 000..bce4c12
--- /dev/null
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/OverrideAbstractMethods.java
@@ -0,0 +1,7 @@
+package org.apache.tapestry5.integration.app2.pages;
+
+import org.apache.tapestry5.integration.app2.base.ChildBasePage;
+
+public class OverrideAbstractMethods extends ChildBasePage {
+
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/adf7e8bd/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/OverrideMethodsTest.java
--
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/OverrideMethodsTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/OverrideMethodsTest.java
new file mode 100644
index 000..b612d1f
--- /dev/null
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/OverrideMethodsTest.java
@@ -0,0 +1,21 @@
+package org.apache.tapestry5.integration.pagelevel;
+
+import org.apache.tapestry5.dom.Document;
+import org.apache.tapestry5.test.PageTester;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class OverrideMethodsTest extends Assert {
+/** TAP5-901 */
+@Test
+public void override_abstract_methods() {
+   PageTester tester = new PageTester(TestConstants.APP2_PACKAGE, 
TestConstants.APP2_NAME);
+   try {
+   Document doc = tester.renderPage(OverrideAbstractMethods);
+   assertEquals(6, 
doc.getElementById(length).getChildMarkup());
+   } finally {
+   tester.shutdown();
+   }
+}
+
+}


git commit: TAP5-2293: send the minified resource as an UTF-8 stream regardless of the platform's default encoding

2014-08-28 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 194849cd1 - 004a1e8e1


TAP5-2293: send the minified resource as an UTF-8 stream regardless of the 
platform's default encoding


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/004a1e8e
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/004a1e8e
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/004a1e8e

Branch: refs/heads/master
Commit: 004a1e8e1de13c0831c6fe153d45e526126491f2
Parents: 194849c
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Aug 28 09:23:27 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Aug 28 09:23:27 2014 +0200

--
 .../internal/webresources/GoogleClosureMinimizer.java | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/004a1e8e/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
--
diff --git 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
index 766c171..ee6669c 100644
--- 
a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
+++ 
b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/GoogleClosureMinimizer.java
@@ -36,6 +36,9 @@ import java.util.logging.Level;
  */
 public class GoogleClosureMinimizer extends AbstractMinimizer
 {
+
+private final static String OUTPUT_CHARSET = utf-8;
+
 private final ListSourceFile EXTERNS = Collections.emptyList();
 
 private final Request request;
@@ -64,7 +67,7 @@ public class GoogleClosureMinimizer extends AbstractMinimizer
 
 CompilerOptions options = new CompilerOptions();
 options.setCodingConvention(new ClosureCodingConvention());
-options.setOutputCharset(utf-8);
+options.setOutputCharset(OUTPUT_CHARSET);
 options.setWarningLevel(DiagnosticGroups.CHECK_VARIABLES, 
CheckLevel.WARNING);
 
 Compiler compiler = new Compiler();
@@ -79,7 +82,7 @@ public class GoogleClosureMinimizer extends AbstractMinimizer
 
 if (result.success)
 {
-return IOUtils.toInputStream(compiler.toSource());
+return IOUtils.toInputStream(compiler.toSource(), OUTPUT_CHARSET);
 }
 
 throw new RuntimeException(String.format(Compilation failed: %s.,



git commit: TAP5-2365: use a classpath resource for the test instead of creating a temp file

2014-08-28 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 004a1e8e1 - 85a7f9846


TAP5-2365: use a classpath resource for the test instead of creating a temp file


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/85a7f984
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/85a7f984
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/85a7f984

Branch: refs/heads/master
Commit: 85a7f9846939e64f0bbb483797a59eae240cdf8a
Parents: 004a1e8
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Aug 28 10:33:23 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Aug 28 10:33:23 2014 +0200

--
 .../internal/plastic/PlasticUtilsTests.groovy   | 16 +++-
 plastic/src/test/resources/webapp##01.test  |  0
 2 files changed, 7 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/85a7f984/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy
--
diff --git 
a/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy
 
b/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy
index 5e1e3d0..8a2f4ea 100644
--- 
a/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy
+++ 
b/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy
@@ -2,6 +2,7 @@ package org.apache.tapestry5.internal.plastic
 
 import org.apache.tapestry5.plastic.PlasticUtils
 
+import spock.lang.Issue
 import spock.lang.Specification
 import spock.lang.Unroll
 
@@ -23,15 +24,12 @@ class PlasticUtilsTests extends Specification
 java.lang.Long[][] | [[Ljava/lang/Long;
 }
 
-   def Do not urlencode file paths()
-   {
-   URL url = 
getClass().getClassLoader().getResource(.);
-   File file = new File(new File(url.toURI()), 
webapp##01.test);
-   file.createNewFile();
-   file.deleteOnExit();
-   expect:
-   
PlasticInternalUtils.getStreamForPath(getClass().classLoader, 
file.getAbsolutePath().substring(new 
File(url.toURI()).getAbsolutePath().length() + 1) ) != null
-   }
+@Issue(['TAP5-1995', 'TAP5-2365'])
+def Do not urlencode file paths()
+{
+expect:
+PlasticInternalUtils.getStreamForPath(getClass().classLoader, 
'webapp##01.test') != null
+}
 
 def Descriptor #descriptor as class name should be #className()
 {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/85a7f984/plastic/src/test/resources/webapp##01.test
--
diff --git a/plastic/src/test/resources/webapp##01.test 
b/plastic/src/test/resources/webapp##01.test
new file mode 100644
index 000..e69de29



git commit: TAP5-2380: use the correct element in the data-async-trigger link click handler

2014-09-02 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master c158e75c2 - 38b3aa905


TAP5-2380: use the correct element in the data-async-trigger link click handler


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/38b3aa90
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/38b3aa90
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/38b3aa90

Branch: refs/heads/master
Commit: 38b3aa905bd649e1187d4f60885b0febe6477159
Parents: c158e75
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Sep 2 15:00:38 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Sep 2 15:01:25 2014 +0200

--
 .../main/coffeescript/META-INF/modules/t5/core/zone.coffee  | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/38b3aa90/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/zone.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/zone.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/zone.coffee
index 7837541..54e1a2f 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/zone.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/zone.coffee
@@ -118,15 +118,16 @@ define [./dom, ./events, ./ajax, ./console, 
./forms,  underscore],
 
   ajax event.memo.url,
 data: _.extend { t:zoneid: zone.element.id }, parameters, 
event.memo.parameters
-success: (response) =
+success: (response) -
   zone.trigger events.zone.update, content: response.json?.content
 
 dom.onDocument click, a[data-async-trigger], -
+  link = @closest 'a[data-async-trigger]'
 
-  @addClass ajax-update
+  link.addClass ajax-update
 
-  ajax (@attr href),
-complete: = @removeClass ajax-update
+  ajax (link.attr href),
+complete: - link.removeClass ajax-update
 
   return false # cancel click event
 



git commit: TAP5-2371: add some conditional CSS to make the page loading mask work with browsers that do not support CSS transitions (i.e. IE)

2014-09-02 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 38b3aa905 - e2eced130


TAP5-2371: add some conditional CSS to make the page loading mask work with 
browsers that do not support CSS transitions (i.e. IE)


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/e2eced13
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/e2eced13
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/e2eced13

Branch: refs/heads/master
Commit: e2eced130217f403a4ba3ae2e7ef98010b9a7d4d
Parents: 38b3aa9
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Tue Sep 2 17:12:48 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Sep 2 17:12:48 2014 +0200

--
 .../AddBrowserCompatibilityStyles.java  | 50 
 .../tapestry5/modules/JavaScriptModule.java |  1 +
 .../META-INF/assets/tapestry5/tapestry.css  |  5 +-
 3 files changed, 52 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e2eced13/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
new file mode 100644
index 000..5309666
--- /dev/null
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
@@ -0,0 +1,50 @@
+// Copyright 2012 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.internal.services.javascript;
+
+import org.apache.tapestry5.MarkupWriter;
+import org.apache.tapestry5.dom.Element;
+import org.apache.tapestry5.services.MarkupRenderer;
+import org.apache.tapestry5.services.MarkupRendererFilter;
+
+/**
+ * Responsible for adding additional style tags that contain directives for 
non-standards compatible browsers
+ *
+ * @since 5.4
+ */
+public class AddBrowserCompatibilityStyles implements MarkupRendererFilter
+{
+
+public AddBrowserCompatibilityStyles()
+{
+}
+
+public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
+{
+renderer.renderMarkup(writer);
+
+Element head = writer.getDocument().find(html/head);
+
+// Only add the respective style documents if we've rendered an HTML 
document
+if (head != null)
+{
+// IE9 does not support CSS animations, so we make the loading 
mask translucent
+head.raw(!--[if IE 9]style 
type=\text/css\.pageloading-mask{opacity:.25;}/style![endif]--);
+// Older IE versions do not even support opacity, we'll have to 
resort to a filter
+head.raw(!--[if IE lt 9]style 
type=\text/css\.pageloading-mask{filter:alpha(opacity=25);}/style![endif]--);
+
+}
+}
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e2eced13/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 713eb45..4e7079e 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -420,6 +420,7 @@ public class JavaScriptModule
 public static void 
renderLocaleAttributeIntoPages(OrderedConfigurationMarkupRendererFilter 
configuration)
 {
 configuration.addInstance(ConfigureHTMLElement, 
ConfigureHTMLElementFilter.class);
+configuration.addInstance(AddBrowserCompatibilityStyles, 
AddBrowserCompatibilityStyles.class);
 }
 
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/e2eced13/tapestry-core/src/main/resources/META-INF/assets/tapestry5/tapestry.css
--
diff --git 

git commit: TAP5-2381: Upgrade hibernate to version 4.3.6.Final

2014-09-02 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master e2eced130 - bc436140f


TAP5-2381: Upgrade hibernate to version 4.3.6.Final


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/bc436140
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/bc436140
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/bc436140

Branch: refs/heads/master
Commit: bc436140f00e9866520a9d353787546779f98294
Parents: e2eced1
Author: fscheffer m...@felix-scheffer.de
Authored: Tue Sep 2 15:45:29 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Tue Sep 2 17:18:02 2014 +0200

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/bc436140/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 797244e..46c68d9 100755
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@ project.ext.versions = [
 easymock: 3.0,
 servletapi: 2.5,
 spock: 0.7-groovy-2.0,
-hibernate: 4.3.1.Final,
+hibernate: 4.3.6.Final,
 groovy: 2.0.6,
 slf4j: 1.7.7,
 wro4j: 1.7.0,



git commit: fix the condition in the conditional comment

2014-09-04 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 64ce2d8da - 0b27da50f


fix the condition in the conditional comment


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/0b27da50
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/0b27da50
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/0b27da50

Branch: refs/heads/master
Commit: 0b27da50fac1df0313eadcc58d7af4752de8098d
Parents: 64ce2d8
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Sep 4 13:10:19 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Sep 4 13:10:19 2014 +0200

--
 .../services/javascript/AddBrowserCompatibilityStyles.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0b27da50/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
index e5b01d7..7eeb4fd 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/AddBrowserCompatibilityStyles.java
@@ -36,7 +36,7 @@ public class AddBrowserCompatibilityStyles implements 
MarkupRendererFilter
 // IE9 does not support CSS animations, so we make the loading mask 
translucent
 ie9 = String.format(!--[if IE 9]style 
type=\text/css\.pageloading-mask{opacity:%.2f;}/style![endif]--, 
opacity);
 // Older IE versions do not even support opacity, we'll have to resort 
to a filter
-ie8 = String.format(!--[if IE lt 9]style 
type=\text/css\.pageloading-mask{filter:alpha(opacity=%d);}/style![endif]--,
+ie8 = String.format(!--[if lt IE 9]style 
type=\text/css\.pageloading-mask{filter:alpha(opacity=%d);}/style![endif]--,
 (int) (100. * opacity));
 }
 



[1/3] update moment.js to 2.8.3

2014-09-10 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master f71043e95 - ce91b61ed


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ce91b61e/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js
new file mode 100644
index 000..23d06ef
--- /dev/null
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js
@@ -0,0 +1,9156 @@
+//! moment.js
+//! version : 2.8.3
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+(function (undefined) {
+/
+Constants
+/
+
+var moment,
+VERSION = '2.8.3',
+// the global-scope this is NOT the global object in Node.js
+globalScope = typeof global !== 'undefined' ? global : this,
+oldGlobalMoment,
+round = Math.round,
+hasOwnProperty = Object.prototype.hasOwnProperty,
+i,
+
+YEAR = 0,
+MONTH = 1,
+DATE = 2,
+HOUR = 3,
+MINUTE = 4,
+SECOND = 5,
+MILLISECOND = 6,
+
+// internal storage for locale config files
+locales = {},
+
+// extra moment internal properties (plugins register props here)
+momentProperties = [],
+
+// check for nodeJS
+hasModule = (typeof module !== 'undefined'  module.exports),
+
+// ASP.NET json date format regex
+aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
+aspNetTimeSpanJsonRegex = 
/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
+
+// from 
http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal 
anywhere
+isoDurationRegex = 
/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
+
+// format tokens
+formattingTokens = 
/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
+localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
+
+// parsing token regexes
+parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
+parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
+parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 
+parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
+parseTokenDigits = /\d+/, // nonzero number of digits
+parseTokenWord = 
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
 // any word (or two) characters or numbers including two/three word month in 
arabic.
+parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + 
- or Z
+parseTokenT = /T/i, // T (ISO separator)
+parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 
123456789.123
+parseTokenOrdinal = /\d{1,2}/,
+
+//strict parsing regexes
+parseTokenOneDigit = /\d/, // 0 - 9
+parseTokenTwoDigits = /\d\d/, // 00 - 99
+parseTokenThreeDigits = /\d{3}/, // 000 - 999
+parseTokenFourDigits = /\d{4}/, //  - 
+parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
+parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
+
+// iso 8601 regex
+// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 
00:00:00.000 + +00:00 or + or +00)
+isoRegex = 
/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| 
)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+
+isoFormat = '-MM-DDTHH:mm:ssZ',
+
+isoDates = [
+['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
+['-MM-DD', /\d{4}-\d{2}-\d{2}/],
+['-[W]WW-E', /\d{4}-W\d{2}-\d/],
+['-[W]WW', /\d{4}-W\d{2}/],
+['-DDD', /\d{4}-\d{3}/]
+],
+
+// iso time formats and regexes
+isoTimes = [
+['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d+/],
+['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+['HH:mm', /(T| )\d\d:\d\d/],
+['HH', /(T| )\d\d/]
+],
+
+// timezone chunker '+10:00'  ['10', '00'] or '-1530'  ['-15', '30']
+parseTimezoneChunker = /([\+\-]|\d\d)/gi,
+
+// getter and setter names
+proxyGettersAndSetters = 
'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
+unitMillisecondFactors = {
+'Milliseconds' : 1,
+'Seconds' : 1e3,
+'Minutes' : 6e4,
+'Hours' : 36e5,

[3/3] git commit: update moment.js to 2.8.3

2014-09-10 Thread jkemnade
update moment.js to 2.8.3


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ce91b61e
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ce91b61e
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ce91b61e

Branch: refs/heads/master
Commit: ce91b61edbe52a649d5d924f0cc44eeba08c3385
Parents: f71043e
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Sep 10 09:13:49 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Sep 10 09:13:49 2014 +0200

--
 .../tapestry5/modules/JavaScriptModule.java |2 +-
 .../META-INF/assets/tapestry5/moment-2.8.1.js   | 9072 -
 .../META-INF/assets/tapestry5/moment-2.8.3.js   | 9156 ++
 3 files changed, 9157 insertions(+), 9073 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ce91b61e/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 3dbab61..233f955 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -346,7 +346,7 @@ public class JavaScriptModule
 
@Path(${tapestry.asset.root}/typeahead-0.9.3.js)
 Resource typeahead,
 
-
@Path(${tapestry.asset.root}/moment-2.8.1.js)
+
@Path(${tapestry.asset.root}/moment-2.8.3.js)
 Resource moment,
 
 @Path(${ + 
SymbolConstants.BOOTSTRAP_ROOT + }/js/transition.js)



[2/3] update moment.js to 2.8.3

2014-09-10 Thread jkemnade
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ce91b61e/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js
deleted file mode 100644
index 30831bb..000
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.1.js
+++ /dev/null
@@ -1,9072 +0,0 @@
-//! moment.js
-//! version : 2.8.1
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-
-(function (undefined) {
-/
-Constants
-/
-
-var moment,
-VERSION = '2.8.1',
-// the global-scope this is NOT the global object in Node.js
-globalScope = typeof global !== 'undefined' ? global : this,
-oldGlobalMoment,
-round = Math.round,
-i,
-
-YEAR = 0,
-MONTH = 1,
-DATE = 2,
-HOUR = 3,
-MINUTE = 4,
-SECOND = 5,
-MILLISECOND = 6,
-
-// internal storage for locale config files
-locales = {},
-
-// extra moment internal properties (plugins register props here)
-momentProperties = [],
-
-// check for nodeJS
-hasModule = (typeof module !== 'undefined'  module.exports),
-
-// ASP.NET json date format regex
-aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
-aspNetTimeSpanJsonRegex = 
/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
-
-// from 
http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
-// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal 
anywhere
-isoDurationRegex = 
/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
-
-// format tokens
-formattingTokens = 
/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
-localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
-
-// parsing token regexes
-parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
-parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
-parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 
-parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
-parseTokenDigits = /\d+/, // nonzero number of digits
-parseTokenWord = 
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
 // any word (or two) characters or numbers including two/three word month in 
arabic.
-parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + 
- or Z
-parseTokenT = /T/i, // T (ISO separator)
-parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 
123456789.123
-parseTokenOrdinal = /\d{1,2}/,
-
-//strict parsing regexes
-parseTokenOneDigit = /\d/, // 0 - 9
-parseTokenTwoDigits = /\d\d/, // 00 - 99
-parseTokenThreeDigits = /\d{3}/, // 000 - 999
-parseTokenFourDigits = /\d{4}/, //  - 
-parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
-parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
-
-// iso 8601 regex
-// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 
00:00:00.000 + +00:00 or + or +00)
-isoRegex = 
/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| 
)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
-
-isoFormat = '-MM-DDTHH:mm:ssZ',
-
-isoDates = [
-['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
-['-MM-DD', /\d{4}-\d{2}-\d{2}/],
-['-[W]WW-E', /\d{4}-W\d{2}-\d/],
-['-[W]WW', /\d{4}-W\d{2}/],
-['-DDD', /\d{4}-\d{3}/]
-],
-
-// iso time formats and regexes
-isoTimes = [
-['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d+/],
-['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
-['HH:mm', /(T| )\d\d:\d\d/],
-['HH', /(T| )\d\d/]
-],
-
-// timezone chunker +10:00  [10, 00] or -1530  [-15, 30]
-parseTimezoneChunker = /([\+\-]|\d\d)/gi,
-
-// getter and setter names
-proxyGettersAndSetters = 
'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
-unitMillisecondFactors = {
-'Milliseconds' : 1,
-'Seconds' : 1e3,
-'Minutes' : 6e4,
-'Hours' : 36e5,
-'Days' : 864e5,
-'Months' : 2592e6,
-'Years' : 31536e6
-},
-
-unitAliases = {
-ms : 

[1/2] git commit: TAP5-2384: Upgradle Selenium to 2.43.1

2014-09-11 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master ce91b61ed - ee2d71aef


TAP5-2384: Upgradle Selenium to 2.43.1


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/c2f11d69
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c2f11d69
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c2f11d69

Branch: refs/heads/master
Commit: c2f11d699781243ceb3ce4230cc152278e07d05a
Parents: ce91b61
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Sep 11 10:04:20 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Sep 11 10:04:20 2014 +0200

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c2f11d69/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 443d2d0..0452788 100755
--- a/build.gradle
+++ b/build.gradle
@@ -20,7 +20,7 @@ project.ext.versions = [
 slf4j: 1.7.7,
 wro4j: 1.7.0,
 geb: 0.9.2,
-selenium: 2.41.0
+selenium: 2.43.1
 ]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean(ci)



[2/2] git commit: update Gradle wrapper to 2.1

2014-09-11 Thread jkemnade
update Gradle wrapper to 2.1


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ee2d71ae
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ee2d71ae
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ee2d71ae

Branch: refs/heads/master
Commit: ee2d71aef22f66dbc67fa7b522231e8280b9db5d
Parents: c2f11d6
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Sep 11 10:08:15 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Sep 11 10:08:15 2014 +0200

--
 build.gradle |   2 +-
 gradle/wrapper/gradle-wrapper.jar| Bin 51348 - 51017 bytes
 gradle/wrapper/gradle-wrapper.properties |   4 ++--
 3 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ee2d71ae/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 0452788..d6dc9f3 100755
--- a/build.gradle
+++ b/build.gradle
@@ -391,7 +391,7 @@ task continuousIntegration {
 }
 
 task wrapper(type: Wrapper) {
-gradleVersion = '2.0'
+gradleVersion = '2.1'
 description Regenerates the Gradle Wrapper files
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ee2d71ae/gradle/wrapper/gradle-wrapper.jar
--
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
index 0087cd3..3d0dee6 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and 
b/gradle/wrapper/gradle-wrapper.jar differ

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ee2d71ae/gradle/wrapper/gradle-wrapper.properties
--
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 06a8e2c..d9e3c84 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Tue Jul 01 18:20:48 CEST 2014
+#Thu Sep 11 10:06:08 CEST 2014
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-bin.zip



git commit: TAP5-2385: reset the zone field in the CleanupRender phase so it is not reset during in-place updates

2014-09-12 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 3950c51d6 - 6a933834d


TAP5-2385: reset the zone field in the CleanupRender phase so it is not reset 
during in-place updates


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/6a933834
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/6a933834
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/6a933834

Branch: refs/heads/master
Commit: 6a933834d2bc2aae3736661ef771c44fc7766c90
Parents: 3950c51
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Fri Sep 12 12:33:49 2014 +0200
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Fri Sep 12 12:33:49 2014 +0200

--
 .../java/org/apache/tapestry5/corelib/components/Grid.java   | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/6a933834/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
index 6f84ae8..ecbd159 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
@@ -455,7 +455,6 @@ public class Grid implements GridModel, ClientElement
 
 Object setupRender()
 {
-zone = null;
 
 setupPaginationModel();
 
@@ -471,6 +470,13 @@ public class Grid implements GridModel, ClientElement
 return !renderTableIfEmpty  cachingSource.getAvailableRows() == 0 ? 
empty : null;
 }
 
+void cleanupRender()
+{
+// if an inPlace Grid is rendered inside a Loop, be sure to generate a 
new wrapper
+// zone for each iteration (TAP5-2256)
+zone = null;
+}
+
 private void setupPaginationModel()
 {
 if (paginationModel == null)



git commit: TAP5-2411: Make sure the PerthreadManager's ThreadLocal is removed at the end of the servlet filter's initialization

2014-11-06 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master b7f60e28e - f3aaec55e


TAP5-2411: Make sure the PerthreadManager's ThreadLocal is removed at the end 
of the servlet filter's initialization


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/f3aaec55
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f3aaec55
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f3aaec55

Branch: refs/heads/master
Commit: f3aaec55e1e288464b84882c67a59a84171b6fa1
Parents: b7f60e2
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Nov 6 10:32:07 2014 +0100
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Nov 6 10:32:07 2014 +0100

--
 .../src/main/java/org/apache/tapestry5/TapestryFilter.java | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f3aaec55/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java 
b/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
index 178571f..61c2cdb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/TapestryFilter.java
@@ -116,6 +116,8 @@ public class TapestryFilter implements Filter
 init(registry);
 
 appInitializer.announceStartup();
+
+registry.cleanupThread();
 }
 
 protected final FilterConfig getFilterConfig()



[5/5] tapestry-5 git commit: TAP5-2413 add Firefox profiles to use english as default locale on non-english machines to make integration tests work

2014-11-13 Thread jkemnade
TAP5-2413 add Firefox profiles to use english as default locale on non-english 
machines to make integration tests work


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/f0b50559
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f0b50559
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f0b50559

Branch: refs/heads/master
Commit: f0b50559dba4cedd28c8fc4ddcddbc16b84b7676
Parents: 85a03b7
Author: Felix Gonschorek fe...@netzgut.net
Authored: Wed Nov 12 15:42:48 2014 +0100
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Nov 13 09:06:24 2014 +0100

--
 tapestry-beanvalidator/src/test/conf/ff_profile_template/prefs.js | 1 +
 tapestry-core/src/test/conf/ff_profile_template/prefs.js  | 1 +
 tapestry-kaptcha/src/test/conf/ff_profile_template/prefs.js   | 1 +
 tapestry-spring/src/test/conf/ff_profile_template/prefs.js| 1 +
 4 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f0b50559/tapestry-beanvalidator/src/test/conf/ff_profile_template/prefs.js
--
diff --git a/tapestry-beanvalidator/src/test/conf/ff_profile_template/prefs.js 
b/tapestry-beanvalidator/src/test/conf/ff_profile_template/prefs.js
new file mode 100644
index 000..c3ee2aa
--- /dev/null
+++ b/tapestry-beanvalidator/src/test/conf/ff_profile_template/prefs.js
@@ -0,0 +1 @@
+user_pref(intl.accept_languages, en,fr,de);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f0b50559/tapestry-core/src/test/conf/ff_profile_template/prefs.js
--
diff --git a/tapestry-core/src/test/conf/ff_profile_template/prefs.js 
b/tapestry-core/src/test/conf/ff_profile_template/prefs.js
new file mode 100644
index 000..c3ee2aa
--- /dev/null
+++ b/tapestry-core/src/test/conf/ff_profile_template/prefs.js
@@ -0,0 +1 @@
+user_pref(intl.accept_languages, en,fr,de);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f0b50559/tapestry-kaptcha/src/test/conf/ff_profile_template/prefs.js
--
diff --git a/tapestry-kaptcha/src/test/conf/ff_profile_template/prefs.js 
b/tapestry-kaptcha/src/test/conf/ff_profile_template/prefs.js
new file mode 100644
index 000..c3ee2aa
--- /dev/null
+++ b/tapestry-kaptcha/src/test/conf/ff_profile_template/prefs.js
@@ -0,0 +1 @@
+user_pref(intl.accept_languages, en,fr,de);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f0b50559/tapestry-spring/src/test/conf/ff_profile_template/prefs.js
--
diff --git a/tapestry-spring/src/test/conf/ff_profile_template/prefs.js 
b/tapestry-spring/src/test/conf/ff_profile_template/prefs.js
new file mode 100644
index 000..c3ee2aa
--- /dev/null
+++ b/tapestry-spring/src/test/conf/ff_profile_template/prefs.js
@@ -0,0 +1 @@
+user_pref(intl.accept_languages, en,fr,de);
\ No newline at end of file



[3/5] tapestry-5 git commit: TAP5-2415: Update Bootstrap to 3.3.1

2014-11-13 Thread jkemnade
TAP5-2415: Update Bootstrap to 3.3.1


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/3a4991af
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/3a4991af
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/3a4991af

Branch: refs/heads/master
Commit: 3a4991af5b2c01533ca6b295431751a006d47a81
Parents: f3aaec5
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Nov 13 08:59:07 2014 +0100
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Nov 13 08:59:07 2014 +0100

--
 build.gradle|   2 +-
 .../tapestry5/bootstrap/css/bootstrap-theme.css | 116 ++--
 .../tapestry5/bootstrap/css/bootstrap.css   | 535 ---
 .../fonts/glyphicons-halflings-regular.svg  |   2 +-
 .../assets/tapestry5/bootstrap/js/affix.js  |  66 ++-
 .../assets/tapestry5/bootstrap/js/alert.js  |  10 +-
 .../assets/tapestry5/bootstrap/js/button.js |  26 +-
 .../assets/tapestry5/bootstrap/js/carousel.js   |  37 +-
 .../assets/tapestry5/bootstrap/js/collapse.js   |  97 +++-
 .../assets/tapestry5/bootstrap/js/dropdown.js   |  30 +-
 .../assets/tapestry5/bootstrap/js/modal.js  |  90 +++-
 .../assets/tapestry5/bootstrap/js/popover.js|  20 +-
 .../assets/tapestry5/bootstrap/js/scrollspy.js  |  19 +-
 .../assets/tapestry5/bootstrap/js/tab.js|  57 +-
 .../assets/tapestry5/bootstrap/js/tooltip.js|  99 ++--
 .../assets/tapestry5/bootstrap/js/transition.js |   2 +-
 .../fonts/glyphicons-halflings-regular.svg  |   2 +-
 .../src/test/webapp/bootstrap/js/affix.js   |  66 ++-
 .../src/test/webapp/bootstrap/js/alert.js   |  10 +-
 .../src/test/webapp/bootstrap/js/button.js  |  26 +-
 .../src/test/webapp/bootstrap/js/carousel.js|  37 +-
 .../src/test/webapp/bootstrap/js/collapse.js|  97 +++-
 .../src/test/webapp/bootstrap/js/dropdown.js|  30 +-
 .../src/test/webapp/bootstrap/js/modal.js   |  90 +++-
 .../src/test/webapp/bootstrap/js/popover.js |  20 +-
 .../src/test/webapp/bootstrap/js/scrollspy.js   |  19 +-
 .../src/test/webapp/bootstrap/js/tab.js |  57 +-
 .../src/test/webapp/bootstrap/js/tooltip.js |  99 ++--
 .../src/test/webapp/bootstrap/js/transition.js  |   2 +-
 .../src/test/webapp/bootstrap/less/badges.less  |   8 +-
 .../webapp/bootstrap/less/button-groups.less|  29 +-
 .../src/test/webapp/bootstrap/less/buttons.less |  11 +-
 .../test/webapp/bootstrap/less/carousel.less|  24 +
 .../src/test/webapp/bootstrap/less/code.less|   1 +
 .../bootstrap/less/component-animations.less|   7 +-
 .../test/webapp/bootstrap/less/dropdowns.less   |   8 +-
 .../src/test/webapp/bootstrap/less/forms.less   |  86 +--
 .../test/webapp/bootstrap/less/glyphicons.less  |   3 +-
 .../test/webapp/bootstrap/less/jumbotron.less   |  11 +-
 .../test/webapp/bootstrap/less/list-group.less  |   9 +-
 .../src/test/webapp/bootstrap/less/media.less   |  63 +--
 .../webapp/bootstrap/less/mixins/buttons.less   |   2 +
 .../webapp/bootstrap/less/mixins/forms.less |   6 +-
 .../bootstrap/less/mixins/grid-framework.less   |   4 +-
 .../webapp/bootstrap/less/mixins/image.less |   1 -
 .../webapp/bootstrap/less/mixins/labels.less|   2 +-
 .../bootstrap/less/mixins/vendor-prefixes.less  |   9 +-
 .../src/test/webapp/bootstrap/less/modals.less  |   8 +-
 .../src/test/webapp/bootstrap/less/navbar.less  |  55 +-
 .../src/test/webapp/bootstrap/less/navs.less|   4 +-
 .../test/webapp/bootstrap/less/normalize.less   |   8 +-
 .../src/test/webapp/bootstrap/less/pager.less   |   3 +-
 .../test/webapp/bootstrap/less/pagination.less  |   2 +-
 .../src/test/webapp/bootstrap/less/panels.less  |  24 +-
 .../test/webapp/bootstrap/less/popovers.less|  10 +-
 .../src/test/webapp/bootstrap/less/print.less   | 198 +++
 .../webapp/bootstrap/less/progress-bars.less|  20 +-
 .../webapp/bootstrap/less/responsive-embed.less |   3 +-
 .../test/webapp/bootstrap/less/scaffolding.less |   2 +-
 .../src/test/webapp/bootstrap/less/tables.less  |  21 +-
 .../src/test/webapp/bootstrap/less/theme.less   |  32 +-
 .../test/webapp/bootstrap/less/thumbnails.less  |   2 +-
 .../src/test/webapp/bootstrap/less/tooltip.less |  16 +-
 .../src/test/webapp/bootstrap/less/type.less|  11 -
 .../test/webapp/bootstrap/less/utilities.less   |   1 -
 .../test/webapp/bootstrap/less/variables.less   |  52 +-
 66 files changed, 1572 insertions(+), 947 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 52d63ae..40c6b89 100755
--- a/build.gradle
+++ b/build.gradle
@@ -568,7 +568,7 @@ boolean checkJDK() {
 }
 
 task updateBootstrap  {
-  def 

[2/5] tapestry-5 git commit: TAP5-2415: Update Bootstrap to 3.3.1

2014-11-13 Thread jkemnade
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/scrollspy.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/scrollspy.js
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/scrollspy.js
index db23787..c468262 100644
--- 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/scrollspy.js
+++ 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/scrollspy.js
@@ -1,5 +1,5 @@
 /* 
- * Bootstrap: scrollspy.js v3.2.0
+ * Bootstrap: scrollspy.js v3.3.1
  * http://getbootstrap.com/javascript/#scrollspy
  * 
  * Copyright 2011-2014 Twitter, Inc.
@@ -30,7 +30,7 @@
 this.process()
   }
 
-  ScrollSpy.VERSION  = '3.2.0'
+  ScrollSpy.VERSION  = '3.3.1'
 
   ScrollSpy.DEFAULTS = {
 offset: 10
@@ -91,8 +91,9 @@
   return activeTarget != (i = targets[targets.length - 1])  
this.activate(i)
 }
 
-if (activeTarget  scrollTop = offsets[0]) {
-  return activeTarget != (i = targets[0])  this.activate(i)
+if (activeTarget  scrollTop  offsets[0]) {
+  this.activeTarget = null
+  return this.clear()
 }
 
 for (i = offsets.length; i--;) {
@@ -106,9 +107,7 @@
   ScrollSpy.prototype.activate = function (target) {
 this.activeTarget = target
 
-$(this.selector)
-  .parentsUntil(this.options.target, '.active')
-  .removeClass('active')
+this.clear()
 
 var selector = this.selector +
 '[data-target=' + target + '],' +
@@ -127,6 +126,12 @@
 active.trigger('activate.bs.scrollspy')
   }
 
+  ScrollSpy.prototype.clear = function () {
+$(this.selector)
+  .parentsUntil(this.options.target, '.active')
+  .removeClass('active')
+  }
+
 
   // SCROLLSPY PLUGIN DEFINITION
   // ===

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/tab.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/tab.js
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/tab.js
index c0e1e46..d59827f 100644
--- 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/tab.js
+++ 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/bootstrap/js/tab.js
@@ -1,5 +1,5 @@
 /* 
- * Bootstrap: tab.js v3.2.0
+ * Bootstrap: tab.js v3.3.1
  * http://getbootstrap.com/javascript/#tabs
  * 
  * Copyright 2011-2014 Twitter, Inc.
@@ -17,7 +17,9 @@
 this.element = $(element)
   }
 
-  Tab.VERSION = '3.2.0'
+  Tab.VERSION = '3.3.1'
+
+  Tab.TRANSITION_DURATION = 150
 
   Tab.prototype.show = function () {
 var $this= this.element
@@ -31,22 +33,30 @@
 
 if ($this.parent('li').hasClass('active')) return
 
-var previous = $ul.find('.active:last a')[0]
-var e= $.Event('show.bs.tab', {
-  relatedTarget: previous
+var $previous = $ul.find('.active:last a')
+var hideEvent = $.Event('hide.bs.tab', {
+  relatedTarget: $this[0]
+})
+var showEvent = $.Event('show.bs.tab', {
+  relatedTarget: $previous[0]
 })
 
-$this.trigger(e)
+$previous.trigger(hideEvent)
+$this.trigger(showEvent)
 
-if (e.isDefaultPrevented()) return
+if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) 
return
 
 var $target = $(selector)
 
 this.activate($this.closest('li'), $ul)
 this.activate($target, $target.parent(), function () {
+  $previous.trigger({
+type: 'hidden.bs.tab',
+relatedTarget: $this[0]
+  })
   $this.trigger({
 type: 'shown.bs.tab',
-relatedTarget: previous
+relatedTarget: $previous[0]
   })
 })
   }
@@ -55,15 +65,21 @@
 var $active= container.find(' .active')
 var transition = callback
$.support.transition
-   $active.hasClass('fade')
+   (($active.length  $active.hasClass('fade')) || !!container.find(' 
.fade').length)
 
 function next() {
   $active
 .removeClass('active')
 .find(' .dropdown-menu  .active')
-.removeClass('active')
+  .removeClass('active')
+.end()
+.find('[data-toggle=tab]')
+  .attr('aria-expanded', false)
 
-  element.addClass('active')
+  element
+.addClass('active')
+.find('[data-toggle=tab]')
+  .attr('aria-expanded', true)
 
   if (transition) {
 element[0].offsetWidth // reflow for 

[1/5] tapestry-5 git commit: TAP5-2415: Update Bootstrap to 3.3.1

2014-11-13 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master f3aaec55e - f0b50559d


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
--
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
index 6f9e490..9f7a67e 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/labels.less
@@ -2,7 +2,7 @@
 
 .label-variant(@color) {
   background-color: @color;
-  
+
   [href] {
 :hover,
 :focus {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
--
diff --git 
a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
 
b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
index e2008c8..31f8e2f 100644
--- 
a/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
+++ 
b/tapestry-webresources/src/test/webapp/bootstrap/less/mixins/vendor-prefixes.less
@@ -99,9 +99,12 @@
 
 // Placeholder text
 .placeholder(@color: @input-color-placeholder) {
-  ::-moz-placeholder   { color: @color;   // Firefox
-  opacity: 1; } // See 
https://github.com/twbs/bootstrap/pull/11526
-  :-ms-input-placeholder   { color: @color; } // Internet Explorer 10+
+  // Firefox
+  ::-moz-placeholder {
+color: @color;
+opacity: 1; // See https://github.com/twbs/bootstrap/pull/11526
+  }
+  :-ms-input-placeholder { color: @color; } // Internet Explorer 10+
   ::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
 }
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
--
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
index 6da50ba..032a497 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/modals.less
@@ -30,10 +30,10 @@
 
   // When fading in the modal, animate it to slide down
   .fade .modal-dialog {
-.translate3d(0, -25%, 0);
+.translate(0, -25%);
 .transition-transform(~0.3s ease-out);
   }
-  .in .modal-dialog { .translate3d(0, 0, 0) }
+  .in .modal-dialog { .translate(0, 0) }
 }
 .modal-open .modal {
   overflow-x: hidden;
@@ -62,12 +62,10 @@
 
 // Modal background
 .modal-backdrop {
-  position: fixed;
+  position: absolute;
   top: 0;
   right: 0;
-  bottom: 0;
   left: 0;
-  z-index: @zindex-modal-background;
   background-color: @modal-backdrop-bg;
   // Fade for backdrop
   .fade { .opacity(0); }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/3a4991af/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
--
diff --git a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less 
b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
index 55bfd29..67fd352 100644
--- a/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
+++ b/tapestry-webresources/src/test/webapp/bootstrap/less/navbar.less
@@ -67,6 +67,7 @@
 
 .collapse {
   display: block !important;
+  visibility: visible !important;
   height: auto !important;
   padding-bottom: 0; // Override default setting
   overflow: visible !important;
@@ -92,7 +93,7 @@
   .navbar-collapse {
 max-height: @navbar-collapse-max-height;
 
-@media (max-width: @screen-xs-min) and (orientation: landscape) {
+@media (max-device-width: @screen-xs-min) and (orientation: landscape) {
   max-height: 200px;
 }
   }
@@ -141,7 +142,6 @@
   right: 0;
   left: 0;
   z-index: @zindex-navbar-fixed;
-  .translate3d(0, 0, 0);
 
   // Undo the rounded corners
   @media (min-width: @grid-float-breakpoint) {
@@ -173,6 +173,10 @@
 text-decoration: none;
   }
 
+   img {
+display: block;
+  }
+
   @media (min-width: @grid-float-breakpoint) {
 .navbar  .container ,
 .navbar  .container-fluid  {
@@ -271,26 +275,10 @@
 padding-bottom: @navbar-padding-vertical;
   }
 }
-
-.navbar-right:last-child {
-  margin-right: -@navbar-padding-horizontal;
-}
   }
 }
 
 
-// Component alignment
-//
-// Repurpose the pull utilities as their own navbar utilities to avoid 
specificity
-// issues with parents and chaining. Only do this when the navbar is 
uncollapsed
-// though so that navbar contents properly stack and align in mobile.
-

[4/5] tapestry-5 git commit: update Selenium to 2.44.0

2014-11-13 Thread jkemnade
update Selenium to 2.44.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/85a03b7d
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/85a03b7d
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/85a03b7d

Branch: refs/heads/master
Commit: 85a03b7d2b6cb7d7577bb26e24b033327dfa481e
Parents: 3a4991a
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Nov 13 09:03:11 2014 +0100
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Nov 13 09:03:11 2014 +0100

--
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/85a03b7d/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 40c6b89..843f1f6 100755
--- a/build.gradle
+++ b/build.gradle
@@ -20,7 +20,7 @@ project.ext.versions = [
 slf4j: 1.7.7,
 wro4j: 1.7.0,
 geb: 0.9.2,
-selenium: 2.43.1
+selenium: 2.44.0
 ]
 
 ext.continuousIntegrationBuild = Boolean.getBoolean(ci)



[1/2] tapestry-5 git commit: TAP5-2415: update Bootstrap version number in the release notes

2014-11-13 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master f0b50559d - 4de73e964


TAP5-2415: update Bootstrap version number in the release notes


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/7a86bfd6
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/7a86bfd6
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/7a86bfd6

Branch: refs/heads/master
Commit: 7a86bfd6b7806062799f567fbe85e7aae4d7c4cc
Parents: f0b5055
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Thu Nov 13 09:16:10 2014 +0100
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Nov 13 09:16:10 2014 +0100

--
 54_RELEASE_NOTES.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7a86bfd6/54_RELEASE_NOTES.md
--
diff --git a/54_RELEASE_NOTES.md b/54_RELEASE_NOTES.md
index f218254..9efdcef 100644
--- a/54_RELEASE_NOTES.md
+++ b/54_RELEASE_NOTES.md
@@ -300,7 +300,7 @@ a new page.
 
 ## Bootstrap 3
 
-Tapestry now includes a default copy of Bootstrap 3.0.1, in addition to its 
own default set of CSS rules.
+Tapestry now includes a default copy of Bootstrap 3.3.1, in addition to its 
own default set of CSS rules.
 The Tapestry CSS from prior releases has been largely eliminated; instead
 components now refer to standard Bootstrap CSS classes.
 



[2/2] tapestry-5 git commit: TAP5-2332: Replace String.format call by simple String concatenation, the compiler will transform that to StringBuilder-based concatenation which is considerably faster

2014-11-13 Thread jkemnade
TAP5-2332: Replace String.format call by simple String concatenation, the 
compiler will transform that to StringBuilder-based concatenation which is 
considerably faster


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4de73e96
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4de73e96
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4de73e96

Branch: refs/heads/master
Commit: 4de73e9642263d8f5b02000663a196df46059b99
Parents: 7a86bfd
Author: Michael Mikhulya m...@kupivip.ru
Authored: Mon May 19 17:41:01 2014 +0400
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Thu Nov 13 09:17:51 2014 +0100

--
 .../main/java/org/apache/tapestry5/internal/OptionModelImpl.java | 2 +-
 .../internal/beaneditor/MessagesConstraintGenerator.java | 3 +--
 .../apache/tapestry5/internal/services/DocumentLinkerImpl.java   | 2 +-
 .../java/org/apache/tapestry5/internal/services/EventImpl.java   | 2 +-
 .../services/javascript/JavaScriptStackPathConstructorImpl.java  | 4 +---
 .../tapestry5/internal/structure/ComponentPageElementImpl.java   | 2 +-
 .../ioc/internal/services/PerThreadServiceLifecycle.java | 2 +-
 7 files changed, 7 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4de73e96/tapestry-core/src/main/java/org/apache/tapestry5/internal/OptionModelImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/OptionModelImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/OptionModelImpl.java
index 89ce561..101cfef 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/OptionModelImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/OptionModelImpl.java
@@ -49,6 +49,6 @@ public class OptionModelImpl extends AbstractOptionModel
 @Override
 public String toString()
 {
-return String.format(OptionModel[%s %s], label, value);
+return OptionModel[ + label + ' ' + value + ']';
 }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4de73e96/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/MessagesConstraintGenerator.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/MessagesConstraintGenerator.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/MessagesConstraintGenerator.java
index 0156a93..2ae9b81 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/MessagesConstraintGenerator.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/MessagesConstraintGenerator.java
@@ -34,7 +34,6 @@ public class MessagesConstraintGenerator implements 
ValidationConstraintGenerato
 {
 
 private final Environment environment;
-private final String format=%s-validate;
 private final Pattern splitPattern;
 
 public MessagesConstraintGenerator(final Environment environment) {
@@ -49,7 +48,7 @@ public class MessagesConstraintGenerator implements 
ValidationConstraintGenerato
 return null;
 }
 
-String key = String.format(format,environmentMessages.getOverrideId());
+String key = environmentMessages.getOverrideId() + -validate;
 Messages m = environmentMessages.getMessages();
 if (!m.contains(key))
 {

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4de73e96/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
index a6f5198..56ad354 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
@@ -62,7 +62,7 @@ public class DocumentLinkerImpl implements DocumentLinker
 this.omitGeneratorMetaTag = omitGeneratorMetaTag;
 this.enablePageloadingMask = enablePageloadingMask;
 
-tapestryBanner = String.format(Apache Tapestry Framework (version 
%s), tapestryVersion);
+tapestryBanner = Apache Tapestry Framework (version  + 
tapestryVersion + ')';
 }
 
 public void addStylesheetLink(StylesheetLink sheet)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4de73e96/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/EventImpl.java

[1/2] tapestry-5 git commit: upgrade Unserscore,js to 1.7.0

2014-11-20 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 32fcb3085 - f73e8b231


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f73e8b23/tapestry-core/src/main/resources/META-INF/assets/tapestry5/underscore-1.7.0.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/underscore-1.7.0.js
 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/underscore-1.7.0.js
new file mode 100644
index 000..afd92e5
--- /dev/null
+++ 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/underscore-1.7.0.js
@@ -0,0 +1,1416 @@
+// Underscore.js 1.7.0
+// http://underscorejs.org
+// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative 
Reporters  Editors
+// Underscore may be freely distributed under the MIT license.
+
+(function() {
+
+  // Baseline setup
+  // --
+
+  // Establish the root object, `window` in the browser, or `exports` on the 
server.
+  var root = this;
+
+  // Save the previous value of the `_` variable.
+  var previousUnderscore = root._;
+
+  // Save bytes in the minified (but not gzipped) version:
+  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = 
Function.prototype;
+
+  // Create quick reference variables for speed access to core prototypes.
+  var
+push = ArrayProto.push,
+slice= ArrayProto.slice,
+concat   = ArrayProto.concat,
+toString = ObjProto.toString,
+hasOwnProperty   = ObjProto.hasOwnProperty;
+
+  // All **ECMAScript 5** native function implementations that we hope to use
+  // are declared here.
+  var
+nativeIsArray  = Array.isArray,
+nativeKeys = Object.keys,
+nativeBind = FuncProto.bind;
+
+  // Create a safe reference to the Underscore object for use below.
+  var _ = function(obj) {
+if (obj instanceof _) return obj;
+if (!(this instanceof _)) return new _(obj);
+this._wrapped = obj;
+  };
+
+  // Export the Underscore object for **Node.js**, with
+  // backwards-compatibility for the old `require()` API. If we're in
+  // the browser, add `_` as a global object.
+  if (typeof exports !== 'undefined') {
+if (typeof module !== 'undefined'  module.exports) {
+  exports = module.exports = _;
+}
+exports._ = _;
+  } else {
+root._ = _;
+  }
+
+  // Current version.
+  _.VERSION = '1.7.0';
+
+  // Internal function that returns an efficient (for current engines) version
+  // of the passed-in callback, to be repeatedly applied in other Underscore
+  // functions.
+  var createCallback = function(func, context, argCount) {
+if (context === void 0) return func;
+switch (argCount == null ? 3 : argCount) {
+  case 1: return function(value) {
+return func.call(context, value);
+  };
+  case 2: return function(value, other) {
+return func.call(context, value, other);
+  };
+  case 3: return function(value, index, collection) {
+return func.call(context, value, index, collection);
+  };
+  case 4: return function(accumulator, value, index, collection) {
+return func.call(context, accumulator, value, index, collection);
+  };
+}
+return function() {
+  return func.apply(context, arguments);
+};
+  };
+
+  // A mostly-internal function to generate callbacks that can be applied
+  // to each element in a collection, returning the desired result — either
+  // identity, an arbitrary callback, a property matcher, or a property 
accessor.
+  _.iteratee = function(value, context, argCount) {
+if (value == null) return _.identity;
+if (_.isFunction(value)) return createCallback(value, context, argCount);
+if (_.isObject(value)) return _.matches(value);
+return _.property(value);
+  };
+
+  // Collection Functions
+  // 
+
+  // The cornerstone, an `each` implementation, aka `forEach`.
+  // Handles raw objects in addition to array-likes. Treats all
+  // sparse array-likes as if they were dense.
+  _.each = _.forEach = function(obj, iteratee, context) {
+if (obj == null) return obj;
+iteratee = createCallback(iteratee, context);
+var i, length = obj.length;
+if (length === +length) {
+  for (i = 0; i  length; i++) {
+iteratee(obj[i], i, obj);
+  }
+} else {
+  var keys = _.keys(obj);
+  for (i = 0, length = keys.length; i  length; i++) {
+iteratee(obj[keys[i]], keys[i], obj);
+  }
+}
+return obj;
+  };
+
+  // Return the results of applying the iteratee to each element.
+  _.map = _.collect = function(obj, iteratee, context) {
+if (obj == null) return [];
+iteratee = _.iteratee(iteratee, context);
+var keys = obj.length !== +obj.length  _.keys(obj),
+length = (keys || obj).length,
+results = Array(length),
+currentKey;
+for (var index = 0; index  length; index++) {
+

[3/3] tapestry-5 git commit: update Moment.js to 2.8.4

2014-12-03 Thread jkemnade
update Moment.js to 2.8.4


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/23e512b1
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/23e512b1
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/23e512b1

Branch: refs/heads/master
Commit: 23e512b1db758299d7ffc8fa3e654cbf53469318
Parents: 4649e75
Author: Jochen Kemnade jochen.kemn...@eddyson.de
Authored: Wed Dec 3 16:25:56 2014 +0100
Committer: Jochen Kemnade jochen.kemn...@eddyson.de
Committed: Wed Dec 3 16:25:56 2014 +0100

--
 .../tapestry5/modules/JavaScriptModule.java |2 +-
 .../META-INF/assets/tapestry5/moment-2.8.3.js   | 9156 -
 .../META-INF/assets/tapestry5/moment-2.8.4.js   | 9394 ++
 3 files changed, 9395 insertions(+), 9157 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/23e512b1/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
index 556610d..4e096fb 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/modules/JavaScriptModule.java
@@ -346,7 +346,7 @@ public class JavaScriptModule
 
@Path(${tapestry.asset.root}/typeahead-0.9.3.js)
 Resource typeahead,
 
-
@Path(${tapestry.asset.root}/moment-2.8.3.js)
+
@Path(${tapestry.asset.root}/moment-2.8.4.js)
 Resource moment,
 
 @Path(${ + 
SymbolConstants.BOOTSTRAP_ROOT + }/js/transition.js)



[2/3] tapestry-5 git commit: update Moment.js to 2.8.4

2014-12-03 Thread jkemnade
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/23e512b1/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js
deleted file mode 100644
index 23d06ef..000
--- a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.3.js
+++ /dev/null
@@ -1,9156 +0,0 @@
-//! moment.js
-//! version : 2.8.3
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-
-(function (undefined) {
-/
-Constants
-/
-
-var moment,
-VERSION = '2.8.3',
-// the global-scope this is NOT the global object in Node.js
-globalScope = typeof global !== 'undefined' ? global : this,
-oldGlobalMoment,
-round = Math.round,
-hasOwnProperty = Object.prototype.hasOwnProperty,
-i,
-
-YEAR = 0,
-MONTH = 1,
-DATE = 2,
-HOUR = 3,
-MINUTE = 4,
-SECOND = 5,
-MILLISECOND = 6,
-
-// internal storage for locale config files
-locales = {},
-
-// extra moment internal properties (plugins register props here)
-momentProperties = [],
-
-// check for nodeJS
-hasModule = (typeof module !== 'undefined'  module.exports),
-
-// ASP.NET json date format regex
-aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
-aspNetTimeSpanJsonRegex = 
/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
-
-// from 
http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
-// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal 
anywhere
-isoDurationRegex = 
/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
-
-// format tokens
-formattingTokens = 
/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
-localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
-
-// parsing token regexes
-parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
-parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
-parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 
-parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
-parseTokenDigits = /\d+/, // nonzero number of digits
-parseTokenWord = 
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
 // any word (or two) characters or numbers including two/three word month in 
arabic.
-parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + 
- or Z
-parseTokenT = /T/i, // T (ISO separator)
-parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 
123456789.123
-parseTokenOrdinal = /\d{1,2}/,
-
-//strict parsing regexes
-parseTokenOneDigit = /\d/, // 0 - 9
-parseTokenTwoDigits = /\d\d/, // 00 - 99
-parseTokenThreeDigits = /\d{3}/, // 000 - 999
-parseTokenFourDigits = /\d{4}/, //  - 
-parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
-parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
-
-// iso 8601 regex
-// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 
00:00:00.000 + +00:00 or + or +00)
-isoRegex = 
/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| 
)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
-
-isoFormat = '-MM-DDTHH:mm:ssZ',
-
-isoDates = [
-['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
-['-MM-DD', /\d{4}-\d{2}-\d{2}/],
-['-[W]WW-E', /\d{4}-W\d{2}-\d/],
-['-[W]WW', /\d{4}-W\d{2}/],
-['-DDD', /\d{4}-\d{3}/]
-],
-
-// iso time formats and regexes
-isoTimes = [
-['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d+/],
-['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
-['HH:mm', /(T| )\d\d:\d\d/],
-['HH', /(T| )\d\d/]
-],
-
-// timezone chunker '+10:00'  ['10', '00'] or '-1530'  ['-15', '30']
-parseTimezoneChunker = /([\+\-]|\d\d)/gi,
-
-// getter and setter names
-proxyGettersAndSetters = 
'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
-unitMillisecondFactors = {
-'Milliseconds' : 1,
-'Seconds' : 1e3,
-'Minutes' : 6e4,
-'Hours' : 36e5,
-'Days' : 864e5,
-'Months' : 2592e6,
-'Years' 

[1/3] tapestry-5 git commit: update Moment.js to 2.8.4

2014-12-03 Thread jkemnade
Repository: tapestry-5
Updated Branches:
  refs/heads/master 4649e7585 - 23e512b1d


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/23e512b1/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.4.js
--
diff --git 
a/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.4.js 
b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.4.js
new file mode 100644
index 000..a0272fd
--- /dev/null
+++ b/tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.8.4.js
@@ -0,0 +1,9394 @@
+//! moment.js
+//! version : 2.8.4
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+(function (undefined) {
+/
+Constants
+/
+
+var moment,
+VERSION = '2.8.4',
+// the global-scope this is NOT the global object in Node.js
+globalScope = typeof global !== 'undefined' ? global : this,
+oldGlobalMoment,
+round = Math.round,
+hasOwnProperty = Object.prototype.hasOwnProperty,
+i,
+
+YEAR = 0,
+MONTH = 1,
+DATE = 2,
+HOUR = 3,
+MINUTE = 4,
+SECOND = 5,
+MILLISECOND = 6,
+
+// internal storage for locale config files
+locales = {},
+
+// extra moment internal properties (plugins register props here)
+momentProperties = [],
+
+// check for nodeJS
+hasModule = (typeof module !== 'undefined'  module  
module.exports),
+
+// ASP.NET json date format regex
+aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
+aspNetTimeSpanJsonRegex = 
/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
+
+// from 
http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal 
anywhere
+isoDurationRegex = 
/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
+
+// format tokens
+formattingTokens = 
/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YY|Y||YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,
+localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
+
+// parsing token regexes
+parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
+parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
+parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 
+parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
+parseTokenDigits = /\d+/, // nonzero number of digits
+parseTokenWord = 
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
 // any word (or two) characters or numbers including two/three word month in 
arabic.
+parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 + 
- or Z
+parseTokenT = /T/i, // T (ISO separator)
+parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123
+parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 
123456789.123
+
+//strict parsing regexes
+parseTokenOneDigit = /\d/, // 0 - 9
+parseTokenTwoDigits = /\d\d/, // 00 - 99
+parseTokenThreeDigits = /\d{3}/, // 000 - 999
+parseTokenFourDigits = /\d{4}/, //  - 
+parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
+parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
+
+// iso 8601 regex
+// -00-00 -W00 or -W00-0 + T + 00 or 00:00 or 00:00:00 or 
00:00:00.000 + +00:00 or + or +00)
+isoRegex = 
/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| 
)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+
+isoFormat = '-MM-DDTHH:mm:ssZ',
+
+isoDates = [
+['YY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
+['-MM-DD', /\d{4}-\d{2}-\d{2}/],
+['-[W]WW-E', /\d{4}-W\d{2}-\d/],
+['-[W]WW', /\d{4}-W\d{2}/],
+['-DDD', /\d{4}-\d{3}/]
+],
+
+// iso time formats and regexes
+isoTimes = [
+['HH:mm:ss.', /(T| )\d\d:\d\d:\d\d\.\d+/],
+['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+['HH:mm', /(T| )\d\d:\d\d/],
+['HH', /(T| )\d\d/]
+],
+
+// timezone chunker '+10:00'  ['10', '00'] or '-1530'  ['-15', '30']
+parseTimezoneChunker = /([\+\-]|\d\d)/gi,
+
+// getter and setter names
+proxyGettersAndSetters = 
'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
+unitMillisecondFactors = {
+'Milliseconds' : 1,
+'Seconds' : 1e3,
+'Minutes' 

  1   2   3   4   5   6   7   >