You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2013/12/05 19:26:58 UTC

[1/5] git commit: Make some core.properties keys as private if they are not intended for the client

Updated Branches:
  refs/heads/master 2bc3c14c9 -> 56c87d11c


Make some core.properties keys as private if they are not intended for the client


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

Branch: refs/heads/master
Commit: a392ade3af749d704e771e03e4ccda4d7b44106f
Parents: 2bc3c14
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Wed Dec 4 16:56:10 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Wed Dec 4 16:56:10 2013 -0800

----------------------------------------------------------------------
 .../main/java/org/apache/tapestry5/corelib/mixins/Confirm.java   | 4 ++--
 .../src/main/resources/org/apache/tapestry5/core.properties      | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a392ade3/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Confirm.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Confirm.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Confirm.java
index e8efbf3..2d39a8f 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Confirm.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Confirm.java
@@ -38,13 +38,13 @@ public class Confirm
     /**
      * The message to present to the user in the body of the modal dialog.
      */
-    @Parameter(value = "message:default-confirm-message", defaultPrefix = BindingConstants.LITERAL)
+    @Parameter(value = "message:private-default-confirm-message", defaultPrefix = BindingConstants.LITERAL)
     private String message;
 
     /**
      * The title for the modal dialog.
      */
-    @Parameter(value = "message:default-confirm-title", defaultPrefix = BindingConstants.LITERAL)
+    @Parameter(value = "message:private-default-confirm-title", defaultPrefix = BindingConstants.LITERAL)
     private String title;
 
     void beginRender(MarkupWriter writer)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a392ade3/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties b/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
index 083baa0..3712977 100644
--- a/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
+++ b/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
@@ -123,8 +123,8 @@ core-components.submit.class=btn btn-primary
 # Default for showDismissAll parameter of Alerts
 core-alerts-show-dismiss-all=true
 
-default-confirm-message=Are you sure you want to continue?
-default-confirm-title=Confirm
+private-default-confirm-message=Are you sure you want to continue?
+private-default-confirm-title=Confirm
 
 # See the LocalDate component
 private-default-localdate-format=lll
\ No newline at end of file


[5/5] git commit: Add a t5/core/moment wrapper around moment, to set the lang to match the document

Posted by hl...@apache.org.
Add a t5/core/moment wrapper around moment, to set the lang to match the document


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

Branch: refs/heads/master
Commit: 56c87d11ccca0a14afb2e38cef45ae28b49f2d12
Parents: 61990a7
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:26:38 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:26:38 2013 -0800

----------------------------------------------------------------------
 .../META-INF/modules/t5/core/localdate.coffee   |  2 +-
 .../META-INF/modules/t5/core/moment.coffee      | 25 ++++++++++++++++++++
 tapestry-core/src/test/app1/LocalDateDemo.tml   |  6 +++++
 .../integration/app1/pages/LocalDateDemo.groovy | 13 ++++++++++
 .../activationctx/services/AppModule.java       |  2 +-
 5 files changed, 46 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
index 136ce26..93f932f 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
@@ -17,7 +17,7 @@
 # Used with the LocalDate component to present a Date in a particular format, in the
 # browser's time zone.
 
-define ["./dom", "moment"],
+define ["./dom", "./moment"],
 (dom, moment) ->
 
   ATTR = "data-localdate-format"

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/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
new file mode 100644
index 0000000..eeff51d
--- /dev/null
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee
@@ -0,0 +1,25 @@
+# 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.
+
+# ## t5/core/moment
+#
+# A wrapper around Moment.js; this simply initializes Moment to
+# use the correct locale (as per the data-locale attribute of the document element).
+define ["moment"],
+(moment) ->
+  locale = (document.documentElement.getAttribute "data-locale") or "en"
+
+  moment.lang(locale)
+
+  return moment
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/test/app1/LocalDateDemo.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/app1/LocalDateDemo.tml b/tapestry-core/src/test/app1/LocalDateDemo.tml
index 26d7eca..2edf414 100644
--- a/tapestry-core/src/test/app1/LocalDateDemo.tml
+++ b/tapestry-core/src/test/app1/LocalDateDemo.tml
@@ -13,5 +13,11 @@
         </t:localdate>
     </p>
 
