Hi, I updated the github project to use tomcat-jasper-el:8.0.0-RC3 (found here [1]).
Now the maven project compiles and passes all tests out of the box (without resorting to build tomcat aside). [1] https://repository.apache.org/content/repositories/orgapachetomcat-080/ ---------------------------------------- > From: kal...@hotmail.com > To: users@tomcat.apache.org > Subject: RE: Using EL expressions in an ObjectFactory > Date: Mon, 16 Sep 2013 16:34:20 +0200 > > I found the problem: > > I was using javax.el:javax.el-api:3.0.0 as EL api jar... now, if I use the > el-api provided by tomcat, everything works fine. > > Xavier > > ---------------------------------------- >> Subject: Re: Using EL expressions in an ObjectFactory >> From: dmik...@gopivotal.com >> Date: Mon, 16 Sep 2013 10:05:14 -0400 >> To: users@tomcat.apache.org >> >> On Sep 16, 2013, at 9:43 AM, Xavier Dury <kal...@hotmail.com> wrote: >> >>> I built tomcat from trunk (rev 1523639) and I'm having the same issue I had >>> with glassfish EL implementation when using overloaded methods: >>> >>> javax.el.ELException: Cannot convert ./ of type class java.lang.String to >>> class java.net.URI >>> at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:482) >>> at >>> org.apache.el.ExpressionFactoryImpl.coerceToType(ExpressionFactoryImpl.java:48) >>> at javax.el.ELContext.convertToType(ELContext.java:473) >>> at >>> org.apache.el.lang.EvaluationContext.convertToType(EvaluationContext.java:155) >>> at javax.el.ELUtil.invokeConstructor(ELUtil.java:261) >>> at javax.el.StaticFieldELResolver.invoke(StaticFieldELResolver.java:203) >>> at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256) >>> at org.apache.el.parser.AstFunction.getValue(AstFunction.java:138) >>> at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:188) >>> at javax.el.ELProcessor.getValue(ELProcessor.java:129) >>> at javax.el.ELProcessor.eval(ELProcessor.java:115) >>> at >>> org.apache.naming.factory.ExpressionFactoryTest.elImplementationShouldWork(ExpressionFactoryTest.java:43) >>> >>> So I guess it's normal behaviour, isn't it? >> >> No. Your example works fine for me, rev# 1523651. >> >> public class ElFileTest { >> @Test >> public void testElAndFile() throws IOException { >> ELProcessor proc = new ELProcessor(); >> proc.getELManager().importClass("java.io.File"); >> File f = (File) proc.eval("File('./')"); >> Assert.assertEquals(new File("./").getCanonicalPath(), f.getCanonicalPath()); >> } >> } >> >> Dan >> >>> >>> I don't think EL spec does mandate implementations to make their best >>> effort to find a suitable method when invoking overloaded methods. >>> >>> Xavier >>> >>> ---------------------------------------- >>>> Subject: Re: Using EL expressions in an ObjectFactory >>>> From: dmik...@gopivotal.com >>>> Date: Mon, 16 Sep 2013 07:48:33 -0400 >>>> To: users@tomcat.apache.org >>>> >>>> On Sep 16, 2013, at 3:03 AM, Xavier Dury <kal...@hotmail.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> I switched to org.apache.tomcat:tomcat-jasper-el:8.0.0-RC1 as javax.el >>>>> 3.0 implementation and tested with the following code: >>>>> >>>>> ELProcessor processor = new ELProcessor(); >>>>> processor.getELManager().importClass("java.io.File"); >>>>> processor.eval("File('./')"); >>>>> >>>>> but I get the following error: >>>>> >>>>> javax.el.ELException: Function ':File' not found >>>>> at org.apache.el.parser.AstFunction.getValue(AstFunction.java:136) >>>>> at >>>>> org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:188) >>>>> at javax.el.ELProcessor.getValue(ELProcessor.java:129) >>>>> at javax.el.ELProcessor.eval(ELProcessor.java:115) >>>>> at >>>>> org.apache.naming.factory.ExpressionFactoryTest.elImplementationShouldWork(ExpressionFactoryTest.java:43) >>>>> >>>>> Are methods importClass, importStatic and importPackage on ELManager >>>>> already implemented in apache EL? >>>> >>>> Sorry, I don't think I was clear enough in my last response. This does not >>>> work with Tomcat 8.0.0-RC1, but has been fixed (see the bug I referenced >>>> earlier). You'll need to either build and use Tomcat trunk or wait until >>>> the next RC release is available. >>>> >>>> Dan >>>> >>>>> >>>>> Regards, >>>>> >>>>> Xavier >>>>> >>>>> ---------------------------------------- >>>>>> Subject: Re: Using EL expressions in an ObjectFactory >>>>>> From: dmik...@gopivotal.com >>>>>> Date: Fri, 13 Sep 2013 15:38:29 -0400 >>>>>> To: users@tomcat.apache.org >>>>>> >>>>>> On Sep 13, 2013, at 3:27 AM, Xavier Dury <kal...@hotmail.com> wrote: >>>>>> >>>>>>> When I try the following: >>>>>>> >>>>>>> ELProcessor processor = new ELProcessor(); >>>>>>> processor.getELManager().importClass("java.io.File"); >>>>>>> processor.eval("File('./')"); >>>>>>> >>>>>>> I get javax.el.ELException: java.lang.IllegalArgumentException: Cannot >>>>>>> convert ./ of type class java.lang.String to class java.net.URI. >>>>>>> >>>>>>> I'm using glassfish javax.el 3.0 implementation for my tests. Maybe the >>>>>>> problem comes from this specific implementation. >>>>>> >>>>>> Yes, that would be the problem. I've noticed the same behavior >>>>>> w/GlassFish's EL 3.0 implementation. Try building Tomcat trunk and using >>>>>> it's implementation or using the next Tomcat 8 RC when it's available. >>>>>> Neither should have that problem. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>>> >>>>>>> ---------------------------------------- >>>>>>>> Subject: Re: Using EL expressions in an ObjectFactory >>>>>>>> From: dmik...@gopivotal.com >>>>>>>> Date: Thu, 12 Sep 2013 17:10:21 -0400 >>>>>>>> To: users@tomcat.apache.org >>>>>>>> >>>>>>>> On Sep 12, 2013, at 7:58 AM, Xavier Dury <kal...@hotmail.com> wrote: >>>>>>>> >>>>>>>>> Ok, >>>>>>>>> >>>>>>>>> I fixed the styling and the documentation. If anything else must be >>>>>>>>> changed, don't hesitate. >>>>>>>> >>>>>>>> In your docs, you state the following remark... >>>>>>>> >>>>>>>> "Try to avoid overloaded methods/constructors as much as possible in >>>>>>>> EL 3.0 expression as the ELProcessor will use the first one it will >>>>>>>> find by reflection." >>>>>>>> >>>>>>>> Can you clarify what you mean by this? There was a problem in RC-1 >>>>>>>> that sounds similar, but it's been fixed. >>>>>>>> >>>>>>>> https://issues.apache.org/bugzilla/show_bug.cgi?id=55483 >>>>>>>> >>>>>>>> Is this a problem in trunk? Point being, if you're seeing an issue >>>>>>>> with EL 3.0, we should try to fix it. >>>>>>>> >>>>>>>> Dan >>>>>>>> >>>>>>>> >>>>>>>>> ---------------------------------------- >>>>>>>>>> Date: Thu, 12 Sep 2013 12:01:26 +0100 >>>>>>>>>> From: ma...@apache.org >>>>>>>>>> To: users@tomcat.apache.org >>>>>>>>>> Subject: Re: Using EL expressions in an ObjectFactory >>>>>>>>>> >>>>>>>>>> On 12/09/2013 11:49, Xavier Dury wrote: >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I implemented a simple ExpressionFactory @ >>>>>>>>>>> https://github.com/kalgon/expression-factory. >>>>>>>>>>> >>>>>>>>>>> I would love to see this ExpressionFactory next to >>>>>>>>>>> org.apache.naming.factory.BeanFactory in tomcat. >>>>>>>>>> >>>>>>>>>> No objections in principle. >>>>>>>>>> >>>>>>>>>> Haven't looked at the new code in detail. A few initial observations: >>>>>>>>>> - I'm assuming this is a contribution as per section 5 of the Apache >>>>>>>>>> License, version 2.0 >>>>>>>>>> - There is no documentation >>>>>>>>>> - Tomcat code standards use 4 spaces for indents, not tabs >>>>>>>>>> - Some @Override markers look to be missing >>>>>>>>>> >>>>>>>>>> Mark >>>>>>>>>> >>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>>>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>>>>>>> >>>>>>>>> --------------------------------------------------------------------- >>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>> For additional commands, e-mail: users-h...@tomcat.apache.org >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org