[jira] [Commented] (TAP5-1624) Add support for overriding default TypeCoercer's coercions

2013-10-08 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1624:
--

I don't need it anymore, there are some votes so maybe someone needs it.

 Add support for overriding default TypeCoercer's coercions
 --

 Key: TAP5-1624
 URL: https://issues.apache.org/jira/browse/TAP5-1624
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov

 Right now it is imposible to implement TAP5-1446 without changes in Tapestry.
 It will probably require to add new service TypeCoercerOverride, 
 TyprCoercerImpl will use it to override all tuples with equal sourceType and 
 targetType.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (TAP5-1759) Property expressions: exception when calling static method

2013-07-25 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1759:
--

java:

public Object getVal() { return java.math.RoundingMode.DOWN; }

tml:
  
 ${val.valueOf('test')}

 Property expressions: exception when calling static method
 --

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

 Exception when calling static method valueOf on the enum instance:
 java.lang.IncompatibleClassChangeError: Expecting non-static method 
 com.MyEnum.valueOf(Ljava/lang/String;)Lcom/MyEnum;
 Static method call used to work in 5.2, this should throw an exception on 
 page init or be a valid method call 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TAP5-2112) Support autoloading modules from app.war/META-INF/MANIFEST.MF

2013-07-23 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-2112:
-

  Priority: Minor  (was: Major)
Issue Type: Improvement  (was: Bug)

 Support autoloading modules from app.war/META-INF/MANIFEST.MF
 -

 Key: TAP5-2112
 URL: https://issues.apache.org/jira/browse/TAP5-2112
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov
Priority: Minor
 Attachments: 
 0001-TAP5-2112-Autoload-should-load-MANIFEST.MF-from-the-.patch


 Correct manifest location for WAR is .war/META-INF/MANIFEST.MF
 Use-case is to support manifest generated by gradle:
 task customWar(type: War) {
 manifest {
 attributes 'Tapestry-Module-Classes': x.y.z.TapModule
 }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TAP5-2112) Support autoloading modules from app.war/META-INF/MANIFEST.MF

2013-07-23 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-2112:
--

Main use-case is to build WARs for different environments just by including a 
new module.

task customWar1(type: War) { 
manifest { 
attributes 'Tapestry-Module-Classes': x.y.z.CustomModule1 
} 
}

task customWar2(type: War) { 
manifest { 
attributes 'Tapestry-Module-Classes': x.y.z.CustomModule2 
} 
}

 Support autoloading modules from app.war/META-INF/MANIFEST.MF
 -

 Key: TAP5-2112
 URL: https://issues.apache.org/jira/browse/TAP5-2112
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov
Priority: Minor
 Attachments: 
 0001-TAP5-2112-Autoload-should-load-MANIFEST.MF-from-the-.patch


 Correct manifest location for WAR is .war/META-INF/MANIFEST.MF
 Use-case is to support manifest generated by gradle:
 task customWar(type: War) {
 manifest {
 attributes 'Tapestry-Module-Classes': x.y.z.TapModule
 }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (TAP5-2112) Autoload should load MANIFEST.MF from the servlet context

2013-05-07 Thread Denis Stepanov (JIRA)
Denis Stepanov created TAP5-2112:


 Summary: Autoload should load MANIFEST.MF from the servlet context
 Key: TAP5-2112
 URL: https://issues.apache.org/jira/browse/TAP5-2112
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov


Correct manifest location for WAR is .war/META-INF/MANIFEST.MF

Use-case is to support manifest generated by gradle:

task customWar(type: War) {
manifest {
attributes 'Tapestry-Module-Classes': x.y.z.TapModule
}
}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TAP5-2112) Support autoloading modules from app.war/META-INF/MANIFEST.MF

2013-05-07 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-2112:
-

