You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Remy Maucherat <re...@apache.org> on 2013/08/28 14:00:35 UTC

Re: svn commit: r1504148 - in /tomcat/trunk: java/org/apache/jasper/compiler/ java/org/apache/jasper/el/ java/org/apache/jasper/runtime/ test/javax/el/ test/org/apache/el/ test/org/apache/el/parser/ test/org/apache/jasper/compiler/ test/org/apache/jasper/el/

On Wed, 2013-07-17 at 14:14 +0000, markt@apache.org wrote:
> Author: markt
> Date: Wed Jul 17 14:14:28 2013
> New Revision: 1504148
> 
> URL: http://svn.apache.org/r1504148
> Log:
> Add the two new resolver types (stream and static) to Jasper in the correct order and modify JasperELResolver so the correct resolvers are skipped.

> -    public static ELResolver getDefaultResolver() {
> +    public static ELResolver getDefaultResolver(ExpressionFactory factory) {
>          if (Constants.IS_SECURITY_ENABLED) {
>              CompositeELResolver defaultResolver = new CompositeELResolver();
> -            // TODO ExpressionFactory.getStreamELResolver()
> -            // TODO javax.el.StaticFieldResolver
> +            defaultResolver.add(factory.getStreamELResolver());
> +            defaultResolver.add(new StaticFieldELResolver());
>              defaultResolver.add(new MapELResolver());
>              defaultResolver.add(new ResourceBundleELResolver());
>              defaultResolver.add(new ListELResolver());

I see one issue: in most cases (= no security manager), the static
"cache" resolver instance is used, and it doesn't have the two new
resolvers. The new stream EL resolver for the collections seems to be
more difficult to use with the caching strategy as well, but it looks
possible.

Ideas ?

Rémy



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1504148 - in /tomcat/trunk: java/org/apache/jasper/compiler/ java/org/apache/jasper/el/ java/org/apache/jasper/runtime/ test/javax/el/ test/org/apache/el/ test/org/apache/el/parser/ test/org/apache/jasper/compiler/ test/org/apache/jasper/el/

Posted by Mark Thomas <ma...@apache.org>.
On 28/08/2013 13:00, Remy Maucherat wrote:
> On Wed, 2013-07-17 at 14:14 +0000, markt@apache.org wrote:
>> Author: markt
>> Date: Wed Jul 17 14:14:28 2013
>> New Revision: 1504148
>>
>> URL: http://svn.apache.org/r1504148
>> Log:
>> Add the two new resolver types (stream and static) to Jasper in the correct order and modify JasperELResolver so the correct resolvers are skipped.
> 
>> -    public static ELResolver getDefaultResolver() {
>> +    public static ELResolver getDefaultResolver(ExpressionFactory factory) {
>>          if (Constants.IS_SECURITY_ENABLED) {
>>              CompositeELResolver defaultResolver = new CompositeELResolver();
>> -            // TODO ExpressionFactory.getStreamELResolver()
>> -            // TODO javax.el.StaticFieldResolver
>> +            defaultResolver.add(factory.getStreamELResolver());
>> +            defaultResolver.add(new StaticFieldELResolver());
>>              defaultResolver.add(new MapELResolver());
>>              defaultResolver.add(new ResourceBundleELResolver());
>>              defaultResolver.add(new ListELResolver());
> 
> I see one issue: in most cases (= no security manager), the static
> "cache" resolver instance is used, and it doesn't have the two new
> resolvers. The new stream EL resolver for the collections seems to be
> more difficult to use with the caching strategy as well, but it looks
> possible.
> 
> Ideas ?

I think I have fixed the immediate issue. Do you see any further
problems with the new code?

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org