[webbeans-commits] Webbeans SVN: r1167 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el and 5 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Thu Jan 22 08:48:13 EST 2009
Author: pete.muir at jboss.org
Date: 2009-01-22 08:48:13 -0500 (Thu, 22 Jan 2009)
New Revision: 1167
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/ForwardingELContext.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/EL.java
Modified:
ri/trunk/webbeans-ri/pom.xml
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/dependent/DependentContextTest.java
Log:
Fix broken EL test
Modified: ri/trunk/webbeans-ri/pom.xml
===================================================================
--- ri/trunk/webbeans-ri/pom.xml 2009-01-22 13:01:09 UTC (rev 1166)
+++ ri/trunk/webbeans-ri/pom.xml 2009-01-22 13:48:13 UTC (rev 1167)
@@ -96,6 +96,11 @@
</dependency>
<dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-ri</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
</dependency>
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/ForwardingELContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/ForwardingELContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/ForwardingELContext.java 2009-01-22 13:48:13 UTC (rev 1167)
@@ -0,0 +1,88 @@
+package org.jboss.webbeans.el;
+
+import java.util.Locale;
+
+import javax.el.ELContext;
+import javax.el.ELResolver;
+import javax.el.FunctionMapper;
+import javax.el.VariableMapper;
+
+public abstract class ForwardingELContext extends ELContext
+{
+
+ protected abstract ELContext delgate();
+
+ @Override
+ public ELResolver getELResolver()
+ {
+ return delgate().getELResolver();
+ }
+
+ @Override
+ public FunctionMapper getFunctionMapper()
+ {
+ return delgate().getFunctionMapper();
+ }
+
+ @Override
+ public VariableMapper getVariableMapper()
+ {
+ return delgate().getVariableMapper();
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return delgate().equals(obj);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Object getContext(Class key)
+ {
+ return delgate().getContext(key);
+ }
+
+ @Override
+ public Locale getLocale()
+ {
+ return delgate().getLocale();
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return delgate().hashCode();
+ }
+
+ @Override
+ public boolean isPropertyResolved()
+ {
+ return delgate().isPropertyResolved();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void putContext(Class key, Object contextObject)
+ {
+ delgate().putContext(key, contextObject);
+ }
+
+ @Override
+ public void setLocale(Locale locale)
+ {
+ delgate().setLocale(locale);
+ }
+
+ @Override
+ public void setPropertyResolved(boolean resolved)
+ {
+ delgate().setPropertyResolved(resolved);
+ }
+
+ @Override
+ public String toString()
+ {
+ return delgate().toString();
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/ForwardingELContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/EL.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/EL.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/EL.java 2009-01-22 13:48:13 UTC (rev 1167)
@@ -0,0 +1,76 @@
+package org.jboss.webbeans.test.mock.el;
+
+import javax.el.ArrayELResolver;
+import javax.el.BeanELResolver;
+import javax.el.CompositeELResolver;
+import javax.el.ELContext;
+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.jboss.webbeans.el.WebBeansELResolver;
+
+import com.sun.el.ExpressionFactoryImpl;
+import com.sun.el.lang.FunctionMapperImpl;
+import com.sun.el.lang.VariableMapperImpl;
+
+/**
+ * An instance of JBoss EL.
+ *
+ * @author Gavin King
+ *
+ */
+public class EL
+{
+ public static final ELResolver EL_RESOLVER = createELResolver();
+
+ public static final ExpressionFactory EXPRESSION_FACTORY = new ExpressionFactoryImpl();
+
+ private static ELResolver createELResolver()
+ {
+ CompositeELResolver resolver = new CompositeELResolver();
+ resolver.add( new WebBeansELResolver() );
+ resolver.add( new MapELResolver() );
+ resolver.add( new ListELResolver() );
+ resolver.add( new ArrayELResolver() );
+ resolver.add( new ResourceBundleELResolver() );
+ resolver.add( new BeanELResolver() );
+ return resolver;
+ }
+
+ public static ELContext createELContext() {
+ return createELContext( EL_RESOLVER, new FunctionMapperImpl() );
+ }
+
+ public static ELContext createELContext(final ELResolver resolver, final FunctionMapper functionMapper)
+ {
+ return new ELContext()
+ {
+ final VariableMapperImpl variableMapper = new VariableMapperImpl();
+
+ @Override
+ public ELResolver getELResolver()
+ {
+ return resolver;
+ }
+
+ @Override
+ public FunctionMapper getFunctionMapper()
+ {
+ return functionMapper;
+ }
+
+ @Override
+ public VariableMapper getVariableMapper()
+ {
+ return variableMapper;
+ }
+
+ };
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/EL.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java 2009-01-22 13:01:09 UTC (rev 1166)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java 2009-01-22 13:48:13 UTC (rev 1167)
@@ -3,12 +3,14 @@
import java.lang.annotation.Annotation;
import java.util.List;
+import javax.el.ELContext;
import javax.webbeans.manager.Manager;
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.tck.api.Containers;
import org.jboss.webbeans.test.mock.MockBootstrap;
import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
+import org.jboss.webbeans.test.mock.el.EL;
public class ContainersImpl implements Containers
{
@@ -31,15 +33,17 @@
return deploy(null, classes);
}
+ @SuppressWarnings("unchecked")
public <T> T evaluateValueExpression(String expression, Class<T> expectedType)
{
- // TODO implement
- throw new UnsupportedOperationException();
+ ELContext elContext = EL.createELContext();
+ return (T) EL.EXPRESSION_FACTORY.createValueExpression(elContext, expression, expectedType).getValue(elContext);
}
- public <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes)
+ @SuppressWarnings("unchecked")
+ public <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes, Object[] expectedParams)
{
- // TODO implement
- throw new UnsupportedOperationException();
+ ELContext elContext = EL.createELContext();
+ return (T) EL.EXPRESSION_FACTORY.createMethodExpression(elContext, expression, expectedType, expectedParamTypes).invoke(elContext, expectedParams);
}
}
Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java 2009-01-22 13:01:09 UTC (rev 1166)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java 2009-01-22 13:48:13 UTC (rev 1167)
@@ -58,5 +58,5 @@
* @param expectedParamTypes
* @return
*/
- <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes);
+ <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes, Object[] expectedParams);
}
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/dependent/DependentContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/dependent/DependentContextTest.java 2009-01-22 13:01:09 UTC (rev 1166)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/dependent/DependentContextTest.java 2009-01-22 13:48:13 UTC (rev 1167)
@@ -43,7 +43,7 @@
* Any instance of the (@Dependent-scoped) Web Bean that is used to evaluate a Unified EL
* expression exists to service that evaluation only.
*/
- @Test(groups = { "contexts", "el", "broken" })
+ @Test(groups = { "contexts", "el"})
@SpecAssertion(section = "9.3")
public void testInstanceUsedForElEvaluationNotShared() throws Exception
{
@@ -58,8 +58,8 @@
Bean<Fox> foxBean = foxBeans.iterator().next();
manager.addBean(foxBean);
- Fox fox1 = configuration().getContainers().evaluateValueExpression("fox", Fox.class);
- Fox fox2 = configuration().getContainers().evaluateValueExpression("fox", Fox.class);
+ Fox fox1 = configuration().getContainers().evaluateValueExpression("#{fox}", Fox.class);
+ Fox fox2 = configuration().getContainers().evaluateValueExpression("#{fox}", Fox.class);
assert !fox1.equals(fox2);
}
}.run();
More information about the weld-commits
mailing list