Summary: Support autoloading modules from app.war/META-INF/MANIFEST.MF  
(was: Autoload should load MANIFEST.MF from the servlet context)

 Support autoloading modules from app.war/META-INF/MANIFEST.MF
 -

 Key: TAP5-2112
 URL: https://issues.apache.org/jira/browse/TAP5-2112
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov
 Attachments: 
 0001-TAP5-2112-Autoload-should-load-MANIFEST.MF-from-the-.patch


 Correct manifest location for WAR is .war/META-INF/MANIFEST.MF
 Use-case is to support manifest generated by gradle:
 task customWar(type: War) {
 manifest {
 attributes 'Tapestry-Module-Classes': x.y.z.TapModule
 }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TAP5-2112) Autoload should load MANIFEST.MF from the servlet context

2013-05-07 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-2112:
-

Attachment: 0001-TAP5-2112-Autoload-should-load-MANIFEST.MF-from-the-.patch

Patch

 Autoload should load MANIFEST.MF from the servlet context
 -

 Key: TAP5-2112
 URL: https://issues.apache.org/jira/browse/TAP5-2112
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov
 Attachments: 
 0001-TAP5-2112-Autoload-should-load-MANIFEST.MF-from-the-.patch


 Correct manifest location for WAR is .war/META-INF/MANIFEST.MF
 Use-case is to support manifest generated by gradle:
 task customWar(type: War) {
 manifest {
 attributes 'Tapestry-Module-Classes': x.y.z.TapModule
 }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TAP5-2084) Form should decode its link parameters

2013-04-14 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-2084:
--

Thanks! Is there any way it could make into the 5.3.7?

 Form should decode its link parameters
 --

 Key: TAP5-2084
 URL: https://issues.apache.org/jira/browse/TAP5-2084
 Project: Tapestry 5
  Issue Type: Bug
Affects Versions: 5.3
Reporter: Denis Stepanov
Assignee: Kalle Korhonen
 Fix For: 5.3.7, 5.4

 Attachments: 
 0001-TAP5-2084-Form-should-decode-its-link-parameters.patch


 The Form component will add all its action event link parameters as hidden 
 inputs, but link parameter's value is encoded and hidden input field value is 
 not, because of that parameter's value will be encoded on arrival.
 simple request:
 //add parameter to the link
 link.addParameter (abc, URLDecoder.encode(abcValue, UTF-8)) 
 on event:
 request.getParameter(abc) is equals to abcValue
 form request:
 // add parameter to the form action link using the LinkCreationHub
 link.addParameter (abc, URLDecoder.encode(value, UTF-8)) 
 on event:
 request.getParameter(abc) is not equals to abcValue, parameter's value is 
 encoded
 It could be fixed by decoding parameter's value at line:
  writer.element(input, type, hidden, name, parameterName, 
 value, value); 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TAP5-2084) Form should decode its link parameters

2013-04-02 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-2084:
-

Attachment: 0001-TAP5-2084-Form-should-decode-its-link-parameters.patch

Git patch with tests

 Form should decode its link parameters
 --

 Key: TAP5-2084
 URL: https://issues.apache.org/jira/browse/TAP5-2084
 Project: Tapestry 5
  Issue Type: Bug
Affects Versions: 5.3
Reporter: Denis Stepanov
 Attachments: 
 0001-TAP5-2084-Form-should-decode-its-link-parameters.patch


 The Form component will add all its action event link parameters as hidden 
 inputs, but link parameter's value is encoded and hidden input field value is 
 not, because of that parameter's value will be encoded on arrival.
 simple request:
 //add parameter to the link
 link.addParameter (abc, URLDecoder.encode(abcValue, UTF-8)) 
 on event:
 request.getParameter(abc) is equals to abcValue
 form request:
 // add parameter to the form action link using the LinkCreationHub
 link.addParameter (abc, URLDecoder.encode(value, UTF-8)) 
 on event:
 request.getParameter(abc) is not equals to abcValue, parameter's value is 
 encoded
 It could be fixed by decoding parameter's value at line:
  writer.element(input, type, hidden, name, parameterName, 
 value, value); 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (TAP5-2084) Form should decode its link parameters

2013-03-08 Thread Denis Stepanov (JIRA)
Denis Stepanov created TAP5-2084:


 Summary: Form should decode its link parameters
 Key: TAP5-2084
 URL: https://issues.apache.org/jira/browse/TAP5-2084
 Project: Tapestry 5
  Issue Type: Bug
Affects Versions: 5.3
Reporter: Denis Stepanov


The Form component will add all its action event link parameters as hidden 
inputs, but link parameter's value is encoded and hidden input field value is 
not, because of that parameter's value will be encoded on arrival.


simple request:
//add parameter to the link
link.addParameter (abc, URLDecoder.encode(abcValue, UTF-8)) 
on event:
request.getParameter(abc) is equals to abcValue

form request:
// add parameter to the form action link using the LinkCreationHub
link.addParameter (abc, URLDecoder.encode(value, UTF-8)) 
on event:
request.getParameter(abc) is not equals to abcValue, parameter's value is 
encoded




It could be fixed by decoding parameter's value at line:

 writer.element(input, type, hidden, name, parameterName, value, 
value); 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TAP5-2049) Tapestry should provide locking semantics for attributes stored in the session, to prevent multiple simultaneous requests (due to Ajax) from conflicting

2013-01-12 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-2049:
--

Obviously, exclusive session access is a bad idea:

- We have many concurrent ajax request, this change means major performance 
issue for us!
- This will not work in a clustered environment, the clustered session class 
shouldn't inherit the locks functionality.
- Tapestry should not do this by default, any kind of synchronization between 
the requests is bad idea and should be avoided at any cost.

Please do not force every Tapestry user to have this, if you want it in your 
apps just advice the session factory and return exclusive session delegate.

 Tapestry should provide locking semantics for attributes stored in the 
 session, to prevent multiple simultaneous requests (due to Ajax) from 
 conflicting
 

 Key: TAP5-2049
 URL: https://issues.apache.org/jira/browse/TAP5-2049
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
  Labels: session, thread-safety
 Fix For: 5.4


 Currently, multiple threads may be processing requests, due to Ajax.  If they 
 all access state stored in the HttpSession, the rsult can be invalid.
 Tapestry should maintain a lock object inside the session, and automatically 
 acquire a read lock the first time a request thread reads values from the 
 session, and upgrade to a write lock when writing values to the session.
 The lock can be released at the end of the request.
 A reentrant read/write lock may be insufficient, as values inside the session 
 are mutable; it is possible that the lock should be exclusive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TAP5-2049) Tapestry should provide locking semantics for attributes stored in the session, to prevent multiple simultaneous requests (due to Ajax) from conflicting

2013-01-11 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-2049:
--

Why would you do this? 

This should be handled by some service not by the session. One long running 
could lock the session, it could mean performance issue.

Also, storing ReentrantLock in the session is not a good idea, what if it is 
clustered? 

How would you prevent multiple simultaneous requests in the cluster 
environment? It doesn't makes sense at all.

 Tapestry should provide locking semantics for attributes stored in the 
 session, to prevent multiple simultaneous requests (due to Ajax) from 
 conflicting
 

 Key: TAP5-2049
 URL: https://issues.apache.org/jira/browse/TAP5-2049
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.4
Reporter: Howard M. Lewis Ship
Assignee: Howard M. Lewis Ship
  Labels: session, thread-safety
 Fix For: 5.4


 Currently, multiple threads may be processing requests, due to Ajax.  If they 
 all access state stored in the HttpSession, the rsult can be invalid.
 Tapestry should maintain a lock object inside the session, and automatically 
 acquire a read lock the first time a request thread reads values from the 
 session, and upgrade to a write lock when writing values to the session.
 The lock can be released at the end of the request.
 A reentrant read/write lock may be insufficient, as values inside the session 
 are mutable; it is possible that the lock should be exclusive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (TAP5-2051) Fix Plastic objects memory leaks

2013-01-10 Thread Denis Stepanov (JIRA)
Denis Stepanov created TAP5-2051:


 Summary: Fix Plastic objects memory leaks
 Key: TAP5-2051
 URL: https://issues.apache.org/jira/browse/TAP5-2051
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov


Memory leaks caused by anonymous inner class' strong reference to the parent

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (TAP5-2051) Fix Plastic objects memory leaks

2013-01-10 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-2051:
-

Attachment: 0001-Fix-Plastic-objects-memory-leaks.patch

After applying the patch memory drops by 50MB

 Fix Plastic objects memory leaks
 

 Key: TAP5-2051
 URL: https://issues.apache.org/jira/browse/TAP5-2051
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Denis Stepanov
 Attachments: 0001-Fix-Plastic-objects-memory-leaks.patch


 Memory leaks caused by anonymous inner class' strong reference to the parent

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (TAP5-2001) Race condition while loading javascript file via ajax

2012-09-14 Thread Denis Stepanov (JIRA)
Denis Stepanov created TAP5-2001:


 Summary: Race condition while loading javascript file via ajax
 Key: TAP5-2001
 URL: https://issues.apache.org/jira/browse/TAP5-2001
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.5
Reporter: Denis Stepanov


Two or more concurrent AJAX requests requires 'example.js' javascript to load:

First request:
  Adds script tag with src 'example.js'  ... waits script to load

Second request:
  Finds script 'example.js', thinks its already loaded and continues to process 
request - causes error because script is not loaded yet



 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TAP5-2001) Race condition while loading javascript file via ajax

2012-09-14 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-2001:
--

Yes!

 Race condition while loading javascript file via ajax
 -

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

 Two or more concurrent AJAX requests requires 'example.js' javascript to load:
 First request:
   Adds script tag with src 'example.js'  ... waits script to load
 Second request:
   Finds script 'example.js', thinks its already loaded and continues to 
 process request - causes error because script is not loaded yet
  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (TAP5-1974) Better API for retrieving application messages by locale

2012-07-11 Thread Denis Stepanov (JIRA)
Denis Stepanov created TAP5-1974:


 Summary: Better API for retrieving application messages by locale
 Key: TAP5-1974
 URL: https://issues.apache.org/jira/browse/TAP5-1974
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.3
Reporter: Denis Stepanov


ComponentMessagesSource has method getApplicationCatalog(Locale locale), but it 
would be better to have separate service for that without component in its 
name.

--
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] [Commented] (TAP5-1654) Support null as JSONObject value

2011-09-23 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1654:
--

Why just not to add simple if to replace null with JSONObject.NULL in the put 
method? Now every nullable object must have additional nullcheck and some users 
like me get confused.

 Support null as JSONObject value
 

 Key: TAP5-1654
 URL: https://issues.apache.org/jira/browse/TAP5-1654
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-json
Reporter: Denis Stepanov
Assignee: Howard M. Lewis Ship

 List of possible values (json.org): 
 string
 number
 object
 array
 true
 false
 null
 now org.apache.tapestry5.json.JSONObject.printValue throws NPE

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




[jira] [Created] (TAP5-1654) Support null as JSONObject value

2011-09-15 Thread Denis Stepanov (JIRA)
Support null as JSONObject value


 Key: TAP5-1654
 URL: https://issues.apache.org/jira/browse/TAP5-1654
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-json
Reporter: Denis Stepanov


List of possible values (json.org): 
string
number
object
array
true
false
null



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




[jira] [Created] (TAP5-1624) Add support for overriding default TypeCoercer's coercions

2011-08-31 Thread Denis Stepanov (JIRA)
Add support for overriding default TypeCoercer's coercions
--

 Key: TAP5-1624
 URL: https://issues.apache.org/jira/browse/TAP5-1624
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov


Right now it is imposible to implement TAP5-1446 without changes in Tapestry.

It will probably require to add new service TypeCoercerOverride, 
TyprCoercerImpl will use it to override all tuples with equal sourceType and 
targetType.

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




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

2011-08-26 Thread Denis Stepanov (JIRA)
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] [Updated] (TAP5-1615) Add not null check expression syntax

2011-08-24 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-1615:
-

Attachment: tapestry-notnull.patch

SVN patch with tests

 Add not null check expression syntax
 

 Key: TAP5-1615
 URL: https://issues.apache.org/jira/browse/TAP5-1615
 Project: Tapestry 5
  Issue Type: New Feature
  Components: tapestry-core
Reporter: Denis Stepanov
 Attachments: tapestry-notnull.patch


 New sytax will allow to check if expression result is not null
 value=prop? - returns true if prop is not null
 value=prop.a.b.c?  returns true if c is not null
 value=prop?.a?.b?.c? returns true if c is not null
 value=m()? returns true if result of the method m is not null

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




[jira] [Commented] (TAP5-1615) Add not null check expression syntax

2011-08-24 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1615:
--

There is no workaround! 

- null is converted to false
- unknown not null object is converted to a string by calling toString metod 
and then string is converted to a boolean

ToString method is usually implemented for debug purposes and can be slow.

Use case is implementing a logic related to a case when object is a null or not.

Please accept the patch.


 Add not null check expression syntax
 

 Key: TAP5-1615
 URL: https://issues.apache.org/jira/browse/TAP5-1615
 Project: Tapestry 5
  Issue Type: New Feature
  Components: tapestry-core
Reporter: Denis Stepanov
Priority: Minor
 Attachments: tapestry-notnull.patch


 New sytax will allow to check if expression result is not null
 value=prop? - returns true if prop is not null
 value=prop.a.b.c?  returns true if c is not null
 value=prop?.a?.b?.c? returns true if c is not null
 value=m()? returns true if result of the method m is not null

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




[jira] [Created] (TAP5-1602) Add Zone parameter to Checkbox component

2011-08-10 Thread Denis Stepanov (JIRA)
Add Zone parameter to Checkbox component


 Key: TAP5-1602
 URL: https://issues.apache.org/jira/browse/TAP5-1602
 Project: Tapestry 5
  Issue Type: New Feature
  Components: tapestry-core
Reporter: Denis Stepanov
 Attachments: checkboxZonePatch.patch

Sometimes it's better to use zone update rather than formfragment trigger.

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




[jira] [Updated] (TAP5-1602) Add Zone parameter to Checkbox component

2011-08-10 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-1602:
-

Attachment: checkboxZonePatch.patch

SVN patch

 Add Zone parameter to Checkbox component
 

 Key: TAP5-1602
 URL: https://issues.apache.org/jira/browse/TAP5-1602
 Project: Tapestry 5
  Issue Type: New Feature
  Components: tapestry-core
Reporter: Denis Stepanov
 Attachments: checkboxZonePatch.patch


 Sometimes it's better to use zone update rather than formfragment trigger.

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




[jira] [Resolved] (TAP5-1532) MarkupWriterImpl listeners improvement

2011-07-20 Thread Denis Stepanov (JIRA)

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

Denis Stepanov resolved TAP5-1532.
--

Resolution: Duplicate

Already fixed by TAP5-1581

 MarkupWriterImpl listeners improvement
 --

 Key: TAP5-1532
 URL: https://issues.apache.org/jira/browse/TAP5-1532
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov
Priority: Minor
 Attachments: 0001-MarkupWriterImpl-improvement.patch


 New listeners collection is created every start/end element event, probably 
 to prevent CME, better solution is to create new collection when modifying it

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




[jira] [Updated] (TAP5-1532) MarkupWriterImpl listeners improvement

2011-05-26 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-1532:
-

Attachment: 0001-MarkupWriterImpl-improvement.patch

 MarkupWriterImpl listeners improvement
 --

 Key: TAP5-1532
 URL: https://issues.apache.org/jira/browse/TAP5-1532
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov
Priority: Minor
 Attachments: 0001-MarkupWriterImpl-improvement.patch


 New listeners collection is created every start/end element event, probably 
 to prevent CME, better solution is to create new collection when modifying it

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


[jira] [Created] (TAP5-1532) MarkupWriterImpl listeners improvement

2011-05-26 Thread Denis Stepanov (JIRA)
MarkupWriterImpl listeners improvement
--

 Key: TAP5-1532
 URL: https://issues.apache.org/jira/browse/TAP5-1532
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov
Priority: Minor
 Attachments: 0001-MarkupWriterImpl-improvement.patch

