[webbeans-commits] Webbeans SVN: r1596 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Feb 19 08:39:50 EST 2009


Author: dallen6
Date: 2009-02-19 08:39:49 -0500 (Thu, 19 Feb 2009)
New Revision: 1596

Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/DogAgent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/Pomeranian.java
Log:
Minor fixes and marked all tests broken since required feature is broken.

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/DogAgent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/DogAgent.java	2009-02-19 07:41:39 UTC (rev 1595)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/DogAgent.java	2009-02-19 13:39:49 UTC (rev 1596)
@@ -2,6 +2,7 @@
 
 import javax.annotation.Named;
 import javax.annotation.Resource;
+import javax.annotation.security.RunAs;
 import javax.ejb.EJBException;
 import javax.ejb.Local;
 import javax.ejb.Stateless;
@@ -15,6 +16,7 @@
 @Stateless
 @Local(Agent.class)
 @TransactionManagement(BEAN)
+ at RunAs("Bubba")
 @Named
 public class DogAgent implements Agent
 {

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-19 07:41:39 UTC (rev 1595)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-19 13:39:49 UTC (rev 1596)
@@ -20,6 +20,7 @@
 import static org.jboss.jsr299.tck.impl.packaging.PackagingType.EAR;
 
 import java.lang.annotation.Annotation;
+import java.math.BigInteger;
 import java.util.Set;
 
 import javax.event.Observer;
@@ -68,22 +69,35 @@
    public void testTransactionalObserverNotifiedImmediatelyWhenNoTransactionInProgress()
    {
       PomeranianInterface dog = (PomeranianInterface) getCurrentManager().getInstanceByName("Teddy");
+      dog.setCorrectContext(false);
+      dog.setCorrectTransactionState(false);
       Agent dogAgent = getCurrentManager().getInstanceByType(Agent.class);
-      dogAgent.sendOutsideTransaction("event");
+      dogAgent.sendOutsideTransaction(BigInteger.TEN);
+      assert dog.isCorrectContext();
+      assert dog.isCorrectTransactionState();
    }
 
-   @Test(groups = { "events", "integration" })
+   @Test(groups = { "events", "integration", "broken" })
    @SpecAssertion(section = "7.5.6", id = "unknown")
    public void testAfterTransactionCompletionObserver()
    {
+      PomeranianInterface dog = (PomeranianInterface) getCurrentManager().getInstanceByName("Teddy");
+      dog.setCorrectContext(false);
+      dog.setCorrectTransactionState(false);
+      assert !getCurrentManager().resolveObservers("event").isEmpty();
       Agent dogAgent = getCurrentManager().getInstanceByType(Agent.class);
       dogAgent.sendInTransaction("event");
+      assert dog.isCorrectContext();
+      assert dog.isCorrectTransactionState();
    }
 
-   @Test(groups = { "events", "integration" })
+   @Test(groups = { "events", "integration", "broken" })
    @SpecAssertion(section = "7.5.6", id = "unknown")
    public void testAfterTransactionSuccessObserver()
    {
+      PomeranianInterface dog = (PomeranianInterface) getCurrentManager().getInstanceByName("Teddy");
+      dog.setCorrectContext(false);
+      dog.setCorrectTransactionState(false);
       Agent dogAgent = getCurrentManager().getInstanceByType(Agent.class);
       dogAgent.sendInTransaction(new Integer(4));
    }
@@ -92,6 +106,9 @@
    @SpecAssertion(section = "7.5.6", id = "unknown")
    public void testAfterTransactionFailureObserver()
    {
+      PomeranianInterface dog = (PomeranianInterface) getCurrentManager().getInstanceByName("Teddy");
+      dog.setCorrectContext(false);
+      dog.setCorrectTransactionState(false);
       getCurrentManager().fireEvent(new Float(4.0));
    }
 
@@ -143,6 +160,8 @@
 
       getCurrentManager().fireEvent(event);
       PomeranianInterface dog = (PomeranianInterface) getCurrentManager().getInstanceByName("Teddy");
+      dog.setCorrectContext(false);
+      dog.setCorrectTransactionState(false);
    }
 
    @Test(groups = { "stub", "events", "integration" })

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/Pomeranian.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/Pomeranian.java	2009-02-19 07:41:39 UTC (rev 1595)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/Pomeranian.java	2009-02-19 13:39:49 UTC (rev 1596)
@@ -3,6 +3,7 @@
 import static javax.ejb.TransactionManagementType.BEAN;
 import static javax.transaction.Status.STATUS_COMMITTED;
 import static javax.transaction.Status.STATUS_ROLLEDBACK;
+import static javax.transaction.Status.STATUS_NO_TRANSACTION;
 
 import java.math.BigInteger;
 
@@ -26,7 +27,7 @@
 @Tame
 @Named("Teddy")
 @TransactionManagement(BEAN)
-class Pomeranian implements PomeranianInterface
+public class Pomeranian implements PomeranianInterface
 {
    @Resource
    private UserTransaction transaction;
@@ -59,6 +60,10 @@
          {
             setCorrectContext(true);
          }
+         else
+         {
+            throw new EJBException("Wrong principal: " + context.getCallerPrincipal().getName());
+         }
       }
       catch (SystemException e)
       {
@@ -108,7 +113,26 @@
 
    public void observeBigIntegerEvent(@Observes BigInteger event)
    {
-
+      try
+      {
+         if (transaction.getStatus() == STATUS_NO_TRANSACTION)
+         {
+            setCorrectTransactionState(true);
+         }
+         else
+         {
+            throw new EJBException("Transaction " + transaction + " is not in expected state");
+         }
+         
+         if (context.getCallerPrincipal().getName().equals("Bubba"))
+         {
+            setCorrectContext(true);
+         }
+      }
+      catch (SystemException e)
+      {
+         throw new EJBException("Failed to detect transaction status", e);
+      }
    }
 
    public boolean isCorrectContext()




More information about the weld-commits mailing list