[webbeans-commits] Webbeans SVN: r261 - in ri/trunk: webbeans-ri/src/main/java/org/jboss/webbeans/bean and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-06 09:55:05 -0500 (Thu, 06 Nov 2008)
New Revision: 261
Added:
ri/trunk/webbeans-api/src/main/java/javax/webbeans/IllegalProductException.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java
Log:
producer method create()
Added: ri/trunk/webbeans-api/src/main/java/javax/webbeans/IllegalProductException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/IllegalProductException.java (rev 0)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/IllegalProductException.java 2008-11-06 14:55:05 UTC (rev 261)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package javax.webbeans;
+
+/**
+ */
+public class IllegalProductException extends ExecutionException
+{
+
+ public IllegalProductException()
+ {
+ super();
+ }
+
+ public IllegalProductException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public IllegalProductException(String message)
+ {
+ super(message);
+ }
+
+ public IllegalProductException(Throwable cause)
+ {
+ super(cause);
+ }
+
+}
Property changes on: ri/trunk/webbeans-api/src/main/java/javax/webbeans/IllegalProductException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-11-06 14:40:22 UTC (rev 260)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-11-06 14:55:05 UTC (rev 261)
@@ -1,5 +1,8 @@
package org.jboss.webbeans.bean;
+import javax.webbeans.Dependent;
+import javax.webbeans.IllegalProductException;
+
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
@@ -23,7 +26,12 @@
@Override
public T create()
{
- return model.getConstructor().invoke(manager, manager.getInstance(model.getDeclaringBean()));
+ T instance = model.getConstructor().invoke(manager, manager.getInstance(model.getDeclaringBean()));
+ if (instance == null && !model.getScopeType().equals(Dependent.class))
+ {
+ throw new IllegalProductException("Cannot return null from a non-dependent method");
+ }
+ return instance;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-06 14:40:22 UTC (rev 260)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-06 14:55:05 UTC (rev 261)
@@ -5,12 +5,14 @@
import java.lang.reflect.Method;
-import javax.webbeans.DefinitionException;
+import javax.webbeans.IllegalProductException;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.test.beans.Spider;
import org.jboss.webbeans.test.beans.SpiderProducer;
import org.jboss.webbeans.test.beans.Tarantula;
+import org.jboss.webbeans.test.beans.broken.BrokenSpiderProducer;
import org.testng.annotations.Test;
public class ProducerMethodBeanLifecycleTest extends AbstractTest
@@ -26,21 +28,7 @@
Tarantula tarantula = tarantulaBean.create();
assert tarantula != null;
}
-
- @Test(groups="producerMethod") @SpecAssertion(section="3.3")
- public void testNonDependentProducerMethodThatReturnsNull()
- {
- // TODO Placeholder
- assert false;
- }
- @Test(groups="producerMethod") @SpecAssertion(section="3.3")
- public void testDependentProducerMethodThatReturnsNull()
- {
- // TODO Placeholder
- assert false;
- }
-
@Test(groups="specialization") @SpecAssertion(section="3.3.3")
public void testSpecializedBeanAlwaysUsed()
{
@@ -64,15 +52,23 @@
@Test(groups="producerMethod") @SpecAssertion(section={"3.4", "5.6"})
- public void testProducerMethodReturnsNullIsDependent()
+ public void testProducerMethodReturnsNullIsDependent() throws Exception
{
- assert false;
+ SimpleBean<SpiderProducer> spiderProducer = createSimpleWebBean(SpiderProducer.class, manager);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer.class.getMethod("getNullSpider");
+ ProducerMethodBean<Spider> spiderBean = createProducerMethodBean(Spider.class, method, manager, spiderProducer);
+ Spider spider = spiderBean.create();
+ assert spider == null;
}
- @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section={"3.4", "5.6"})
- public void testProducerMethodReturnsNullIsNotDependent()
+ @Test(groups="producerMethod", expectedExceptions=IllegalProductException.class) @SpecAssertion(section={"3.4", "5.6"})
+ public void testProducerMethodReturnsNullIsNotDependent() throws Exception
{
-
+ SimpleBean<BrokenSpiderProducer> spiderProducer = createSimpleWebBean(BrokenSpiderProducer.class, manager);
+ manager.addBean(spiderProducer);
+ Method method = BrokenSpiderProducer.class.getMethod("getRequestScopedSpider");
+ createProducerMethodBean(Spider.class, method, manager, spiderProducer).create();
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java 2008-11-06 14:40:22 UTC (rev 260)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java 2008-11-06 14:55:05 UTC (rev 261)
@@ -85,6 +85,9 @@
return new FunnelWeaver<Spider>();
}
-
+ @Produces public Spider getNullSpider()
+ {
+ return null;
+ }
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java 2008-11-06 14:40:22 UTC (rev 260)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java 2008-11-06 14:55:05 UTC (rev 261)
@@ -5,7 +5,10 @@
import javax.webbeans.Observes;
import javax.webbeans.Produces;
import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+import org.jboss.webbeans.test.beans.Spider;
+
@Production
public class BrokenSpiderProducer
{
@@ -28,4 +31,9 @@
return "foo";
}
+ @Produces @RequestScoped public Spider getRequestScopedSpider()
+ {
+ return null;
+ }
+
}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r260 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/injectable and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-06 09:40:22 -0500 (Thu, 06 Nov 2008)
New Revision: 260
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Wire in producer methods
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -21,11 +21,6 @@
this.manager = manager;
}
- protected T getInstance()
- {
- return getModel().getConstructor().invoke(manager);
- }
-
protected void bindInterceptors()
{
// TODO
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -1,32 +0,0 @@
-package org.jboss.webbeans.bean;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
-
-public class ProducerBean<T> extends AbstractBean<T>
-{
-
- private ProducerMethodBeanModel<T> model;
-
- public ProducerBean(ProducerMethodBeanModel<T> model, ManagerImpl manager)
- {
- super(manager);
- this.model = model;
- }
-
- @Override
- public ProducerMethodBeanModel<T> getModel()
- {
- return model;
- }
-
- @Override
- public T create()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
-}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java (from rev 258, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -0,0 +1,31 @@
+package org.jboss.webbeans.bean;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
+
+public class ProducerMethodBean<T> extends AbstractBean<T>
+{
+
+ private ProducerMethodBeanModel<T> model;
+
+ public ProducerMethodBean(ProducerMethodBeanModel<T> model, ManagerImpl manager)
+ {
+ super(manager);
+ this.model = model;
+ }
+
+ @Override
+ public ProducerMethodBeanModel<T> getModel()
+ {
+ return model;
+ }
+
+ @Override
+ public T create()
+ {
+ return model.getConstructor().invoke(manager, manager.getInstance(model.getDeclaringBean()));
+ }
+
+
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -19,7 +19,7 @@
@Override
public T create()
{
- T instance = getInstance();
+ T instance = model.getConstructor().invoke(manager);
bindDecorators();
bindInterceptors();
injectEjbAndCommonFields();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -5,6 +5,6 @@
public interface BeanConstructor<T, S>
{
- public T invoke(ManagerImpl manager);
+ public T invoke(ManagerImpl manager, Object instance);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -28,4 +28,9 @@
}
}
+ public T invoke(ManagerImpl manager, Object instance)
+ {
+ return invoke(manager);
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -25,5 +25,10 @@
// TODO Auto-generated method stub
return null;
}
+
+ public T invoke(ManagerImpl manager, Object instance)
+ {
+ return invoke(manager);
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -4,6 +4,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.util.Reflections;
public class MethodConstructor<T> extends InjectableMethod<T> implements
BeanConstructor<T, AnnotatedMethod<T>>
@@ -13,17 +14,10 @@
{
super(method);
}
-
- @Override
- public AnnotatedMethod<T> getAnnotatedItem()
- {
- return null;
- }
- public T invoke(ManagerImpl manager)
+ public T invoke(ManagerImpl manager, Object instance)
{
- // TODO Auto-generated method stub
- return null;
+ return (T) Reflections.invokeAndWrap(getAnnotatedItem().getDelegate(), instance, getParameterValues(manager));
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -13,6 +13,7 @@
import javax.webbeans.Observes;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.MethodConstructor;
@@ -28,16 +29,17 @@
private AnnotatedItem<T, Method> xmlAnnotatedItem;
private AnnotatedMethod<T> annotatedMethod;
- private BeanModel<?, ?> declaringBean;
+ private AbstractBean<?> declaringBean;
// Cached values
private String location;
private Type declaredBeanType;
- public ProducerMethodBeanModel(AnnotatedMethod<T> annotatedMethod, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager)
+ public ProducerMethodBeanModel(AnnotatedMethod<T> annotatedMethod, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager, AbstractBean<?> declaringBean)
{
this.annotatedMethod = annotatedMethod;
this.xmlAnnotatedItem = xmlAnnotatedMethod;
+ this.declaringBean = declaringBean;
init(manager);
}
@@ -74,18 +76,9 @@
super.initDeploymentType();
if (getDeploymentType() == null)
{
- if (getDeclaringBean() == null)
- {
- initDeclaringBean(manager);
- }
deploymentType = declaringBean.getDeploymentType();
}
}
-
- protected void initDeclaringBean(ManagerImpl container)
- {
- declaringBean = container.getModelManager().getBeanModel(getAnnotatedItem().getDelegate().getDeclaringClass());
- }
public MethodConstructor<T> getConstructor()
{
@@ -236,7 +229,7 @@
return removeMethod;
}
- public BeanModel<?, ?> getDeclaringBean()
+ public AbstractBean<?> getDeclaringBean()
{
return declaringBean;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -248,11 +248,11 @@
return type.getTypeParameters().length > 0;
}
- public static Object invokeAndWrap(Method method, Object instance)
+ public static Object invokeAndWrap(Method method, Object instance, Object... parameters)
{
try
{
- return method.invoke(instance);
+ return method.invoke(instance, parameters);
}
catch (IllegalArgumentException e)
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -92,7 +92,7 @@
{
BeanConstructor<EventImpl<DangerCall>, ?> constructor = eventBeanModel.getConstructor();
assert constructor != null;
- Event<DangerCall> event = constructor.invoke(manager);
+ Event<DangerCall> event = constructor.invoke(manager, null);
assert event != null;
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -1,11 +1,31 @@
package org.jboss.webbeans.test;
+import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
+
+import java.lang.reflect.Method;
+
import javax.webbeans.DefinitionException;
+import org.jboss.webbeans.bean.ProducerMethodBean;
+import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.test.beans.SpiderProducer;
+import org.jboss.webbeans.test.beans.Tarantula;
import org.testng.annotations.Test;
-public class ProducerMethodBeanLifecycleTest
+public class ProducerMethodBeanLifecycleTest extends AbstractTest
{
+
+ @Test(groups="producerMethod") @SpecAssertion(section="5.6")
+ public void testProducerMethodBeanCreate() throws Exception
+ {
+ SimpleBean<SpiderProducer> spiderProducer = createSimpleWebBean(SpiderProducer.class, manager);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer.class.getMethod("produceTarantula");
+ ProducerMethodBean<Tarantula> tarantulaBean = createProducerMethodBean(Tarantula.class, method, manager, spiderProducer);
+ Tarantula tarantula = tarantulaBean.create();
+ assert tarantula != null;
+ }
@Test(groups="producerMethod") @SpecAssertion(section="3.3")
public void testNonDependentProducerMethodThatReturnsNull()
@@ -43,13 +63,13 @@
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ @Test(groups="producerMethod") @SpecAssertion(section={"3.4", "5.6"})
public void testProducerMethodReturnsNullIsDependent()
{
assert false;
}
- @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section={"3.4", "5.6"})
public void testProducerMethodReturnsNullIsNotDependent()
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 14:01:57 UTC (rev 259)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 14:40:22 UTC (rev 260)
@@ -5,7 +5,8 @@
import java.util.HashMap;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.ProducerBean;
+import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -42,19 +43,29 @@
return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}
- public static <T> ProducerBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager)
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager, AbstractBean<?> declaringBean)
{
- return new ProducerBean<T>(createProducerModel(type, method, null, manager), manager);
+ return new ProducerMethodBean<T>(createProducerModel(type, method, null, manager, declaringBean), manager);
}
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager)
+ {
+ return createProducerMethodBean(type, method, manager, null);
+ }
+
public static <T> ProducerMethodBeanModel<T> createProducerModel(Class<T> type, Method method, ManagerImpl manager)
{
return createProducerModel(type, method, null, manager);
}
+ public static <T> ProducerMethodBeanModel<T> createProducerModel(Class<T> type, Method method, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager, AbstractBean<?> declaringBean)
+ {
+ return new ProducerMethodBeanModel<T>(new SimpleAnnotatedMethod<T>(method), xmlAnnotatedMethod, manager, declaringBean);
+ }
+
public static <T> ProducerMethodBeanModel<T> createProducerModel(Class<T> type, Method method, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager)
{
- return new ProducerMethodBeanModel<T>(new SimpleAnnotatedMethod<T>(method), xmlAnnotatedMethod, manager);
+ return createProducerModel(type, method, xmlAnnotatedMethod, manager, null);
}
@Deprecated
15 years, 5 months
[webbeans-commits] Webbeans SVN: r259 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/model/bean and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-06 09:01:57 -0500 (Thu, 06 Nov 2008)
New Revision: 259
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FunnelWeaver.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java
Log:
Finish producer model tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-06 13:40:53 UTC (rev 258)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-06 14:01:57 UTC (rev 259)
@@ -2,6 +2,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
@@ -14,7 +15,7 @@
public class SimpleAnnotatedMethod<T> extends AbstractAnnotatedMember<T, Method> implements AnnotatedMethod<T>
{
- private static final Type[] actualTypeArgements = new Type[0];
+ private Type[] actualTypeArgements = new Type[0];
private Method method;
@@ -25,6 +26,10 @@
{
super(buildAnnotationMap(method));
this.method = method;
+ if (method.getGenericReturnType() instanceof ParameterizedType)
+ {
+ actualTypeArgements = ((ParameterizedType) method.getGenericReturnType()).getActualTypeArguments();
+ }
}
public Method getAnnotatedMethod()
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 13:40:53 UTC (rev 258)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 14:01:57 UTC (rev 259)
@@ -110,6 +110,16 @@
{
throw new DefinitionException("Producer method cannot have parameter annotated @Disposes");
}
+ else if (getAnnotatedItem().getActualTypeArguments().length > 0)
+ {
+ for (Type type : getAnnotatedItem().getActualTypeArguments())
+ {
+ if (!(type instanceof Class))
+ {
+ throw new DefinitionException("Producer method cannot return type parameterized with type parameter or wildcard");
+ }
+ }
+ }
}
protected void initRemoveMethod(ManagerImpl container)
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-06 13:40:53 UTC (rev 258)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-06 14:01:57 UTC (rev 259)
@@ -1,5 +1,7 @@
package org.jboss.webbeans.test;
+import javax.webbeans.DefinitionException;
+
import org.testng.annotations.Test;
public class ProducerMethodBeanLifecycleTest
@@ -40,4 +42,17 @@
assert false;
}
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testProducerMethodReturnsNullIsDependent()
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodReturnsNullIsNotDependent()
+ {
+
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 13:40:53 UTC (rev 258)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 14:01:57 UTC (rev 259)
@@ -18,6 +18,7 @@
import org.jboss.webbeans.test.beans.DaddyLongLegs;
import org.jboss.webbeans.test.beans.DeadlyAnimal;
import org.jboss.webbeans.test.beans.DeadlySpider;
+import org.jboss.webbeans.test.beans.FunnelWeaver;
import org.jboss.webbeans.test.beans.LadybirdSpider;
import org.jboss.webbeans.test.beans.Spider;
import org.jboss.webbeans.test.beans.SpiderProducer;
@@ -49,43 +50,39 @@
createProducerModel(String.class, method, manager);
}
- @Test(groups={"producerMethod", "enterpiseBeans"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ @Test(groups={"producerMethod", "enterpriseBeans"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
public void testProducerMethodIsNotBusinessMethod() throws Exception
{
assert false;
}
-
@Test(groups="producerMethod") @SpecAssertion(section="3.4")
- public void testProducerMethodReturnsNullIsDependent()
+ public void testParameterizedReturnType() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("getFunnelWeaverSpider");
+ createProducerModel(FunnelWeaver.class, method, manager);
}
@Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
- public void testProducerMethodReturnsNullIsNotDependent()
+ public void testParameterizedReturnTypeWithWildcard() throws Exception
{
-
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("getAnotherFunnelWeaver");
+ createProducerModel(FunnelWeaver.class, method, manager);
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.4")
- public void testParameterizedReturnType()
- {
- assert false;
- }
-
@Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
- public void testParameterizedReturnTypeWithWildcard()
+ public void testParameterizedReturnTypeWithTypeParameter() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("getFunnelWeaver");
+ createProducerModel(FunnelWeaver.class, method, manager);
}
- @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
- public void testParameterizedReturnTypeWithTypeParameter()
- {
- assert false;
- }
-
@Test(groups={"producerMethod", "deployment"}) @SpecAssertion(section="3.4")
public void testBeanDeclaresMultipleProducerMethods()
{
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FunnelWeaver.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FunnelWeaver.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FunnelWeaver.java 2008-11-06 14:01:57 UTC (rev 259)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.test.beans;
+
+public class FunnelWeaver<T>
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FunnelWeaver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java 2008-11-06 13:40:53 UTC (rev 258)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java 2008-11-06 14:01:57 UTC (rev 259)
@@ -69,5 +69,22 @@
{
return ALL_SPIDERS;
}
+
+ @Produces public <T> FunnelWeaver<T> getFunnelWeaver()
+ {
+ return new FunnelWeaver<T>();
+ }
+
+ @Produces public FunnelWeaver<?> getAnotherFunnelWeaver()
+ {
+ return new FunnelWeaver<Object>();
+ }
+
+ @Produces public FunnelWeaver<Spider> getFunnelWeaverSpider()
+ {
+ return new FunnelWeaver<Spider>();
+ }
+
+
}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r258 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/model/bean and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-06 08:40:53 -0500 (Thu, 06 Nov 2008)
New Revision: 258
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/WolfSpider.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalProducerMethod.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/AnimalStereotype.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/LadybirdSpider.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Start to fix producer tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,22 +1,23 @@
package org.jboss.webbeans.bean;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.model.bean.BeanModel;
+import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
public class ProducerBean<T> extends AbstractBean<T>
{
+
+ private ProducerMethodBeanModel<T> model;
- public ProducerBean(ManagerImpl manager)
+ public ProducerBean(ProducerMethodBeanModel<T> model, ManagerImpl manager)
{
super(manager);
- // TODO Auto-generated constructor stub
+ this.model = model;
}
@Override
- public BeanModel<T, ?> getModel()
+ public ProducerMethodBeanModel<T> getModel()
{
- // TODO Auto-generated method stub
- return null;
+ return model;
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -41,7 +41,7 @@
protected Class<? extends Annotation> deploymentType;
protected Class<T> type;
protected InjectableMethod<?> removeMethod;
- private Set<Class<?>> apiTypes;
+ protected Set<Class<?>> apiTypes;
protected Set<Injectable<?, ?>> injectionPoints;
private boolean primitive;
protected ManagerImpl manager;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -4,10 +4,13 @@
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.util.HashSet;
import java.util.Set;
import javax.webbeans.DefinitionException;
-import javax.webbeans.Dependent;
+import javax.webbeans.Destructor;
+import javax.webbeans.Disposes;
+import javax.webbeans.Observes;
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.injectable.InjectableMethod;
@@ -22,7 +25,7 @@
private MethodConstructor<T> constructor;
- private AnnotatedItem<T, Method> xmlAnnotatedItem = null /*new SimpleAnnotatedItem<T, Method>(new HashMap<Class<? extends Annotation>, Annotation>())*/;
+ private AnnotatedItem<T, Method> xmlAnnotatedItem;
private AnnotatedMethod<T> annotatedMethod;
private BeanModel<?, ?> declaringBean;
@@ -31,10 +34,11 @@
private String location;
private Type declaredBeanType;
- public ProducerMethodBeanModel(AnnotatedMethod<T> annotatedMethod, ManagerImpl container)
+ public ProducerMethodBeanModel(AnnotatedMethod<T> annotatedMethod, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager)
{
this.annotatedMethod = annotatedMethod;
- init(container);
+ this.xmlAnnotatedItem = xmlAnnotatedMethod;
+ init(manager);
}
@Override
@@ -80,7 +84,6 @@
protected void initDeclaringBean(ManagerImpl container)
{
- // TODO replace
declaringBean = container.getModelManager().getBeanModel(getAnnotatedItem().getDelegate().getDeclaringClass());
}
@@ -95,11 +98,18 @@
{
throw new DefinitionException("Producer method cannot be static " + annotatedMethod);
}
- // TODO Check if declaring class is a WB bean
- if (!getScopeType().equals(Dependent.class) && getAnnotatedItem().isFinal())
+ else if (getAnnotatedItem().isAnnotationPresent(Destructor.class))
{
- throw new RuntimeException("Final producer method must have @Dependent scope " + annotatedMethod);
+ throw new DefinitionException("Producer method cannot be annotated @Destructor");
}
+ else if (getAnnotatedItem().getAnnotatedParameters(Observes.class).size() > 0)
+ {
+ throw new DefinitionException("Producer method cannot have parameter annotated @Observes");
+ }
+ else if (getAnnotatedItem().getAnnotatedParameters(Disposes.class).size() > 0)
+ {
+ throw new DefinitionException("Producer method cannot have parameter annotated @Disposes");
+ }
}
protected void initRemoveMethod(ManagerImpl container)
@@ -165,6 +175,26 @@
}
}
+ @Override
+ protected void initApiTypes()
+ {
+ if (getType().isArray() || getType().isPrimitive())
+ {
+ super.apiTypes = new HashSet<Class<?>>();
+ super.apiTypes.add(getType());
+ super.apiTypes.add(Object.class);
+ }
+ else if (getType().isInterface())
+ {
+ super.initApiTypes();
+ super.apiTypes.add(Object.class);
+ }
+ else
+ {
+ super.initApiTypes();
+ }
+ }
+
private Type getDeclaredBeanType()
{
if (declaredBeanType == null)
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,5 +1,6 @@
package org.jboss.webbeans.test;
+import static org.jboss.webbeans.test.util.Util.createProducerModel;
import static org.jboss.webbeans.test.util.Util.createSimpleModel;
import java.lang.reflect.Method;
@@ -10,7 +11,6 @@
import org.jboss.webbeans.contexts.AbstractContext;
import org.jboss.webbeans.contexts.RequestContext;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.beans.SpiderProducer;
@@ -70,7 +70,7 @@
SimpleBeanModel<SpiderProducer> producer = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(producer);
Method nullProducer = SpiderProducer.class.getMethod("produceShelob");
- ProducerMethodBeanModel<Tarantula> producerModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(nullProducer), manager);
+ ProducerMethodBeanModel<Tarantula> producerModel = createProducerModel(Tarantula.class, nullProducer, manager);
//Bean<Tarantula> shelobBean = new ProducerBeanImpl<Tarantula>(producerModel, manager);
//assert context.get(shelobBean, true) == null;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,14 +1,14 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import static org.jboss.webbeans.test.util.Util.createProducerModel;
+import static org.jboss.webbeans.test.util.Util.createSimpleModel;
import java.lang.reflect.Method;
import javax.webbeans.Current;
import javax.webbeans.DefinitionException;
+import javax.webbeans.RequestScoped;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
@@ -18,10 +18,13 @@
import org.jboss.webbeans.test.beans.DaddyLongLegs;
import org.jboss.webbeans.test.beans.DeadlyAnimal;
import org.jboss.webbeans.test.beans.DeadlySpider;
+import org.jboss.webbeans.test.beans.LadybirdSpider;
import org.jboss.webbeans.test.beans.Spider;
import org.jboss.webbeans.test.beans.SpiderProducer;
import org.jboss.webbeans.test.beans.Tarantula;
+import org.jboss.webbeans.test.beans.WolfSpider;
import org.jboss.webbeans.test.beans.broken.BeanWithStaticProducerMethod;
+import org.jboss.webbeans.test.beans.broken.BrokenSpiderProducer;
import org.testng.annotations.Test;
public class ProducerMethodBeanModelTest extends AbstractTest
@@ -30,23 +33,23 @@
@Test(groups="producerMethod") @SpecAssertion(section="2.5.3")
public void testProducerMethodInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTameTarantula");
- ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
+ ProducerMethodBeanModel<Tarantula> tarantulaModel = createProducerModel(Tarantula.class, method, manager);
tarantulaModel.getDeploymentType().equals(AnotherDeploymentType.class);
}
@Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
public void testStaticMethod() throws Exception
{
- SimpleBeanModel<BeanWithStaticProducerMethod> model = new SimpleBeanModel<BeanWithStaticProducerMethod>(new SimpleAnnotatedClass<BeanWithStaticProducerMethod>(BeanWithStaticProducerMethod.class), getEmptyAnnotatedType(BeanWithStaticProducerMethod.class), manager);
+ SimpleBeanModel<BeanWithStaticProducerMethod> model = createSimpleModel(BeanWithStaticProducerMethod.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = BeanWithStaticProducerMethod.class.getMethod("getString");
- new ProducerMethodBeanModel<String>(new SimpleAnnotatedMethod<String>(method), manager);
+ createProducerModel(String.class, method, manager);
}
- @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ @Test(groups={"producerMethod", "enterpiseBeans"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
public void testProducerMethodIsNotBusinessMethod() throws Exception
{
assert false;
@@ -83,7 +86,7 @@
assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ @Test(groups={"producerMethod", "deployment"}) @SpecAssertion(section="3.4")
public void testBeanDeclaresMultipleProducerMethods()
{
assert false;
@@ -92,10 +95,10 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.4")
public void testDefaultBindingType() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTarantula");
- ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
+ ProducerMethodBeanModel<Tarantula> tarantulaModel = createProducerModel(Tarantula.class, method, manager);
assert tarantulaModel.getBindingTypes().size() == 1;
assert tarantulaModel.getBindingTypes().iterator().next().annotationType().equals(Current.class);
}
@@ -103,37 +106,62 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
public void testApiTypeForClassReturn() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTarantula");
- ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
+ ProducerMethodBeanModel<Tarantula> tarantulaModel = createProducerModel(Tarantula.class, method, manager);
+ assert tarantulaModel.getApiTypes().size() == 6;
assert tarantulaModel.getApiTypes().contains(Tarantula.class);
assert tarantulaModel.getApiTypes().contains(DeadlySpider.class);
assert tarantulaModel.getApiTypes().contains(Spider.class);
assert tarantulaModel.getApiTypes().contains(Animal.class);
assert tarantulaModel.getApiTypes().contains(DeadlyAnimal.class);
- assert !tarantulaModel.getApiTypes().contains(Object.class);
+ assert tarantulaModel.getApiTypes().contains(Object.class);
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForInterfaceReturn() throws Exception
+ {
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("makeASpider");
+ ProducerMethodBeanModel<Animal> animalModel = createProducerModel(Animal.class, method, manager);
+ assert animalModel.getApiTypes().size() == 2;
+ assert animalModel.getApiTypes().contains(Animal.class);
+ assert animalModel.getApiTypes().contains(Object.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
public void testApiTypeForPrimitiveReturn() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("getWolfSpiderSize");
+ ProducerMethodBeanModel<Integer> intModel = createProducerModel(int.class, method, manager);
+ assert intModel.getApiTypes().size() == 2;
+ assert intModel.getApiTypes().contains(int.class);
+ assert intModel.getApiTypes().contains(Object.class);
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
public void testApiTypeForArrayTypeReturn() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("getSpiders");
+ ProducerMethodBeanModel<Spider[]> spidersModel = createProducerModel(Spider[].class, method, manager);
+ assert spidersModel.getApiTypes().size() == 2;
+ assert spidersModel.getApiTypes().contains(Spider[].class);
+ assert spidersModel.getApiTypes().contains(Object.class);
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
public void testBindingType() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTameTarantula");
- ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
+ ProducerMethodBeanModel<Tarantula> tarantulaModel = createProducerModel(Tarantula.class, method, manager);
assert tarantulaModel.getBindingTypes().size() == 1;
assert tarantulaModel.getBindingTypes().iterator().next().annotationType().equals(Tame.class);
}
@@ -141,51 +169,70 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
public void testScopeType() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
+ ProducerMethodBeanModel<DaddyLongLegs> daddyLongLegsModel = createProducerModel(DaddyLongLegs.class, method, manager);
+ assert daddyLongLegsModel.getScopeType().equals(RequestScoped.class);
+
+ // TODO Inherit scope from returned web bean?
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
public void testDeploymentType() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("getLadybirdSpider");
+ ProducerMethodBeanModel<LadybirdSpider> ladybirdSpiderModel = createProducerModel(LadybirdSpider.class, method, manager);
+ assert ladybirdSpiderModel.getDeploymentType().equals(AnotherDeploymentType.class);
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
public void testNamedMethod() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceBlackWidow");
- ProducerMethodBeanModel<BlackWidow> blackWidowSpiderModel = new ProducerMethodBeanModel<BlackWidow>(new SimpleAnnotatedMethod<BlackWidow>(method), manager);
+ ProducerMethodBeanModel<BlackWidow> blackWidowSpiderModel = createProducerModel(BlackWidow.class, method, manager);
assert blackWidowSpiderModel.getName().equals("blackWidow");
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
public void testDefaultNamedMethod() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
- ProducerMethodBeanModel<DaddyLongLegs> daddyLongLegsSpiderModel = new ProducerMethodBeanModel<DaddyLongLegs>(new SimpleAnnotatedMethod<DaddyLongLegs>(method), manager);
+ ProducerMethodBeanModel<DaddyLongLegs> daddyLongLegsSpiderModel = createProducerModel(DaddyLongLegs.class, method, manager);
assert daddyLongLegsSpiderModel.getName().equals("produceDaddyLongLegs");
}
@Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
- public void testProducerMethodAnnotatedObserver()
+ public void testProducerMethodAnnotatedDestructor() throws Exception
{
- assert false;
+ SimpleBeanModel<BrokenSpiderProducer> model = createSimpleModel(BrokenSpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = BrokenSpiderProducer.class.getMethod("destroy");
+ createProducerModel(String.class, method, manager);
}
@Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
- public void testProducerMethodWithParameterAnnotatedDisposes()
+ public void testProducerMethodWithParameterAnnotatedDisposes() throws Exception
{
- assert false;
+ SimpleBeanModel<BrokenSpiderProducer> model = createSimpleModel(BrokenSpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = BrokenSpiderProducer.class.getMethod("dispose", String.class);
+ createProducerModel(String.class, method, manager);
}
@Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
- public void testProducerMethodWithParameterAnnotatedObserves()
+ public void testProducerMethodWithParameterAnnotatedObserves() throws Exception
{
- assert false;
+ SimpleBeanModel<BrokenSpiderProducer> model = createSimpleModel(BrokenSpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = BrokenSpiderProducer.class.getMethod("observe", String.class);
+ createProducerModel(String.class, method, manager);
}
@Test(groups="disposalMethod") @SpecAssertion(section="3.3.4")
@@ -249,8 +296,14 @@
}
@Test(groups="producerMethod") @SpecAssertion(section={"2.7.2", "3.4.2"})
- public void testSingleStereotype()
+ public void testStereotype() throws Exception
{
- assert false;
+ SimpleBeanModel<SpiderProducer> model = createSimpleModel(SpiderProducer.class, manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("produceWolfSpider");
+ ProducerMethodBeanModel<WolfSpider> wolfSpiderModel = createProducerModel(WolfSpider.class, method, manager);
+ assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().size() == 1;
+ assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().contains(Animal.class);
+ assert wolfSpiderModel.getScopeType().equals(RequestScoped.class);
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/AnimalStereotype.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/AnimalStereotype.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/AnimalStereotype.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,5 +1,6 @@
package org.jboss.webbeans.test.annotations;
+import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@@ -12,7 +13,7 @@
import org.jboss.webbeans.test.beans.Animal;
@Stereotype(requiredTypes=Animal.class)
-@Target( { TYPE })
+@Target( { TYPE, METHOD })
@Retention(RUNTIME)
@RequestScoped
public @interface AnimalStereotype
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/LadybirdSpider.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/LadybirdSpider.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/LadybirdSpider.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,5 +1,8 @@
package org.jboss.webbeans.test.beans;
+import javax.webbeans.ApplicationScoped;
+
+@ApplicationScoped
public class LadybirdSpider extends Spider
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SpiderProducer.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -3,7 +3,9 @@
import javax.webbeans.Dependent;
import javax.webbeans.Named;
import javax.webbeans.Produces;
+import javax.webbeans.RequestScoped;
+import org.jboss.webbeans.test.annotations.AnimalStereotype;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Tame;
@@ -11,6 +13,8 @@
public class SpiderProducer
{
+ private static Spider[] ALL_SPIDERS = { new Tarantula(), new LadybirdSpider(), new DaddyLongLegs() };
+
@Produces @Tame public Tarantula produceTameTarantula()
{
return new DefangedTarantula();
@@ -31,18 +35,39 @@
return new BlackWidow();
}
- @Produces @Named public DaddyLongLegs produceDaddyLongLegs()
+ @Produces @Named @RequestScoped public DaddyLongLegs produceDaddyLongLegs()
{
return new DaddyLongLegs();
}
- @Produces @Named public LadybirdSpider getLadybirdSpider()
+ @Produces @Named @AnotherDeploymentType public LadybirdSpider getLadybirdSpider()
{
return new LadybirdSpider();
}
- @Produces @Named("Shelob") public Tarantula produceShelob() {
+ @Produces @Named("Shelob") public Tarantula produceShelob()
+ {
return null;
}
+
+ @Produces @AnimalStereotype public WolfSpider produceWolfSpider()
+ {
+ return new WolfSpider();
+ }
+
+ @Produces public Animal makeASpider()
+ {
+ return new WolfSpider();
+ }
+
+ @Produces public int getWolfSpiderSize()
+ {
+ return 4;
+ }
+
+ @Produces public Spider[] getSpiders()
+ {
+ return ALL_SPIDERS;
+ }
}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/WolfSpider.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/WolfSpider.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/WolfSpider.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.test.beans;
+
+public class WolfSpider implements Animal
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/WolfSpider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalProducerMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalProducerMethod.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalProducerMethod.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,16 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.webbeans.Produces;
-import javax.webbeans.Production;
-import javax.webbeans.RequestScoped;
-
-@Production
-public class BeanWithFinalProducerMethod
-{
-
- @Produces @RequestScoped public final String getString()
- {
- return "Pete";
- }
-
-}
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java (from rev 257, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalProducerMethod.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -0,0 +1,31 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Destructor;
+import javax.webbeans.Disposes;
+import javax.webbeans.Observes;
+import javax.webbeans.Produces;
+import javax.webbeans.Production;
+
+@Production
+public class BrokenSpiderProducer
+{
+
+ @Produces
+ public String observe(@Observes String foo)
+ {
+ return "foo";
+ }
+
+ @Produces
+ public String dispose(@Disposes String foo)
+ {
+ return "foo";
+ }
+
+ @Produces @Destructor
+ public String destroy()
+ {
+ return "foo";
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BrokenSpiderProducer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 11:55:14 UTC (rev 257)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 13:40:53 UTC (rev 258)
@@ -1,13 +1,18 @@
package org.jboss.webbeans.test.util;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
import java.util.HashMap;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.bean.ProducerBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
+import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
public class Util
@@ -37,7 +42,20 @@
return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}
+ public static <T> ProducerBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager)
+ {
+ return new ProducerBean<T>(createProducerModel(type, method, null, manager), manager);
+ }
+ public static <T> ProducerMethodBeanModel<T> createProducerModel(Class<T> type, Method method, ManagerImpl manager)
+ {
+ return createProducerModel(type, method, null, manager);
+ }
+
+ public static <T> ProducerMethodBeanModel<T> createProducerModel(Class<T> type, Method method, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager)
+ {
+ return new ProducerMethodBeanModel<T>(new SimpleAnnotatedMethod<T>(method), xmlAnnotatedMethod, manager);
+ }
@Deprecated
public static <T> AnnotatedClass<T> getEmptyAnnotatedType(Class<T> type)
15 years, 5 months
[webbeans-commits] Webbeans SVN: r257 - in ri/trunk/webbeans-ri: src/main/java/org/jboss/webbeans/model/bean and 9 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-06 06:55:14 -0500 (Thu, 06 Nov 2008)
New Revision: 257
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/lifecycle/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/lifecycle/EnterpriseBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Armant.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Beagle.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Boxer.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Bullmastiff.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Dachshund.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/GoldenRetriever.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Greyhound.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Husky.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/IrishTerrier.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/JackRussellTerrier.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pekingese.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Poodle.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pug.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pumi.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RequestScopedStateless.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Rottweiler.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RussellTerrier.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Saluki.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Spitz.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Toller.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/WelshCorgie.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Whippet.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreatDane.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreaterDane.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Hound.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/HoundOfBaskerville.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Laika.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Pitbull.java
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreatDane.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Laika.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Pitbull.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Armant.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Beagle.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Boxer.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Bullmastiff.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dachshund.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/GoldenRetriever.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Greyhound.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Husky.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/IrishTerrier.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/JackRussellTerrier.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pekingese.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Poodle.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pug.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pumi.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RequestScopedStateless.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Rottweiler.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RussellTerrier.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Saluki.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Spitz.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Toller.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/WelshCorgie.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Whippet.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
ri/trunk/webbeans-ri/testng.xml
Log:
EJB restructure tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -39,6 +39,7 @@
private AnnotatedClass<T> xmlAnnotatedItem;
private Set<InjectableField<?>> injectableFields;
private Set<InjectableMethod<Object>> initializerMethods;
+ protected boolean annotationDefined;
/**
*
@@ -50,6 +51,7 @@
{
this.annotatedItem = annotatedItem;
this.xmlAnnotatedItem = xmlAnnotatedItem;
+ annotationDefined = annotatedItem != null ? true : false;
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -5,8 +5,10 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
import javax.webbeans.Interceptor;
+import javax.webbeans.Specializes;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.ejb.EJB;
import org.jboss.webbeans.ejb.EjbMetaData;
import org.jboss.webbeans.introspector.AnnotatedClass;
@@ -30,12 +32,43 @@
checkEnterpriseBeanTypeAllowed();
checkEnterpriseScopeAllowed();
checkConflictingRoles();
+ checkSpecialization();
}
-
+
+ private void checkSpecialization()
+ {
+ if (!getType().isAnnotationPresent(Specializes.class))
+ {
+ return;
+ }
+ if (annotationDefined)
+ {
+ if (!isEJB(getType().getSuperclass()))
+ {
+ throw new DefinitionException("Annotation defined specializing EJB must have EJB superclass");
+ }
+ } else
+ {
+ if (!isEJB(getType()))
+ {
+ throw new DefinitionException("XML defined specializing EJB must have annotation defined EJB implementation");
+ }
+ }
+ }
+
+ private boolean isEJB(Class<? super T> clazz)
+ {
+ return clazz.isAnnotationPresent(EJB.SINGLETON_ANNOTATION)
+ || clazz.isAnnotationPresent(EJB.STATEFUL_ANNOTATION)
+ || clazz.isAnnotationPresent(EJB.STATELESS_ANNOTATION);
+ }
+
private void checkEnterpriseBeanTypeAllowed()
{
- if (getEjbMetaData().isMessageDriven()) {
- throw new DefinitionException("Message Driven Beans can't be Web Beans");
+ if (getEjbMetaData().isMessageDriven())
+ {
+ throw new DefinitionException(
+ "Message Driven Beans can't be Web Beans");
}
}
@@ -43,29 +76,45 @@
{
return ejbMetaData;
}
-
- protected void checkConflictingRoles() {
- if (getType().isAnnotationPresent(Interceptor.class)) {
+
+ protected void checkConflictingRoles()
+ {
+ if (getType().isAnnotationPresent(Interceptor.class))
+ {
throw new DefinitionException("Enterprise beans can't be interceptors");
}
- if (getType().isAnnotationPresent(Decorator.class)) {
+ if (getType().isAnnotationPresent(Decorator.class))
+ {
throw new DefinitionException("Enterprise beans can't be decorators");
}
}
-
+
/**
- * Check that the scope type is allowed by the stereotypes on the bean and the bean type
- * @param type
+ * Check that the scope type is allowed by the stereotypes on the bean and
+ * the bean type
+ *
+ * @param type
*/
protected void checkEnterpriseScopeAllowed()
{
- if (getEjbMetaData().isStateless() && !getScopeType().equals(Dependent.class))
+ if (getEjbMetaData().isStateless()
+ && !getScopeType().equals(Dependent.class))
{
- throw new DefinitionException("Scope " + getScopeType() + " is not allowed on stateless enterpise beans for " + getType() + ". Only @Dependent is allowed on stateless enterprise beans");
+ throw new DefinitionException("Scope " + getScopeType()
+ + " is not allowed on stateless enterpise beans for "
+ + getType()
+ + ". Only @Dependent is allowed on stateless enterprise beans");
}
- if (getEjbMetaData().isSingleton() && (!(getScopeType().equals(Dependent.class) || getScopeType().equals(ApplicationScoped.class))))
+ if (getEjbMetaData().isSingleton()
+ && (!(getScopeType().equals(Dependent.class) || getScopeType()
+ .equals(ApplicationScoped.class))))
{
- throw new DefinitionException("Scope " + getScopeType() + " is not allowed on singleton enterpise beans for " + getType() + ". Only @Dependent or @ApplicationScoped is allowed on singleton enterprise beans");
+ throw new DefinitionException(
+ "Scope "
+ + getScopeType()
+ + " is not allowed on singleton enterpise beans for "
+ + getType()
+ + ". Only @Dependent or @ApplicationScoped is allowed on singleton enterprise beans");
}
}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanLifecycleTest.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanLifecycleTest.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,22 +0,0 @@
-package org.jboss.webbeans.test;
-
-import org.testng.annotations.Test;
-
-public class EnterpriseBeanLifecycleTest
-{
-
- @Test(groups="removeMethod") @SpecAssertion(section="3.2.3")
- public void testInjectonOfParametersIntoRemoveMethod()
- {
- // TODO Placeholder
- assert false;
- }
-
- @Test(groups="specialization") @SpecAssertion(section="3.2.4")
- public void testSpecializedBeanAlwaysUsed()
- {
- // TODO Placeholder
- assert false;
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,428 +0,0 @@
-package org.jboss.webbeans.test;
-
-import javax.webbeans.DefinitionException;
-import javax.webbeans.DeploymentException;
-import javax.webbeans.UnremovedException;
-
-import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
-import org.jboss.webbeans.test.beans.Giraffe;
-import org.jboss.webbeans.test.beans.GreatDane;
-import org.jboss.webbeans.test.beans.GreaterDane;
-import org.jboss.webbeans.test.beans.Laika;
-import org.jboss.webbeans.test.beans.Leopard;
-import org.jboss.webbeans.test.beans.Pitbull;
-import org.jboss.webbeans.test.beans.broken.Armant;
-import org.jboss.webbeans.test.beans.broken.Beagle;
-import org.jboss.webbeans.test.beans.broken.Boxer;
-import org.jboss.webbeans.test.beans.broken.Bullmastiff;
-import org.jboss.webbeans.test.beans.broken.Dachshund;
-import org.jboss.webbeans.test.beans.broken.GoldenRetriever;
-import org.jboss.webbeans.test.beans.broken.Greyhound;
-import org.jboss.webbeans.test.beans.broken.Husky;
-import org.jboss.webbeans.test.beans.broken.IrishTerrier;
-import org.jboss.webbeans.test.beans.broken.JackRussellTerrier;
-import org.jboss.webbeans.test.beans.broken.Pekingese;
-import org.jboss.webbeans.test.beans.broken.Poodle;
-import org.jboss.webbeans.test.beans.broken.Pug;
-import org.jboss.webbeans.test.beans.broken.Pumi;
-import org.jboss.webbeans.test.beans.broken.Rottweiler;
-import org.jboss.webbeans.test.beans.broken.RussellTerrier;
-import org.jboss.webbeans.test.beans.broken.Saluki;
-import org.jboss.webbeans.test.beans.broken.Spitz;
-import org.jboss.webbeans.test.beans.broken.Toller;
-import org.jboss.webbeans.test.beans.broken.WelshCorgie;
-import org.jboss.webbeans.test.beans.broken.Whippet;
-import org.jboss.webbeans.test.util.Util;
-import org.testng.annotations.Test;
-
-@SuppressWarnings("unused")
-@SpecVersion("PDR")
-public class EnterpriseBeanModelTest extends AbstractTest
-{
-
- @Test
- @SpecAssertion(section = "3.3")
- public void testStatelessWithDependentScopeOK()
- {
- EnterpriseBeanModel<Giraffe> giraffe = Util.createEnterpriseBeanModel(Giraffe.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testStatelessWithRequestScopeFails()
- {
- EnterpriseBeanModel<Beagle> beagle = Util.createEnterpriseBeanModel(Beagle.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testStatelessWithConversationScopeFails()
- {
- EnterpriseBeanModel<Boxer> boxer = Util.createEnterpriseBeanModel(Boxer.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testStatelessWithSessionScopeFails()
- {
- EnterpriseBeanModel<Bullmastiff> boxer = Util.createEnterpriseBeanModel(Bullmastiff.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testStatelessWithApplicationScopeFails()
- {
- EnterpriseBeanModel<Dachshund> dachshund = Util.createEnterpriseBeanModel(Dachshund.class, manager);
- }
-
- @Test
- @SpecAssertion(section = "3.3")
- public void testSingletonWithDependentScopeOK()
- {
- EnterpriseBeanModel<GreatDane> greatDane = Util.createEnterpriseBeanModel(GreatDane.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testSingletonWithRequestScopeFails()
- {
- EnterpriseBeanModel<Greyhound> greyhound = Util.createEnterpriseBeanModel(Greyhound.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testSingletonWithConversationScopeFails()
- {
- EnterpriseBeanModel<Husky> husky = Util.createEnterpriseBeanModel(Husky.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testSingletonWithSessionScopeFails()
- {
- EnterpriseBeanModel<IrishTerrier> irishTerrier = Util.createEnterpriseBeanModel(IrishTerrier.class, manager);
- }
-
- @Test
- @SpecAssertion(section = "3.3")
- public void testSingletonWithApplicationScopeOK()
- {
- EnterpriseBeanModel<Laika> laika = Util.createEnterpriseBeanModel(Laika.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testEnterpriseBeanInterceptorFails()
- {
- EnterpriseBeanModel<Pug> pug = Util.createEnterpriseBeanModel(Pug.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testEnterpriseBeanDecoratorFails()
- {
- EnterpriseBeanModel<Pekingese> pekingese = Util.createEnterpriseBeanModel(Pekingese.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class, groups="enterpriseBeans")
- @SpecAssertion(section = "3.3")
- public void testMultipleAnnotationDefinedEnterpriseBeansWithSameImplementationClassFails()
- {
- assert false;
- }
-
- @Test(groups={"webbeansxml", "enterpriseBeans"})
- @SpecAssertion(section = "3.3")
- public void testMultipleXMLDefinedEnterpriseBeansWithSameImplementationClassOK()
- {
- assert false;
- }
-
- @Test(expectedExceptions = DeploymentException.class, groups={"enterpriseBeans", "specialization"})
- @SpecAssertion(section = "3.3")
- public void testMultipleEnabledSpecializedEnterpriseBeanFails()
- {
- assert false;
- }
-
- @Test(groups="enterpriseBeans")
- @SpecAssertion(section = "3.3.1")
- public void testAnnotatedEnterpriseBean()
- {
- assert false;
- }
-
- @Test(groups="enterpriseBeans")
- @SpecAssertion(section = "3.3.1")
- public void testAnnotatedEnterpriseBeanComplementedWithXML()
- {
- assert false;
- }
-
- @Test(groups={"enterpriseBeans", "ejbjarxml"})
- @SpecAssertion(section = "3.3.1")
- public void testEJBJARDefinedEnterpriseBean()
- {
- assert false;
- }
-
- @Test(groups={"enterpriseBeans", "ejbjarxml"})
- @SpecAssertion(section = "3.3.1")
- public void testEJBJARDefinedEnterpriseBeanComplementedWithXML()
- {
- assert false;
- }
-
- @Test(groups="enterpriseBeans")
- @SpecAssertion(section = "3.3.2")
- public void testAPITypesAreLocalInterfacesWithoutWildcardTypesOrTypeVariablesWithSuperInterfaces()
- {
- assert false;
- }
-
- @Test(groups="enterpriseBeans")
- @SpecAssertion(section = "3.3.2")
- public void testEnterpriseBeanWithLocalViewAndParameterizedTypeIncludesBeanClassAndSuperclassesInAPITypes()
- {
- assert false;
- }
-
- @Test
- @SpecAssertion(section = "3.3.2")
- public void testObjectIsInAPITypes()
- {
- EnterpriseBeanModel<Laika> laika = Util.createEnterpriseBeanModel(Laika.class, manager);
- assert laika.getApiTypes().contains(Object.class);
- }
-
- @Test(groups="enterpriseBeans")
- @SpecAssertion(section = "3.3.2")
- public void testRemoteInterfacesAreNotInAPITypes()
- {
- assert false;
- }
-
- @Test(groups={"enterpriseBeans", "producerMethod", "observerMethod", "renoveMethod", "webbeansxml"})
- @SpecAssertion(section = "3.3.4")
- public void testXMLDefinedEnterpriseBeanIgnoresProducerAndDisposalAndObserverAnnotations()
- {
- assert false;
- }
-
- @Test(expectedExceptions = DefinitionException.class, groups={"enterpriseBeans", "ejbjarxml", "singletons"})
- @SpecAssertion(section = "3.3.4")
- public void testXMLDefinedSingletonsFail()
- {
- assert false;
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3")
- public void testMessageDrivenBeansNotOK()
- {
- EnterpriseBeanModel<Leopard> Leopard = Util.createEnterpriseBeanModel(Leopard.class, manager);
- }
-
- @Test(groups={"enterpriseBeans", "removeMethod"})
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanRemoveMethodCalledOnDestroy()
- {
- assert false;
- }
-
- @Test
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanWithoutRemoveMethodInDependentScopeOK()
- {
- EnterpriseBeanModel<Pitbull> pitbull = Util.createEnterpriseBeanModel(Pitbull.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanWithoutRemoveMethodInApplicationScopeFails()
- {
- EnterpriseBeanModel<Poodle> poodle = Util.createEnterpriseBeanModel(Poodle.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanWithoutRemoveMethodInSessionScopeFails()
- {
- EnterpriseBeanModel<Rottweiler> rottweiler = Util.createEnterpriseBeanModel(Rottweiler.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanWithoutRemoveMethodInConversationScopeFails()
- {
- EnterpriseBeanModel<Spitz> spitz = Util.createEnterpriseBeanModel(Spitz.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanWithoutRemoveMethodInRequestScopeFails()
- {
- EnterpriseBeanModel<Saluki> saluki = Util.createEnterpriseBeanModel(Saluki.class, manager);
- }
-
- @Test(expectedExceptions = UnremovedException.class, groups={"enterpriseMethods", "removeMethod"})
- @SpecAssertion(section = "3.3.5")
- public void testStatefulEnterpriseBeanWithoutRemoveMethodNotExplicitlyDestroyedBeforeManagerAttemptFails()
- {
- assert false;
- }
-
- @Test(groups={"enterpriseBeans", "removeMethod"})
- @SpecAssertion(section = "3.3.5")
- public void testNoParametersPassedWhenEnterpriseBeanRemoveMethodCalledFromApplication()
- {
- assert false;
- }
-
- @Test(groups={"enterpriseBeans", "removeMethod"})
- @SpecAssertion(section = "3.3.5")
- public void testWebBeanRemoveMethodCallRemovesInstanceFromContext()
- {
- assert false;
- }
-
- @Test
- @SpecAssertion(section = "3.3.5.1")
- public void testAnnotationDefinedEnterpriseBeanWithoutDestructorUsesRemoveMethodWithoutParamsAsWebBeansRemoveMethod()
- {
- EnterpriseBeanModel<Armant> whippet = Util.createEnterpriseBeanModel(Armant.class, manager);
- assert whippet.getRemoveMethod().getAnnotatedItem().getDelegate().getName().equals("destroy");
- }
-
- @Test
- @SpecAssertion(section = "3.3.5.1")
- public void testAnnotationDefinedEnterpriseBeanWithoutDestructorAndRemoveMethodWithoutParamsHasNoWebBeansRemoveMethod()
- {
- EnterpriseBeanModel<Laika> laika = Util.createEnterpriseBeanModel(Laika.class, manager);
- assert laika.getRemoveMethod() == null;
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5.1")
- public void testEnterpriseBeanWithMultipleDestructorAnnotationsFail()
- {
- EnterpriseBeanModel<Whippet> whippet = Util.createEnterpriseBeanModel(Whippet.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5.1")
- public void testAnnotationDefinedEnterpriseBeanWithDestructorAnnotationOnMethodNotAnEJBRemoveMethodFails()
- {
- EnterpriseBeanModel<GoldenRetriever> goldenRetriever = Util.createEnterpriseBeanModel(GoldenRetriever.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5.1")
- public void testAnnotationDefinedEnterpriseBeanWithDestructorWithDisposesParameterFails()
- {
- EnterpriseBeanModel<Pumi> pumi = Util.createEnterpriseBeanModel(Pumi.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5.1")
- public void testEnterpriseBeanWithInitializerAnnotationOnRemoveMethodFails()
- {
- EnterpriseBeanModel<JackRussellTerrier> jackRussellTerrier = Util.createEnterpriseBeanModel(JackRussellTerrier.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5.1")
- public void testEnterpriseBeanWithProducerAnnotationOnRemoveMethodFails()
- {
- EnterpriseBeanModel<RussellTerrier> russellTerrier = Util.createEnterpriseBeanModel(RussellTerrier.class, manager);
- }
-
- @Test(expectedExceptions = DefinitionException.class)
- @SpecAssertion(section = "3.3.5.1")
- public void testEnterpriseBeanWithRemoveMethodTakingObserverAnnotatedParameterFails()
- {
- EnterpriseBeanModel<Toller> toller = Util.createEnterpriseBeanModel(Toller.class, manager);
- }
-
- // TODO Separate section for XML defined beans?
-
- @Test(groups={"removeMethod", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.5.3")
- public void testRemoveMethodParameters()
- {
- assert false;
- }
-
- @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testAnnotationDefinedSpecializingEnterpriseBeanNotDirectlyExtendingAnnotationDefinedEnterpriseBeanFails()
- {
- EnterpriseBeanModel<GreaterDane> greaterDane = Util.createEnterpriseBeanModel(GreaterDane.class, manager);
- }
-
- @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testXMLDefinedSpecializingEnterpriseBeanNotImplementingAnnotationDefinedEnterpriseBeanFails()
- {
- assert false;
- }
-
- @Test(groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testSpecializingBeanInheritsBindingTypes()
- {
- assert false;
- }
-
- @Test(groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testSpecializingBeanInheritsNameIfAny()
- {
- assert false;
- }
-
- @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testSpecializingNotSupportingLocalInterfacesOfSpecializedFails()
- {
- assert false;
- }
-
- @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testSpecializingNotSupportingLocalViewOfSpecializedFails()
- {
- assert false;
- }
-
- @Test(groups={"specialization", "enterpriseBeans"})
- @SpecAssertion(section = "3.3.6")
- public void testXMLDefinedSpecializationOnAnnotationDefinedBean()
- {
- assert false;
- }
-
- @Test
- @SpecAssertion(section = "3.3.7")
- public void testDefaultName()
- {
- EnterpriseBeanModel<Pitbull> pitbull = Util.createEnterpriseBeanModel(Pitbull.class, manager);
- assert pitbull.getName().equals("pitbull");
- }
-
- @Test(expectedExceptions=DefinitionException.class)
- public void testStatelessEnterpriseBeansWithDestructorAnnotationFails()
- {
- EnterpriseBeanModel<WelshCorgie> welshCorgie = Util.createEnterpriseBeanModel(WelshCorgie.class, manager);
- }
-
-/*
- @Test
- @SpecAssertion(section = "3.3.5.1")
- public void test()
- {
- assert false;
- }
-*/
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreatDane.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreatDane.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreatDane.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.webbeans.Dependent;
-
-import org.jboss.webbeans.test.annotations.Singleton;
-
-@Singleton
-@Dependent
-public class GreatDane
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.webbeans.Specializes;
-
-@Specializes
-public class GreaterDane extends GreatDane
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Laika.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Laika.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Laika.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.webbeans.ApplicationScoped;
-
-import org.jboss.webbeans.test.annotations.Singleton;
-
-@Singleton
-@ApplicationScoped
-public class Laika
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Pitbull.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Pitbull.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Pitbull.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.ejb.Stateful;
-import javax.webbeans.Named;
-
-@Stateful
-@Named
-public class Pitbull
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Armant.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Armant.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Armant.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,13 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-
-@Stateful
-public class Armant
-{
- @Remove
- public void destroy() {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Beagle.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Beagle.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Beagle.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.RequestScoped;
-
-@Stateless
-@RequestScoped
-public class Beagle
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Boxer.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Boxer.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Boxer.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.ConversationScoped;
-
-@Stateless
-@ConversationScoped
-public class Boxer
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Bullmastiff.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Bullmastiff.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Bullmastiff.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.SessionScoped;
-
-@Stateless
-@SessionScoped
-public class Bullmastiff
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dachshund.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dachshund.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dachshund.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.ApplicationScoped;
-
-@Stateless
-@ApplicationScoped
-public class Dachshund
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/GoldenRetriever.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/GoldenRetriever.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/GoldenRetriever.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,13 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateful;
-import javax.webbeans.Destructor;
-
-@Stateful
-public class GoldenRetriever
-{
- @Destructor
- public void destroy() {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Greyhound.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Greyhound.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Greyhound.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.webbeans.RequestScoped;
-
-import org.jboss.webbeans.test.annotations.Singleton;
-
-@Singleton
-@RequestScoped
-public class Greyhound
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Husky.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Husky.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Husky.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.webbeans.ConversationScoped;
-
-import org.jboss.webbeans.test.annotations.Singleton;
-
-@Singleton
-@ConversationScoped
-public class Husky
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/IrishTerrier.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/IrishTerrier.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/IrishTerrier.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.webbeans.SessionScoped;
-
-import org.jboss.webbeans.test.annotations.Singleton;
-
-@Singleton
-@SessionScoped
-public class IrishTerrier
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/JackRussellTerrier.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/JackRussellTerrier.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/JackRussellTerrier.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,15 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Initializer;
-
-@Stateful
-public class JackRussellTerrier
-{
- @Remove
- @Initializer
- public void destroy() {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pekingese.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pekingese.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pekingese.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.Decorator;
-
-@Stateless
-@Decorator
-public class Pekingese
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Poodle.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Poodle.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Poodle.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateful;
-import javax.webbeans.ApplicationScoped;
-
-@Stateful
-@ApplicationScoped
-public class Poodle
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pug.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pug.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pug.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.Interceptor;
-
-@Stateless
-@Interceptor
-public class Pug
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pumi.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pumi.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pumi.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,17 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Disposes;
-
-import org.jboss.webbeans.test.annotations.Tame;
-import org.jboss.webbeans.test.beans.Horse;
-
-@Stateful
-public class Pumi
-{
- @Remove
- public void destroy(@Disposes @Tame Horse horse) {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RequestScopedStateless.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RequestScopedStateless.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RequestScopedStateless.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.RequestScoped;
-
-@RequestScoped
-@Stateless
-public class RequestScopedStateless
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Rottweiler.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Rottweiler.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Rottweiler.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateful;
-import javax.webbeans.SessionScoped;
-
-@Stateful
-@SessionScoped
-public class Rottweiler
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RussellTerrier.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RussellTerrier.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RussellTerrier.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,15 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Produces;
-
-@Stateful
-public class RussellTerrier
-{
- @Remove
- @Produces
- public void destroy() {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Saluki.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Saluki.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Saluki.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateful;
-import javax.webbeans.RequestScoped;
-
-@Stateful
-@RequestScoped
-public class Saluki
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Spitz.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Spitz.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Spitz.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateful;
-import javax.webbeans.ConversationScoped;
-
-@Stateful
-@ConversationScoped
-public class Spitz
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Toller.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Toller.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Toller.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,17 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Observes;
-
-import org.jboss.webbeans.test.annotations.Tame;
-import org.jboss.webbeans.test.beans.Horse;
-
-@Stateful
-public class Toller
-{
- @Remove
- public void destroy(@Observes @Tame Horse horse) {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/WelshCorgie.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/WelshCorgie.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/WelshCorgie.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,13 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateless;
-import javax.webbeans.Destructor;
-
-@Stateless
-public class WelshCorgie
-{
- @Destructor
- public void destroy() {
-
- }
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Whippet.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Whippet.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Whippet.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -1,18 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Stateful;
-import javax.webbeans.Destructor;
-
-@Stateful
-public class Whippet
-{
- @Destructor
- public void destroy1() {
-
- }
-
- @Destructor
- public void destroy2() {
-
- }
-}
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/lifecycle/EnterpriseBeanLifecycleTest.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanLifecycleTest.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/lifecycle/EnterpriseBeanLifecycleTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/lifecycle/EnterpriseBeanLifecycleTest.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,63 @@
+package org.jboss.webbeans.test.ejb.lifecycle;
+
+import javax.webbeans.UnremovedException;
+
+import org.jboss.webbeans.test.SpecAssertion;
+import org.testng.annotations.Test;
+
+public class EnterpriseBeanLifecycleTest
+{
+
+ @Test(groups="removeMethod") @SpecAssertion(section="3.2.3")
+ public void testInjectonOfParametersIntoRemoveMethod()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups="specialization") @SpecAssertion(section="3.2.4")
+ public void testSpecializedBeanAlwaysUsed()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+
+ @Test(expectedExceptions = UnremovedException.class, groups={"enterpriseMethods", "removeMethod"})
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanWithoutRemoveMethodNotExplicitlyDestroyedBeforeManagerAttemptFails()
+ {
+ assert false;
+ }
+
+
+ @Test(groups={"enterpriseBeans", "removeMethod"})
+ @SpecAssertion(section = "3.3.5")
+ public void testWebBeanRemoveMethodCallRemovesInstanceFromContext()
+ {
+ assert false;
+ }
+
+
+ @Test(groups={"enterpriseBeans", "removeMethod"})
+ @SpecAssertion(section = "3.3.5")
+ public void testNoParametersPassedWhenEnterpriseBeanRemoveMethodCalledFromApplication()
+ {
+ assert false;
+ }
+
+ @Test(groups={"enterpriseBeans", "removeMethod"})
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanRemoveMethodCalledOnDestroy()
+ {
+ assert false;
+ }
+
+ @Test(groups={"removeMethod", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.5.3")
+ public void testRemoveMethodParameters()
+ {
+ assert false;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/lifecycle/EnterpriseBeanLifecycleTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:mergeinfo
+
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,219 @@
+package org.jboss.webbeans.test.ejb.model;
+
+import javax.webbeans.DefinitionException;
+
+import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
+import org.jboss.webbeans.test.AbstractTest;
+import org.jboss.webbeans.test.SpecAssertion;
+import org.jboss.webbeans.test.SpecVersion;
+import org.jboss.webbeans.test.beans.Giraffe;
+import org.jboss.webbeans.test.beans.Leopard;
+import org.jboss.webbeans.test.ejb.model.invalid.Beagle;
+import org.jboss.webbeans.test.ejb.model.invalid.Boxer;
+import org.jboss.webbeans.test.ejb.model.invalid.Bullmastiff;
+import org.jboss.webbeans.test.ejb.model.invalid.Dachshund;
+import org.jboss.webbeans.test.ejb.model.invalid.Greyhound;
+import org.jboss.webbeans.test.ejb.model.invalid.Husky;
+import org.jboss.webbeans.test.ejb.model.invalid.IrishTerrier;
+import org.jboss.webbeans.test.ejb.model.invalid.Pekingese;
+import org.jboss.webbeans.test.ejb.model.invalid.Pug;
+import org.jboss.webbeans.test.ejb.model.valid.GreatDane;
+import org.jboss.webbeans.test.ejb.model.valid.Laika;
+import org.jboss.webbeans.test.ejb.model.valid.Pitbull;
+import org.jboss.webbeans.test.util.Util;
+import org.testng.annotations.Test;
+
+@SpecVersion("PDR")
+@SuppressWarnings("unused")
+public class EnterpriseBeanDeclarationTest extends AbstractTest
+{
+
+ @Test
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithDependentScopeOK()
+ {
+ EnterpriseBeanModel<Giraffe> giraffe = Util.createEnterpriseBeanModel(Giraffe.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithRequestScopeFails()
+ {
+ EnterpriseBeanModel<Beagle> beagle = Util.createEnterpriseBeanModel(Beagle.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithConversationScopeFails()
+ {
+ EnterpriseBeanModel<Boxer> boxer = Util.createEnterpriseBeanModel(Boxer.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithSessionScopeFails()
+ {
+ EnterpriseBeanModel<Bullmastiff> boxer = Util.createEnterpriseBeanModel(Bullmastiff.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithApplicationScopeFails()
+ {
+ EnterpriseBeanModel<Dachshund> dachshund = Util.createEnterpriseBeanModel(Dachshund.class, manager);
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithDependentScopeOK()
+ {
+ EnterpriseBeanModel<GreatDane> greatDane = Util.createEnterpriseBeanModel(GreatDane.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithRequestScopeFails()
+ {
+ EnterpriseBeanModel<Greyhound> greyhound = Util.createEnterpriseBeanModel(Greyhound.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithConversationScopeFails()
+ {
+ EnterpriseBeanModel<Husky> husky = Util.createEnterpriseBeanModel(Husky.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithSessionScopeFails()
+ {
+ EnterpriseBeanModel<IrishTerrier> irishTerrier = Util.createEnterpriseBeanModel(IrishTerrier.class, manager);
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithApplicationScopeOK()
+ {
+ EnterpriseBeanModel<Laika> laika = Util.createEnterpriseBeanModel(Laika.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testEnterpriseBeanInterceptorFails()
+ {
+ EnterpriseBeanModel<Pug> pug = Util.createEnterpriseBeanModel(Pug.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testEnterpriseBeanDecoratorFails()
+ {
+ EnterpriseBeanModel<Pekingese> pekingese = Util.createEnterpriseBeanModel(Pekingese.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class, groups = "enterpriseBeans")
+ @SpecAssertion(section = "3.3")
+ public void testMultipleAnnotationDefinedEnterpriseBeansWithSameImplementationClassFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "webbeansxml", "enterpriseBeans" })
+ @SpecAssertion(section = "3.3")
+ public void testMultipleXMLDefinedEnterpriseBeansWithSameImplementationClassOK()
+ {
+ assert false;
+ }
+
+
+
+
+ @Test(groups="enterpriseBeans")
+ @SpecAssertion(section = "3.3.1")
+ public void testAnnotatedEnterpriseBean()
+ {
+ assert false;
+ }
+
+ @Test(groups="enterpriseBeans")
+ @SpecAssertion(section = "3.3.1")
+ public void testAnnotatedEnterpriseBeanComplementedWithXML()
+ {
+ assert false;
+ }
+
+ @Test(groups={"enterpriseBeans", "ejbjarxml"})
+ @SpecAssertion(section = "3.3.1")
+ public void testEJBJARDefinedEnterpriseBean()
+ {
+ assert false;
+ }
+
+ @Test(groups={"enterpriseBeans", "ejbjarxml"})
+ @SpecAssertion(section = "3.3.1")
+ public void testEJBJARDefinedEnterpriseBeanComplementedWithXML()
+ {
+ assert false;
+ }
+
+ @Test(groups="enterpriseBeans")
+ @SpecAssertion(section = "3.3.2")
+ public void testAPITypesAreLocalInterfacesWithoutWildcardTypesOrTypeVariablesWithSuperInterfaces()
+ {
+ assert false;
+ }
+
+ @Test(groups="enterpriseBeans")
+ @SpecAssertion(section = "3.3.2")
+ public void testEnterpriseBeanWithLocalViewAndParameterizedTypeIncludesBeanClassAndSuperclassesInAPITypes()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.2")
+ public void testObjectIsInAPITypes()
+ {
+ EnterpriseBeanModel<Laika> laika = Util.createEnterpriseBeanModel(Laika.class, manager);
+ assert laika.getApiTypes().contains(Object.class);
+ }
+
+ @Test(groups="enterpriseBeans")
+ @SpecAssertion(section = "3.3.2")
+ public void testRemoteInterfacesAreNotInAPITypes()
+ {
+ assert false;
+ }
+
+ @Test(groups={"enterpriseBeans", "producerMethod", "observerMethod", "renoveMethod", "webbeansxml"})
+ @SpecAssertion(section = "3.3.4")
+ public void testXMLDefinedEnterpriseBeanIgnoresProducerAndDisposalAndObserverAnnotations()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class, groups={"enterpriseBeans", "ejbjarxml", "singletons"})
+ @SpecAssertion(section = "3.3.4")
+ public void testXMLDefinedSingletonsFail()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testMessageDrivenBeansNotOK()
+ {
+ EnterpriseBeanModel<Leopard> Leopard = Util.createEnterpriseBeanModel(Leopard.class, manager);
+ }
+
+
+ @Test
+ @SpecAssertion(section = "3.3.7")
+ public void testDefaultName()
+ {
+ EnterpriseBeanModel<Pitbull> pitbull = Util.createEnterpriseBeanModel(Pitbull.class, manager);
+ assert pitbull.getName().equals("pitbull");
+ }
+
+}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,133 @@
+package org.jboss.webbeans.test.ejb.model;
+
+import javax.webbeans.DefinitionException;
+import javax.webbeans.UnremovedException;
+
+import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
+import org.jboss.webbeans.test.AbstractTest;
+import org.jboss.webbeans.test.SpecAssertion;
+import org.jboss.webbeans.test.SpecVersion;
+import org.jboss.webbeans.test.ejb.model.invalid.Armant;
+import org.jboss.webbeans.test.ejb.model.invalid.GoldenRetriever;
+import org.jboss.webbeans.test.ejb.model.invalid.JackRussellTerrier;
+import org.jboss.webbeans.test.ejb.model.invalid.Poodle;
+import org.jboss.webbeans.test.ejb.model.invalid.Pumi;
+import org.jboss.webbeans.test.ejb.model.invalid.Rottweiler;
+import org.jboss.webbeans.test.ejb.model.invalid.RussellTerrier;
+import org.jboss.webbeans.test.ejb.model.invalid.Saluki;
+import org.jboss.webbeans.test.ejb.model.invalid.Spitz;
+import org.jboss.webbeans.test.ejb.model.invalid.Toller;
+import org.jboss.webbeans.test.ejb.model.invalid.WelshCorgie;
+import org.jboss.webbeans.test.ejb.model.invalid.Whippet;
+import org.jboss.webbeans.test.ejb.model.valid.Laika;
+import org.jboss.webbeans.test.ejb.model.valid.Pitbull;
+import org.jboss.webbeans.test.util.Util;
+import org.testng.annotations.Test;
+
+@SpecVersion("PDR")
+@SuppressWarnings("unused")
+public class EnterpriseBeanRemoveMethodTest extends AbstractTest
+{
+
+ @Test
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanWithoutRemoveMethodInDependentScopeOK()
+ {
+ EnterpriseBeanModel<Pitbull> pitbull = Util.createEnterpriseBeanModel(Pitbull.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanWithoutRemoveMethodInApplicationScopeFails()
+ {
+ EnterpriseBeanModel<Poodle> poodle = Util.createEnterpriseBeanModel(Poodle.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanWithoutRemoveMethodInSessionScopeFails()
+ {
+ EnterpriseBeanModel<Rottweiler> rottweiler = Util.createEnterpriseBeanModel(Rottweiler.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanWithoutRemoveMethodInConversationScopeFails()
+ {
+ EnterpriseBeanModel<Spitz> spitz = Util.createEnterpriseBeanModel(Spitz.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEnterpriseBeanWithoutRemoveMethodInRequestScopeFails()
+ {
+ EnterpriseBeanModel<Saluki> saluki = Util.createEnterpriseBeanModel(Saluki.class, manager);
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5.1")
+ public void testAnnotationDefinedEnterpriseBeanWithoutDestructorUsesRemoveMethodWithoutParamsAsWebBeansRemoveMethod()
+ {
+ EnterpriseBeanModel<Armant> whippet = Util.createEnterpriseBeanModel(Armant.class, manager);
+ assert whippet.getRemoveMethod().getAnnotatedItem().getDelegate().getName().equals("destroy");
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5.1")
+ public void testAnnotationDefinedEnterpriseBeanWithoutDestructorAndRemoveMethodWithoutParamsHasNoWebBeansRemoveMethod()
+ {
+ EnterpriseBeanModel<Laika> laika = Util.createEnterpriseBeanModel(Laika.class, manager);
+ assert laika.getRemoveMethod() == null;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEnterpriseBeanWithMultipleDestructorAnnotationsFail()
+ {
+ EnterpriseBeanModel<Whippet> whippet = Util.createEnterpriseBeanModel(Whippet.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testAnnotationDefinedEnterpriseBeanWithDestructorAnnotationOnMethodNotAnEJBRemoveMethodFails()
+ {
+ EnterpriseBeanModel<GoldenRetriever> goldenRetriever = Util.createEnterpriseBeanModel(GoldenRetriever.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testAnnotationDefinedEnterpriseBeanWithDestructorWithDisposesParameterFails()
+ {
+ EnterpriseBeanModel<Pumi> pumi = Util.createEnterpriseBeanModel(Pumi.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEnterpriseBeanWithInitializerAnnotationOnRemoveMethodFails()
+ {
+ EnterpriseBeanModel<JackRussellTerrier> jackRussellTerrier = Util.createEnterpriseBeanModel(JackRussellTerrier.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEnterpriseBeanWithProducerAnnotationOnRemoveMethodFails()
+ {
+ EnterpriseBeanModel<RussellTerrier> russellTerrier = Util.createEnterpriseBeanModel(RussellTerrier.class, manager);
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEnterpriseBeanWithRemoveMethodTakingObserverAnnotatedParameterFails()
+ {
+ EnterpriseBeanModel<Toller> toller = Util.createEnterpriseBeanModel(Toller.class, manager);
+ }
+
+ @Test(expectedExceptions=DefinitionException.class)
+ public void testStatelessEnterpriseBeansWithDestructorAnnotationFails()
+ {
+ EnterpriseBeanModel<WelshCorgie> welshCorgie = Util.createEnterpriseBeanModel(WelshCorgie.class, manager);
+ }
+
+
+
+}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,95 @@
+package org.jboss.webbeans.test.ejb.model;
+
+import javax.webbeans.DefinitionException;
+import javax.webbeans.DeploymentException;
+
+import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
+import org.jboss.webbeans.test.AbstractTest;
+import org.jboss.webbeans.test.SpecAssertion;
+import org.jboss.webbeans.test.SpecVersion;
+import org.jboss.webbeans.test.ejb.model.valid.GreaterDane;
+import org.jboss.webbeans.test.ejb.model.valid.Hound;
+import org.jboss.webbeans.test.ejb.model.valid.HoundOfBaskerville;
+import org.jboss.webbeans.test.util.Util;
+import org.testng.annotations.Test;
+
+@SpecVersion("PDR")
+@SuppressWarnings("unused")
+public class EnterpriseBeanSpecializationTest extends AbstractTest
+{
+ @Test(groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testSpecializingBeanInheritsBindingTypes()
+ {
+ EnterpriseBeanModel<Hound> hound = Util.createEnterpriseBeanModel(Hound.class, manager);
+ EnterpriseBeanModel<HoundOfBaskerville> houndOfBaskerville = Util.createEnterpriseBeanModel(HoundOfBaskerville.class, manager);
+ assert compareBindingTypesOK(hound, houndOfBaskerville);
+ }
+
+ private boolean compareBindingTypesOK(EnterpriseBeanModel<Hound> hound,
+ EnterpriseBeanModel<HoundOfBaskerville> houndOfBaskerville)
+ {
+ if (hound.getBindingTypes().size() != houndOfBaskerville.getBindingTypes().size()) {
+ return false;
+ }
+ if (!hound.getBindingTypes().containsAll(houndOfBaskerville.getBindingTypes())) {
+ return false;
+ }
+ if (!houndOfBaskerville.getBindingTypes().containsAll(hound.getBindingTypes())) {
+ return false;
+ }
+ return true;
+ }
+
+ @Test(groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testSpecializingBeanInheritsNameIfAny()
+ {
+ EnterpriseBeanModel<HoundOfBaskerville> houndOfBaskerville = Util.createEnterpriseBeanModel(HoundOfBaskerville.class, manager);
+ assert houndOfBaskerville.getName().equals("Pongo");
+ }
+
+ @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testSpecializingNotSupportingLocalInterfacesOfSpecializedFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testSpecializingNotSupportingLocalViewOfSpecializedFails()
+ {
+ assert false;
+ }
+
+ @Test(groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testXMLDefinedSpecializationOnAnnotationDefinedBean()
+ {
+ assert false;
+ }
+
+
+ @Test(expectedExceptions = DeploymentException.class, groups={"enterpriseBeans", "specialization"})
+ @SpecAssertion(section = "3.3")
+ public void testMultipleEnabledSpecializedEnterpriseBeanFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testAnnotationDefinedSpecializingEnterpriseBeanNotDirectlyExtendingAnnotationDefinedEnterpriseBeanFails()
+ {
+ EnterpriseBeanModel<GreaterDane> greaterDane = Util.createEnterpriseBeanModel(GreaterDane.class, manager);
+ }
+
+ @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testXMLDefinedSpecializingEnterpriseBeanNotImplementingAnnotationDefinedEnterpriseBeanFails()
+ {
+ assert false;
+ }
+
+}
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Armant.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Armant.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Armant.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Armant.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+public class Armant
+{
+ @Remove
+ public void destroy() {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Armant.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Beagle.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Beagle.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Beagle.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Beagle.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.RequestScoped;
+
+@Stateless
+@RequestScoped
+public class Beagle
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Beagle.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Boxer.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Boxer.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Boxer.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Boxer.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.ConversationScoped;
+
+@Stateless
+@ConversationScoped
+public class Boxer
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Boxer.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Bullmastiff.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Bullmastiff.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Bullmastiff.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Bullmastiff.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.SessionScoped;
+
+@Stateless
+@SessionScoped
+public class Bullmastiff
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Bullmastiff.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Dachshund.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dachshund.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Dachshund.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Dachshund.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.ApplicationScoped;
+
+@Stateless
+@ApplicationScoped
+public class Dachshund
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Dachshund.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/GoldenRetriever.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/GoldenRetriever.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/GoldenRetriever.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/GoldenRetriever.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Destructor;
+
+@Stateful
+public class GoldenRetriever
+{
+ @Destructor
+ public void destroy() {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/GoldenRetriever.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Greyhound.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Greyhound.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Greyhound.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Greyhound.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.webbeans.RequestScoped;
+
+import org.jboss.webbeans.test.annotations.Singleton;
+
+@Singleton
+@RequestScoped
+public class Greyhound
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Greyhound.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Husky.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Husky.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Husky.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Husky.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.webbeans.ConversationScoped;
+
+import org.jboss.webbeans.test.annotations.Singleton;
+
+@Singleton
+@ConversationScoped
+public class Husky
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Husky.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/IrishTerrier.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/IrishTerrier.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/IrishTerrier.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/IrishTerrier.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.webbeans.SessionScoped;
+
+import org.jboss.webbeans.test.annotations.Singleton;
+
+@Singleton
+@SessionScoped
+public class IrishTerrier
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/IrishTerrier.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/JackRussellTerrier.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/JackRussellTerrier.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/JackRussellTerrier.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/JackRussellTerrier.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Initializer;
+
+@Stateful
+public class JackRussellTerrier
+{
+ @Remove
+ @Initializer
+ public void destroy() {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/JackRussellTerrier.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pekingese.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pekingese.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pekingese.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pekingese.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Decorator;
+
+@Stateless
+@Decorator
+public class Pekingese
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pekingese.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Poodle.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Poodle.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Poodle.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Poodle.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.ApplicationScoped;
+
+@Stateful
+@ApplicationScoped
+public class Poodle
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Poodle.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pug.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pug.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pug.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pug.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Interceptor;
+
+@Stateless
+@Interceptor
+public class Pug
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pug.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pumi.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pumi.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pumi.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pumi.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Disposes;
+
+import org.jboss.webbeans.test.annotations.Tame;
+import org.jboss.webbeans.test.beans.Horse;
+
+@Stateful
+public class Pumi
+{
+ @Remove
+ public void destroy(@Disposes @Tame Horse horse) {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Pumi.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RequestScopedStateless.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RequestScopedStateless.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RequestScopedStateless.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RequestScopedStateless.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.RequestScoped;
+
+@RequestScoped
+@Stateless
+public class RequestScopedStateless
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RequestScopedStateless.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Rottweiler.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Rottweiler.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Rottweiler.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Rottweiler.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+@Stateful
+@SessionScoped
+public class Rottweiler
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Rottweiler.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RussellTerrier.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/RussellTerrier.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RussellTerrier.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RussellTerrier.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Produces;
+
+@Stateful
+public class RussellTerrier
+{
+ @Remove
+ @Produces
+ public void destroy() {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/RussellTerrier.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Saluki.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Saluki.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Saluki.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Saluki.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.RequestScoped;
+
+@Stateful
+@RequestScoped
+public class Saluki
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Saluki.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Spitz.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Spitz.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Spitz.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Spitz.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.ConversationScoped;
+
+@Stateful
+@ConversationScoped
+public class Spitz
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Spitz.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Toller.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Toller.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Toller.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Toller.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Observes;
+
+import org.jboss.webbeans.test.annotations.Tame;
+import org.jboss.webbeans.test.beans.Horse;
+
+@Stateful
+public class Toller
+{
+ @Remove
+ public void destroy(@Observes @Tame Horse horse) {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Toller.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/WelshCorgie.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/WelshCorgie.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/WelshCorgie.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/WelshCorgie.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Destructor;
+
+@Stateless
+public class WelshCorgie
+{
+ @Destructor
+ public void destroy() {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/WelshCorgie.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Whippet.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Whippet.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Whippet.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Whippet.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.test.ejb.model.invalid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Destructor;
+
+@Stateful
+public class Whippet
+{
+ @Destructor
+ public void destroy1() {
+
+ }
+
+ @Destructor
+ public void destroy2() {
+
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/invalid/Whippet.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreatDane.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreatDane.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreatDane.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreatDane.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.test.ejb.model.valid;
+
+
+public class GreatDane
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreatDane.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreaterDane.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreaterDane.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreaterDane.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.valid;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Specializes;
+
+@Specializes
+@Stateless
+public class GreaterDane extends GreatDane
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/GreaterDane.java
___________________________________________________________________
Name: svn:mergeinfo
+
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Hound.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Hound.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Hound.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.ejb.model.valid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Named;
+
+import org.jboss.webbeans.test.annotations.Tame;
+
+@Stateful
+@Tame
+@Named("Pongo")
+public class Hound
+{
+
+}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/HoundOfBaskerville.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/HoundOfBaskerville.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/HoundOfBaskerville.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.valid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+@Specializes
+@Stateful
+public class HoundOfBaskerville extends Hound
+{
+
+}
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Laika.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Laika.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Laika.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Laika.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.test.ejb.model.valid;
+
+import javax.webbeans.ApplicationScoped;
+
+import org.jboss.webbeans.test.annotations.Singleton;
+
+@Singleton
+@ApplicationScoped
+public class Laika
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Laika.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Pitbull.java (from rev 254, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Pitbull.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Pitbull.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Pitbull.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.ejb.model.valid;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Named;
+
+@Stateful
+@Named
+public class Pitbull
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/valid/Pitbull.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 11:55:14 UTC (rev 257)
@@ -29,7 +29,7 @@
public static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, ManagerImpl manager)
{
- return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), getEmptyAnnotatedType(clazz), manager);
+ return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), null, manager);
}
public static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, AnnotatedClass<T> xmlAnnotatedType, ManagerImpl manager)
Modified: ri/trunk/webbeans-ri/testng.xml
===================================================================
--- ri/trunk/webbeans-ri/testng.xml 2008-11-06 11:52:38 UTC (rev 256)
+++ ri/trunk/webbeans-ri/testng.xml 2008-11-06 11:55:14 UTC (rev 257)
@@ -32,6 +32,8 @@
</groups>
<packages>
<package name="org.jboss.webbeans.test"></package>
+ <package name="org.jboss.webbeans.test.ejb.lifecycle"></package>
+ <package name="org.jboss.webbeans.test.ejb.model"></package>
</packages>
</test>
15 years, 5 months
[webbeans-commits] Webbeans SVN: r256 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-06 06:52:38 -0500 (Thu, 06 Nov 2008)
New Revision: 256
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanWrapper.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanWrapper.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Rename and move BeanImpl
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java 2008-11-06 11:50:09 UTC (rev 255)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -1,96 +0,0 @@
-package org.jboss.webbeans;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-import javax.webbeans.manager.Bean;
-
-import org.jboss.webbeans.model.bean.BeanModel;
-
-public abstract class BeanImpl<T> extends Bean<T>
-{
-
- public static final String LOGGER_NAME = "bean";
-
- protected ManagerImpl manager;
-
- public BeanImpl(ManagerImpl manager)
- {
- super(manager);
- this.manager = manager;
- }
-
- protected T getInstance()
- {
- return getModel().getConstructor().invoke(manager);
- }
-
- protected void bindInterceptors()
- {
- // TODO
- }
-
- protected void bindDecorators()
- {
- // TODO
- }
-
- @Override
- public void destroy(T instance)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public Set<Annotation> getBindingTypes()
- {
- return getModel().getBindingTypes();
- }
-
- @Override
- public Class<? extends Annotation> getDeploymentType()
- {
- return getModel().getDeploymentType();
- }
-
- @Override
- public String getName()
- {
- return getModel().getName();
- }
-
- @Override
- public Class<? extends Annotation> getScopeType()
- {
- return getModel().getScopeType();
- }
-
- @Override
- public Set<Class<?>> getTypes()
- {
- return getModel().getApiTypes();
- }
-
- @Override
- public boolean isNullable()
- {
- return !getModel().isPrimitive();
- }
-
- @Override
- public boolean isSerializable()
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public String toString()
- {
- return getModel().toString();
- }
-
- public abstract BeanModel<T, ?> getModel();
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanWrapper.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanWrapper.java 2008-11-06 11:50:09 UTC (rev 255)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanWrapper.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -1,92 +0,0 @@
-package org.jboss.webbeans;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
-
-public class BeanWrapper<T> extends Bean<T>
-{
-
- private Bean<T> delegate;
-
- public BeanWrapper(Manager manager, Bean<T> delegate)
- {
- super(manager);
- this.delegate = delegate;
- }
-
- @Override
- public T create()
- {
- return delegate.create();
- }
-
- @Override
- public void destroy(T instance)
- {
- delegate.destroy(instance);
- }
-
- @Override
- public Set<Annotation> getBindingTypes()
- {
- return delegate.getBindingTypes();
- }
-
- @Override
- public Class<? extends Annotation> getDeploymentType()
- {
- return delegate.getDeploymentType();
- }
-
- @Override
- public String getName()
- {
- return delegate.getName();
- }
-
- @Override
- public Class<? extends Annotation> getScopeType()
- {
- return delegate.getScopeType();
- }
-
- @Override
- public Set<Class<?>> getTypes()
- {
- return delegate.getTypes();
- }
-
- @Override
- public boolean isNullable()
- {
- return delegate.isNullable();
- }
-
- @Override
- public boolean isSerializable()
- {
- return delegate.isSerializable();
- }
-
- @Override
- public String toString()
- {
- return delegate.toString();
- }
-
- @Override
- public int hashCode()
- {
- return delegate.hashCode();
- }
-
- @Override
- public boolean equals(Object obj)
- {
- return delegate.equals(obj);
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java 2008-11-06 11:50:09 UTC (rev 255)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -1,57 +0,0 @@
-package org.jboss.webbeans;
-
-import org.jboss.webbeans.injectable.InjectableField;
-import org.jboss.webbeans.injectable.InjectableMethod;
-import org.jboss.webbeans.model.bean.SimpleBeanModel;
-
-public class SimpleBeanImpl<T> extends BeanImpl<T>
-{
-
- private SimpleBeanModel<T> model;
-
- public SimpleBeanImpl(SimpleBeanModel<T> model, ManagerImpl manager)
- {
- super(manager);
- this.model = model;
- }
-
- @Override
- public T create()
- {
- T instance = getInstance();
- bindDecorators();
- bindInterceptors();
- injectEjbAndCommonFields();
- injectBoundFields(instance);
- callInitializers(instance);
- return instance;
- }
-
- protected void callInitializers(T instance)
- {
- for (InjectableMethod<Object> initializer : model.getInitializerMethods())
- {
- initializer.invoke(manager, instance);
- }
- }
-
- protected void injectEjbAndCommonFields()
- {
- // TODO
- }
-
- protected void injectBoundFields(T instance)
- {
- for (InjectableField<?> injectableField : getModel().getInjectableFields())
- {
- injectableField.inject(instance, manager);
- }
- }
-
- @Override
- public SimpleBeanModel<T> getModel()
- {
- return model;
- }
-
-}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java (from rev 254, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -0,0 +1,97 @@
+package org.jboss.webbeans.bean;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.model.bean.BeanModel;
+
+public abstract class AbstractBean<T> extends Bean<T>
+{
+
+ public static final String LOGGER_NAME = "bean";
+
+ protected ManagerImpl manager;
+
+ public AbstractBean(ManagerImpl manager)
+ {
+ super(manager);
+ this.manager = manager;
+ }
+
+ protected T getInstance()
+ {
+ return getModel().getConstructor().invoke(manager);
+ }
+
+ protected void bindInterceptors()
+ {
+ // TODO
+ }
+
+ protected void bindDecorators()
+ {
+ // TODO
+ }
+
+ @Override
+ public void destroy(T instance)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Set<Annotation> getBindingTypes()
+ {
+ return getModel().getBindingTypes();
+ }
+
+ @Override
+ public Class<? extends Annotation> getDeploymentType()
+ {
+ return getModel().getDeploymentType();
+ }
+
+ @Override
+ public String getName()
+ {
+ return getModel().getName();
+ }
+
+ @Override
+ public Class<? extends Annotation> getScopeType()
+ {
+ return getModel().getScopeType();
+ }
+
+ @Override
+ public Set<Class<?>> getTypes()
+ {
+ return getModel().getApiTypes();
+ }
+
+ @Override
+ public boolean isNullable()
+ {
+ return !getModel().isPrimitive();
+ }
+
+ @Override
+ public boolean isSerializable()
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public String toString()
+ {
+ return getModel().toString();
+ }
+
+ public abstract BeanModel<T, ?> getModel();
+
+}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanWrapper.java (from rev 254, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanWrapper.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanWrapper.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanWrapper.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -0,0 +1,92 @@
+package org.jboss.webbeans.bean;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.webbeans.manager.Bean;
+import javax.webbeans.manager.Manager;
+
+public class BeanWrapper<T> extends Bean<T>
+{
+
+ private Bean<T> delegate;
+
+ public BeanWrapper(Manager manager, Bean<T> delegate)
+ {
+ super(manager);
+ this.delegate = delegate;
+ }
+
+ @Override
+ public T create()
+ {
+ return delegate.create();
+ }
+
+ @Override
+ public void destroy(T instance)
+ {
+ delegate.destroy(instance);
+ }
+
+ @Override
+ public Set<Annotation> getBindingTypes()
+ {
+ return delegate.getBindingTypes();
+ }
+
+ @Override
+ public Class<? extends Annotation> getDeploymentType()
+ {
+ return delegate.getDeploymentType();
+ }
+
+ @Override
+ public String getName()
+ {
+ return delegate.getName();
+ }
+
+ @Override
+ public Class<? extends Annotation> getScopeType()
+ {
+ return delegate.getScopeType();
+ }
+
+ @Override
+ public Set<Class<?>> getTypes()
+ {
+ return delegate.getTypes();
+ }
+
+ @Override
+ public boolean isNullable()
+ {
+ return delegate.isNullable();
+ }
+
+ @Override
+ public boolean isSerializable()
+ {
+ return delegate.isSerializable();
+ }
+
+ @Override
+ public String toString()
+ {
+ return delegate.toString();
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return delegate.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return delegate.equals(obj);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanWrapper.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -0,0 +1,31 @@
+package org.jboss.webbeans.bean;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.model.bean.BeanModel;
+
+public class ProducerBean<T> extends AbstractBean<T>
+{
+
+ public ProducerBean(ManagerImpl manager)
+ {
+ super(manager);
+ // TODO Auto-generated constructor stub
+ }
+
+ @Override
+ public BeanModel<T, ?> getModel()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public T create()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java (from rev 254, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -0,0 +1,58 @@
+package org.jboss.webbeans.bean;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.injectable.InjectableMethod;
+import org.jboss.webbeans.model.bean.SimpleBeanModel;
+
+public class SimpleBean<T> extends AbstractBean<T>
+{
+
+ private SimpleBeanModel<T> model;
+
+ public SimpleBean(SimpleBeanModel<T> model, ManagerImpl manager)
+ {
+ super(manager);
+ this.model = model;
+ }
+
+ @Override
+ public T create()
+ {
+ T instance = getInstance();
+ bindDecorators();
+ bindInterceptors();
+ injectEjbAndCommonFields();
+ injectBoundFields(instance);
+ callInitializers(instance);
+ return instance;
+ }
+
+ protected void callInitializers(T instance)
+ {
+ for (InjectableMethod<Object> initializer : model.getInitializerMethods())
+ {
+ initializer.invoke(manager, instance);
+ }
+ }
+
+ protected void injectEjbAndCommonFields()
+ {
+ // TODO
+ }
+
+ protected void injectBoundFields(T instance)
+ {
+ for (InjectableField<?> injectableField : getModel().getInjectableFields())
+ {
+ injectableField.inject(instance, manager);
+ }
+ }
+
+ @Override
+ public SimpleBeanModel<T> getModel()
+ {
+ return model;
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java 2008-11-06 11:50:09 UTC (rev 255)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -9,7 +9,7 @@
import javax.webbeans.NullableDependencyException;
import javax.webbeans.manager.Bean;
-import org.jboss.webbeans.SimpleBeanImpl;
+import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.test.beans.Fox;
import org.jboss.webbeans.test.beans.FoxRun;
import org.jboss.webbeans.test.beans.Tuna;
@@ -64,7 +64,7 @@
@Test(groups="injection", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.6")
public void testInjectingStaticField()
{
- SimpleBeanImpl<BeanWithStaticBoundField> bean = createSimpleWebBean(BeanWithStaticBoundField.class, manager);
+ SimpleBean<BeanWithStaticBoundField> bean = createSimpleWebBean(BeanWithStaticBoundField.class, manager);
Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
manager.addBean(tunaBean);
BeanWithStaticBoundField instance = bean.create();
@@ -73,7 +73,7 @@
@Test(groups="injection",expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.6")
public void testInjectingFinalField()
{
- SimpleBeanImpl<BeanWithFinalBoundField> bean = createSimpleWebBean(BeanWithFinalBoundField.class, manager);
+ SimpleBean<BeanWithFinalBoundField> bean = createSimpleWebBean(BeanWithFinalBoundField.class, manager);
Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
manager.addBean(tunaBean);
BeanWithFinalBoundField instance = bean.create();
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-11-06 11:50:09 UTC (rev 255)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -4,7 +4,7 @@
import javax.webbeans.manager.Bean;
-import org.jboss.webbeans.SimpleBeanImpl;
+import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.test.beans.FishPond;
import org.jboss.webbeans.test.beans.Goldfish;
import org.jboss.webbeans.test.beans.RedSnapper;
@@ -74,7 +74,7 @@
@Test(groups="injection") @SpecAssertion(section="5.3")
public void testCreateInjectsFieldsDeclaredInJava()
{
- SimpleBeanImpl<TunaFarm> tunaFarmBean = createSimpleWebBean(TunaFarm.class, manager);
+ SimpleBean<TunaFarm> tunaFarmBean = createSimpleWebBean(TunaFarm.class, manager);
Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
manager.addBean(tunaBean);
TunaFarm tunaFarm = tunaFarmBean.create();
@@ -90,7 +90,7 @@
@Test(groups="injection")
public void testFieldMissingBindingAnnotationsAreNotInjected()
{
- SimpleBeanImpl<TunaFarm> tunaFarmBean = createSimpleWebBean(TunaFarm.class, manager);
+ SimpleBean<TunaFarm> tunaFarmBean = createSimpleWebBean(TunaFarm.class, manager);
Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
manager.addBean(tunaBean);
TunaFarm tunaFarm = tunaFarmBean.create();
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 11:50:09 UTC (rev 255)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-06 11:52:38 UTC (rev 256)
@@ -4,7 +4,7 @@
import java.util.HashMap;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.SimpleBeanImpl;
+import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
@@ -12,9 +12,9 @@
public class Util
{
- public static <T> SimpleBeanImpl<T> createSimpleWebBean(Class<T> clazz, ManagerImpl manager)
+ public static <T> SimpleBean<T> createSimpleWebBean(Class<T> clazz, ManagerImpl manager)
{
- return new SimpleBeanImpl<T>(createSimpleModel(clazz, manager), manager);
+ return new SimpleBean<T>(createSimpleModel(clazz, manager), manager);
}
public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, ManagerImpl manager)
@@ -36,6 +36,8 @@
{
return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}
+
+
@Deprecated
public static <T> AnnotatedClass<T> getEmptyAnnotatedType(Class<T> type)
15 years, 5 months
[webbeans-commits] Webbeans SVN: r255 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-06 06:50:09 -0500 (Thu, 06 Nov 2008)
New Revision: 255
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractProducerBeanModel.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
Log:
Start to fix producer methods
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractProducerBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractProducerBeanModel.java 2008-11-06 04:59:58 UTC (rev 254)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractProducerBeanModel.java 2008-11-06 11:50:09 UTC (rev 255)
@@ -1,10 +0,0 @@
-package org.jboss.webbeans.model.bean;
-
-import java.lang.reflect.Method;
-
-public abstract class AbstractProducerBeanModel<T> extends
- AbstractBeanModel<T, Method>
-{
-
-
-}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 04:59:58 UTC (rev 254)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-06 11:50:09 UTC (rev 255)
@@ -6,6 +6,7 @@
import java.lang.reflect.Type;
import java.util.Set;
+import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
import org.jboss.webbeans.ManagerImpl;
@@ -16,7 +17,7 @@
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.util.Reflections;
-public class ProducerMethodBeanModel<T> extends AbstractProducerBeanModel<T>
+public class ProducerMethodBeanModel<T> extends AbstractBeanModel<T, Method>
{
private MethodConstructor<T> constructor;
@@ -92,7 +93,7 @@
{
if (getAnnotatedItem().isStatic())
{
- throw new RuntimeException("Producer method cannot be static " + annotatedMethod);
+ throw new DefinitionException("Producer method cannot be static " + annotatedMethod);
}
// TODO Check if declaring class is a WB bean
if (!getScopeType().equals(Dependent.class) && getAnnotatedItem().isFinal())
@@ -153,7 +154,10 @@
{
try
{
- // TODO Fix this this.type = annotatedMethod.getType();
+ if (getAnnotatedItem() != null)
+ {
+ this.type = getAnnotatedItem().getType();
+ }
}
catch (ClassCastException e)
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 04:59:58 UTC (rev 254)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 11:50:09 UTC (rev 255)
@@ -86,7 +86,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.4")
public void testBeanDeclaresMultipleProducerMethods()
{
-
+ assert false;
}
@Test(groups="producerMethod") @SpecAssertion(section="3.4")
15 years, 5 months
[webbeans-commits] Webbeans SVN: r254 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean.
by webbeans-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2008-11-05 23:59:58 -0500 (Wed, 05 Nov 2008)
New Revision: 254
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java
Log:
producer expressions disappeared a long time ago
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java 2008-11-06 04:26:46 UTC (rev 253)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java 2008-11-06 04:59:58 UTC (rev 254)
@@ -1,85 +0,0 @@
-package org.jboss.webbeans.model.bean;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import javax.webbeans.Dependent;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.injectable.MethodConstructor;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-
-public class ProducerExpressionBeanModel<T> extends AbstractProducerBeanModel<T>
-{
-
- private AnnotatedItem<T, Method> xmlAnnotatedItem;
- private AnnotatedItem<T, Method> annotatedItem = null /*new SimpleAnnotatedItem<T, Method>(new HashMap<Class<? extends Annotation>, Annotation>())*/;
- private String location;
-
- public ProducerExpressionBeanModel(AnnotatedItem<T, Method> xmlAnnotatedMethod, ManagerImpl container)
- {
- this.xmlAnnotatedItem = xmlAnnotatedMethod;
- init(container);
- }
-
- protected void checkApiType()
- {
- if (!getScopeType().equals(Dependent.class))
- {
- if (Modifier.isFinal(getType().getModifiers()))
- {
- throw new RuntimeException(getLocation() + "Final producer method must have @Dependent scope");
- }
- }
-
- }
-
- @Override
- protected void init(ManagerImpl container)
- {
- super.init(container);
- initInjectionPoints();
- }
-
-
- @Override
- protected AnnotatedItem<T, Method> getAnnotatedItem()
- {
- return annotatedItem;
- }
-
- public MethodConstructor<T> getConstructor()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- protected String getDefaultName()
- {
- throw new RuntimeException(getLocation() + " Cannot set a default name on producer expressions");
- }
-
- public String getLocation()
- {
- if (location == null)
- {
- location = "type: Producer Expression; declaring document: TODO;";
- }
- return location;
- }
-
- @Override
- protected AnnotatedItem<T, Method> getXmlAnnotatedItem()
- {
- return xmlAnnotatedItem;
- }
-
- @Override
- protected void initType()
- {
- // TODO Auto-generated method stub
-
- }
-
-}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r253 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test.
by webbeans-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2008-11-05 23:26:46 -0500 (Wed, 05 Nov 2008)
New Revision: 253
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java
Log:
producer expressions disappeared a long time ago
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java 2008-11-06 00:21:14 UTC (rev 252)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java 2008-11-06 04:26:46 UTC (rev 253)
@@ -1,29 +0,0 @@
-package org.jboss.webbeans.test;
-
-import org.testng.annotations.Test;
-
-public class ProducerExpressionBeanLifecycleTest
-{
-
- @Test(groups={"beanLifecycle", "producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
- public void testNonDependentProducerExpressionThatReturnsNull()
- {
- // TODO Placeholder
- assert false;
- }
-
- @Test(groups={"beanLifecycle", "producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
- public void testDependentProducerExpressionThatReturnsNull()
- {
- // TODO Placeholder
- assert false;
- }
-
- @Test(groups={"beanLifecycle", "producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
- public void testProducerExpressionHasValidRuntimeApiType()
- {
- // TODO Placeholder
- assert false;
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java 2008-11-06 00:21:14 UTC (rev 252)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java 2008-11-06 04:26:46 UTC (rev 253)
@@ -1,33 +0,0 @@
-package org.jboss.webbeans.test;
-
-import org.testng.annotations.Test;
-
-public class ProducerExpressionBeanModelTest extends AbstractTest
-{
-
- @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
- public void testApiTypes()
- {
- assert false;
- }
-
- @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
- public void testFinalProducerExpression()
- {
- assert false;
- }
-
- @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
- public void testFinalDependentProducerExpression()
- {
- assert false;
- }
-
- @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4.2")
- public void testProducerExpressionCannotHaveDefaultName()
- {
- assert false;
- }
-
-
-}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r252 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 19:21:14 -0500 (Wed, 05 Nov 2008)
New Revision: 252
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
Log:
Clean up and stub tests for producer methods
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-05 23:42:05 UTC (rev 251)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-06 00:21:14 UTC (rev 252)
@@ -74,7 +74,7 @@
assert chickenHutch.chicken != null;
}
- @Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.7.1")
+ @Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section={"3.7.1", "3.4.2"})
public void testInitializerMethodAnnotatedProduces()
{
createSimpleWebBean(Pheasant.class, manager);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java 2008-11-05 23:42:05 UTC (rev 251)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanLifecycleTest.java 2008-11-06 00:21:14 UTC (rev 252)
@@ -5,21 +5,21 @@
public class ProducerExpressionBeanLifecycleTest
{
- @Test(groups={"beanLifecycle", "producerMethod"}) @SpecAssertion(section="3.4")
+ @Test(groups={"beanLifecycle", "producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
public void testNonDependentProducerExpressionThatReturnsNull()
{
// TODO Placeholder
assert false;
}
- @Test(groups={"beanLifecycle", "producerMethod"}) @SpecAssertion(section="3.4")
+ @Test(groups={"beanLifecycle", "producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
public void testDependentProducerExpressionThatReturnsNull()
{
// TODO Placeholder
assert false;
}
- @Test(groups={"beanLifecycle", "producerMethod"}) @SpecAssertion(section="3.4")
+ @Test(groups={"beanLifecycle", "producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
public void testProducerExpressionHasValidRuntimeApiType()
{
// TODO Placeholder
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java 2008-11-05 23:42:05 UTC (rev 251)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerExpressionBeanModelTest.java 2008-11-06 00:21:14 UTC (rev 252)
@@ -5,25 +5,25 @@
public class ProducerExpressionBeanModelTest extends AbstractTest
{
- @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
public void testApiTypes()
{
assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
public void testFinalProducerExpression()
{
assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4")
public void testFinalDependentProducerExpression()
{
assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.4.2")
public void testProducerExpressionCannotHaveDefaultName()
{
assert false;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-05 23:42:05 UTC (rev 251)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-06 00:21:14 UTC (rev 252)
@@ -5,7 +5,7 @@
import java.lang.reflect.Method;
import javax.webbeans.Current;
-import javax.webbeans.Dependent;
+import javax.webbeans.DefinitionException;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
@@ -18,12 +18,9 @@
import org.jboss.webbeans.test.beans.DaddyLongLegs;
import org.jboss.webbeans.test.beans.DeadlyAnimal;
import org.jboss.webbeans.test.beans.DeadlySpider;
-import org.jboss.webbeans.test.beans.LadybirdSpider;
import org.jboss.webbeans.test.beans.Spider;
import org.jboss.webbeans.test.beans.SpiderProducer;
import org.jboss.webbeans.test.beans.Tarantula;
-import org.jboss.webbeans.test.beans.TrapdoorSpider;
-import org.jboss.webbeans.test.beans.broken.BeanWithFinalProducerMethod;
import org.jboss.webbeans.test.beans.broken.BeanWithStaticProducerMethod;
import org.testng.annotations.Test;
@@ -40,31 +37,76 @@
tarantulaModel.getDeploymentType().equals(AnotherDeploymentType.class);
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3")
- public void testStaticMethod() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testStaticMethod() throws Exception
{
SimpleBeanModel<BeanWithStaticProducerMethod> model = new SimpleBeanModel<BeanWithStaticProducerMethod>(new SimpleAnnotatedClass<BeanWithStaticProducerMethod>(BeanWithStaticProducerMethod.class), getEmptyAnnotatedType(BeanWithStaticProducerMethod.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = BeanWithStaticProducerMethod.class.getMethod("getString");
- boolean exception = false;
- try
- {
- new ProducerMethodBeanModel<String>(new SimpleAnnotatedMethod<String>(method), manager);
- }
- catch (Exception e)
- {
- exception = true;
- }
- assert exception;
+ new ProducerMethodBeanModel<String>(new SimpleAnnotatedMethod<String>(method), manager);
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3")
- public void testApiTypes() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodIsNotBusinessMethod() throws Exception
{
+ assert false;
+ }
+
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testProducerMethodReturnsNullIsDependent()
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodReturnsNullIsNotDependent()
+ {
+
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testParameterizedReturnType()
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testParameterizedReturnTypeWithWildcard()
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testParameterizedReturnTypeWithTypeParameter()
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testBeanDeclaresMultipleProducerMethods()
+ {
+
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testDefaultBindingType() throws Exception
+ {
SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTarantula");
ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
+ assert tarantulaModel.getBindingTypes().size() == 1;
+ assert tarantulaModel.getBindingTypes().iterator().next().annotationType().equals(Current.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForClassReturn() throws Exception
+ {
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ manager.getModelManager().addBeanModel(model);
+ Method method = SpiderProducer.class.getMethod("produceTarantula");
+ ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
assert tarantulaModel.getApiTypes().contains(Tarantula.class);
assert tarantulaModel.getApiTypes().contains(DeadlySpider.class);
assert tarantulaModel.getApiTypes().contains(Spider.class);
@@ -73,20 +115,21 @@
assert !tarantulaModel.getApiTypes().contains(Object.class);
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3.1")
- public void testDefaultBindingType() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForPrimitiveReturn() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
- manager.getModelManager().addBeanModel(model);
- Method method = SpiderProducer.class.getMethod("produceTarantula");
- ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
- assert tarantulaModel.getBindingTypes().size() == 1;
- assert tarantulaModel.getBindingTypes().iterator().next().annotationType().equals(Current.class);
+ assert false;
}
- @Test(groups="producerMethod")
- public void testBindingType() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForArrayTypeReturn() throws Exception
{
+ assert false;
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testBindingType() throws Exception
+ {
SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTameTarantula");
@@ -95,36 +138,20 @@
assert tarantulaModel.getBindingTypes().iterator().next().annotationType().equals(Tame.class);
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3")
- public void testFinalMethod() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testScopeType() throws Exception
{
- SimpleBeanModel<BeanWithFinalProducerMethod> model = new SimpleBeanModel<BeanWithFinalProducerMethod>(new SimpleAnnotatedClass<BeanWithFinalProducerMethod>(BeanWithFinalProducerMethod.class), getEmptyAnnotatedType(BeanWithFinalProducerMethod.class), manager);
- manager.getModelManager().addBeanModel(model);
- Method method = BeanWithFinalProducerMethod.class.getMethod("getString");
- boolean exception = false;
- try
- {
- new ProducerMethodBeanModel<String>(new SimpleAnnotatedMethod<String>(method), manager);
- }
- catch (Exception e)
- {
- exception = true;
- }
- assert exception;
+ assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3")
- public void testFinalMethodWithDependentScope() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testDeploymentType() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
- manager.getModelManager().addBeanModel(model);
- Method method = SpiderProducer.class.getMethod("produceTrapdoorSpider");
- ProducerMethodBeanModel<TrapdoorSpider> trapdoorSpiderModel = new ProducerMethodBeanModel<TrapdoorSpider>(new SimpleAnnotatedMethod<TrapdoorSpider>(method), manager);
- assert trapdoorSpiderModel.getScopeType().equals(Dependent.class);
+ assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3.6")
- public void testNamedMethod() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testNamedMethod() throws Exception
{
SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
@@ -133,8 +160,8 @@
assert blackWidowSpiderModel.getName().equals("blackWidow");
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3.6")
- public void testDefaultNamedMethod() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testDefaultNamedMethod() throws Exception
{
SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
@@ -143,16 +170,24 @@
assert daddyLongLegsSpiderModel.getName().equals("produceDaddyLongLegs");
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.3.6")
- public void testDefaultNamedJavaBeanMethod() throws SecurityException, NoSuchMethodException
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodAnnotatedObserver()
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
- manager.getModelManager().addBeanModel(model);
- Method method = SpiderProducer.class.getMethod("getLadybirdSpider");
- ProducerMethodBeanModel<LadybirdSpider> ladybirdSpiderModel = new ProducerMethodBeanModel<LadybirdSpider>(new SimpleAnnotatedMethod<LadybirdSpider>(method), manager);
- assert ladybirdSpiderModel.getName().equals("ladybirdSpider");
+ assert false;
}
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodWithParameterAnnotatedDisposes()
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodWithParameterAnnotatedObserves()
+ {
+ assert false;
+ }
+
@Test(groups="disposalMethod") @SpecAssertion(section="3.3.4")
public void testDisposalMethodNonStatic()
{
@@ -213,15 +248,9 @@
assert false;
}
- @Test(groups="producerMethod") @SpecAssertion(section="2.7.2")
+ @Test(groups="producerMethod") @SpecAssertion(section={"2.7.2", "3.4.2"})
public void testSingleStereotype()
{
assert false;
}
-
- @Test(groups="producerMethod") @SpecAssertion(section="2.7.2")
- public void testStereotypeOnNonProducerMethod()
- {
- assert false;
- }
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-05 23:42:05 UTC (rev 251)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-06 00:21:14 UTC (rev 252)
@@ -94,19 +94,19 @@
assert bean.getTypes().contains(DeadlyAnimal.class);
}
- @Test(groups="producerMethod") @SpecAssertion(section="3.2.4")
+ @Test(groups={"producerMethod", "webbeansxml"}) @SpecAssertion(section="3.2.4")
public void testBeanDeclaredInXmlIgnoresProducerMethodDeclaredInJava()
{
assert false;
}
- @Test(groups="disposalMethod") @SpecAssertion(section="3.2.4")
+ @Test(groups={"disposalMethod", "webbeansxml"}) @SpecAssertion(section="3.2.4")
public void testBeanDeclaredInXmlIgnoresDisposalMethodDeclaredInJava()
{
assert false;
}
- @Test(groups="observerMethod") @SpecAssertion(section="3.2.4")
+ @Test(groups={"observerMethod", "webbeansxml"}) @SpecAssertion(section="3.2.4")
public void testBeanDeclaredInXmlIgnoresObserverMethodDeclaredInJava()
{
assert false;
15 years, 5 months