New listeners collection is created every start/end element event, probably to 
prevent CME, better solution is to create new collection when modifying it

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


[jira] [Commented] (TAP5-1532) MarkupWriterImpl listeners improvement

2011-05-26 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1532:
--

Eclipse messed up imports in patch, ignore it.

 MarkupWriterImpl listeners improvement
 --

 Key: TAP5-1532
 URL: https://issues.apache.org/jira/browse/TAP5-1532
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov
Priority: Minor
 Attachments: 0001-MarkupWriterImpl-improvement.patch


 New listeners collection is created every start/end element event, probably 
 to prevent CME, better solution is to create new collection when modifying it

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


[jira] [Updated] (TAP5-1446) Improve coercion List - SelectModel

2011-04-21 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-1446:
-

Description: It should use SelectModelFactory. Labels are extracted from 
objects using strategy pattern. Users can contribute providers for their own 
objects.   (was: It should use SelectModelFactory with default property 
label?. If there is no such property it should have current toString value.

There is probably a bug in SelectModelFactoryImpl:

options.add(new OptionModelImpl(encoder.toClient(label), object));

toClient should be called with object)
Summary: Improve coercion List - SelectModel  (was: Improve coercion 
Collection, Map - SelectModel)

 Improve coercion List - SelectModel
 

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

 It should use SelectModelFactory. Labels are extracted from objects using 
 strategy pattern. Users can contribute providers for their own objects. 

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


[jira] [Updated] (TAP5-1446) Improve coercion List - SelectModel

2011-04-21 Thread Denis Stepanov (JIRA)

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

Denis Stepanov updated TAP5-1446:
-

Attachment: TAP5-1446.patch

 Improve coercion List - SelectModel
 

 Key: TAP5-1446
 URL: https://issues.apache.org/jira/browse/TAP5-1446
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.2.4
Reporter: Denis Stepanov
 Attachments: TAP5-1446.patch


 It should use SelectModelFactory. Labels are extracted from objects using 
 strategy pattern. Users can contribute providers for their own objects. 

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


[jira] [Commented] (TAP5-1446) Improve coercion List - SelectModel

2011-04-21 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1446:
--

Please see the patch

 Improve coercion List - SelectModel
 

 Key: TAP5-1446
 URL: https://issues.apache.org/jira/browse/TAP5-1446
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.2.4
Reporter: Denis Stepanov
 Attachments: TAP5-1446.patch


 It should use SelectModelFactory. Labels are extracted from objects using 
 strategy pattern. Users can contribute providers for their own objects. 

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


[jira] [Created] (TAP5-1509) TransformField should support access advice

2011-04-19 Thread Denis Stepanov (JIRA)
TransformField should support access advice 


 Key: TAP5-1509
 URL: https://issues.apache.org/jira/browse/TAP5-1509
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov


useful for implementing permission checking

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


[jira] [Created] (TAP5-1506) Add ability to assemble pages and components at startup

2011-04-18 Thread Denis Stepanov (JIRA)
Add ability to assemble pages and components at startup
---

 Key: TAP5-1506
 URL: https://issues.apache.org/jira/browse/TAP5-1506
 Project: Tapestry 5
  Issue Type: New Feature
Reporter: Denis Stepanov


Users are experiencing slowness after application deployment.

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


[jira] [Created] (TAP5-1507) Persist: Provide option to choose how value should be stored

2011-04-18 Thread Denis Stepanov (JIRA)
Persist: Provide option to choose how value should be stored


 Key: TAP5-1507
 URL: https://issues.apache.org/jira/browse/TAP5-1507
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Reporter: Denis Stepanov


Serialize, PrimaryKey...

Hibernate module has entity persist mode, which is basically a session with 
different storing strategy. It makes sense to store only client value on 
client persist strategy rather than serializing it to the binary stream.

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


[jira] Created: (TAP5-1445) Add clientId parameter to the Zone component

