You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Denis Stepanov (JIRA)" <ji...@apache.org> on 2011/08/26 18:06:31 UTC

[jira] [Created] (TAP5-1620) Tml parsing expression error

Tml parsing expression error
----------------------------

                 Key: TAP5-1620
                 URL: https://issues.apache.org/jira/browse/TAP5-1620
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.3
            Reporter: Denis Stepanov


<script>
				jQuery(function(){	
					registerAutorefresh(${refresh});
				});
			</script>


Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
	... 94 common frames omitted
Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
	... 101 common frames omitted
Caused by: org.antlr.runtime.NoViableAltException: null
	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Zeigler closed TAP5-1620.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 5.3

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>             Fix For: 5.3
>
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094005#comment-13094005 ] 

Robert Zeigler commented on TAP5-1620:
--------------------------------------

So... if you use a reluctant search, then ${{'key': 'value'}} fails.  If you use a greedy search, you can't use expansions in a js function because:

function myfunc() {
  alert("${value}");
}

Will match ${value}");}  and I don't see any way around that uses regular expressions. I could limit }, but that's just going to reproduce the reluctant behavior.

I see 2 solutions:
  1) Rewrite the expansion parser to implement brace counting so that we actually end the expansion at the correct brace.
  2) Rework map support to use a character other than {} to delineate maps.  We might be able to override the array syntax so that ['a','b','c'] creates an array, and ['a': 'b', 'c': 'd'] creates a map.

I'm leaning toward option #1 at the moment.  Even if I implement #2, it still means that someone using a literal } in an expression (contrived example: ${['a','}']} is going to cause grief; of course, that example will cause grief for brace pairing, too...).  I'd rather see smarter processing of templates to find the "right" match for the close of an expression.

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1620) Tml parsing expression error

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094636#comment-13094636 ] 

Hudson commented on TAP5-1620:
------------------------------

Integrated in tapestry-trunk-freestyle #497 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/497/])
    TAP5-1620: Tml parsing expression error
TAP5-1448: Example for org.apache.tapestry5.corelib.components.Errors uses invalid xml

robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1163619
Files : 
* /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.xdoc
* /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ExpressionInJsFunction.tml
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ExpressionInJsFunction.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java


> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>             Fix For: 5.3
>
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Zeigler reassigned TAP5-1620:
------------------------------------

    Assignee: Robert Zeigler

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Zeigler closed TAP5-1620.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 5.3

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>             Fix For: 5.3
>
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Zeigler reassigned TAP5-1620:
------------------------------------

    Assignee: Robert Zeigler

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092060#comment-13092060 ] 

Robert Zeigler commented on TAP5-1620:
--------------------------------------

Looks like my fix for maps in template expressions is a little too greedy. 

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094005#comment-13094005 ] 

Robert Zeigler commented on TAP5-1620:
--------------------------------------

So... if you use a reluctant search, then ${{'key': 'value'}} fails.  If you use a greedy search, you can't use expansions in a js function because:

function myfunc() {
  alert("${value}");
}

Will match ${value}");}  and I don't see any way around that uses regular expressions. I could limit }, but that's just going to reproduce the reluctant behavior.

I see 2 solutions:
  1) Rewrite the expansion parser to implement brace counting so that we actually end the expansion at the correct brace.
  2) Rework map support to use a character other than {} to delineate maps.  We might be able to override the array syntax so that ['a','b','c'] creates an array, and ['a': 'b', 'c': 'd'] creates a map.

I'm leaning toward option #1 at the moment.  Even if I implement #2, it still means that someone using a literal } in an expression (contrived example: ${['a','}']} is going to cause grief; of course, that example will cause grief for brace pairing, too...).  I'd rather see smarter processing of templates to find the "right" match for the close of an expression.

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1620) Tml parsing expression error

Posted by "Robert Zeigler (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092060#comment-13092060 ] 

Robert Zeigler commented on TAP5-1620:
--------------------------------------

Looks like my fix for maps in template expressions is a little too greedy. 

> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1620) Tml parsing expression error

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094636#comment-13094636 ] 

Hudson commented on TAP5-1620:
------------------------------

Integrated in tapestry-trunk-freestyle #497 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/497/])
    TAP5-1620: Tml parsing expression error
TAP5-1448: Example for org.apache.tapestry5.corelib.components.Errors uses invalid xml

robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1163619
Files : 
* /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Errors.xdoc
* /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ExpressionInJsFunction.tml
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ExpressionInJsFunction.java
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java


> Tml parsing expression error
> ----------------------------
>
>                 Key: TAP5-1620
>                 URL: https://issues.apache.org/jira/browse/TAP5-1620
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Denis Stepanov
>            Assignee: Robert Zeigler
>             Fix For: 5.3
>
>
> <script>
> 				jQuery(function(){	
> 					registerAutorefresh(${refresh});
> 				});
> 			</script>
> Caused by: java.lang.RuntimeException: Error parsing property expression 'refresh});': Unable to parse input at character position 10.
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1441) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1309) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1274) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $PropertyConduitSource_123d98bd5e9eaa20.create(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at $BindingFactory_123d98bd5e9eaa21.newBinding(Unknown Source) ~[na:na]
> 	at $BindingFactory_123d98bd5e9eaa18.newBinding(Unknown Source) ~[na:na]
> 	at org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 94 common frames omitted
> Caused by: java.lang.RuntimeException: Unable to parse input at character position 10
> 	at org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:94) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119) ~[antlr.jar:na]
> 	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:98) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1437) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	... 101 common frames omitted
> Caused by: org.antlr.runtime.NoViableAltException: null
> 	at org.antlr.runtime.DFA.noViableAlt(DFA.java:158) ~[antlr.jar:na]
> 	at org.antlr.runtime.DFA.predict(DFA.java:116) ~[antlr.jar:na]
> 	at org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1273) ~[tapestry-core-5.3-alpha-13.jar:na]
> 	at org.antlr.runtime.Lexer.nextToken(Lexer.java:84) ~[antlr.jar:na]
> 	... 105 common frames omitted

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira