You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2009/03/04 00:44:09 UTC
svn commit: r749845 - in
/incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck:
ELImpl.java ManagersImpl.java StandaloneContainersImpl.java
mock/TCKManager.java mock/TCKWebBeansContainerDeployer.java
Author: gerdogdu
Date: Tue Mar 3 23:44:09 2009
New Revision: 749845
URL: http://svn.apache.org/viewvc?rev=749845&view=rev
Log:
Update TCK SPI implementations.
Modified:
incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ELImpl.java
incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ManagersImpl.java
incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKManager.java
incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKWebBeansContainerDeployer.java
Modified: incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ELImpl.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ELImpl.java?rev=749845&r1=749844&r2=749845&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ELImpl.java (original)
+++ incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ELImpl.java Tue Mar 3 23:44:09 2009
@@ -13,20 +13,99 @@
*/
package org.apache.webbeans.test.tck;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import javax.el.ELContext;
+import javax.el.ELResolver;
+import javax.el.FunctionMapper;
+import javax.el.ValueExpression;
+import javax.el.VariableMapper;
+
+import org.apache.webbeans.el.WebBeansELResolver;
import org.jboss.jsr299.tck.spi.EL;
public class ELImpl implements EL
{
+ private WebBeansELResolver resolver = new WebBeansELResolver();
+
+ public static class ELContextImpl extends ELContext
+ {
+ @Override
+ public ELResolver getELResolver()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public FunctionMapper getFunctionMapper()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public VariableMapper getVariableMapper()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ }
+
+ @SuppressWarnings("unchecked")
public <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes, Object[] expectedParams)
{
+ int firstDot = expression.indexOf('.');
+ String property = expression.substring(expression.indexOf("#"),firstDot) + "}"; //object name
+ String methodName = expression.substring(firstDot+1,expression.length()-1);
+
+ Object object = evaluateValueExpression(property, expectedType);
+
+ try
+ {
+ Method method = object.getClass().getMethod(methodName, expectedParamTypes);
+ return (T)method.invoke(object, expectedParams);
+ }
+ catch (SecurityException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch (NoSuchMethodException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch (IllegalArgumentException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch (IllegalAccessException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch (InvocationTargetException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
return null;
}
+ @SuppressWarnings("unchecked")
public <T> T evaluateValueExpression(String expression, Class<T> expectedType)
{
- return null;
+ String property = expression.substring(expression.indexOf("#")+2,expression.length()-1);
+
+ T object = (T) resolver.getValue(new ELContextImpl() , null, property);
+
+ return object;
}
}
Modified: incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ManagersImpl.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ManagersImpl.java?rev=749845&r1=749844&r2=749845&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ManagersImpl.java (original)
+++ incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/ManagersImpl.java Tue Mar 3 23:44:09 2009
@@ -18,6 +18,7 @@
import javax.inject.manager.Manager;
+import org.apache.webbeans.config.WebBeansFinder;
import org.apache.webbeans.context.ContextFactory;
import org.apache.webbeans.deployment.DeploymentTypeManager;
import org.apache.webbeans.test.mock.MockHttpSession;
@@ -32,13 +33,14 @@
return DeploymentTypeManager.getInstance().getEnabledDeploymentTypes();
}
- public Manager getManager() {
-
+ public Manager getManager()
+ {
+
ContextFactory.initApplicationContext(null);
ContextFactory.initRequestContext(null);
ContextFactory.initSessionContext(new MockHttpSession());
ContextFactory.initConversationContext(null);
-
+
return TCKManager.getInstance();
}
Modified: incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java?rev=749845&r1=749844&r2=749845&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java (original)
+++ incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java Tue Mar 3 23:44:09 2009
@@ -18,6 +18,7 @@
import javax.inject.Production;
+import org.apache.webbeans.config.WebBeansFinder;
import org.apache.webbeans.deployment.DeploymentTypeManager;
import org.apache.webbeans.test.tck.mock.TCKManager;
import org.apache.webbeans.test.tck.mock.TCKWebBeansContainerDeployer;
@@ -28,12 +29,11 @@
public class StandaloneContainersImpl implements StandaloneContainers
{
private TCKWebBeansContainerDeployer tckContainerDeployer = null;
- private TCKManager tckManager = null;
+ private WebBeansXMLConfigurator xmlConfigurator = null;
public void cleanup()
{
this.tckContainerDeployer = null;
- tckManager = null;
}
public void deploy(Iterable<Class<?>> classes) throws DeploymentException
@@ -67,17 +67,15 @@
public void setup()
{
- this.tckContainerDeployer = new TCKWebBeansContainerDeployer(new WebBeansXMLConfigurator());
- this.tckManager = TCKManager.getInstance();
-
+ this.xmlConfigurator = new WebBeansXMLConfigurator();
+ this.tckContainerDeployer = new TCKWebBeansContainerDeployer(this.xmlConfigurator);
+ TCKManager.getInstance().setXMLConfigurator(this.xmlConfigurator);
DeploymentTypeManager.getInstance().addNewDeploymentType(Production.class, 1);
}
public void undeploy()
{
- this.tckManager.clear();
- this.tckContainerDeployer.clear();
-
+ TCKManager.getInstance().clear();
}
}
Modified: incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKManager.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKManager.java?rev=749845&r1=749844&r2=749845&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKManager.java (original)
+++ incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKManager.java Tue Mar 3 23:44:09 2009
@@ -33,6 +33,7 @@
import javax.inject.manager.Manager;
import org.apache.webbeans.container.ManagerImpl;
+import org.apache.webbeans.xml.WebBeansXMLConfigurator;
public class TCKManager implements Manager
{
@@ -190,4 +191,9 @@
{
this.manager.clear();
}
+
+ public void setXMLConfigurator(WebBeansXMLConfigurator xmlConfigurator)
+ {
+ this.manager.setXMLConfigurator(xmlConfigurator);
+ }
}
Modified: incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKWebBeansContainerDeployer.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKWebBeansContainerDeployer.java?rev=749845&r1=749844&r2=749845&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKWebBeansContainerDeployer.java (original)
+++ incubator/openwebbeans/trunk/webbeans-tck/src/test/java/org/apache/webbeans/test/tck/mock/TCKWebBeansContainerDeployer.java Tue Mar 3 23:44:09 2009
@@ -17,6 +17,8 @@
package org.apache.webbeans.test.tck.mock;
import java.io.IOException;
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
import java.net.URL;
import java.util.HashSet;
import java.util.Iterator;
@@ -26,8 +28,13 @@
import org.apache.webbeans.config.SimpleWebBeansConfigurator;
import org.apache.webbeans.config.WebBeansContainerDeployer;
import org.apache.webbeans.config.WebBeansScanner;
+import org.apache.webbeans.deployment.StereoTypeManager;
+import org.apache.webbeans.deployment.StereoTypeModel;
+import org.apache.webbeans.util.AnnotationUtil;
import org.apache.webbeans.util.Asserts;
+import org.apache.webbeans.util.WebBeansUtil;
import org.apache.webbeans.xml.WebBeansXMLConfigurator;
+import org.apache.webbeans.xml.XMLAnnotationTypeManager;
public class TCKWebBeansContainerDeployer extends WebBeansContainerDeployer
{
@@ -68,7 +75,12 @@
URL url = urlIt.next();
try
{
- this.xmlConfigurator.configure(url.openStream(), url.getFile());
+ InputStream stream = url.openStream();
+ if(stream.available() > 0)
+ {
+ this.xmlConfigurator.configure(url.openStream(), url.getFile());
+ }
+
}
catch (IOException e)
{
@@ -109,9 +121,33 @@
}
}
-
+ @SuppressWarnings("unchecked")
protected void checkStereoTypes(WebBeansScanner scanner)
{
+ if(scanner == null)
+ {
+ Iterator<Class<?>> it = classes.iterator();
+ while(it.hasNext())
+ {
+ Class<? extends Annotation> stereoClass = (Class<Annotation>)it.next();
+
+ if (AnnotationUtil.isStereoTypeAnnotation(stereoClass))
+ {
+ if (!XMLAnnotationTypeManager.getInstance().isStereoTypeExist(stereoClass))
+ {
+ WebBeansUtil.checkStereoTypeClass(stereoClass);
+ StereoTypeModel model = new StereoTypeModel(stereoClass);
+ StereoTypeManager.getInstance().addStereoTypeModel(model);
+ }
+ }
+
+
+ }
+ }
+ else
+ {
+ super.checkSpecializations(scanner);
+ }
}