[webbeans-commits] Webbeans SVN: r1113 - in tck/trunk/impl/src/main/java/org/jboss/webbeans/tck: integration and 11 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Jan 20 01:52:03 EST 2009


Author: shane.bryzak at jboss.com
Date: 2009-01-20 01:52:03 -0500 (Tue, 20 Jan 2009)
New Revision: 1113

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/application/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/application/ApplicationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/conversation/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/conversation/ConversationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/City.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityInterface.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer2.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer3.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Espoo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Forssa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hamina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Helsinki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hyvinkaa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jamsa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Joensuu.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jyvaskyla.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kaarina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kotka_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kuopio_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Loviisa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Maarianhamina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Mikkeli_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Nokia_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Peraseinajoki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Pietarsaari_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Porvoo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Raisio_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Salo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Turku.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Uusikaupunki_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vaasa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vantaa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation2.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/request/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/request/RequestContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/session/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/session/SessionContextTest.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/application/ApplicationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/conversation/ConversationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer3.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Pietarsaari_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Turku.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/request/RequestContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/session/SessionContextTest.java
Log:
split out integration tests

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/application/ApplicationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/application/ApplicationContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/application/ApplicationContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,92 @@
+package org.jboss.webbeans.tck.integration.context.application;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class ApplicationContextTest extends AbstractTest
+{
+
+   /**
+    * The application scope is active during the service() method of any servlet
+    * in the web application.
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is active during any Java EE web service invocation.
+    */
+   @Test(groups = { "stub", "contexts", "webservice" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringWebSericeInvocation()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is also active during any remote method invocation
+    * of any EJB bean, during any call to an EJB timeout method and during
+    * message delivery to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringRemoteMethodInvocationOfEjb()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is also active during any remote method invocation
+    * of any EJB bean, during any call to an EJB timeout method and during
+    * message delivery to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringCallToEjbTimeoutMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is also active during any remote method invocation
+    * of any EJB bean, during any call to an EJB timeout method and during
+    * message delivery to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringEjbMessageDelivery()
+   {
+      assert false;
+   }
+
+   /**
+    * The application context is shared between all servlet requests, web
+    * service invocations, EJB remote method invocations, EJB timeouts and
+    * message deliveries to message driven beans that execute within the same
+    * application
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationContextSharedBetweenInvokationsInApplication()
+   {
+      assert false;
+   }
+
+   /**
+    * The application context is destroyed when the application is undeployed.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeDestroyedWhenApplicationIsUndeployed()
+   {
+      assert false;
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/conversation/ConversationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/conversation/ConversationContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/conversation/ConversationContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,231 @@
+package org.jboss.webbeans.tck.integration.context.conversation;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * @author Nicklas Karlsson
+ * 
+ */
+ at SpecVersion("20081206")
+public class ConversationContextTest extends AbstractTest
+{
+   /**
+    * For a JSF faces request, the context is active from the beginning of the
+    * apply request values phase, until the response is complete.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testContextActiveFromBeginningOfApplyRequestValuesPhasetoResponseCompleteForJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * For a JSF non-faces request, the context is active during the render
+    * response phase
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testContextActiveDuringRenderResponsePhaseForNonFacesJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * Any JSF request has exactly one associated conversation
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testJsfRequestHasExactlyOneAssociatedConversation()
+   {
+      assert false;
+   }
+
+   /**
+    * The conversation associated with a JSF request is determined at the end of
+    * the restore view phase and does not change during the request
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testAssociatedConversationOfJsfRequestIsDeterminedAtEndOfRestoreViewPhase()
+   {
+      assert false;
+   }
+
+   /**
+    * The conversation associated with a JSF request is determined at the end of
+    * the restore view phase and does not change during the request
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testAssociatedConversationOfJsfRequestDoesNotChangeDuringRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * By default, a conversation is transient
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testDefaultConversationIsTransient()
+   {
+      assert false;
+   }
+
+   /**
+    * All long-running conversations have a string-valued unique identifier
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testConversationsHaveUniqueStringIdentifiers()
+   {
+      assert false;
+   }
+
+   /**
+    * If the conversation associated with the current JSF request is in the
+    * transient state at the end of a JSF request, it is destroyed, and the
+    * conversation context is also destroyed.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testTransientConversationIsDestroyedAtEndOfJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * If the conversation associated with the current JSF request is in the
+    * transient state at the end of a JSF request, it is destroyed, and the
+    * conversation context is also destroyed.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testTransientConversationContextIsDestroyedAtEndOfJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * If the conversation associated with the current JSF request is in the
+    * long-running state at the end of a JSF request, it is not destroyed
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationNotDestroyedAtEndOfJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * The long-running conversation context associated with a request that
+    * renders a JSF view is automatically propagated to any faces request (JSF
+    * form submission) that originates from that rendered page.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationOfJsfRenderingRequestIsPropagatedToRequestFromRenderedPage()
+   {
+      assert false;
+   }
+
+   /**
+    * The long-running conversation context associated with a request that
+    * results in a JSF redirect (via a navigation rule) is automatically
+    * propagated to the resulting non-faces request, and to any other subsequent
+    * request to the same URL. This is accomplished via use of a GET request
+    * parameter named cid containing the unique identifier of the conversation.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationOfJsfRedirectIsPropagatedToNonFacesRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * The long-running conversation associated with a request may be propagated
+    * to any non-faces request via use of a GET request parameter named cid
+    * containing the unique identifier of the conversation. In this case, the
+    * application must manage this request parameter
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationManuallyPropagatedToNonFacesRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * When no conversation is propagated to a JSF request, the request is
+    * associated with a new transient conversation.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testNewTransientRequestIsCreatedWhenNoConversationIsPropagated()
+   {
+      assert false;
+   }
+
+   /**
+    * All long-running conversations are scoped to a particular HTTP servlet
+    * session and may not cross session boundaries
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationsMayNotCrossHttpSessions()
+   {
+      assert false;
+   }
+
+   /**
+    * When the HTTP servlet session is invalidated, all long-running
+    * conversation contexts created during the current session are destroyed
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testAllLongRunningConversationContextsOfInvalidatedHttpSessionAreDestroyed()
+   {
+      assert false;
+   }
+
+   /**
+    * The Web Bean manager is permitted to arbitrarily destroy any long-running
+    * conversation that is associated with no current JSF request, in order to
+    * conserve resources
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testManagerCanDestroyOrphanedLongRunningConversations()
+   {
+      assert false;
+   }
+
+   /**
+    * If the propagated conversation cannot be restored, the request is
+    * associated with a new transient conversation
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testNewTransientConversationIsCreatedWhenConversationCannotBeRestored()
+   {
+      assert false;
+   }
+
+   /**
+    * The Web Bean manager ensures that a long-running conversation may be
+    * associated with at most one request at a time, by blocking or rejecting
+    * concurrent requests.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testConcurrentRequestsToLongRunningConversationsAreHandled()
+   {
+      assert false;
+   }
+}
\ No newline at end of file

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/City.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/City.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/City.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+class City
+{
+   public void ping() {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityBinding.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Dependent;
+import javax.webbeans.InterceptorBindingType;
+
+ at InterceptorBindingType
+ at Dependent
+ at Target({TYPE, METHOD})
+ at Retention(RUNTIME)
+ at interface CityBinding
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityInterface.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityInterface.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+interface CityInterface
+{
+   public void foo();
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.Dependent;
+import javax.webbeans.Produces;
+
+class CityProducer
+{
+   @Produces @Dependent public Violation reference = new Violation();
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer2.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer2.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.Dependent;
+import javax.webbeans.Produces;
+
+class CityProducer2
+{
+   @Produces
+   @Dependent
+   public Violation create()
+   {
+      return new Violation();
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer3.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer3.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/CityProducer3.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.Current;
+import javax.webbeans.Dependent;
+import javax.webbeans.Produces;
+
+
+class CityProducer3
+{
+   @Produces
+   @Dependent
+   public Violation create(@Current Violation reference)
+   {
+      return new Violation();
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Espoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Espoo_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Espoo_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Espoo_Broken
+{
+   @Current
+   Violation reference;
+   
+   @Remove
+   public void bye() {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Forssa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Forssa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Forssa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Forssa_Broken implements Serializable
+{
+   public Forssa_Broken() {
+   }
+   
+   @Initializer
+   public Forssa_Broken(@Current Violation reference) {
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hamina_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hamina_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Hamina_Broken
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Helsinki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Helsinki.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Helsinki.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Dependent;
+
+ at Dependent
+ at Stateful
+class Helsinki
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hyvinkaa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hyvinkaa.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Hyvinkaa.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Hyvinkaa implements Serializable
+{
+   @SuppressWarnings("unused")
+   @Current
+   private transient Violation reference;
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jamsa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jamsa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jamsa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Produces;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Jamsa_Broken extends City implements Serializable
+{
+   public Jamsa_Broken()
+   {
+   }
+
+   @Produces
+   @SessionScoped
+   public Violation create(@Current Violation violation)
+   {
+      return violation;
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Joensuu.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Joensuu.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Joensuu.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Joensuu implements Serializable
+{
+   @SuppressWarnings("unused")
+   @Current
+   private transient Violation reference;
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jyvaskyla.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jyvaskyla.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Jyvaskyla.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Jyvaskyla implements Serializable
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kaarina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kaarina_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kaarina_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Kaarina_Broken
+{
+   @CityBinding
+   public void foo()
+   {
+   }
+
+   @Remove
+   public void bye()
+   {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kotka_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kotka_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kotka_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Kotka_Broken implements Serializable
+{
+   @CityBinding
+   public void foo() {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kuopio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kuopio_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Kuopio_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Kuopio_Broken extends City implements Serializable
+{
+   public Kuopio_Broken() {
+      
+   }
+   
+   @Initializer
+   public void init(@Current Violation reference) {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Loviisa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Loviisa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Loviisa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Loviisa_Broken extends City implements Serializable
+{
+   public Loviisa_Broken() {
+   }
+   
+   @Initializer
+   public Loviisa_Broken(@Current Violation reference) {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Maarianhamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Maarianhamina_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Maarianhamina_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Maarianhamina_Broken
+{
+   @Current
+   private Violation reference;
+   
+   @Remove
+   public void bye() {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Mikkeli_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Mikkeli_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Mikkeli_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Mikkeli_Broken extends City implements Serializable
+{
+   public Mikkeli_Broken()
+   {
+   }
+
+   @Initializer
+   public Mikkeli_Broken(@Current Violation reference)
+   {
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Nokia_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Nokia_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Nokia_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Nokia_Broken extends City implements Serializable
+{
+   @Current
+   private Violation reference;
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,479 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.IOException;
+import java.util.Set;
+
+import javax.webbeans.DefinitionException;
+import javax.webbeans.IllegalProductException;
+import javax.webbeans.UnserializableDependencyException;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * @author Nicklas Karlsson 
+ * 
+ */
+ at SpecVersion("20081206")
+public class PassivatingContextTest extends AbstractTest
+{
+
+   /**
+    * EJB local objects are serializable. Therefore, an enterprise Web Bean may
+    * declare any passivating scope.
+    */
+   @Test(groups = { "contexts", "passivation", "enterpriseBean", "integration" })
+   @SpecAssertion(section = "9.5")
+   public void testEJBWebBeanCanDeclarePassivatingScope()
+   {
+      deployBeans(Turku.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" }, expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "9.5")
+   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 = "9.5")
+   public void testSimpleWebBeanWithSerializableImplementationClassOK()
+   {
+      createSimpleBean(Jyvaskyla.class);
+   }
+
+   /**
+    * the Web Bean declares a passivating scope type, and context passivation
+    * occurs, or
+    * 
+    * @throws IOException
+    * @throws ClassNotFoundException
+    */
+   @Test(groups = { "contexts", "passivation" , "stub" })
+   @SpecAssertion(section = "9.5")
+   public void testSimpleWebBeanDeclaringPassivatingScopeIsSerializedWhenContextIsPassivated() throws IOException, ClassNotFoundException
+   {
+      assert false;
+   }
+
+   @SuppressWarnings("unchecked")
+   private <T> boolean testSerialize(Bean<T> bean) throws IOException, ClassNotFoundException
+   {
+      manager.addBean(bean);
+      T instance = manager.getInstance(bean);
+      byte[] data = serialize(instance);
+      T resurrected = (T) deserialize(data);
+      return resurrected.toString().equals(instance.toString());
+   }
+
+   /**
+    * the Web Bean is an EJB stateful session bean, and it is passivated by the
+    * EJB container.
+    * 
+    * @throws ClassNotFoundException
+    * @throws IOException
+    */
+   // TODO requires an EJB instance
+   @Test(groups = { "contexts", "passivation", "broken", "stub" })
+   @SpecAssertion(section = "9.5")
+   public void testStatefulEJBIsSerializedWhenPassivatedByEJBContainer() throws IOException, ClassNotFoundException
+   {
+      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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentInterceptorsOfStatefulEnterpriseBeanMustBeSerializable()
+   {
+      deployBeans(Kaarina_Broken.class);
+   }
+
+   /**
+    * 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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentDecoratorsOfStatefulEnterpriseBeanMustBeSerializable()
+   {
+      deployBeans(Porvoo_Broken.class);
+   }
+
+   /**
+    * 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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentInterceptorsOfWebBeanWithPassivatingScopeMustBeSerializable()
+   {
+      deployBeans(Kotka_Broken.class);
+   }
+
+   /**
+    * 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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentDecoratorsOfWebBeansWithPassivatingScopeMustBeSerializable()
+   {
+      deployBeans(Raisio_Broken.class);
+   }
+
+   /**
+    * 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 = "9.5")
+   public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
+   {
+      deployBeans(Vaasa.class, Helsinki.class);
+      Set<Bean<Vaasa>> vaasaBeans = manager.resolveByType(Vaasa.class);
+      assert vaasaBeans.size() == 1;
+      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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
+   {
+      deployBeans(Violation.class, Espoo_Broken.class);
+      manager.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 = "9.5")
+   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 = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
+   {
+      createSimpleBean(Joensuu.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 = "9.5")
+   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 = "9.5")
+   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 = "9.5")
+   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.
+    * 
+    * @throws NoSuchMethodException
+    * @throws SecurityException
+    */
+   @Test(groups = { "contexts", "passivation", "integration", "broken" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
+   {
+      deployBeans(CityProducer2.class, Maarianhamina_Broken.class);
+      manager.getInstanceByType(Maarianhamina_Broken.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 = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer2.class, Nokia_Broken.class);
+      manager.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 = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
+   {
+      createSimpleBean(CityProducer2.class);
+      createSimpleBean(Hyvinkaa.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 = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer2.class, Loviisa_Broken.class);
+      manager.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 = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer2.class, Kuopio_Broken.class);
+      manager.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" , "broken"}, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
+   {
+      // TODO Not quite sure what this test is doing
+      //deployBeans(CityProducer3.class, Jamsa_Broken.class);
+      //manager.getInstanceByType(Jamsa_Broken.class).ping();
+      assert false;
+   }
+
+   /**
+    * 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", "stub"}, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws Exception
+   {
+      // TODO This doesn't test injction in a SFSB, but into a Enterprise bean
+      //deployBeans(CityProducer.class, Pietarsaari_Broken.class);
+      //manager.getInstanceByType(Pietarsaari_Broken.class);
+      assert false;
+   }
+
+   /**
+    * 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 = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer.class, Uusikaupunki_Broken.class);
+      manager.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 = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
+   {
+      deployBeans(CityProducer.class, Salo_Broken.class);
+      manager.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 = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer.class, Loviisa_Broken.class);
+      manager.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 = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer.class, Mikkeli_Broken.class);
+      manager.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", "broken" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
+   {
+      // TODO Not quite sure what this test is doing
+      deployBeans(CityProducer.class, Jamsa_Broken.class);
+      manager.getInstanceByType(Jamsa_Broken.class).ping();
+      assert false;
+   }
+
+   /**
+    * The Web Bean manager must guarantee that JMS endpoint proxy objects are
+    * serializable.
+    */
+   @Test(groups = { "stub", "contexts", "passivation", "jms" })
+   @SpecAssertion(section = "9.5")
+   public void testJMSEndpointProxyIsSerializable()
+   {
+      assert false;
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Peraseinajoki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Peraseinajoki.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Peraseinajoki.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.Current;
+import javax.webbeans.Produces;
+import javax.webbeans.SessionScoped;
+
+class Peraseinajoki extends City
+{
+
+   @Produces @SessionScoped
+   public Violation2 create(@Current Violation reference)
+   {
+      return new Violation2();
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Pietarsaari_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Pietarsaari_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Pietarsaari_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Pietarsaari_Broken extends City implements Serializable
+{
+   @Current
+   private Violation reference;
+   
+   @Remove
+   public void bye() {
+      
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Porvoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Porvoo_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Porvoo_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Porvoo_Broken implements CityInterface
+{
+   public void foo()
+   {
+   }
+
+   @Remove
+   public void bye()
+   {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Raisio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Raisio_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Raisio_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Raisio_Broken implements CityInterface, Serializable
+{
+   public void foo()
+   {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Salo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Salo_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Salo_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Salo_Broken extends City implements Serializable
+{
+   @Current
+   private transient Violation reference;
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Turku.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Turku.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Turku.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Turku
+{
+   @Remove
+   public void bye() {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Uusikaupunki_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Uusikaupunki_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Uusikaupunki_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Uusikaupunki_Broken extends City implements Serializable
+{
+   @Current
+   private Violation reference;
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vaasa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vaasa.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vaasa.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Vaasa implements Serializable
+{
+   @SuppressWarnings("unused")
+   @Current private Helsinki ejb;
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vantaa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vantaa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Vantaa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,28 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Vantaa_Broken implements Serializable
+{
+   @Current
+   private Violation reference;
+
+   public Violation getReference()
+   {
+      return reference;
+   }
+
+   public void setReference(Violation reference)
+   {
+      this.reference = reference;
+   }
+
+   public String test() {
+      return reference.toString();
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.Dependent;
+
+ at Dependent
+class Violation
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation2.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/Violation2.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.integration.context.passivating;
+
+import javax.webbeans.Dependent;
+
+ at Dependent
+class Violation2
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/request/RequestContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/request/RequestContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/request/RequestContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,124 @@
+package org.jboss.webbeans.tck.integration.context.request;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class RequestContextTest extends AbstractTest
+{
+
+   /**
+    * The request scope is active during the service() method of any Servlet in
+    * the web application.
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed at the end of the servlet request, after
+    * the Servlet service() method returns.
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeIsDestroyedAfterServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any Java EE web service invocation.
+    */
+   @Test(groups = { "stub", "contexts", "webservice" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringWebSericeInvocation()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the web service invocation
+    * completes
+    */
+   @Test(groups = { "stub", "contexts", "webservice" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeIsDestroyedAfterWebServiceInvocation()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any remote method invocation of any EJB
+    * bean, during any call to an EJB timeout method and during message delivery
+    * to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringRemoteMethodInvocationOfEjb()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any remote method invocation of any EJB
+    * bean, during any call to an EJB timeout method and during message delivery
+    * to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringCallToEjbTimeoutMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any remote method invocation of any EJB
+    * bean, during any call to an EJB timeout method and during message delivery
+    * to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringEjbMessageDelivery()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the remote method invocation,
+    * timeout or message delivery completes.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeDestroyedAfterRemoteMethodInvocationOfEjb()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the remote method invocation,
+    * timeout or message delivery completes.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeDestroyedAfterCallToEjbTimeoutMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the remote method invocation,
+    * timeout or message delivery completes.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeDestroyedAfterEjbMessageDelivery()
+   {
+      assert false;
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/session/SessionContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/session/SessionContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/session/SessionContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -0,0 +1,45 @@
+package org.jboss.webbeans.tck.integration.context.session;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("2001206")
+public class SessionContextTest extends AbstractTest
+{
+
+   /**
+    * The session scope is active during the service() method of any servlet in
+    * the web application
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.2")
+   public void testSessionScopeActiveDuringServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The session context is shared between all servlet requests that occur in
+    * the same HTTP servlet session
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.2")
+   public void testSessionContextSharedBetweenServletRequestsInSameHttpSession()
+   {
+      assert false;
+   }
+
+   /**
+    * The session context is destroyed when the HTTPSession is invalidated or
+    * times out.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.2")
+   public void testSessionContextDestroyedWhenHttpSessionInvalidatedOrTimesOut()
+   {
+      assert false;
+   }
+
+}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/application/ApplicationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/application/ApplicationContextTest.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/application/ApplicationContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,92 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.application;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.testng.annotations.Test;
-
- at SpecVersion("20081206")
-public class ApplicationContextTest extends AbstractTest
-{
-
-   /**
-    * The application scope is active during the service() method of any servlet
-    * in the web application.
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is active during any Java EE web service invocation.
-    */
-   @Test(groups = { "stub", "contexts", "webservice" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringWebSericeInvocation()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is also active during any remote method invocation
-    * of any EJB bean, during any call to an EJB timeout method and during
-    * message delivery to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringRemoteMethodInvocationOfEjb()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is also active during any remote method invocation
-    * of any EJB bean, during any call to an EJB timeout method and during
-    * message delivery to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringCallToEjbTimeoutMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is also active during any remote method invocation
-    * of any EJB bean, during any call to an EJB timeout method and during
-    * message delivery to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringEjbMessageDelivery()
-   {
-      assert false;
-   }
-
-   /**
-    * The application context is shared between all servlet requests, web
-    * service invocations, EJB remote method invocations, EJB timeouts and
-    * message deliveries to message driven beans that execute within the same
-    * application
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationContextSharedBetweenInvokationsInApplication()
-   {
-      assert false;
-   }
-
-   /**
-    * The application context is destroyed when the application is undeployed.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeDestroyedWhenApplicationIsUndeployed()
-   {
-      assert false;
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/conversation/ConversationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/conversation/ConversationContextTest.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/conversation/ConversationContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,231 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.conversation;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Nicklas Karlsson
- * 
- */
- at SpecVersion("20081206")
-public class ConversationContextTest extends AbstractTest
-{
-   /**
-    * For a JSF faces request, the context is active from the beginning of the
-    * apply request values phase, until the response is complete.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testContextActiveFromBeginningOfApplyRequestValuesPhasetoResponseCompleteForJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * For a JSF non-faces request, the context is active during the render
-    * response phase
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testContextActiveDuringRenderResponsePhaseForNonFacesJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * Any JSF request has exactly one associated conversation
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testJsfRequestHasExactlyOneAssociatedConversation()
-   {
-      assert false;
-   }
-
-   /**
-    * The conversation associated with a JSF request is determined at the end of
-    * the restore view phase and does not change during the request
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testAssociatedConversationOfJsfRequestIsDeterminedAtEndOfRestoreViewPhase()
-   {
-      assert false;
-   }
-
-   /**
-    * The conversation associated with a JSF request is determined at the end of
-    * the restore view phase and does not change during the request
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testAssociatedConversationOfJsfRequestDoesNotChangeDuringRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * By default, a conversation is transient
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testDefaultConversationIsTransient()
-   {
-      assert false;
-   }
-
-   /**
-    * All long-running conversations have a string-valued unique identifier
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testConversationsHaveUniqueStringIdentifiers()
-   {
-      assert false;
-   }
-
-   /**
-    * If the conversation associated with the current JSF request is in the
-    * transient state at the end of a JSF request, it is destroyed, and the
-    * conversation context is also destroyed.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testTransientConversationIsDestroyedAtEndOfJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * If the conversation associated with the current JSF request is in the
-    * transient state at the end of a JSF request, it is destroyed, and the
-    * conversation context is also destroyed.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testTransientConversationContextIsDestroyedAtEndOfJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * If the conversation associated with the current JSF request is in the
-    * long-running state at the end of a JSF request, it is not destroyed
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationNotDestroyedAtEndOfJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * The long-running conversation context associated with a request that
-    * renders a JSF view is automatically propagated to any faces request (JSF
-    * form submission) that originates from that rendered page.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationOfJsfRenderingRequestIsPropagatedToRequestFromRenderedPage()
-   {
-      assert false;
-   }
-
-   /**
-    * The long-running conversation context associated with a request that
-    * results in a JSF redirect (via a navigation rule) is automatically
-    * propagated to the resulting non-faces request, and to any other subsequent
-    * request to the same URL. This is accomplished via use of a GET request
-    * parameter named cid containing the unique identifier of the conversation.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationOfJsfRedirectIsPropagatedToNonFacesRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * The long-running conversation associated with a request may be propagated
-    * to any non-faces request via use of a GET request parameter named cid
-    * containing the unique identifier of the conversation. In this case, the
-    * application must manage this request parameter
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationManuallyPropagatedToNonFacesRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * When no conversation is propagated to a JSF request, the request is
-    * associated with a new transient conversation.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testNewTransientRequestIsCreatedWhenNoConversationIsPropagated()
-   {
-      assert false;
-   }
-
-   /**
-    * All long-running conversations are scoped to a particular HTTP servlet
-    * session and may not cross session boundaries
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationsMayNotCrossHttpSessions()
-   {
-      assert false;
-   }
-
-   /**
-    * When the HTTP servlet session is invalidated, all long-running
-    * conversation contexts created during the current session are destroyed
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testAllLongRunningConversationContextsOfInvalidatedHttpSessionAreDestroyed()
-   {
-      assert false;
-   }
-
-   /**
-    * The Web Bean manager is permitted to arbitrarily destroy any long-running
-    * conversation that is associated with no current JSF request, in order to
-    * conserve resources
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testManagerCanDestroyOrphanedLongRunningConversations()
-   {
-      assert false;
-   }
-
-   /**
-    * If the propagated conversation cannot be restored, the request is
-    * associated with a new transient conversation
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testNewTransientConversationIsCreatedWhenConversationCannotBeRestored()
-   {
-      assert false;
-   }
-
-   /**
-    * The Web Bean manager ensures that a long-running conversation may be
-    * associated with at most one request at a time, by blocking or rejecting
-    * concurrent requests.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testConcurrentRequestsToLongRunningConversationsAreHandled()
-   {
-      assert false;
-   }
-}
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,8 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-class City
-{
-   public void ping() {
-      
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,20 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.webbeans.Dependent;
-import javax.webbeans.InterceptorBindingType;
-
- at InterceptorBindingType
- at Dependent
- at Target({TYPE, METHOD})
- at Retention(RUNTIME)
- at interface CityBinding
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,6 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-interface CityInterface
-{
-   public void foo();
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.Dependent;
-import javax.webbeans.Produces;
-
-class CityProducer
-{
-   @Produces @Dependent public Violation reference = new Violation();
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,14 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.Dependent;
-import javax.webbeans.Produces;
-
-class CityProducer2
-{
-   @Produces
-   @Dependent
-   public Violation create()
-   {
-      return new Violation();
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer3.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer3.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer3.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,17 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.Current;
-import javax.webbeans.Dependent;
-import javax.webbeans.Produces;
-
-
-class CityProducer3
-{
-   @Produces
-   @Dependent
-   public Violation create(@Current Violation reference)
-   {
-      return new Violation();
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,18 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at Stateful
- at SessionScoped
-class Espoo_Broken
-{
-   @Current
-   Violation reference;
-   
-   @Remove
-   public void bye() {
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,19 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.Initializer;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Forssa_Broken implements Serializable
-{
-   public Forssa_Broken() {
-   }
-   
-   @Initializer
-   public Forssa_Broken(@Current Violation reference) {
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Hamina_Broken
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.ejb.Stateful;
-import javax.webbeans.Dependent;
-
- at Dependent
- at Stateful
-class Helsinki
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,15 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SuppressWarnings("serial")
- at SessionScoped
-class Hyvinkaa implements Serializable
-{
-   @SuppressWarnings("unused")
-   @Current
-   private transient Violation reference;
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,22 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.Produces;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Jamsa_Broken extends City implements Serializable
-{
-   public Jamsa_Broken()
-   {
-   }
-
-   @Produces
-   @SessionScoped
-   public Violation create(@Current Violation violation)
-   {
-      return violation;
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,16 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SuppressWarnings("serial")
- at SessionScoped
-class Joensuu implements Serializable
-{
-   @SuppressWarnings("unused")
-   @Current
-   private transient Violation reference;
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.SessionScoped;
-
- at SuppressWarnings("serial")
- at SessionScoped
-class Jyvaskyla implements Serializable
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,20 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.SessionScoped;
-
- at Stateful
- at SessionScoped
-class Kaarina_Broken
-{
-   @CityBinding
-   public void foo()
-   {
-   }
-
-   @Remove
-   public void bye()
-   {
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,14 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Kotka_Broken implements Serializable
-{
-   @CityBinding
-   public void foo() {
-      
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,20 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.Initializer;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Kuopio_Broken extends City implements Serializable
-{
-   public Kuopio_Broken() {
-      
-   }
-   
-   @Initializer
-   public void init(@Current Violation reference) {
-      
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,19 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.Initializer;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Loviisa_Broken extends City implements Serializable
-{
-   public Loviisa_Broken() {
-   }
-   
-   @Initializer
-   public Loviisa_Broken(@Current Violation reference) {
-      
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,18 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at Stateful
- at SessionScoped
-class Maarianhamina_Broken
-{
-   @Current
-   private Violation reference;
-   
-   @Remove
-   public void bye() {
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,21 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.Initializer;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Mikkeli_Broken extends City implements Serializable
-{
-   public Mikkeli_Broken()
-   {
-   }
-
-   @Initializer
-   public Mikkeli_Broken(@Current Violation reference)
-   {
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,13 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Nokia_Broken extends City implements Serializable
-{
-   @Current
-   private Violation reference;
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,479 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.IOException;
-import java.util.Set;
-
-import javax.webbeans.DefinitionException;
-import javax.webbeans.IllegalProductException;
-import javax.webbeans.UnserializableDependencyException;
-import javax.webbeans.manager.Bean;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Nicklas Karlsson 
- * 
- */
- at SpecVersion("20081206")
-public class PassivatingContextTest extends AbstractTest
-{
-
-   /**
-    * EJB local objects are serializable. Therefore, an enterprise Web Bean may
-    * declare any passivating scope.
-    */
-   @Test(groups = { "contexts", "passivation", "enterpriseBean", "integration" })
-   @SpecAssertion(section = "9.5")
-   public void testEJBWebBeanCanDeclarePassivatingScope()
-   {
-      deployBeans(Turku.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" }, expectedExceptions = DefinitionException.class)
-   @SpecAssertion(section = "9.5")
-   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 = "9.5")
-   public void testSimpleWebBeanWithSerializableImplementationClassOK()
-   {
-      createSimpleBean(Jyvaskyla.class);
-   }
-
-   /**
-    * the Web Bean declares a passivating scope type, and context passivation
-    * occurs, or
-    * 
-    * @throws IOException
-    * @throws ClassNotFoundException
-    */
-   @Test(groups = { "contexts", "passivation" , "stub" })
-   @SpecAssertion(section = "9.5")
-   public void testSimpleWebBeanDeclaringPassivatingScopeIsSerializedWhenContextIsPassivated() throws IOException, ClassNotFoundException
-   {
-      assert false;
-   }
-
-   @SuppressWarnings("unchecked")
-   private <T> boolean testSerialize(Bean<T> bean) throws IOException, ClassNotFoundException
-   {
-      manager.addBean(bean);
-      T instance = manager.getInstance(bean);
-      byte[] data = serialize(instance);
-      T resurrected = (T) deserialize(data);
-      return resurrected.toString().equals(instance.toString());
-   }
-
-   /**
-    * the Web Bean is an EJB stateful session bean, and it is passivated by the
-    * EJB container.
-    * 
-    * @throws ClassNotFoundException
-    * @throws IOException
-    */
-   // TODO requires an EJB instance
-   @Test(groups = { "contexts", "passivation", "broken", "stub" })
-   @SpecAssertion(section = "9.5")
-   public void testStatefulEJBIsSerializedWhenPassivatedByEJBContainer() throws IOException, ClassNotFoundException
-   {
-      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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentInterceptorsOfStatefulEnterpriseBeanMustBeSerializable()
-   {
-      deployBeans(Kaarina_Broken.class);
-   }
-
-   /**
-    * 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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentDecoratorsOfStatefulEnterpriseBeanMustBeSerializable()
-   {
-      deployBeans(Porvoo_Broken.class);
-   }
-
-   /**
-    * 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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentInterceptorsOfWebBeanWithPassivatingScopeMustBeSerializable()
-   {
-      deployBeans(Kotka_Broken.class);
-   }
-
-   /**
-    * 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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentDecoratorsOfWebBeansWithPassivatingScopeMustBeSerializable()
-   {
-      deployBeans(Raisio_Broken.class);
-   }
-
-   /**
-    * 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 = "9.5")
-   public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
-   {
-      deployBeans(Vaasa.class, Helsinki.class);
-      Set<Bean<Vaasa>> vaasaBeans = manager.resolveByType(Vaasa.class);
-      assert vaasaBeans.size() == 1;
-      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 = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
-   {
-      deployBeans(Violation.class, Espoo_Broken.class);
-      manager.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 = "9.5")
-   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 = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
-   {
-      createSimpleBean(Joensuu.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 = "9.5")
-   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 = "9.5")
-   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 = "9.5")
-   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.
-    * 
-    * @throws NoSuchMethodException
-    * @throws SecurityException
-    */
-   @Test(groups = { "contexts", "passivation", "integration", "broken" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
-   {
-      deployBeans(CityProducer2.class, Maarianhamina_Broken.class);
-      manager.getInstanceByType(Maarianhamina_Broken.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 = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer2.class, Nokia_Broken.class);
-      manager.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 = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
-   {
-      createSimpleBean(CityProducer2.class);
-      createSimpleBean(Hyvinkaa.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 = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer2.class, Loviisa_Broken.class);
-      manager.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 = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer2.class, Kuopio_Broken.class);
-      manager.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" , "broken"}, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
-   {
-      // TODO Not quite sure what this test is doing
-      //deployBeans(CityProducer3.class, Jamsa_Broken.class);
-      //manager.getInstanceByType(Jamsa_Broken.class).ping();
-      assert false;
-   }
-
-   /**
-    * 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", "stub"}, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws Exception
-   {
-      // TODO This doesn't test injction in a SFSB, but into a Enterprise bean
-      //deployBeans(CityProducer.class, Pietarsaari_Broken.class);
-      //manager.getInstanceByType(Pietarsaari_Broken.class);
-      assert false;
-   }
-
-   /**
-    * 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 = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer.class, Uusikaupunki_Broken.class);
-      manager.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 = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
-   {
-      deployBeans(CityProducer.class, Salo_Broken.class);
-      manager.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 = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer.class, Loviisa_Broken.class);
-      manager.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 = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer.class, Mikkeli_Broken.class);
-      manager.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", "broken" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
-   {
-      // TODO Not quite sure what this test is doing
-      deployBeans(CityProducer.class, Jamsa_Broken.class);
-      manager.getInstanceByType(Jamsa_Broken.class).ping();
-      assert false;
-   }
-
-   /**
-    * The Web Bean manager must guarantee that JMS endpoint proxy objects are
-    * serializable.
-    */
-   @Test(groups = { "stub", "contexts", "passivation", "jms" })
-   @SpecAssertion(section = "9.5")
-   public void testJMSEndpointProxyIsSerializable()
-   {
-      assert false;
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,16 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.Current;
-import javax.webbeans.Produces;
-import javax.webbeans.SessionScoped;
-
-class Peraseinajoki extends City
-{
-
-   @Produces @SessionScoped
-   public Violation2 create(@Current Violation reference)
-   {
-      return new Violation2();
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Pietarsaari_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Pietarsaari_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Pietarsaari_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,22 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at Stateful
- at SessionScoped
-class Pietarsaari_Broken extends City implements Serializable
-{
-   @Current
-   private Violation reference;
-   
-   @Remove
-   public void bye() {
-      
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,19 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.SessionScoped;
-
- at Stateful
- at SessionScoped
-class Porvoo_Broken implements CityInterface
-{
-   public void foo()
-   {
-   }
-
-   @Remove
-   public void bye()
-   {
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,13 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Raisio_Broken implements CityInterface, Serializable
-{
-   public void foo()
-   {
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,14 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Salo_Broken extends City implements Serializable
-{
-   @Current
-   private transient Violation reference;
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Turku.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Turku.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Turku.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,15 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.SessionScoped;
-
- at Stateful
- at SessionScoped
-class Turku
-{
-   @Remove
-   public void bye() {
-      
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,14 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Uusikaupunki_Broken extends City implements Serializable
-{
-   @Current
-   private Violation reference;
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,14 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SuppressWarnings("serial")
- at SessionScoped
-class Vaasa implements Serializable
-{
-   @SuppressWarnings("unused")
-   @Current private Helsinki ejb;
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,28 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import java.io.Serializable;
-
-import javax.webbeans.Current;
-import javax.webbeans.SessionScoped;
-
- at SessionScoped
-class Vantaa_Broken implements Serializable
-{
-   @Current
-   private Violation reference;
-
-   public Violation getReference()
-   {
-      return reference;
-   }
-
-   public void setReference(Violation reference)
-   {
-      this.reference = reference;
-   }
-
-   public String test() {
-      return reference.toString();
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.Dependent;
-
- at Dependent
-class Violation
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.passivating;
-
-import javax.webbeans.Dependent;
-
- at Dependent
-class Violation2
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/request/RequestContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/request/RequestContextTest.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/request/RequestContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,124 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.request;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.testng.annotations.Test;
-
- at SpecVersion("20081206")
-public class RequestContextTest extends AbstractTest
-{
-
-   /**
-    * The request scope is active during the service() method of any Servlet in
-    * the web application.
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed at the end of the servlet request, after
-    * the Servlet service() method returns.
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeIsDestroyedAfterServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any Java EE web service invocation.
-    */
-   @Test(groups = { "stub", "contexts", "webservice" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringWebSericeInvocation()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the web service invocation
-    * completes
-    */
-   @Test(groups = { "stub", "contexts", "webservice" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeIsDestroyedAfterWebServiceInvocation()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any remote method invocation of any EJB
-    * bean, during any call to an EJB timeout method and during message delivery
-    * to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringRemoteMethodInvocationOfEjb()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any remote method invocation of any EJB
-    * bean, during any call to an EJB timeout method and during message delivery
-    * to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringCallToEjbTimeoutMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any remote method invocation of any EJB
-    * bean, during any call to an EJB timeout method and during message delivery
-    * to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringEjbMessageDelivery()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the remote method invocation,
-    * timeout or message delivery completes.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeDestroyedAfterRemoteMethodInvocationOfEjb()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the remote method invocation,
-    * timeout or message delivery completes.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeDestroyedAfterCallToEjbTimeoutMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the remote method invocation,
-    * timeout or message delivery completes.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeDestroyedAfterEjbMessageDelivery()
-   {
-      assert false;
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/session/SessionContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/session/SessionContextTest.java	2009-01-20 06:44:48 UTC (rev 1112)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/session/SessionContextTest.java	2009-01-20 06:52:03 UTC (rev 1113)
@@ -1,45 +0,0 @@
-package org.jboss.webbeans.tck.unit.context.session;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.testng.annotations.Test;
-
- at SpecVersion("2001206")
-public class SessionContextTest extends AbstractTest
-{
-
-   /**
-    * The session scope is active during the service() method of any servlet in
-    * the web application
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.2")
-   public void testSessionScopeActiveDuringServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The session context is shared between all servlet requests that occur in
-    * the same HTTP servlet session
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.2")
-   public void testSessionContextSharedBetweenServletRequestsInSameHttpSession()
-   {
-      assert false;
-   }
-
-   /**
-    * The session context is destroyed when the HTTPSession is invalidated or
-    * times out.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.2")
-   public void testSessionContextDestroyedWhenHttpSessionInvalidatedOrTimesOut()
-   {
-      assert false;
-   }
-
-}




More information about the weld-commits mailing list