+
+    <div class="btn-toolbar">
+        <t:actionlink t:id="english" class="btn btn-default">English</t:actionlink>
+        <t:actionlink t:id="french" class="btn btn-default">French</t:actionlink>
+    </div>
+
 </html>
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
index 1959caf..c019ca4 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
@@ -1,11 +1,24 @@
 package org.apache.tapestry5.integration.app1.pages
 
 import org.apache.tapestry5.annotations.Cached
+import org.apache.tapestry5.ioc.annotations.Inject
+import org.apache.tapestry5.services.PersistentLocale
 
 class LocalDateDemo {
 
+    @Inject
+    PersistentLocale persistentLocale
+
     @Cached
     Date getNow() {
         new Date()
     }
+
+    void onActionFromFrench() {
+        persistentLocale.set Locale.FRENCH
+    }
+
+    void onActionFromEnglish() {
+        persistentLocale.set Locale.ENGLISH
+    }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
index 4d4541a..ca1e777 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
@@ -24,7 +24,7 @@ public class AppModule
 {
 	public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
 	{
-		configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
+		configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en,fr");
 		configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
 	}
 }


[2/5] git commit: Add license file for Moment.js

Posted by hl...@apache.org.
Add license file for Moment.js


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

Branch: refs/heads/master
Commit: 8265258318a632c113a95e54755cbaa78608db63
Parents: a392ade
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:05:00 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:05:00 2013 -0800

----------------------------------------------------------------------
 tapestry-core/LICENSE-moment.js.txt | 22 ++++++++++++++++++++++
 tapestry-core/NOTICE.txt            |  3 +++
 2 files changed, 25 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/82652583/tapestry-core/LICENSE-moment.js.txt
----------------------------------------------------------------------
diff --git a/tapestry-core/LICENSE-moment.js.txt b/tapestry-core/LICENSE-moment.js.txt
new file mode 100644
index 0000000..b44e3a6
--- /dev/null
+++ b/tapestry-core/LICENSE-moment.js.txt
@@ -0,0 +1,22 @@
+Copyright (c) 2011-2013 Tim Wood, Iskren Chernev, Moment.js contributors
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/82652583/tapestry-core/NOTICE.txt
----------------------------------------------------------------------
diff --git a/tapestry-core/NOTICE.txt b/tapestry-core/NOTICE.txt
index edf66cf..ca84bda 100644
--- a/tapestry-core/NOTICE.txt
+++ b/tapestry-core/NOTICE.txt
@@ -32,4 +32,7 @@ http://jquery.org/
 This product includes Twitter Typeahead.js, distributed under the MIT License.
 https://github.com/twitter/typeahead.js
 
+This product includes Moment.js, distributed under the MIT License.
+https://github.com/moment/moment
+
 


[3/5] git commit: Mark a number of messages from core.properties as private- (server-side only)

Posted by hl...@apache.org.
Mark a number of messages from core.properties as private- (server-side 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/1bc4e049
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1bc4e049
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1bc4e049

Branch: refs/heads/master
Commit: 1bc4e0499c4285fb798836cc07416f2120642d0d
Parents: 8265258
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:05:52 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:05:52 2013 -0800

----------------------------------------------------------------------
 .../java/org/apache/tapestry5/corelib/components/Alerts.java | 3 +--
 .../apache/tapestry5/corelib/components/BeanEditForm.java    | 4 ++--
 .../java/org/apache/tapestry5/corelib/components/Submit.java | 4 ++--
 .../internal/services/javascript/ModuleManagerImpl.java      | 2 +-
 .../src/main/resources/org/apache/tapestry5/core.properties  | 8 ++++----
 5 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
index 6e8a045..c8bc5bb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
@@ -49,13 +49,12 @@ public class Alerts extends BaseClientElement
     @Parameter(value = "message:core-dismiss-label", defaultPrefix = BindingConstants.LITERAL)
     private String dismissText;
 
-
     /**
      * If set to true, then the "dismiss all" button will not be rendered on the client.
      *
      * @since 5.4
      */
-    @Parameter(value = "message:core-alerts-show-dismiss-all", defaultPrefix = BindingConstants.LITERAL)
+    @Parameter(value = "message:private-core-alerts-show-dismiss-all", defaultPrefix = BindingConstants.LITERAL)
     private boolean showDismissAll;
 
     @SessionState(create = false)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
index 3604b0c..a06fac7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2009, 2010, 2011, 2012 The Apache Software Foundation
+// Copyright 2007-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.
@@ -108,7 +108,7 @@ public class BeanEditForm implements ClientElement, FormValidationControl
      * Specifies the CSS class attribute for the form; the factory default is "well".
      */
     @Property
-    @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL, value = "message:core-components.beaneditform.class")
+    @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL, value = "message:private-core-components.beaneditform.class")
     private String className;
 
     @Component(parameters = "validationId=componentResources.id", publishParameters = "clientValidation,autofocus,zone")

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/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 61aa621..e0f6fc7 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
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2009, 2010, 2011, 2012 The Apache Software Foundation
+// Copyright 2007-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.
@@ -98,7 +98,7 @@ public class Submit implements ClientElement
      * @since 5.4
      */
     @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL,
