[webbeans-commits] Webbeans SVN: r1537 - in tck/trunk/impl/src/main: resources and 1 other directory.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Mon Feb 16 02:53:42 EST 2009


Author: shane.bryzak at jboss.com
Date: 2009-02-16 02:53:42 -0500 (Mon, 16 Feb 2009)
New Revision: 1537

Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
finer grained assertions for 8.4, mapped passivation tests

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java	2009-02-16 06:17:50 UTC (rev 1536)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java	2009-02-16 07:53:42 UTC (rev 1537)
@@ -23,28 +23,15 @@
  */
 public class PassivatingContextTest extends AbstractDeclarativeTest
 {
-
-   /**
-    * Simple Web Beans are not required to be serializable. If a simple Web Bean
-    * declares a passivating scope, and the implementation class is not
-    * serializable, a DefinitionException is thrown by the Web Bean manager at
-    * initialization time.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = DefinitionException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "b")
    public void testSimpleWebBeanWithNonSerializableImplementationClassFails()
    {
       deployBeans(Hamina_Broken.class);
    }
 
-   /**
-    * Simple Web Beans are not required to be serializable. If a simple Web Bean
-    * declares a passivating scope, and the implementation class is not
-    * serializable, a DefinitionException is thrown by the Web Bean manager at
-    * initialization time.
-    */
    @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "b")
    public void testSimpleWebBeanWithSerializableImplementationClassOK()
    {
       deployBeans(Jyvaskyla.class);
@@ -59,19 +46,15 @@
       getCurrentManager().getInstanceByType(NumberConsumer.class).ping();
    }
    
-   @Test @SpecAssertion(section="8.4", id = "unknown")
+   @Test @SpecAssertion(section="8.4", id = "outdated")
    public void testInjectionOfDependentPrimitiveProductIntoNormalBean()
    {
       deployBeans(Generator.class, FooConsumer.class);
       getCurrentManager().getInstanceByType(FooConsumer.class).ping();
    }
 
-   /**
-    * the Web Bean declares a passivating scope type, and context passivation
-    * occurs, or
-    */
    @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "f")
    public void testSimpleWebBeanDeclaringPassivatingScopeIsSerializedWhenContextIsPassivated() throws IOException, ClassNotFoundException
    {
       deployBeans(Kajaani.class);
@@ -94,14 +77,8 @@
       return resurrected.toString().equals(instance.toString());
    }
 
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
    @Test(groups = { "contexts", "passivation", "stub" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "j")
    public void testDependentInterceptorsOfStatefulEnterpriseBeanMustBeSerializable()
    {
       //deployBeans(Kaarina_Broken.class);
@@ -115,35 +92,23 @@
     * with their owner
     */
    @Test(groups = { "contexts", "passivation", "stub" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "j")
    public void testDependentDecoratorsOfStatefulEnterpriseBeanMustBeSerializable()
    {
       //deployBeans(Porvoo_Broken.class);
       assert false;
    }
 
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
    @Test(groups = { "contexts", "passivation", "stub" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "k")
    public void testDependentInterceptorsOfWebBeanWithPassivatingScopeMustBeSerializable()
    {
       //deployBeans(Kotka_Broken.class);
       assert false;
    }
 
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
    @Test(groups = { "contexts", "passivation", "stub" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "k")
    public void testDependentDecoratorsOfWebBeansWithPassivatingScopeMustBeSerializable()
    {
       //deployBeans(Raisio_Broken.class);
@@ -151,14 +116,11 @@
    }
 
    /**
-    * EJB local objects are serializable. Therefore, any reference to an
-    * enterprise Web Bean of scope @Dependent is serializable.
-    * 
     * @throws ClassNotFoundException
     * @throws IOException
     */
    @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "j")
    public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
    {
       deployBeans(Vaasa.class, Helsinki.class);
@@ -167,50 +129,23 @@
       assert testSerialize(vaasaBeans.iterator().next());
    }
 
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "k")
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
    {
       deployBeans(Violation.class, Espoo_Broken.class);
       getCurrentManager().getInstanceByType(Espoo_Broken.class);
    }
 
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "l")
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(Vantaa_Broken.class, Violation.class);
    }
 
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
    @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "l")
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
    {
       deployBeans(Joensuu.class, Violation.class);
@@ -218,80 +153,37 @@
       assert !beans.isEmpty();
    }
 
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "m")
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(Loviisa_Broken.class, Violation.class);
    }
 
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "n")
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(Forssa_Broken.class, Violation.class);
    }
 
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "o")
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoProducerMethodParameterWithPassivatingScopeFails()
    {
       deployBeans(Peraseinajoki.class, Violation.class, Violation2.class);
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "q")
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Nokia_Broken.class);
       getCurrentManager().getInstanceByType(Nokia_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "q")
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
    {
       deployBeans(CityProducer2.class, Hyvinkaa.class);
@@ -299,128 +191,64 @@
       assert !beans.isEmpty();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "r")
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Loviisa_Broken.class);
       getCurrentManager().getInstanceByType(Loviisa_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "s")
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Kuopio_Broken.class);
       getCurrentManager().getInstanceByType(Kuopio_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "t")
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Jamsa_Broken.class);
       getCurrentManager().getInstanceByType(Jamsa_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "q")
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer.class, Uusikaupunki_Broken.class);
       getCurrentManager().getInstanceByType(Uusikaupunki_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "q")
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
    {
       deployBeans(CityProducer.class, Salo_Broken.class);
       getCurrentManager().getInstanceByType(Salo_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "r")
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer.class, Loviisa_Broken.class);
       getCurrentManager().getInstanceByType(Loviisa_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "s")
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer.class, Mikkeli_Broken.class);
       getCurrentManager().getInstanceByType(Mikkeli_Broken.class).ping();
    }
 
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
    @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "8.4", id = "unknown")