2011-02-16 Thread Denis Stepanov (JIRA)
Add clientId parameter to the Zone component


 Key: TAP5-1445
 URL: https://issues.apache.org/jira/browse/TAP5-1445
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.2.4
Reporter: Denis Stepanov
Priority: Minor


It will solve dynamic zone id problem, when clientId is null it will use the 
previous approach. Now we are forced to have a copy of the zone component with 
a similar solution.

Also, it would be nice if a generated id is available before rendering, in a 
case when someone calls getClient on a zone before it have been rendered.

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




[jira] Created: (TAP5-1446) Improve coercion Collection, Map - SelectModel

2011-02-16 Thread Denis Stepanov (JIRA)
Improve coercion Collection, Map - SelectModel
---

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


It should use SelectModelFactory with default property label?. If there is no 
such property it should have current toString value.

There is probably a bug in SelectModelFactoryImpl:

options.add(new OptionModelImpl(encoder.toClient(label), object));

toClient should be called with object

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




[jira] Reopened: (TAP5-1445) Add clientId parameter to the Zone component

2011-02-16 Thread Denis Stepanov (JIRA)

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

Denis Stepanov reopened TAP5-1445:
--


yes, but you can't have a dynamic id - t:id=user_${user.id}

 Add clientId parameter to the Zone component
 

 Key: TAP5-1445
 URL: https://issues.apache.org/jira/browse/TAP5-1445
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.2.4
Reporter: Denis Stepanov
Assignee: Howard M. Lewis Ship
Priority: Minor

 It will solve dynamic zone id problem, when clientId is null it will use the 
 previous approach. Now we are forced to have a copy of the zone component 
 with a similar solution.
 Also, it would be nice if a generated id is available before rendering, in a 
 case when someone calls getClient on a zone before it have been rendered.

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




[jira] Commented: (TAP5-1445) Add clientId parameter to the Zone component

2011-02-16 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1445:
--

Guys, I know that there is a parameter id, it is also used for defining 
component id so it can't be dynamic like myZone_${inLoopItem.id}, you know 
that right? Because of that there are issues like TAP5-255

Solution:

Make clientId a parameter:

@Parameter(defaultPrefix = BindingConstants.LITERAL)
private String clientId;

and correct setup render:

clientId = clientId != null ? clientId : resources.isBound(id) ? 
idParameter : javascriptSupport.allocateClientId(resources);







 Add clientId parameter to the Zone component
 

 Key: TAP5-1445
 URL: https://issues.apache.org/jira/browse/TAP5-1445
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.2.4
Reporter: Denis Stepanov
Assignee: Howard M. Lewis Ship
Priority: Minor

 It will solve dynamic zone id problem, when clientId is null it will use the 
 previous approach. Now we are forced to have a copy of the zone component 
 with a similar solution.
 Also, it would be nice if a generated id is available before rendering, in a 
 case when someone calls getClient on a zone before it have been rendered.

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




[jira] Commented: (TAP5-1445) Add clientId parameter to the Zone component

2011-02-16 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-1445:
--

Thanks, I forgot about it

 Add clientId parameter to the Zone component
 

 Key: TAP5-1445
 URL: https://issues.apache.org/jira/browse/TAP5-1445
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.2.4
Reporter: Denis Stepanov
Priority: Minor

 It will solve dynamic zone id problem, when clientId is null it will use the 
 previous approach. Now we are forced to have a copy of the zone component 
 with a similar solution.
 Also, it would be nice if a generated id is available before rendering, in a 
 case when someone calls getClient on a zone before it have been rendered.

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




[jira] Commented: (TAP5-726) Grid should determine the class row type from a field when there is no BeanModel and GridDataSource

2009-12-09 Thread Denis Stepanov (JIRA)

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

Denis Stepanov commented on TAP5-726:
-

I know, you can close it if you want, in all cases we are using our own 
GridSource and BeanModel

 Grid should determine the class row type from a field when there is no 
 BeanModel and GridDataSource
 ---

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

 CollectionGridDataSource uses first collection item to determine the class 
 type, but in situation when collection contains different hierarchy 
 implementation there is a ClassCastException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.