[jira] [Commented] (TAP5-1601) Under as yet unknown circumstances, a method that references a field with a conduit will not be instrumented, resulting in an NPE accessing the field itself

2012-08-20 Thread Andy Blower (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-1601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437898#comment-13437898
 ] 

Andy Blower commented on TAP5-1601:
---

Sorry was on holiday. I've looked though what you've done and it seems like it 
might fix the issue we encountered. I'm not sure I can remember enough about 
how we ran into it to confirm though. If I can find half a day to investigate 
and confirm I will do, but i cannot guarantee this.

 Under as yet unknown circumstances, a method that references a field with a 
 conduit will not be instrumented, resulting in an NPE accessing the field 
 itself
 

 Key: TAP5-1601
 URL: https://issues.apache.org/jira/browse/TAP5-1601
 Project: Tapestry 5
  Issue Type: Bug
  Components: plastic, tapestry-core
Affects Versions: 5.3
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
Priority: Blocker
  Labels: class-transformation, fixed-in-5.4-js-rewrite
 Fix For: 5.3.5

 Attachments: AtCached-issue.zip


 From ProQuest, they have a component that has this code:
 public class Layout {
   @Inject
   private ComponentResources resources;
   @Cached
   public Component getPage() { return resources.getContainer(); }
 }
 The generated bytecode for the advised method looks ok:
   public getPage()Lorg/apache/tapestry5/runtime/Component;
   @Lorg/apache/tapestry5/annotations/Cached;()
 NEW 
 com/proquest/apps/onesearch/components/PageLayoutBasic$Invocation_getPage_123876a5ccf1f215
 DUP
 ALOAD 0
 ALOAD 0
 GETFIELD 
 com/proquest/apps/onesearch/components/PageLayoutBasic.instanceContext : 
 Lorg/apache/tapestry5/plastic/InstanceContext;
 ALOAD 0
 GETFIELD 
 com/proquest/apps/onesearch/components/PageLayoutBasic.methodinvocationbundle_getPage_123876a5ccf1f22d
  : Lorg/apache/tapestry5/internal/plastic/MethodInvocationBundle;
 INVOKESPECIAL 
 com/proquest/apps/onesearch/components/PageLayoutBasic$Invocation_getPage_123876a5ccf1f215.init
  
 (Ljava/lang/Object;Lorg/apache/tapestry5/plastic/InstanceContext;Lorg/apache/tapestry5/internal/plastic/MethodInvocationBundle;)V
L0
 DUP
 ASTORE 1
 INVOKEVIRTUAL 
 org/apache/tapestry5/internal/plastic/AbstractMethodInvocation.proceed 
 ()Lorg/apache/tapestry5/plastic/MethodInvocation;
 ALOAD 1
 GETFIELD 
 com/proquest/apps/onesearch/components/PageLayoutBasic$Invocation_getPage_123876a5ccf1f215.returnValue
  : Lorg/apache/tapestry5/runtime/Component;
 ARETURN
L1
 LOCALVARIABLE var0 
 Lcom/proquest/apps/onesearch/components/PageLayoutBasic$Invocation_getPage_123876a5ccf1f215;
  L0 L1 1
 MAXSTACK = 1
 MAXLOCALS = 1
 ... but the bytecode for the advised method is not instrumented:
   public 
 advised$getPage_123876a5ccf1f216()Lorg/apache/tapestry5/runtime/Component;
   @Lorg/apache/tapestry5/annotations/Cached;()
 ALOAD 0
 GETFIELD com/proquest/apps/onesearch/components/PageLayoutBasic.resources 
 : Lorg/apache/tapestry5/ComponentResources;
 INVOKEINTERFACE org/apache/tapestry5/ComponentResources.getContainer 
 ()Lorg/apache/tapestry5/runtime/Component;
 ARETURN
 MAXSTACK = 1
 MAXLOCALS = 1
 ... even though the necessary field conduit support method is present:
   // access flags 0x1010
   final getfieldvalue_resources()Lorg/apache/tapestry5/ComponentResources;
 ALOAD 0
 GETFIELD 
 com/proquest/apps/onesearch/components/PageLayoutBasic.resources_FieldConduit 
 : Lorg/apache/tapestry5/plastic/FieldConduit;
 ALOAD 0
 ALOAD 0
 GETFIELD 
 com/proquest/apps/onesearch/components/PageLayoutBasic.instanceContext : 
 Lorg/apache/tapestry5/plastic/InstanceContext;
 INVOKEINTERFACE org/apache/tapestry5/plastic/FieldConduit.get 
 (Ljava/lang/Object;Lorg/apache/tapestry5/plastic/InstanceContext;)Ljava/lang/Object;
 CHECKCAST org/apache/tapestry5/ComponentResources
 DUP
 ALOAD 0
 SWAP
 PUTFIELD com/proquest/apps/onesearch/components/PageLayoutBasic.resources 
 : Lorg/apache/tapestry5/ComponentResources;
 ARETURN
 MAXSTACK = 0
 MAXLOCALS = 0
 ... also, looking at the real class, from the client, as transformed, many 
 other methods containing references to the field are being transformed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Assigned] (TAP5-1991) YUICompressor should be less verbose about common warnings

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship reassigned TAP5-1991:
--

Assignee: Howard M. Lewis Ship

 YUICompressor should be less verbose about common warnings
 --

 Key: TAP5-1991
 URL: https://issues.apache.org/jira/browse/TAP5-1991
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-yuicompressor
Affects Versions: 5.3, 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
Priority: Minor

 Some common warnings that are so frequent, they drown out real problems:
 Try to use a single 'var' statement per scope
 Using 'eval' is not recommended

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[1/2] git commit: TAP5-1991: Make YUICompressor less verbose about common warnings

2012-08-20 Thread hlship
Updated Branches:
  refs/heads/5.3 4fbe60b8c - 0fb8abd7f


TAP5-1991: Make YUICompressor less verbose about common warnings


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

