[webbeans-commits] Webbeans SVN: r1717 - in tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/unit/event and 5 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Feb 26 07:19:29 EST 2009


Author: dallen6
Date: 2009-02-26 07:19:29 -0500 (Thu, 26 Feb 2009)
New Revision: 1717

Added:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StringObserver.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/NonSimpleBean_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/ObserverMethodOnIncorrectBeanTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToRemoveObserverTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToRemoveObserverTest.java
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/unit/event/EventTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java
   tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
Fixed test assignments through section 7.5 for events

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-26 12:00:55 UTC (rev 1716)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -51,19 +51,33 @@
    private static final Annotation TAME_LITERAL = new AnnotationLiteral<Tame>() {};
    
    @Test(groups = { "stub", "events", "integration" })
-   @SpecAssertion(section = "7.4", id = "unknown")
+   @SpecAssertion(section = "7.4", id = "d")
    public void testObserverCalledBeforeTransactionCompleteMaySetRollbackOnly()
    {
       assert false;
    }
 
    @Test(groups = { "stub", "events", "integration" })
-   @SpecAssertion(section = "7.4", id = "unknown")
-   public void testObserverManipulatingJTATransactionsDirectlyFails()
+   @SpecAssertion(section = "7.4", id = "e")
+   public void testObserverInitiatingJTATransactionsDirectlyFails()
    {
       assert false;
    }
 
+   @Test(groups = { "stub", "events", "integration" })
+   @SpecAssertion(section = "7.4", id = "f")
+   public void testObserverCommittingJTATransactionsDirectlyFails()
+   {
+      assert false;
+   }
+
+   @Test(groups = { "stub", "events", "integration" })
+   @SpecAssertion(section = "7.4", id = "g")
+   public void testObserverRollingbackJTATransactionsDirectlyFails()
+   {
+      assert false;
+   }
+
    @Test(groups = { "events", "integration", "broken" })
    @SpecAssertion(section = "7.5.6", id = "unknown")
    public void testTransactionalObserverNotifiedImmediatelyWhenNoTransactionInProgress()

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java	2009-02-26 12:00:55 UTC (rev 1716)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -98,6 +98,7 @@
    /**
     * An event binding type is a Java annotation defined as ~@Target({FIELD,
     * PARAMETER}) or~ @Target({METHOD, FIELD, PARAMETER, TYPE}) ~and
+    * 
     * @Retention(RUNTIME)~
     */
    @Test(groups = { "events", "stub" })
@@ -110,8 +111,8 @@
    /**
     * An event binding type is a Java annotation defined as ~@Target({FIELD,
     * PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and
-    * ~@Retention(RUNTIME)
-    * TODO If the binding does not have RUNTIME retention, it cannot be tested
+    * ~@Retention(RUNTIME) TODO If the binding does not have RUNTIME retention,
+    * it cannot be tested
     */
    @Test(groups = { "events", "broken" })
    @SpecAssertions( { @SpecAssertion(section = "7.1", id = "f") })
@@ -180,7 +181,7 @@
       getCurrentManager().fireEvent(anEvent, new RoleBinding("Admin"));
    }
 
-   //TODO This is not an assertion but a definition which is circular and non-testable
+   // TODO This is not an assertion but a definition which is circular
    @Test(groups = { "events" })
    @SpecAssertion(section = "7.3", id = "a")
    public void testObserversImplementObserverInterface()
@@ -194,10 +195,73 @@
       assert observer != null;
    }
 
+   @Test(groups = { "events", "broken" }, expectedExceptions = { IllegalArgumentException.class })
+   @SpecAssertions( { @SpecAssertion(section = "7.3", id = "f") })
+   public void testManagerAddObserverWithEventTypeParametersFails()
+   {
+      assert false;
+      // ATemplatedEventType<String> anEvent = new
+      // ATemplatedEventType<String>();
+      // Observer<AnEventType> observer = new AnObserver();
+      // getCurrentManager().addObserver(observer, anEvent.getClass());
+   }
+
+   @Test(groups = { "events", "broken" }, expectedExceptions = { IllegalArgumentException.class })
+   @SpecAssertions( { @SpecAssertion(section = "7.3", id = "g") })
+   public void testManagerAddObserverWithEventTypeWildcardsFails()
+   {
+      // Although the above test is really the same as with a wildcard,
+      // we will test it anyhow since the specification calls it out separately.
+      ATemplatedEventType<?> anEventOnAnyType = new ATemplatedEventType<String>();
+      assert false;
+   }
+
+   @Test(groups = { "events", "broken" }, expectedExceptions = { IllegalArgumentException.class })
+   @SpecAssertions( { @SpecAssertion(section = "7.3", id = "h") })
+   public void testManagerRemoveObserverWithEventTypeParametersFails()
+   {
+      assert false;
+      // ATemplatedEventType<String> anEvent = new
+      // ATemplatedEventType<String>();
+      // Observer<AnEventType> observer = new AnObserver();
+      // getCurrentManager().addObserver(observer, anEvent.getClass());
+   }
+
+   @Test(groups = { "events", "stub" }, expectedExceptions = { IllegalArgumentException.class })
+   @SpecAssertions( { @SpecAssertion(section = "7.3", id = "i") })
+   public void testManagerRemoveObserverWithEventTypeWildcardsFails()
+   {
+      // Although the above test is really the same as with a wildcard,
+      // we will test it anyhow since the specification calls it out separately.
+      ATemplatedEventType<?> anEventOnAnyType = new ATemplatedEventType<String>();
+      assert false;
+   }
+
+   @Test(groups = { "events", "stub" })
+   @SpecAssertions( { @SpecAssertion(section = "7.4", id = "a") })
+   public void testObserverNotificationCallsResolveObservers()
+   {
+      assert false;
+   }
+
    @Test(groups = { "events" })
