[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
[ 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
[ 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
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
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
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
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
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
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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
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
Updated Tags: refs/tags/5.3.5 [created] c5600a8de
[CONF] Apache Tapestry Release Process
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