Branch: refs/heads/5.3
Commit: 0fb8abd7f718f2d839fa1b0ef6c5a31003859415
Parents: d6ec62c
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Mon Aug 20 11:20:23 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Mon Aug 20 11:21:00 2012 -0700

--
 .../internal/yuicompressor/AbstractMinimizer.java  |   17 ++
 .../yuicompressor/JavaScriptResourceMinimizer.java |   17 ++-
 2 files changed, 28 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0fb8abd7/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
--
diff --git 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
index 51d7024..bb4b243 100644
--- 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
+++ 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011-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.
@@ -86,10 +86,15 @@ public abstract class AbstractMinimizer implements 
ResourceMinimizer
 
 if (logger.isDebugEnabled())
 {
+int inputSize = input.getSize();
+int outputSize = output.getSize();
+
 double elapsedMillis = ((double) elapsedNanos) * NANOS_TO_MILLIS;
+// e.g., reducing 100 bytes to 25 would be a (100-25)/100 
reduction, or 75%
+double reduction = 100d * ((double) (inputSize - outputSize)) / 
((double) inputSize);
 
-logger.debug(String.format(Minimized %s (%,d input bytes of %s to 
%,d output bytes in %.2f ms),
-input.getDescription(), input.getSize(), resourceType, 
output.getSize(), elapsedMillis));
+logger.debug(String.format(Minimized %s (%,d input bytes of %s to 
%,d output bytes in %.2f ms, %.2f%% reduction),
+input.getDescription(), inputSize, resourceType, 
outputSize, elapsedMillis, reduction));
 }
 
 return output;
@@ -105,8 +110,10 @@ public abstract class AbstractMinimizer implements 
ResourceMinimizer
 /**
  * Implemented in subclasses to do the actual work.
  *
- * @param resource content to minimize
- * @param output   writer for minimized version of input
+ * @param resource
+ * content to minimize
+ * @param output
+ * writer for minimized version of input
  */
 protected abstract void doMinimize(StreamableResource resource, Writer 
output) throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/0fb8abd7/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
--
diff --git 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
index 4a3a999..598f977 100644
--- 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
+++ 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
@@ -46,6 +46,12 @@ public class JavaScriptResourceMinimizer extends 
AbstractMinimizer
 EXACT, NEAR, FAR
 }
 
