Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 44373 invoked from network); 28 Oct 2010 00:58:33 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 28 Oct 2010 00:58:33 -0000 Received: (qmail 93400 invoked by uid 500); 28 Oct 2010 00:58:33 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 93358 invoked by uid 500); 28 Oct 2010 00:58:33 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 93351 invoked by uid 99); 28 Oct 2010 00:58:33 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Oct 2010 00:58:33 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Oct 2010 00:58:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B474123888E8; Thu, 28 Oct 2010 00:57:36 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1028155 - in /geronimo/tck/branches/3.0/geronimo-porting: pom.xml src/main/java/org/apache/geronimo/test/tck/ELImpl.java Date: Thu, 28 Oct 2010 00:57:36 -0000 To: scm@geronimo.apache.org From: djencks@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101028005736.B474123888E8@eris.apache.org> Author: djencks Date: Thu Oct 28 00:57:36 2010 New Revision: 1028155 URL: http://svn.apache.org/viewvc?rev=1028155&view=rev Log: Copy openwebbean's ELImpl Modified: geronimo/tck/branches/3.0/geronimo-porting/pom.xml geronimo/tck/branches/3.0/geronimo-porting/src/main/java/org/apache/geronimo/test/tck/ELImpl.java Modified: geronimo/tck/branches/3.0/geronimo-porting/pom.xml URL: http://svn.apache.org/viewvc/geronimo/tck/branches/3.0/geronimo-porting/pom.xml?rev=1028155&r1=1028154&r2=1028155&view=diff ============================================================================== --- geronimo/tck/branches/3.0/geronimo-porting/pom.xml (original) +++ geronimo/tck/branches/3.0/geronimo-porting/pom.xml Thu Oct 28 00:57:36 2010 @@ -63,6 +63,11 @@ org.apache.openwebbeans openwebbeans-impl + + org.apache.geronimo.ext.tomcat + jasper-el + 7.0.0.2-SNAPSHOT + Modified: geronimo/tck/branches/3.0/geronimo-porting/src/main/java/org/apache/geronimo/test/tck/ELImpl.java URL: http://svn.apache.org/viewvc/geronimo/tck/branches/3.0/geronimo-porting/src/main/java/org/apache/geronimo/test/tck/ELImpl.java?rev=1028155&r1=1028154&r2=1028155&view=diff ============================================================================== --- geronimo/tck/branches/3.0/geronimo-porting/src/main/java/org/apache/geronimo/test/tck/ELImpl.java (original) +++ geronimo/tck/branches/3.0/geronimo-porting/src/main/java/org/apache/geronimo/test/tck/ELImpl.java Thu Oct 28 00:57:36 2010 @@ -18,25 +18,98 @@ */ package org.apache.geronimo.test.tck; +import javax.el.ArrayELResolver; +import javax.el.BeanELResolver; +import javax.el.CompositeELResolver; import javax.el.ELContext; - +import javax.el.ELContextEvent; +import javax.el.ELResolver; +import javax.el.ExpressionFactory; +import javax.el.FunctionMapper; +import javax.el.ListELResolver; +import javax.el.MapELResolver; +import javax.el.ResourceBundleELResolver; +import javax.el.VariableMapper; + +import org.apache.el.ExpressionFactoryImpl; +import org.apache.el.lang.FunctionMapperImpl; +import org.apache.el.lang.VariableMapperImpl; +import org.apache.webbeans.el.WebBeansELResolver; +import org.apache.webbeans.el.WrappedExpressionFactory; import org.jboss.jsr299.tck.spi.EL; +/** + * this is a copy of openwebbean's ELImpl from webbeans-porting + */ public class ELImpl implements EL { - public ELContext createELContext() { - System.out.println("createELContext"); - return null; + private static final ExpressionFactory EXPRESSION_FACTORY = new WrappedExpressionFactory(new ExpressionFactoryImpl()); + + public ELImpl() + { + } + + public static ELResolver getELResolver() + { + CompositeELResolver composite = new CompositeELResolver(); + composite.add(new BeanELResolver()); + composite.add(new ArrayELResolver()); + composite.add(new MapELResolver()); + composite.add(new ListELResolver()); + composite.add(new ResourceBundleELResolver()); + composite.add(new WebBeansELResolver()); + + return composite; } - public T evaluateMethodExpression(String arg0, Class arg1, Class[] arg2, Object[] arg3) { - System.out.println("evaluateMethodExpression"); - return null; + public static class ELContextImpl extends ELContext + { + + @Override + public ELResolver getELResolver() + { + return ELImpl.getELResolver(); + } + + @Override + public FunctionMapper getFunctionMapper() + { + return new FunctionMapperImpl(); + } + + @Override + public VariableMapper getVariableMapper() + { + return new VariableMapperImpl(); + } + } - public T evaluateValueExpression(String arg0, Class arg1) { - System.out.println("evaluateValueExpression"); - return null; + @SuppressWarnings("unchecked") + public T evaluateMethodExpression(String expression, Class expectedType, Class[] expectedParamTypes, Object[] expectedParams) + { + ELContext context = createELContext(); + Object object = EXPRESSION_FACTORY.createMethodExpression(context, expression, expectedType, expectedParamTypes).invoke(context, expectedParams); + + return (T)object; + } + + @SuppressWarnings("unchecked") + public T evaluateValueExpression(String expression, Class expectedType) + { + ELContext context = createELContext(); + Object object = EXPRESSION_FACTORY.createValueExpression(context, expression, expectedType).getValue(context); + + return (T)object; + } + + @Override + public ELContext createELContext() + { + ELContext context = new ELContextImpl(); + ELContextEvent event = new ELContextEvent(context); + + return context; } }