-            value = "message:core-components.submit.class")
+            value = "message:private-core-components.submit.class")
     private String cssClass;
 
     @Environmental

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
index 26cb24c..cb8e886 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
@@ -195,7 +195,7 @@ public class ModuleManagerImpl implements ModuleManager
 
         Element element = body.element("script", "type", "text/javascript");
 
-        element.raw(globalMessages.format("core-page-initialization-template",
+        element.raw(globalMessages.format("private-core-page-initialization-template",
                 convert(libraryURLs),
                 convert(inits)));
     }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties b/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
index 3712977..bda03c8 100644
--- a/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
+++ b/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
@@ -111,17 +111,17 @@ core-datefield-none=None
 
 private-no-validation-for-field=placeholder message
 
-core-page-initialization-template=\
+private-core-page-initialization-template=\
 require(["t5/core/pageinit"], function(pi) { pi(%s, %s); });
 
 # BeanEditForm default className parameter default:
-core-components.beaneditform.class=well
+private-core-components.beaneditform.class=well
 
 # Submit component cssClass parameter default:
-core-components.submit.class=btn btn-primary
+private-core-components.submit.class=btn btn-primary
 
 # Default for showDismissAll parameter of Alerts
-core-alerts-show-dismiss-all=true
+private-core-alerts-show-dismiss-all=true
 
 private-default-confirm-message=Are you sure you want to continue?
 private-default-confirm-title=Confirm


[2/5] git commit: Add license file for Moment.js

Posted by hl...@apache.org.
Add license file for Moment.js


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

Branch: refs/heads/master
Commit: 8265258318a632c113a95e54755cbaa78608db63
Parents: a392ade
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:05:00 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:05:00 2013 -0800

----------------------------------------------------------------------
 tapestry-core/LICENSE-moment.js.txt | 22 ++++++++++++++++++++++
 tapestry-core/NOTICE.txt            |  3 +++
 2 files changed, 25 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/82652583/tapestry-core/LICENSE-moment.js.txt
----------------------------------------------------------------------
diff --git a/tapestry-core/LICENSE-moment.js.txt b/tapestry-core/LICENSE-moment.js.txt
new file mode 100644
index 0000000..b44e3a6
--- /dev/null
+++ b/tapestry-core/LICENSE-moment.js.txt
@@ -0,0 +1,22 @@
+Copyright (c) 2011-2013 Tim Wood, Iskren Chernev, Moment.js contributors
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/82652583/tapestry-core/NOTICE.txt
----------------------------------------------------------------------
diff --git a/tapestry-core/NOTICE.txt b/tapestry-core/NOTICE.txt
index edf66cf..ca84bda 100644
--- a/tapestry-core/NOTICE.txt
+++ b/tapestry-core/NOTICE.txt
@@ -32,4 +32,7 @@ http://jquery.org/
 This product includes Twitter Typeahead.js, distributed under the MIT License.
 https://github.com/twitter/typeahead.js
 
+This product includes Moment.js, distributed under the MIT License.
+https://github.com/moment/moment
+
 


[3/5] git commit: Mark a number of messages from core.properties as private- (server-side only)

Posted by hl...@apache.org.
Mark a number of messages from core.properties as private- (server-side 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/1bc4e049
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1bc4e049
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1bc4e049

Branch: refs/heads/master
Commit: 1bc4e0499c4285fb798836cc07416f2120642d0d
Parents: 8265258
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:05:52 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:05:52 2013 -0800

----------------------------------------------------------------------
 .../java/org/apache/tapestry5/corelib/components/Alerts.java | 3 +--
 .../apache/tapestry5/corelib/components/BeanEditForm.java    | 4 ++--
 .../java/org/apache/tapestry5/corelib/components/Submit.java | 4 ++--
 .../internal/services/javascript/ModuleManagerImpl.java      | 2 +-
 .../src/main/resources/org/apache/tapestry5/core.properties  | 8 ++++----
 5 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
index 6e8a045..c8bc5bb 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
@@ -49,13 +49,12 @@ public class Alerts extends BaseClientElement
     @Parameter(value = "message:core-dismiss-label", defaultPrefix = BindingConstants.LITERAL)
     private String dismissText;
 
-
     /**
      * If set to true, then the "dismiss all" button will not be rendered on the client.
      *
      * @since 5.4
      */
-    @Parameter(value = "message:core-alerts-show-dismiss-all", defaultPrefix = BindingConstants.LITERAL)
+    @Parameter(value = "message:private-core-alerts-show-dismiss-all", defaultPrefix = BindingConstants.LITERAL)
     private boolean showDismissAll;
 
     @SessionState(create = false)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
index 3604b0c..a06fac7 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2009, 2010, 2011, 2012 The Apache Software Foundation
+// Copyright 2007-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.
@@ -108,7 +108,7 @@ public class BeanEditForm implements ClientElement, FormValidationControl
      * Specifies the CSS class attribute for the form; the factory default is "well".
      */
     @Property
-    @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL, value = "message:core-components.beaneditform.class")
+    @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL, value = "message:private-core-components.beaneditform.class")
     private String className;
 
     @Component(parameters = "validationId=componentResources.id", publishParameters = "clientValidation,autofocus,zone")

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/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 61aa621..e0f6fc7 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
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2009, 2010, 2011, 2012 The Apache Software Foundation
+// Copyright 2007-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.
@@ -98,7 +98,7 @@ public class Submit implements ClientElement
      * @since 5.4
      */
     @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL,