+private static final String[] IGNORED_WARNINGS = {
+Try to use a single 'var' statement per scope.,
+Using 'eval' is not recommended,
+has already been declared in the same scope
+};
+
 public JavaScriptResourceMinimizer(final Logger logger, OperationTracker 
tracker)
 {
 super(logger, tracker, JavaScript);
@@ -75,7 +81,8 @@ public class JavaScriptResourceMinimizer extends 
AbstractMinimizer
 
 final AtomicInteger warningCount = new AtomicInteger();
 
-Runnable identifyWarnings = new Runnable() {
+   

[2/2] git commit: TAP5-1859: Clicking a submit or button in a non-Tapestry Form causes a client exception

2012-08-20 Thread hlship
TAP5-1859: Clicking a submit or button in a non-Tapestry Form causes a client 
exception


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

Branch: refs/heads/5.3
Commit: d6ec62cfb3fb14385f667facf9f7ae5fb86685e8
Parents: 4fbe60b
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Fri Aug 17 17:45:49 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Fri Aug 17 17:45:49 2012 -0700

--
 .../resources/org/apache/tapestry5/tapestry.js |8 ++--
 1 files changed, 6 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d6ec62cf/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
--
diff --git a/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js 
b/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
index 26d151a..08f8053 100644
--- a/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
+++ b/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
@@ -749,8 +749,12 @@ Element
  *(a Submit or LinkSubmit)
  */
 setSubmittingElement: function (form, element) {
-form.getFormEventManager()
-.setSubmittingElement(element);
+
+// A crude check to see if it is a Tapestry form.
+
+if ($(form).getInputs(hidden, t:formdata).size()  0) {
+  form.getFormEventManager() .setSubmittingElement(element);
+}
 },
 
 /**



[1/6] git commit: TAP5-1991: Make YUICompressor less verbose about common warnings

2012-08-20 Thread hlship
Updated Branches:
  refs/heads/5.4-js-rewrite a9433984c - 65aa66e34


TAP5-1991: Make YUICompressor less verbose about common warnings


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

Branch: refs/heads/5.4-js-rewrite
Commit: 65aa66e3450c3e680517d61ed6dd53bf1511101e
Parents: bbeca8f
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Mon Aug 20 11:20:23 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Mon Aug 20 11:20:23 2012 -0700

--
 .../internal/yuicompressor/AbstractMinimizer.java  |   17 ++
 .../yuicompressor/JavaScriptResourceMinimizer.java |   17 ++-
 2 files changed, 28 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/65aa66e3/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
--
diff --git 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
index 51d7024..bb4b243 100644
--- 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
+++ 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/AbstractMinimizer.java
@@ -1,4 +1,4 @@
-// Copyright 2011 The Apache Software Foundation
+// Copyright 2011-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.
@@ -86,10 +86,15 @@ public abstract class AbstractMinimizer implements 
ResourceMinimizer
 
 if (logger.isDebugEnabled())
 {
+int inputSize = input.getSize();
+int outputSize = output.getSize();
+
 double elapsedMillis = ((double) elapsedNanos) * NANOS_TO_MILLIS;
+// e.g., reducing 100 bytes to 25 would be a (100-25)/100 
reduction, or 75%
+double reduction = 100d * ((double) (inputSize - outputSize)) / 
((double) inputSize);
 
-logger.debug(String.format(Minimized %s (%,d input bytes of %s to 
%,d output bytes in %.2f ms),
-input.getDescription(), input.getSize(), resourceType, 
output.getSize(), elapsedMillis));
+logger.debug(String.format(Minimized %s (%,d input bytes of %s to 
%,d output bytes in %.2f ms, %.2f%% reduction),
+input.getDescription(), inputSize, resourceType, 
outputSize, elapsedMillis, reduction));
 }
 
 return output;
@@ -105,8 +110,10 @@ public abstract class AbstractMinimizer implements 
ResourceMinimizer
 /**
  * Implemented in subclasses to do the actual work.
  *
- * @param resource content to minimize
- * @param output   writer for minimized version of input
+ * @param resource
+ * content to minimize
+ * @param output
+ * writer for minimized version of input
  */
 protected abstract void doMinimize(StreamableResource resource, Writer 
output) throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/65aa66e3/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
--
diff --git 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
index 4a3a999..598f977 100644
--- 
a/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
+++ 
b/tapestry-yuicompressor/src/main/java/org/apache/tapestry5/internal/yuicompressor/JavaScriptResourceMinimizer.java
@@ -46,6 +46,12 @@ public class JavaScriptResourceMinimizer extends 
AbstractMinimizer
 EXACT, NEAR, FAR
 }
 
+private static final String[] IGNORED_WARNINGS = {
+Try to use a single 'var' statement per scope.,
+Using 'eval' is not recommended,
+has already been declared in the same scope
+};
+
 public JavaScriptResourceMinimizer(final Logger logger, OperationTracker 
tracker)
 {
 super(logger, tracker, JavaScript);
@@ -75,7 +81,8 @@ public class JavaScriptResourceMinimizer extends 
AbstractMinimizer
 
 final AtomicInteger warningCount = new AtomicInteger();
 
-Runnable identifyWarnings 

[4/6] git commit: Fix invalid CSS selector caused by unquoted punctuation

2012-08-20 Thread hlship
Fix invalid CSS selector caused by unquoted punctuation


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

Branch: refs/heads/5.4-js-rewrite
Commit: 821a5d99db3ac00802a996f59a70009b4abb6fd5
Parents: c58a5e8
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Mon Aug 20 10:38:48 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Mon Aug 20 10:38:48 2012 -0700

--
 .../META-INF/modules/core/forms.coffee |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/821a5d99/tapestry-core/src/main/coffeescript/META-INF/modules/core/forms.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/core/forms.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/core/forms.coffee
index 86d4d04..d4ea5ae 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/core/forms.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/core/forms.coffee
@@ -26,14 +26,14 @@ define [core/events, core/spi, core/builder, 
core/compat/tapestry],
   (element.getAttribute data-prevent-submission)
 
 clearSubmittingHidden = (form) -
-  hidden = form.find [name=t:submit]
+  hidden = form.find [name='t:submit']
 
   hidden.setValue null if hidden
 
   return
 
 setSubmittingHidden = (form, wrapper) -
-  hidden = form.find [name=t:submit]
+  hidden = form.find [name='t:submit']
 
   unless hidden
 firstHidden = form.find input[type=hidden]



[2/6] git commit: Introduce a distinction between the core stack and all other stacks (and JavaScript) - allows more stacks/libraries to continue working under 5.4 without change

2012-08-20 Thread hlship
Introduce a distinction between the core stack and all other stacks (and 
JavaScript)
- allows more stacks/libraries to continue working under 5.4 without change


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

Branch: refs/heads/5.4-js-rewrite
Commit: bbeca8f53e8ee4a8ba33d4c90622b659b87f209c
Parents: 300494b
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Mon Aug 20 10:51:01 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Mon Aug 20 10:51:01 2012 -0700

--
 .../META-INF/modules/core/pageinit.coffee  |   20 +---
 .../internal/services/DocumentLinker.java  |   24 -
 .../internal/services/DocumentLinkerImpl.java  |   13 +-
 .../services/PartialMarkupDocumentLinker.java  |7 +++
 .../services/ajax/JavaScriptSupportImpl.java   |   37 --
 .../services/javascript/ModuleManagerImpl.java |3 +-
 .../services/javascript/ModuleManager.java |   11 +++--
 .../resources/org/apache/tapestry5/core.properties |2 +-
 .../resources/org/apache/tapestry5/t5-forceload.js |9 ++--
 .../services/DocumentLinkerImplTest.groovy |   20 
 .../services/ajax/JavaScriptSupportImplTest.groovy |5 +-
 11 files changed, 102 insertions(+), 49 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/bbeca8f5/tapestry-core/src/main/coffeescript/META-INF/modules/core/pageinit.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/core/pageinit.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/core/pageinit.coffee
index bf1850b..4032d39 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/core/pageinit.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/core/pageinit.coffee
@@ -134,13 +134,19 @@ define [_, core/console, core/spi, core/events],
 
 finalCallback.call null
 
-  # Loads all the libraries, in order. It then executes the immediate 
initializations.
-  # After that, it waits for the DOM to be ready and executes the other 
initializations.
-  loadLibrariesAndInitialize: (libraries, immediateInits, otherInits) -
-exports.loadLibraries libraries, -
-  exports.initialize immediateInits
-
-  spi.domReady - exports.initialize otherInits
+  # Loads all the core libraries (the core JavaScript Stack), in order.It 
then ensures that some key modules have
+  # initialized, and loads all other libraries in order (this includes 
other stacks beyond core, and free-standing
+  # libraries). It then executes the immediate initializations. After 
that, it waits for the DOM to be ready and
+  # executes the other initializations. A lot of the complexity here is 
for compatibility with Tapestry 5.3 and
+  # earlier, where dependencies were exclusively defined in terms of load 
order (and there were lots of globals).
+  loadLibrariesAndInitialize: (coreLibraries, libraries, immediateInits, 
otherInits) -
+exports.loadLibraries coreLibraries, -
+  require [core/compat/t5-forceload], -
+console.debug Core libraries loaded.
+exports.loadLibraries libraries, -
+  exports.initialize immediateInits
+
+  spi.domReady - exports.initialize otherInits
 
   evalJavaScript: (js) -
 require [core/compat/tapestry], -

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/bbeca8f5/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
--
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
index 34eafd3..eafddd6 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinker.java
@@ -1,4 +1,4 @@
-// Copyright 2007, 2008, 2010 The Apache Software Foundation
+// Copyright 2007, 2008, 2010, 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.
@@ -21,12 +21,30 @@ import 
org.apache.tapestry5.services.javascript.StylesheetLink;
 /**
  * Responsible for injecting script and style links into the lt;headgt; and 
lt;bodygt; element of the rendered HTML
  * document.
+ *
+ * @see 

[3/6] git commit: Remove some reserved word errors identified by YUICompressor

2012-08-20 Thread hlship
Remove some reserved word errors identified by YUICompressor


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

Branch: refs/heads/5.4-js-rewrite
Commit: 300494b827bf6c5b256594c046bca0a56ae11abc
Parents: 821a5d9
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Mon Aug 20 10:39:37 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Mon Aug 20 10:39:37 2012 -0700

--
 .../coffeescript/META-INF/modules/core/spi.coffee  |   15 +++
 1 files changed, 7 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/300494b8/tapestry-core/src/main/coffeescript/META-INF/modules/core/spi.coffee
--
diff --git 
a/tapestry-core/src/main/coffeescript/META-INF/modules/core/spi.coffee 
b/tapestry-core/src/main/coffeescript/META-INF/modules/core/spi.coffee
index 9a52bad..c0b 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/core/spi.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/core/spi.coffee
@@ -56,15 +56,15 @@ define [_, prototype], (_) -
 throw new Error Provided value #{content} is not valid as DOM element 
content.
 
   # _internal_: Currently don't want to rely on Scriptaculous, since our needs 
are pretty minor.
-  animate = (element, styleName, initial, final, duration, callbacks) -
+  animate = (element, styleName, initialValue, finalValue, duration, 
callbacks) -
 styles = {}
-range = final - initial
+range = finalValue - initialValue
 initialTime = Date.now()
 first = true
 animator = -
   elapsed = Date.now() - initialTime
   if elapsed = duration
-styles[styleName] = final
+styles[styleName] = finalValue
 element.setStyle styles
 window.clearInterval timeoutID
 callbacks.oncomplete and callbacks.oncomplete()
@@ -81,7 +81,7 @@ define [_, prototype], (_) -
 
 timeoutID = window.setInterval animator
 
-styles[styleName] = initial
+styles[styleName] = initialValue
 element.setStyle styles
 
   # Generic view of an DOM event that is passed to a handler function.
@@ -98,11 +98,10 @@ define [_, prototype], (_) -
 
 constructor: (event) -
   @nativeEvent = event
-  @memo = event.memo
-  @type = event.type
 
-  @char = event.char
-  @key = event.key
+  # This is to satisfy YUICompressor which doesn't seem to like 'char', 
even
+  # though it doesn't appear to be a reserved word.
+  this[name] = event[name] for name in [memo, type, char, key]
 
 # Stops the event which prevents further propagation of the DOM event,
 # as well as DOM event bubbling.



[jira] [Resolved] (TAP5-1991) YUICompressor should be less verbose about common warnings

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship resolved TAP5-1991.


   Resolution: Fixed
Fix Version/s: 5.3.5

Also made it output the percentage reduction of the compressed stream

 YUICompressor should be less verbose about common warnings
 --

 Key: TAP5-1991
 URL: https://issues.apache.org/jira/browse/TAP5-1991
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-yuicompressor
Affects Versions: 5.3, 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
Priority: Minor
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.5


 Some common warnings that are so frequent, they drown out real problems:
 Try to use a single 'var' statement per scope
 Using 'eval' is not recommended

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




git commit: Roll version number forward to 5.3.5 prior to generating the release

2012-08-20 Thread hlship
Updated Branches:
  refs/heads/5.3 0fb8abd7f - c5600a8de


Roll version number forward to 5.3.5 prior to generating the 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/c5600a8d
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c5600a8d
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c5600a8d

Branch: refs/heads/5.3
Commit: c5600a8de7645fb7bd5cc21b38f8902a36c1b840
Parents: 0fb8abd
Author: Howard M. Lewis Ship hls...@apache.org
Authored: Mon Aug 20 11:32:06 2012 -0700
Committer: Howard M. Lewis Ship hls...@apache.org
Committed: Mon Aug 20 11:32:06 2012 -0700

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


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c5600a8d/build.gradle
--
diff --git a/build.gradle b/build.gradle
index 9958a6a..a7d4edc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,7 +9,7 @@ apply from: md5.gradle
 project.ext.versions = [
   // Remember that when generating a release, this should be incremented. Also 
dont forget to
   // tag the release in Git.
-  tapestry: 5.3.5-rc1,
+  tapestry: 5.3.5,
   jetty: 7.0.0.v20091005,
   tomcat: 6.0.30,
   testng: 5.14.10,



[jira] [Updated] (TAP5-1983) PerThreadManager does not cleanup on shutdown, can lead to memory leaks when application redeployed

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1983:
---

Fix Version/s: (was: 5.3.5)
   5.3.6

 PerThreadManager does not cleanup on shutdown, can lead to memory leaks when 
 application redeployed
 ---

 Key: TAP5-1983
 URL: https://issues.apache.org/jira/browse/TAP5-1983
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3, 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
Priority: Critical
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.6


 As reported on the mailing list:
 On Sun, Aug 5, 2012 at 1:25 AM, petr.charvat petr.char...@jpower8.cz wrote:
  My application uses tapestry 5.3.4 and I deploy it on Tomcat 6.0.35.
  The internal tomcat listener JreMemoryLeakPreventionListener write to
  console this message after undeploy/redeploy my application.
 
  5.8.2012 9:23:18 org.apache.catalina.loader.WebappClassLoader
  clearThreadLocalMap
  SEVERE: The web application [/FitSoftware] created a ThreadLocal with key of
  type
  [org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl.MapHolder]
  (value
  [org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$MapHolder@64efc9fb])
  and a value of type [java.util.HashMap] (value [{1=DEFINED, 2=DEFINED,
  3=DEFINED, 4=DEFINED, 5=DEFINED, 6=DEFINED, 7=DEFINED, 8=DEFINED, 9=DEFINED,
  10=DEFINED, 11=DEFINED}]) but failed to remove it when the web application
  was stopped. This is very likely to create a memory leak.
 
  From the memory dump it seems, that GC can't remove previous version of the
  application and after several redeploys permspace is gone.
 This does look like a bug, with a pretty easy fix.
 
  Is the message from tomcat memory leak detector relevant? What does the
  value 1=DEFINED means?
  Thanks for answer.
 Tapestry uses this class to manage a per-thread HashMap; the values in
 the HashMap are anything that Tapestry needs to track on a per-thread
 (not global) basis; including the values of page and component fields,
 and lots more besides.  The key is an arbitrarily assigned Integer; it
 has no specific meaning.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1977) Memory leak (perm gen) in component reloading

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1977:
---

Fix Version/s: (was: 5.3.5)
   5.3.6

 Memory leak (perm gen) in component reloading
 -

 Key: TAP5-1977
 URL: https://issues.apache.org/jira/browse/TAP5-1977
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.4, 5.3
Reporter: Denis Delangle
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.6

 Attachments: memoryleak.patch


 I think I found a memory leak in components reloading. The 
 ComponentEventResultProcessor uses a StrategyBuilder to find the correct 
 behavior to apply on events methods results.
 If a onEvent method returns a component instance, then the StrategyBuilder 
 will keep the component class in its cache. When reloading components, this 
 cache should be cleared to let GC clear the classLoader and all the 
 corresponding classes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1976) XML Parser adds attributes with default values and produces invalid HTML5 markup

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1976:
---

Fix Version/s: (was: 5.3.5)
   5.3.6

 XML Parser adds attributes with default values and produces invalid HTML5 
 markup
 

 Key: TAP5-1976
 URL: https://issues.apache.org/jira/browse/TAP5-1976
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.3
Reporter: Thomas Scheinecker
Assignee: Howard M. Lewis Ship
Priority: Critical
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.6


 After some research I found out that this issue is a reoccurring one - which 
 never really has been fixed.
 The first one was TAP5-171 the second TAP5-1044
 The problem hasn't changed very much except that deleting the doctype doesn't 
 help anymore since t5.3 as xhtml transitional is used in memory when none is 
 provided (same for the html5 doctype) (source: 
 http://tapestry.apache.org/component-templates.html#ComponentTemplates-TemplateDoctypes).
 When using html5 the problem is that invalid html markup is generated, for 
 example:
  - a br tag renders as br clear=none/ where clear is invalid html5
  - an a tag renders as a shape=rect... where the shape attribute is 
 invalid html5

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1979) Changing the implementation of a method after adding method advice does not work; the original implementation remains

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1979:
---

Fix Version/s: (was: 5.3.5)
   5.3.6

 Changing the implementation of a method after adding method advice does not 
 work; the original implementation remains
 -

 Key: TAP5-1979
 URL: https://issues.apache.org/jira/browse/TAP5-1979
 Project: Tapestry 5
  Issue Type: Bug
  Components: plastic
Affects Versions: 5.3, 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.6


 This is too easy to do when you have a chain of PlasticClassTransformers 
 operating on the same classes.
 Alternately, the advised method, not the main method (that instantiates the 
 Invocation object)n should be the one that is rewritten.
 The issue here is that Plastic takes a snapshot of the method implementation 
 when the first advice is added, and that snapshot is not updated if the 
 advised method implementation is later changed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1868) SRSCachingInterceptor returns compressed version of asset for all clients once it was compressed for some client

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1868:
---

Fix Version/s: (was: 5.3.5)
   5.3.6

 SRSCachingInterceptor returns compressed version of asset for all clients 
 once it was compressed for some client
 

 Key: TAP5-1868
 URL: https://issues.apache.org/jira/browse/TAP5-1868
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.2
Reporter: Dmitry Gusev
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.6


 Cache lookup ignores StreamableResourceProcessing argument.
 public class SRSCachingInterceptor implements StreamableResourceSource, 
 InvalidationListener
 {
 ...
 public StreamableResource getStreamableResource(Resource baseResource, 
 StreamableResourceProcessing processing, ResourceDependencies dependencies)
 throws IOException
 {
 if (processing == StreamableResourceProcessing.FOR_AGGREGATION)
 {
 return delegate.getStreamableResource(baseResource, processing, 
 dependencies);
 }
 StreamableResource result = TapestryInternalUtils.getAndDeref(cache, 
 baseResource);
 if (result == null)
 {
 result = delegate.getStreamableResource(baseResource, processing, 
 dependencies);
 if (isCacheable(result))
 {
 dependencies.addDependency(baseResource);
 cache.put(baseResource, new 
 SoftReferenceStreamableResource(result));
 }
 }
 return result;
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1907) Client exception in IE9 when partial page render introduces stylesheets

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1907:
---

Fix Version/s: (was: 5.3.5)
   5.3.6

 Client exception in IE9 when partial page render introduces stylesheets
 ---

 Key: TAP5-1907
 URL: https://issues.apache.org/jira/browse/TAP5-1907
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.2
Reporter: Paul Stanton
Priority: Critical
  Labels: ajax, fixed-in-5.4-js-rewrite, ie, internetexplorer, 
 scripts
 Fix For: 5.3.6


 I've found an incompatibility with ie9 and tapestry exposed when an ajax 
 response renders a component(s) which include their own stylesheets.
 This will call Tapestry.ScriptManager.addStylesheets.
 The offending line 2048 in tapestry.js
 var loaded = 
 _(document.styleSheets).chain().pluck(href).without().map(this.rebuildURLIfIE).value();
 The problem is within
 map(this.rebuildURLIfIE)
 which is calling with a null path:
 rebuildURL : function(path) {
 if (path.match(/^https?:/)) {
 return path;
 }
 ...
 Turns out, in ie9 (unlike all other browsers) the embedded stylesheets have a 
 null href, not  therefore the without() does not filter the blank entries.
 The solution is to add a call to without(null) before calling map.
 However, this line is way too complicated to be on one line so I would 
 recommend splitting it into 3 (at least):
 var resources = _(document.styleSheets).chain().pluck(href);
 resources = resources.without().without(null);
 var loaded = resources.map(this.rebuildURLIfIE).value();
 The same must be done for addScripts (line 2021):
 var resources = _(document.scripts).chain().pluck(src);
 resources = resources.without().without(null);
 var loaded = resources.map(this.rebuildURLIfIE).value();

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[CONF] Apache Tapestry Release Notes 5.3.5

2012-08-20 Thread confluence







Release Notes 5.3.5
Page  added by Howard M. Lewis Ship

 

 


   
Change Notification Preferences
   
   View Online
   








[jira] [Reopened] (TAP5-1989) Upgrade bundled Prototype to version 1.7.1

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship reopened TAP5-1989:



 Upgrade bundled Prototype to version 1.7.1
 --

 Key: TAP5-1989
 URL: https://issues.apache.org/jira/browse/TAP5-1989
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3, 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.5


 After 18 months they've updated Prototype with some significant new features.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1977) Memory leak (perm gen) in component reloading

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1977:
---

Fix Version/s: (was: 5.3.6)
   5.3.5

 Memory leak (perm gen) in component reloading
 -

 Key: TAP5-1977
 URL: https://issues.apache.org/jira/browse/TAP5-1977
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.4, 5.3
Reporter: Denis Delangle
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.5

 Attachments: memoryleak.patch


 I think I found a memory leak in components reloading. The 
 ComponentEventResultProcessor uses a StrategyBuilder to find the correct 
 behavior to apply on events methods results.
 If a onEvent method returns a component instance, then the StrategyBuilder 
 will keep the component class in its cache. When reloading components, this 
 cache should be cleared to let GC clear the classLoader and all the 
 corresponding classes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1976) XML Parser adds attributes with default values and produces invalid HTML5 markup

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1976:
---

Fix Version/s: (was: 5.3.6)
   5.3.5

 XML Parser adds attributes with default values and produces invalid HTML5 
 markup
 

 Key: TAP5-1976
 URL: https://issues.apache.org/jira/browse/TAP5-1976
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.3
Reporter: Thomas Scheinecker
Assignee: Howard M. Lewis Ship
Priority: Critical
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.5


 After some research I found out that this issue is a reoccurring one - which 
 never really has been fixed.
 The first one was TAP5-171 the second TAP5-1044
 The problem hasn't changed very much except that deleting the doctype doesn't 
 help anymore since t5.3 as xhtml transitional is used in memory when none is 
 provided (same for the html5 doctype) (source: 
 http://tapestry.apache.org/component-templates.html#ComponentTemplates-TemplateDoctypes).
 When using html5 the problem is that invalid html markup is generated, for 
 example:
  - a br tag renders as br clear=none/ where clear is invalid html5
  - an a tag renders as a shape=rect... where the shape attribute is 
 invalid html5

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1907) Client exception in IE9 when partial page render introduces stylesheets

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1907:
---

Fix Version/s: (was: 5.3.6)
   5.3.5

 Client exception in IE9 when partial page render introduces stylesheets
 ---

 Key: TAP5-1907
 URL: https://issues.apache.org/jira/browse/TAP5-1907
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.2
Reporter: Paul Stanton
Priority: Critical
  Labels: ajax, fixed-in-5.4-js-rewrite, ie, internetexplorer, 
 scripts
 Fix For: 5.3.5


 I've found an incompatibility with ie9 and tapestry exposed when an ajax 
 response renders a component(s) which include their own stylesheets.
 This will call Tapestry.ScriptManager.addStylesheets.
 The offending line 2048 in tapestry.js
 var loaded = 
 _(document.styleSheets).chain().pluck(href).without().map(this.rebuildURLIfIE).value();
 The problem is within
 map(this.rebuildURLIfIE)
 which is calling with a null path:
 rebuildURL : function(path) {
 if (path.match(/^https?:/)) {
 return path;
 }
 ...
 Turns out, in ie9 (unlike all other browsers) the embedded stylesheets have a 
 null href, not  therefore the without() does not filter the blank entries.
 The solution is to add a call to without(null) before calling map.
 However, this line is way too complicated to be on one line so I would 
 recommend splitting it into 3 (at least):
 var resources = _(document.styleSheets).chain().pluck(href);
 resources = resources.without().without(null);
 var loaded = resources.map(this.rebuildURLIfIE).value();
 The same must be done for addScripts (line 2021):
 var resources = _(document.scripts).chain().pluck(src);
 resources = resources.without().without(null);
 var loaded = resources.map(this.rebuildURLIfIE).value();

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1979) Changing the implementation of a method after adding method advice does not work; the original implementation remains

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1979:
---

Fix Version/s: (was: 5.3.6)
   5.3.5

 Changing the implementation of a method after adding method advice does not 
 work; the original implementation remains
 -

 Key: TAP5-1979
 URL: https://issues.apache.org/jira/browse/TAP5-1979
 Project: Tapestry 5
  Issue Type: Bug
  Components: plastic
Affects Versions: 5.3, 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.5


 This is too easy to do when you have a chain of PlasticClassTransformers 
 operating on the same classes.
 Alternately, the advised method, not the main method (that instantiates the 
 Invocation object)n should be the one that is rewritten.
 The issue here is that Plastic takes a snapshot of the method implementation 
 when the first advice is added, and that snapshot is not updated if the 
 advised method implementation is later changed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (TAP5-1868) SRSCachingInterceptor returns compressed version of asset for all clients once it was compressed for some client

2012-08-20 Thread Howard M. Lewis Ship (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-1868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship updated TAP5-1868:
---

Fix Version/s: (was: 5.3.6)
   5.3.5

 SRSCachingInterceptor returns compressed version of asset for all clients 
 once it was compressed for some client
 

 Key: TAP5-1868
 URL: https://issues.apache.org/jira/browse/TAP5-1868
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.2
Reporter: Dmitry Gusev
Assignee: Howard M. Lewis Ship
  Labels: fixed-in-5.4-js-rewrite
 Fix For: 5.3.5


 Cache lookup ignores StreamableResourceProcessing argument.
 public class SRSCachingInterceptor implements StreamableResourceSource, 
 InvalidationListener
 {
 ...
 public StreamableResource getStreamableResource(Resource baseResource, 
 StreamableResourceProcessing processing, ResourceDependencies dependencies)
 throws IOException
 {
 if (processing == StreamableResourceProcessing.FOR_AGGREGATION)
 {
 return delegate.getStreamableResource(baseResource, processing, 
 dependencies);
 }
 StreamableResource result = TapestryInternalUtils.getAndDeref(cache, 
 baseResource);
 if (result == null)
 {
 result = delegate.getStreamableResource(baseResource, processing, 
 dependencies);
 if (isCacheable(result))
 {
 dependencies.addDependency(baseResource);
 cache.put(baseResource, new 
 SoftReferenceStreamableResource(result));
 }
 }
 return result;
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[CONF] Apache Tapestry Release Notes 5.3.5

2012-08-20 Thread confluence







Release Notes 5.3.5
Page edited by Howard M. Lewis Ship


 Changes (2)
 




{scrollbar}   
This is the consolidated list of changes between Tapestry versions 5.3.3 and 5.3.4. included in version 5.3.5. Tapestry 5.3.45 is a drop-in replacement for prior Tapestry 5.3 releases. To upgrade, just update the Maven dependency in you POM file (or [download|Download] the new JAR file) and the new version will just work. However, please review the [How to Upgrade] instructions before upgrading. 
 
This is a very modest bug fix release, including a number of minor performance improvements. Importantly, the bundled version of [Prototype|http://prototypejs.org/2012/8/8/prototype-1-7-1] is now 1.7.1, which includes some significant improvements and bug fixes that target Internet Explorer. 
 For those developers not using Maven or Gradle, youll be pleased that we now offer the option of a binary download containing Tapestrys modules and main dependencies. More details are on the [Download] page.  
...


Full Content

Release Notes 5.3.4Release NotesRelease Notes 5.4 

This is the consolidated list of changes between Tapestry included in version 5.3.5. Tapestry 5.3.5 is a drop-in replacement for prior Tapestry 5.3 releases. To upgrade, just update the Maven dependency in you POM file (or download the new JAR file) and the new version will just work. However, please review the How to Upgrade instructions before upgrading. 

This is a very modest bug fix release, including a number of minor performance improvements. Importantly, the bundled version of Prototype is now 1.7.1, which includes some significant improvements and bug fixes that target Internet Explorer.

For those developers not using Maven or Gradle, you'll be pleased that we now offer the option of a binary download containing Tapestry's modules and main dependencies. More details are on the Download page. 

Jira issues 

 

Release Notes - Tapestry 5 - Version 5.3.5

Bug


[TAP5-1601] - Under as yet unknown circumstances, a method that references a field with a conduit will not be instrumented, resulting in an NPE accessing the field itself

[TAP5-1859] - Clicking a submit or button in a non-Tapestry Form causes a client exception

[TAP5-1868] - SRSCachingInterceptor returns compressed version of asset for all clients once it was compressed for some client

[TAP5-1887] - Client-side _javascript_ error if console.info/debug/... is available but not a function

[TAP5-1907] - Client exception in IE9 when partial page render introduces stylesheets

[TAP5-1949] - Alerts component does not show alerts added from a component that occurs later in the template

[TAP5-1973] - :443 added to URLs when using the Link.toAbsoluteURI(true)

[TAP5-1976] - XML Parser adds attributes with default values and produces invalid HTML5 markup

[TAP5-1977] - Memory leak (perm gen) in component reloading

[TAP5-1979] - Changing the implementation of a method after adding method advice does not work; the original implementation remains

[TAP5-1983] - PerThreadManager does not cleanup on shutdown, can lead to memory leaks when application redeployed

[TAP5-1991] - YUICompressor should be less verbose about common warnings



Task


[TAP5-1989] - Upgrade bundled Prototype to version 1.7.1



Release Notes 5.3.4Release NotesRelease Notes 5.4



Change Notification Preferences

View Online
|
View Changes









[CONF] Apache Tapestry Release Notes

2012-08-20 Thread confluence







Release Notes
Page edited by Howard M. Lewis Ship


 Changes (1)
 




...
||Release || Release Notes || Status || Released | | Tapestry 5.4 | [Release Notes for 5.4|Release Notes 5.4] | *Under Development* | | 
| Tapestry 5.3.5 | [Release Notes for 5.3.5|Release Notes 5.3.5] | *Current Under Vote* *Vote Underway* | 20 Aug 2012 | 
| Tapestry 5.3.4 | [Release Notes for 5.3.4|Release Notes 5.3.4] | *Current Stable Release* | 16 Jul 2012 |  | Tapestry 5.3.3 | [Release Notes for 5.3.3|Release Notes 5.3.3] |  | 24 Apr 2012 |  
...


Full Content

These release notes provide the details of the changes in each Tapestry version. Be sure to read How to Upgrade too.



Release 
 Release Notes 
 Status 
 Released 


 Tapestry 5.4 
 Release Notes for 5.4 
 Under Development 



 Tapestry 5.3.5 
 Release Notes for 5.3.5 
 Vote Underway 
 20 Aug 2012 


 Tapestry 5.3.4 
 Release Notes for 5.3.4 
 Current Stable Release 
 16 Jul 2012 


 Tapestry 5.3.3 
 Release Notes for 5.3.3 

 24 Apr 2012 


 Tapestry 5.3.2 
 Release Notes for 5.3.2 

 07 Feb 2012 


 Tapestry 5.3.1 
 Release Notes for 5.3.1 

 21 Dec 2011


 Tapestry 5.3 
 Release Notes for 5.3 

 21 Nov 2011


 Tapestry 5.2.6 
 Release Notes for 5.2.6 

 22 Jun 2011  


 Tapestry 5.1
 Release Notes for 5.1.0.5 

 12 Apr 2009 


 Tapestry 5.0
 Release Notes for 5.0.19 

 Dec 2008 









Change Notification Preferences

View Online
|
View Changes









[CONF] Apache Tapestry Release Notes

2012-08-20 Thread confluence







Release Notes
Page edited by Howard M. Lewis Ship


 Changes (1)
 




...
||Release || Release Notes || Status || Released | | Tapestry 5.4 | [Release Notes for 5.4|Release Notes 5.4] | *Under Development* | | 
| Tapestry 5.3.5 | [Release Notes for 5.3.5|Release Notes 5.3.5] | *Current Under Vote* | 20 Aug 2012 |  
| Tapestry 5.3.4 | [Release Notes for 5.3.4|Release Notes 5.3.4] | *Current Stable Release* | 16 Jul 2012 |  | Tapestry 5.3.3 | [Release Notes for 5.3.3|Release Notes 5.3.3] |  | 24 Apr 2012 |  
...


Full Content

These release notes provide the details of the changes in each Tapestry version. Be sure to read How to Upgrade too.



Release 
 Release Notes 
 Status 
 Released 


 Tapestry 5.4 
 Release Notes for 5.4 
 Under Development 



 Tapestry 5.3.5 
 Release Notes for 5.3.5 
 Current Under Vote 
 20 Aug 2012 


 Tapestry 5.3.4 
 Release Notes for 5.3.4 
 Current Stable Release 
 16 Jul 2012 


 Tapestry 5.3.3 
 Release Notes for 5.3.3 

 24 Apr 2012 


 Tapestry 5.3.2 
 Release Notes for 5.3.2 

 07 Feb 2012 


 Tapestry 5.3.1 
 Release Notes for 5.3.1 

 21 Dec 2011


 Tapestry 5.3 
 Release Notes for 5.3 

 21 Nov 2011


 Tapestry 5.2.6 
 Release Notes for 5.2.6 

 22 Jun 2011  


 Tapestry 5.1
 Release Notes for 5.1.0.5 

 12 Apr 2009 


 Tapestry 5.0
 Release Notes for 5.0.19 

 Dec 2008 









Change Notification Preferences

View Online
|
View Changes









Git Push Summary

2012-08-20 Thread hlship
Updated Tags:  refs/tags/5.3.5 [created] c5600a8de


[CONF] Apache Tapestry Release Process

2012-08-20 Thread confluence







Release Process
Page edited by Howard M. Lewis Ship


 Changes (21)
 




...
The process can be summarized as:  
* Update your _Subversion_ workspace to the release branch {{[https://svn.apache.org/repos/asf/tapestry/tapestry5/branches/5.x]}} 
* Update your workspace to the release branch, currently 5.3:  {{git co 5.3}} 
** It is normal for the release branch to be created a week or more before the planned release 
* Tag the release in Subversion {{svn copy https://svn.apache.org/repos/asf/tapestry/tapestry5/branches/5.x https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/5.x}} 
* Update {{build.gradle}} to set the version number, then {{git commit}} 
* Run the build using {{gradle generateRelease}} ** This will create, sign, and upload JAR files and other artifacts to the Nexus repository ** It will also create, sign, and upload the source and javadoc archives to your {{~/public_html/tapestry-releases}} folder of your Apache home directory (at people.apache.org) 
* Tag the release in Git, then push the changes up to the Apache repository:** {{git tag 5.x.x}}   ** {{git push --tags}} 
* Login to [Nexus|https://repository.apache.org/index.html#stagingRepositories] and *close* the automatically created staging repository, and note its url * Use the [Manage Versions page|https://issues.apache.org/jira/plugins/servlet/project-config/TAP5/versions] in JIRA to add a new version (this is often not necessary as it is often created by someone earlier) 
...
* Send vote email ... *3 days pass* * Login to [Nexus|https://repository.apache.org/index.html#stagingRepositories] and *release* the versions repository 
** Enter Apache Tapestry 5.x.x (adjust as necessary) for the message 
** The version will disappear from the list of repositories after releasing it ** Releasing will ultimately get the artifacts up to the central Maven repository * Documentation and Downloads: ** SSH to people.apache.org and move the source and javadoc archives to {{/www/www.apache.org/dist/tapestry/}} 
** Create (if necessary) {{/www/tapestry.apache.org/5.x.x}} to store documentation for the release 
** Unpack the JavaDoc archive into the directory (it will become the {{apidocs}} directory) 
** Relink {{/www/tapestry.apache.org/current/}} to point to the new {{5.x.x}} directory 
* Once files reach all mirrors, update the Downloads Page * Create a Confluence blog entry to describe the new release (this will automatically appear on the Tapestry home page) 
...
 {noformat} 
Ive created and uploaded a release of Tapestry 5.x.x, ready to be voted upon. 
voted upon. 
 The source and source downloads are uploaded to:  
http://people.apache.org/~XXX/tapestry-releases/ http://people.apache.org/~USER/tapestry-releases/ 
 and the Maven artifacts staged to:  
https://repository.apache.org/content/repositories/orgapachetapestry-XXX/ https://repository.apache.org/content/repositories/orgapachetapestry-xxx/ 
 
Please examine these files to determine if the new release, 5.x.x, is ready. 
 
Ive also created a 5.X 5.x.x tag in Subversion: Git: 
 
http://svn.apache.org/viewvc/tapestry/tapestry5/tags/releases/5.x/ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=c5600a8de7645fb7bd5cc21b38f8902a36c1b840 
 
Vote will run for three days; On a successful vote, Ill release the Maven artifacts, 
artifacts, and move the source and javadoc distributions from these directories to the proper distribution 
to the proper distribution directories and update the Tapestry site 
directories and update the Tapestry site documentation, and send out appropriate notifications. 
 
{noformat}  I often embellish this template with extra detail. 
 Lately, I append a text version of the JIRA release notes as well. 


Full Content

Prerequisites

Related Articles


 Page:
 Developer Information





 Page:
 Release Process





 Page:
 Confluence Site Setup