+   @SpecAssertion(section = "8.4", id = "t")
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
    {
       // TODO Not quite sure what this test is doing

Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml	2009-02-16 06:17:50 UTC (rev 1536)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml	2009-02-16 07:53:42 UTC (rev 1537)
@@ -2222,23 +2222,54 @@
     </assertion>
     
     <assertion id="j">
-      <text>Dependent objects (including interceptors and decorators with scope @Dependent) of a stateful session bean or of a bean with a passivating scope must be serialized and deserialized along with their owner - EJB local objects are serializable. Therefore, any reference to a session bean of scope @Dependent is serializable</text>
+      <text>EJB local objects are serializable, therefore, any reference to a session bean of scope @Dependent is serializable</text>
     </assertion>
     
     <assertion id="k">
-      <text>Dependent objects (including interceptors and decorators with scope @Dependent) of a stateful session bean or of a bean with a passivating scope must be serialized and deserialized along with their owner - A simple bean of scope @Dependent may or may not be serializable. If a simple bean of scope @Dependent and a nonserializable bean class is injected into a stateful session bean, into a non-transient field, bean constructor parameter or initializer method parameter of a bean which declares a passivating scope, or into a parameter of a producer method
-which declares a passivating scope, an UnserializableDependencyException must be thrown by the container at deployment time</text>
+      <text>If a simple bean of scope @Dependent and a nonserializable bean class is injected into a stateful session bean an UnserializableDependencyException must be thrown by the container at deployment time</text>
     </assertion>
     
     <assertion id="l">
-      <text>Dependent objects (including interceptors and decorators with scope @Dependent) of a stateful session bean or of a bean with a passivating scope must be serialized and deserialized along with their owner - If a producer method or field of scope @Dependent returns a non-serializable object for injection into a stateful session bean, into a non-transient field, bean constructor parameter or initializer method parameter of a bean which declares a passivating scope, or into a parameter of a producer method which declares a passivating scope, an  IllegalProductException is thrown by the container</text>
+      <text>If a simple bean of scope @Dependent and a nonserializable bean class is injected into a non-transient field an UnserializableDependencyException must be thrown by the container at deployment time</text>
     </assertion>
     
     <assertion id="m">
-      <text>Dependent objects (including interceptors and decorators with scope @Dependent) of a stateful session bean or of a bean with a passivating scope must be serialized and deserialized along with their owner - The container must guarantee that JMS resource proxy objects are serializable</text>
+      <text>If a simple bean of scope @Dependent and a nonserializable bean class is injected into a bean constructor parameter of a bean which declares a passivating scope, an UnserializableDependencyException must be thrown by the container at deployment time</text>
     </assertion>
     
     <assertion id="n">
+      <text>If a simple bean of scope @Dependent and a nonserializable bean class is injected into an initializer method parameter of a bean which declares a passivating scope, an UnserializableDependencyException must be thrown by the container at deployment time</text>
+    </assertion>
+    
+    <assertion id="o">
+      <text>If a simple bean of scope @Dependent and a nonserializable bean class is injected into a parameter of a producer method which declares a passivating scope, an UnserializableDependencyException must be thrown by the container at deployment time</text>
+    </assertion>
+    
+    <assertion id="p">
+      <text>If a producer method or field of scope @Dependent returns a non-serializable object for injection into a stateful session bean, an  IllegalProductException is thrown by the container</text>
+    </assertion>
+    
+    <assertion id="q">
+      <text>If a producer method or field of scope @Dependent returns a non-serializable object for injection into a non-transient field an IllegalProductException is thrown by the container</text>
+    </assertion>
+    
+    <assertion id="r">
+      <text>If a producer method or field of scope @Dependent returns a non-serializable object for injection into a bean constructor parameter of a bean which declares a passivating scope, an IllegalProductException is thrown by the container</text>
+    </assertion>
+    
+    <assertion id="s">
+      <text>If a producer method or field of scope @Dependent returns a non-serializable object for injection into an initializer method parameter of a bean which declares a passivating scope, an IllegalProductException is thrown by the container</text>
+    </assertion>
+    
+    <assertion id="t">
+      <text>If a producer method or field of scope @Dependent returns a non-serializable object for injection into a parameter of a producer method which declares a passivating scope, an IllegalProductException is thrown by the container</text>
+    </assertion>
+    
+    <assertion id="u">
+      <text>The container must guarantee that JMS resource proxy objects are serializable</text>
+    </assertion>
+    
+    <assertion id="v">
       <text>The method Bean.isSerializable() may be used to detect if a bean is serializable</text>
     </assertion>
   </section>




More information about the weld-commits mailing list