-            value = "message:core-components.submit.class")
+            value = "message:private-core-components.submit.class")
     private String cssClass;
 
     @Environmental

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
index 26cb24c..cb8e886 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/ModuleManagerImpl.java
@@ -195,7 +195,7 @@ public class ModuleManagerImpl implements ModuleManager
 
         Element element = body.element("script", "type", "text/javascript");
 
-        element.raw(globalMessages.format("core-page-initialization-template",
+        element.raw(globalMessages.format("private-core-page-initialization-template",
                 convert(libraryURLs),
                 convert(inits)));
     }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bc4e049/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties b/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
index 3712977..bda03c8 100644
--- a/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
+++ b/tapestry-core/src/main/resources/org/apache/tapestry5/core.properties
@@ -111,17 +111,17 @@ core-datefield-none=None
 
 private-no-validation-for-field=placeholder message
 
-core-page-initialization-template=\
+private-core-page-initialization-template=\
 require(["t5/core/pageinit"], function(pi) { pi(%s, %s); });
 
 # BeanEditForm default className parameter default:
-core-components.beaneditform.class=well
+private-core-components.beaneditform.class=well
 
 # Submit component cssClass parameter default:
-core-components.submit.class=btn btn-primary
+private-core-components.submit.class=btn btn-primary
 
 # Default for showDismissAll parameter of Alerts
-core-alerts-show-dismiss-all=true
+private-core-alerts-show-dismiss-all=true
 
 private-default-confirm-message=Are you sure you want to continue?
 private-default-confirm-title=Confirm


[4/5] git commit: Add a basic test for the LocalDate component

Posted by hl...@apache.org.
Add a basic test for the LocalDate component


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

Branch: refs/heads/master
Commit: 61990a792998f9cdbb5b6a32dc57037e511838a1
Parents: 1bc4e04
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:12:30 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:12:30 2013 -0800

----------------------------------------------------------------------
 .../tapestry5/integration/app1/MiscTests.groovy       | 14 ++++++++++++++
 .../integration/app1/pages/LocalDateDemo.groovy       |  3 +++
 .../tapestry5/integration/app1/pages/Index.java       |  2 +-
 3 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/61990a79/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
index d7d8be6..2db2c52 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
@@ -49,4 +49,18 @@ class MiscTests extends App1TestCase {
         assertTextPresent "Unable to locate asset 'does-not-exist.txt' for component MissingAssetDemo. It should be located at META-INF/assets/does-not-exist.txt."
     }
 
+    @Test
+    void local_date_formatting() {
+        openLinks "LocalDate Demo"
+
+        def defaultFormat = getText "local-date-default"
+        def customFormat = getText "local-date-formatted"
+
+        // Because there are so many variables: the date formatted, the locale and time zone of the
+        // server running the tests, etc., all we can really test for is that the
+        // client-side code successfully kicked in and formatted these differently.
+
+        assertNotEquals defaultFormat, customFormat
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/61990a79/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
index 175f098..1959caf 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
@@ -1,7 +1,10 @@
 package org.apache.tapestry5.integration.app1.pages
 
+import org.apache.tapestry5.annotations.Cached
+
 class LocalDateDemo {
 
+    @Cached
     Date getNow() {
         new Date()
     }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/61990a79/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 c0ad97c..388c5c6 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
@@ -58,7 +58,7 @@ public class Index
 
     private static final List<Item> ITEMS = CollectionFactory
             .newList(
-                    new Item("LocalDateDemo", "Local Date Demo", "LocalDate component, based on moment.js"),
+                    new Item("LocalDateDemo", "LocalDate Demo", "LocalDate component, based on Moment.js"),
 
                     new Item("EmptyIfDemo", "Empty If Demo", "Ensure an empty If can still render."),
 


[5/5] git commit: Add a t5/core/moment wrapper around moment, to set the lang to match the document

Posted by hl...@apache.org.
Add a t5/core/moment wrapper around moment, to set the lang to match the document


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

Branch: refs/heads/master
Commit: 56c87d11ccca0a14afb2e38cef45ae28b49f2d12
Parents: 61990a7
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:26:38 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:26:38 2013 -0800

----------------------------------------------------------------------
 .../META-INF/modules/t5/core/localdate.coffee   |  2 +-
 .../META-INF/modules/t5/core/moment.coffee      | 25 ++++++++++++++++++++
 tapestry-core/src/test/app1/LocalDateDemo.tml   |  6 +++++
 .../integration/app1/pages/LocalDateDemo.groovy | 13 ++++++++++
 .../activationctx/services/AppModule.java       |  2 +-
 5 files changed, 46 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
index 136ce26..93f932f 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/localdate.coffee
@@ -17,7 +17,7 @@
 # Used with the LocalDate component to present a Date in a particular format, in the
 # browser's time zone.
 
-define ["./dom", "moment"],
+define ["./dom", "./moment"],
 (dom, moment) ->
 
   ATTR = "data-localdate-format"

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/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
new file mode 100644
index 0000000..eeff51d
--- /dev/null
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/moment.coffee
@@ -0,0 +1,25 @@
+# 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.
+
+# ## t5/core/moment
+#
+# A wrapper around Moment.js; this simply initializes Moment to
+# use the correct locale (as per the data-locale attribute of the document element).
+define ["moment"],
+(moment) ->
+  locale = (document.documentElement.getAttribute "data-locale") or "en"
+
+  moment.lang(locale)
+
+  return moment
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/test/app1/LocalDateDemo.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/app1/LocalDateDemo.tml b/tapestry-core/src/test/app1/LocalDateDemo.tml
index 26d7eca..2edf414 100644
--- a/tapestry-core/src/test/app1/LocalDateDemo.tml
+++ b/tapestry-core/src/test/app1/LocalDateDemo.tml
@@ -13,5 +13,11 @@
         </t:localdate>
     </p>
 
+
+    <div class="btn-toolbar">
+        <t:actionlink t:id="english" class="btn btn-default">English</t:actionlink>
+        <t:actionlink t:id="french" class="btn btn-default">French</t:actionlink>
+    </div>
+
 </html>
 

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
index 1959caf..c019ca4 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
@@ -1,11 +1,24 @@
 package org.apache.tapestry5.integration.app1.pages
 
 import org.apache.tapestry5.annotations.Cached
+import org.apache.tapestry5.ioc.annotations.Inject
+import org.apache.tapestry5.services.PersistentLocale
 
 class LocalDateDemo {
 
+    @Inject
+    PersistentLocale persistentLocale
+
     @Cached
     Date getNow() {
         new Date()
     }
+
+    void onActionFromFrench() {
+        persistentLocale.set Locale.FRENCH
+    }
+
+    void onActionFromEnglish() {
+        persistentLocale.set Locale.ENGLISH
+    }
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/56c87d11/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
index 4d4541a..ca1e777 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
@@ -24,7 +24,7 @@ public class AppModule
 {
 	public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
 	{
-		configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
+		configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en,fr");
 		configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
 	}
 }


[4/5] git commit: Add a basic test for the LocalDate component

Posted by hl...@apache.org.
Add a basic test for the LocalDate component


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

Branch: refs/heads/master
Commit: 61990a792998f9cdbb5b6a32dc57037e511838a1
Parents: 1bc4e04
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Dec 5 10:12:30 2013 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Dec 5 10:12:30 2013 -0800

----------------------------------------------------------------------
 .../tapestry5/integration/app1/MiscTests.groovy       | 14 ++++++++++++++
 .../integration/app1/pages/LocalDateDemo.groovy       |  3 +++
 .../tapestry5/integration/app1/pages/Index.java       |  2 +-
 3 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/61990a79/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
index d7d8be6..2db2c52 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/MiscTests.groovy
@@ -49,4 +49,18 @@ class MiscTests extends App1TestCase {
         assertTextPresent "Unable to locate asset 'does-not-exist.txt' for component MissingAssetDemo. It should be located at META-INF/assets/does-not-exist.txt."
     }
 
+    @Test
+    void local_date_formatting() {
+        openLinks "LocalDate Demo"
+
+        def defaultFormat = getText "local-date-default"
+        def customFormat = getText "local-date-formatted"
+
+        // Because there are so many variables: the date formatted, the locale and time zone of the
+        // server running the tests, etc., all we can really test for is that the
+        // client-side code successfully kicked in and formatted these differently.
+
+        assertNotEquals defaultFormat, customFormat
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/61990a79/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
index 175f098..1959caf 100644
--- a/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
+++ b/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/pages/LocalDateDemo.groovy
@@ -1,7 +1,10 @@
 package org.apache.tapestry5.integration.app1.pages
 
+import org.apache.tapestry5.annotations.Cached
+
 class LocalDateDemo {
 
+    @Cached
     Date getNow() {
         new Date()
     }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/61990a79/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 c0ad97c..388c5c6 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
@@ -58,7 +58,7 @@ public class Index
 
     private static final List<Item> ITEMS = CollectionFactory
             .newList(
-                    new Item("LocalDateDemo", "Local Date Demo", "LocalDate component, based on moment.js"),
+                    new Item("LocalDateDemo", "LocalDate Demo", "LocalDate component, based on Moment.js"),
 
                     new Item("EmptyIfDemo", "Empty If Demo", "Ensure an empty If can still render."),