+   @SpecAssertion(section = "7.5", id = "a")
+   public void testObserverMethodAutomaticallyRegistered()
+   {
+      assert !getCurrentManager().resolveObservers("event").isEmpty();
+   }
+
+   @Test(groups = { "events" })
    @SpecAssertion(section = "7.5", id = "e")
-   public void testMultipleObserverMethodsOK()
+   public void testMultipleObserverMethodsForSameEventOK()
    {
+      assert getCurrentManager().resolveObservers("event").size() > 1;
+   }
+
+   @Test(groups = { "events" })
+   @SpecAssertion(section = "7.5", id = "f")
+   public void testMultipleObserverMethodsOnBeanOK()
+   {
       // Resolve the observers for types 1 and 2
       Set<Observer<ObservedType1>> resolvedStringObservers = getCurrentManager().resolveObservers(new ObservedType1());
       assert resolvedStringObservers.size() == 1;
@@ -343,6 +407,7 @@
    }
 
    @Test(groups = { "events" })
+   @SpecAssertions( { @SpecAssertion(section = "7.5", id = "c"), @SpecAssertion(section = "7.5.8", id = "i")} )
    @SpecAssertion(section = "7.5.8", id = "i")
    public void testStaticObserverMethodInvoked()
    {

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StringObserver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StringObserver.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StringObserver.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.unit.event;
+
+import javax.event.Observes;
+
+class StringObserver
+{
+   public void anotherObserver(@Observes String event)
+   {
+      
+   }
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StringObserver.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/NonSimpleBean_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/NonSimpleBean_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/NonSimpleBean_Broken.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.broken.observer12;
+
+import javax.event.Observes;
+
+/**
+ * This bean is neither simple nor session. As such, an observer method is not
+ * allowed to be here.
+ * 
+ * @author David Allen
+ * 
+ */
+class NonSimpleBean_Broken
+{
+   public NonSimpleBean_Broken(String name)
+   {
+
+   }
+
+   public void observe(@Observes String event)
+   {
+
+   }
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/NonSimpleBean_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/ObserverMethodOnIncorrectBeanTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/ObserverMethodOnIncorrectBeanTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/ObserverMethodOnIncorrectBeanTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.broken.observer12;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+/**
+ * Tests an observer method on something that is not a simple bean
+ * or session bean.
+ * 
+ * @author David Allen
+ *
+ */
+ at Artifact
+public class ObserverMethodOnIncorrectBeanTest extends AbstractDeclarativeTest
+{
+   @Test(groups = { "events" })
+   @SpecAssertion(section = "7.5", id = "b")
+   public void testObserverMethodNotOnSimpleOrSessionBeanFails()
+   {
+      assert getCurrentManager().resolveObservers("event").isEmpty();
+   }
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer12/ObserverMethodOnIncorrectBeanTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java	2009-02-26 12:00:55 UTC (rev 1716)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -26,7 +26,7 @@
    }
 
    @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
-   @SpecAssertion(section = "7.3", id = "g")
+   @SpecAssertion(section = "7.3", id = "j")
    public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
    {
       Observer<AnEventType> observer = new AnObserver();

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToRemoveObserverTest.java (from rev 1712, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToRemoveObserverTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToRemoveObserverTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+import javax.inject.DuplicateBindingTypeException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+ at Artifact
+public class DuplicateBindingsToRemoveObserverTest extends AbstractDeclarativeTest
+{
+   public static class AnEventType
+   {
+   }
+
+   public static class AnObserver implements Observer<AnEventType>
+   {
+      public boolean wasNotified = false;
+
+      public void notify(AnEventType event)
+      {
+         wasNotified = true;
+      }
+   }
+
+   @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+   @SpecAssertion(section = "7.3", id = "k")
+   public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+   }
+}

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java	2009-02-26 12:00:55 UTC (rev 1716)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -25,7 +25,7 @@
    }
 
    @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
-   @SpecAssertion(section = "7.3", id = "h")
+   @SpecAssertion(section = "7.3", id = "l")
    public void testNonBindingTypePassedToAddObserverFails()
    {
       Observer<AnEventType> observer = new AnObserver();

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToRemoveObserverTest.java (from rev 1712, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToRemoveObserverTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToRemoveObserverTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+ at Artifact
+public class NonBindingTypesToRemoveObserverTest extends AbstractDeclarativeTest
+{
+   public static class AnEventType
+   {
+   }
+
+   public static class AnObserver implements Observer<AnEventType>
+   {
+      public boolean wasNotified = false;
+
+      public void notify(AnEventType event)
+      {
+         wasNotified = true;
+      }
+   }
+
+   @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
+   @SpecAssertion(section = "7.3", id = "m")
+   public void testNonBindingTypePassedToRemoveObserverFails()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+   }
+
+}

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java	2009-02-26 12:00:55 UTC (rev 1716)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java	2009-02-26 12:19:29 UTC (rev 1717)
@@ -8,13 +8,25 @@
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
-import org.jboss.jsr299.tck.unit.event.EventTest.AnEventType;
-import org.jboss.jsr299.tck.unit.event.EventTest.AnObserver;
 import org.testng.annotations.Test;
 
 @Artifact
 public class NonBindingTypesWhenResolvingTest extends AbstractDeclarativeTest
 {
+   public static class AnEventType
+   {
+   }
+
+   public static class AnObserver implements Observer<AnEventType>
+   {
+      public boolean wasNotified = false;
+
+      public void notify(AnEventType event)
+      {
+         wasNotified = true;
+      }
+   }
+
    @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
    @SpecAssertion(section = "7.7", id = "e")
    public void testNonBindingTypeAnnotationWhenResolvingFails()

Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml	2009-02-26 12:00:55 UTC (rev 1716)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml	2009-02-26 12:19:29 UTC (rev 1717)
@@ -3644,7 +3644,7 @@
     </assertion>
     
     <assertion id="c">
-      <text>In an observer method, the first parameter is the observer object, the second parameter is the observed event type, and the remaining parameters are
+      <text>In the signature of Manager.addObserver(), the first parameter is the observer object, the second parameter is the observed event type, and the remaining parameters are
 optional observed event bindings</text>
     </assertion>
     
@@ -3657,16 +3657,36 @@
     </assertion>
     
     <assertion id="f">
-      <text>If the observed event type passed to addObserver() or removeObserver() contains type variables or wildcards, an IllegalArgumentException is thrown</text>
+      <text>If the observed event type passed to ~addObserver()~ or removeObserver() contains ~type variables~ or wildcards, an IllegalArgumentException is thrown</text>
     </assertion>
     
     <assertion id="g">
-      <text>If two instances of the same binding type are passed to addObserver() or removeObserver(), a DuplicateBindingTypeException is thrown</text>
+      <text>If the observed event type passed to ~addObserver()~ or removeObserver() contains type variables or ~wildcards~, an IllegalArgumentException is thrown</text>
     </assertion>
     
     <assertion id="h">
-      <text>If an instance of an annotation that is not a binding type is passed to addObserver() or removeObserver(), an IllegalArgumentException is thrown</text>
+      <text>If the observed event type passed to addObserver() or ~removeObserver()~ contains ~type variables~ or wildcards, an IllegalArgumentException is thrown</text>
     </assertion>
+    
+    <assertion id="i">
+      <text>If the observed event type passed to addObserver() or ~removeObserver()~ contains type variables or ~wildcards~, an IllegalArgumentException is thrown</text>
+    </assertion>
+    
+    <assertion id="j">
+      <text>If two instances of the same binding type are passed to ~addObserver()~ or removeObserver(), a DuplicateBindingTypeException is thrown</text>
+    </assertion>
+    
+    <assertion id="k">
+      <text>If two instances of the same binding type are passed to addObserver() or ~removeObserver()~, a DuplicateBindingTypeException is thrown</text>
+    </assertion>
+    
+    <assertion id="l">
+      <text>If an instance of an annotation that is not a binding type is passed to ~addObserver()~ or removeObserver(), an IllegalArgumentException is thrown</text>
+    </assertion>
+
+    <assertion id="m">
+      <text>If an instance of an annotation that is not a binding type is passed to addObserver() or ~removeObserver()~, an IllegalArgumentException is thrown</text>
+    </assertion>
   </section>
   
   <section id="7.4" title="Observer notification">
@@ -3688,9 +3708,17 @@
     </assertion>
     
     <assertion id="e">
-      <text>An observer may not directly initiate, commit or rollback JTA transactions</text>
+      <text>An observer may not directly ~initiate~, commit or rollback JTA transactions</text>
     </assertion>
   
+    <assertion id="f">
+      <text>An observer may not directly initiate, ~commit~ or rollback JTA transactions</text>
+    </assertion>
+  
+    <assertion id="g">
+      <text>An observer may not directly initiate, commit or ~rollback~ JTA transactions</text>
+    </assertion>
+  
   </section>
   
   <section id="7.5" title="Observer methods">




More information about the weld-commits mailing list