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

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Feb 25 06:46:13 EST 2009


Author: dallen6
Date: 2009-02-25 06:46:12 -0500 (Wed, 25 Feb 2009)
New Revision: 1702

Added:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.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/ManagerAddObserverTest.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/register/observer1/ObserverExceptionAbortsTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java
   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/type/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java
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/Pomeranian.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java
Log:
Refactored event tests which interfere with one another

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,28 +0,0 @@
-/*
- * 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;
-
-/**
- * Abstract level of event hierarchy used to test firing
- * a concrete type and observing each of the event types
- * associated with that concrete type.
- * 
- * @author David Allen
- *
- */
-abstract class AbstractEvent implements GeneralEvent {}
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,62 +0,0 @@
-/*
- * 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;
-
-import javax.event.Observes;
-
-/**
- * This class declares observer methods for every superclass and interface
- * contained in the hierarchy for the {@link ComplexEvent} event type.
- * 
- * @author David Allen
- * 
- */
-class AllEventTypesObserver
-{
-   private static int objectEventQuantity = 0;
-   private static int generalEventQuantity = 0;
-   private static int abstractEventQuantity = 0;
-   private static int complexEventQuantity = 0;
-   
-   public void observeObject(@Observes Object event)
-   {
-      // Avoid counting implicit container events
-      if (event instanceof ComplexEvent)
-         objectEventQuantity++;
-   }
-   
-   public void observeGeneralEvent(@Observes GeneralEvent event)
-   {
-      generalEventQuantity++;
-   }
-   
-   public void observeAbstractEvent(@Observes AbstractEvent event)
-   {
-      abstractEventQuantity++;
-   }
-   
-   public void observeComplexEvent(@Observes ComplexEvent event)
-   {
-      complexEventQuantity++;
-   }
-   
-   public int getTotalEventsObserved()
-   {
-      return objectEventQuantity + generalEventQuantity + abstractEventQuantity + complexEventQuantity;
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.BindingType;
-
- at Target( { TYPE, METHOD, PARAMETER, FIELD })
- at Retention(RUNTIME)
- at Documented
- at BindingType
- at interface BindingTypeA
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,5 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.inject.AnnotationLiteral;
-
-public class BindingTypeABinding extends AnnotationLiteral<BindingTypeA> implements BindingTypeA {}
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.BindingType;
-
- at Target( { TYPE, METHOD, PARAMETER, FIELD })
- at Retention(RUNTIME)
- at Documented
- at BindingType
- at interface BindingTypeB
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,5 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.inject.AnnotationLiteral;
-
-public class BindingTypeBBinding extends AnnotationLiteral<BindingTypeB> implements BindingTypeB {}
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.BindingType;
-
- at Target( { TYPE, METHOD, PARAMETER, FIELD })
- at Retention(RUNTIME)
- at Documented
- at BindingType
- at interface BindingTypeC
-{
-   public String value();
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,19 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.inject.AnnotationLiteral;
-
-public class BindingTypeCBinding extends AnnotationLiteral<BindingTypeC> implements BindingTypeC
-{
-
-   private String stringValue;
-
-   public BindingTypeCBinding(String value)
-   {
-      this.stringValue = value;
-   }
-
-   public String value()
-   {
-      return this.stringValue;
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,30 +0,0 @@
-/*
- * 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;
-
-/**
- * An event type with a class/interface hierarchy complex enough
- * to test observing all event types.
- * 
- * @author David Allen
- *
- */
-public class ComplexEvent extends AbstractEvent implements GeneralEvent
-{
-
-}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class ConditionalEvent
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class EJBEvent
+{
+
+}


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

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-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,6 +1,5 @@
 package org.jboss.jsr299.tck.unit.event;
 
-import java.lang.annotation.Annotation;
 import java.util.ArrayList;
 import java.util.Set;
 
@@ -9,7 +8,6 @@
 import javax.event.Observer;
 import javax.inject.DuplicateBindingTypeException;
 import javax.inject.Standard;
-import javax.inject.TypeLiteral;
 import javax.inject.manager.Bean;
 
 import org.hibernate.tck.annotations.SpecAssertion;
@@ -82,31 +80,6 @@
       }
    }
 
-   /**
-    * The event types of the event include all superclasses and interfaces of
-    * the class of the event object.
-    * 
-    * @throws Exception
-    */
-   @Test(groups = { "events", "broken" })
-   @SpecAssertion(section = "7.1", id = "b")
-   public void testEventTypeIncludesAllSuperclassesAndInterfacesOfEventObject() throws Exception
-   {
-      // Fire a single complex type of event with many observers
-      new RunInDependentContext()
-      {
-
-         @Override
-         protected void execute() throws Exception
-         {
-            AllEventTypesObserver theObserver = getCurrentManager().getInstanceByType(AllEventTypesObserver.class);
-            getCurrentManager().fireEvent(new ComplexEvent());
-            assert theObserver.getTotalEventsObserved() == 4;
-         }
-
-      }.run();
-   }
-
    @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
    @SpecAssertions( { @SpecAssertion(section = "7.1", id = "a"), 
       @SpecAssertion(section = "7.2", id = "b") })
@@ -154,166 +127,6 @@
    }
 
    @Test(groups = { "events", "broken" })
-   @SpecAssertion(section = "7.3", id = "b")
-   public void testManagerAddObserver()
-   {
-      Observer<AnEventType> observer1 = new AnObserver();
-
-      // First test with the Class<T> of the event type
-      getCurrentManager().addObserver(observer1, AnEventType.class);
-      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
-      assert resolvedObservers.size() == 1;
-      assert resolvedObservers.iterator().next() == observer1;
-
-      // Now test with the TypeLiteral<T> of the event type
-      Observer<AnEventType> observer2 = new AnObserver();
-      getCurrentManager().addObserver(observer2, new TypeLiteral<AnEventType>()
-      {
-      });
-      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
-      assert resolvedObservers.size() == 2;
-      boolean foundObserver = false;
-      for (Observer<AnEventType> obs : resolvedObservers)
-      {
-         if (obs == observer2)
-         {
-            foundObserver = true;
-            break;
-         }
-      }
-      assert foundObserver;
-
-      // Try adding an observer with some binding types
-      Observer<AnEventType> observer3 = new AnObserver();
-      Annotation[] bindingTypes = new Annotation[] { new RoleBinding("Admin"), new RoleBinding("Manager") };
-      getCurrentManager().addObserver(observer3, AnEventType.class, bindingTypes);
-      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindingTypes);
-      assert resolvedObservers.size() == 3;
-      foundObserver = false;
-      for (Observer<AnEventType> obs : resolvedObservers)
-      {
-         if (obs == observer3)
-         {
-            foundObserver = true;
-            break;
-         }
-      }
-      assert foundObserver;
-   }
-
-   @Test(groups = { "events", "broken" })
-   @SpecAssertion(section = "7.3", id = "e")
-   public void testManagerRemoveObserver()
-   {
-      Observer<AnEventType> observer = new AnObserver();
-
-      // First test with the Class<T> of the event type
-      getCurrentManager().addObserver(observer, AnEventType.class);
-      getCurrentManager().removeObserver(observer, AnEventType.class);
-      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
-      assert resolvedObservers.isEmpty();
-
-      // Now test with the TypeLiteral<T> of the event type
-      observer = new AnObserver();
-      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
-      {
-      });
-      getCurrentManager().removeObserver(observer, new TypeLiteral<AnEventType>()
-      {
-      });
-      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
-      assert resolvedObservers.isEmpty();
-
-      // Also test with binding types
-      Annotation[] bindings = new Annotation[] { new RoleBinding("Admin") };
-      getCurrentManager().addObserver(observer, AnEventType.class, bindings);
-      getCurrentManager().removeObserver(observer, AnEventType.class);
-      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
-      assert !resolvedObservers.isEmpty();
-      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
-      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
-      assert resolvedObservers.isEmpty();
-   }
-
-   @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
-   @SpecAssertion(section = "7.3", id = "g")
-   public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
-   {
-      Observer<AnEventType> observer = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
-   }
-
-   @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
-   @SpecAssertion(section = "7.3", id = "h")
-   public void testNonBindingTypePassedToAddObserverFails()
-   {
-      Observer<AnEventType> observer = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
-   }
-
-   @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
-   @SpecAssertion(section = "7.3", id = "g")
-   public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
-   {
-      Observer<AnEventType> observer = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class);
-      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
-   }
-
-   @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
-   @SpecAssertion(section = "7.3", id = "h")
-   public void testNonBindingTypePassedToRemoveObserverFails()
-   {
-      Observer<AnEventType> observer = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class);
-      getCurrentManager().removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
-   }
-
-   @Test(groups = { "events", "broken" })
-   @SpecAssertions( { @SpecAssertion(section = "7.1", id = "e"), @SpecAssertion(section = "7.4", id = "b") })
-   public void testConsumerNotifiedWhenEventTypeAndAllBindingsMatch()
-   {
-      AnObserver observer1 = new AnObserver();
-      AnObserver observer2 = new AnObserver();
-      getCurrentManager().addObserver(observer1, AnEventType.class);
-      getCurrentManager().addObserver(observer2, AnEventType.class);
-
-      // Fire an event that will be delivered to the two above observers
-      AnEventType anEvent = new AnEventType();
-      getCurrentManager().fireEvent(anEvent);
-
-      assert observer1.wasNotified;
-      assert observer2.wasNotified;
-   }
-
-   @Test(groups = { "events" })
-   @SpecAssertion(section = "7.4", id = "c")
-   public void testObserverThrowsExceptionAbortsNotifications()
-   {
-      AnObserverWithException observer = new AnObserverWithException();
-      AnObserverWithException anotherObserver = new AnObserverWithException();
-      getCurrentManager().addObserver(anotherObserver, AnEventType.class);
-      getCurrentManager().addObserver(observer, AnEventType.class);
-
-      // Fire an event that will be delivered to the two above observers
-      AnEventType anEvent = new AnEventType();
-      boolean fireFailed = false;
-      try
-      {
-         getCurrentManager().fireEvent(anEvent);
-      }
-      catch (Exception e)
-      {
-         if (e.equals(observer.theException) || e.equals(anotherObserver.theException))
-            fireFailed = true;
-      }
-      assert fireFailed;
-      // Only one of the observers can be notified if processing
-      // is aborted
-      assert observer.wasNotified ^ anotherObserver.wasNotified;
-   }
-
-   @Test(groups = { "events", "broken" })
    @SpecAssertion(section = "7.5", id = "e")
    public void testMultipleObserverMethodsOK()
    {
@@ -329,24 +142,20 @@
       assert resolvedIntegerObservers.size() == 1;
    }
 
-   @Test(groups = { "events", "ejb", "broken" })
+   @Test(groups = { "events", "ejb" })
    @SpecAssertion(section = "7.5", id = "d")
    public void testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
    {
-      Set<Observer<String>> observers = getCurrentManager().resolveObservers("An event");
+      Set<Observer<EJBEvent>> observers = getCurrentManager().resolveObservers(new EJBEvent());
       assert observers.size() == 2;
    }
 
-   @Test(groups = { "events", "broken" })
+   @Test(groups = { "events" })
    @SpecAssertion(section = "7.5.1", id = "b")
    public void testObserverMethodWithoutBindingTypesObservesEventsWithoutBindingTypes()
    {
-      // This observer has no binding types specified
-      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
-      assert beans.size() >= 2;
-
       // Resolve registered observers with an event containing no binding types
-      Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("A new event");
+      Set<Observer<SimpleEventType>> resolvedObservers = getCurrentManager().resolveObservers(new SimpleEventType());
       assert resolvedObservers.size() == 2;
    }
 
@@ -396,12 +205,13 @@
       assert beans != null;
    }
 
+   //TODO This test was working well in January 2009 but no longer creates the observer
    @Test(groups = { "events", "broken" })
    @SpecAssertion(section = "7.5.5", id = "a")
    public void testConditionalObserver() throws Exception
    {
       RecluseSpider.notified = false;
-      getCurrentManager().fireEvent("New string event");
+      getCurrentManager().fireEvent(new ConditionalEvent());
       // Should not be notified since bean is not instantiated yet
       assert !RecluseSpider.notified;
 
@@ -415,7 +225,7 @@
             RecluseSpider bean = getCurrentManager().getInstanceByType(RecluseSpider.class);
             assert bean != null;
 
-            getCurrentManager().fireEvent("Another event");
+            getCurrentManager().fireEvent(new ConditionalEvent());
             assert RecluseSpider.notified;
          }
          
@@ -471,7 +281,7 @@
       assert false;
    }
 
-   @Test(groups = { "events", "broken" })
+   @Test(groups = { "events" })
    @SpecAssertion(section = "7.5.8", id = "i")
    public void testStaticObserverMethodInvoked()
    {
@@ -777,85 +587,12 @@
       eventObjectContainsWildcards(new ArrayList<String>());
    }
 
-   private void eventObjectContainsWildcards(ArrayList<? extends Object> eventToFire)
+   private void eventObjectContainsWildcards(ArrayList<?> eventToFire)
    {
       // TODO There does not seem to be a way to get wildcarded types passed
       getCurrentManager().resolveObservers(eventToFire);
    }
 
-   @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
-   @SpecAssertion(section = "7.7", id = "d")
-   public void testDuplicateBindingTypesWhenResolvingFails()
-   {
-      AnObserver observer = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
-      getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding(), new BindingTypeABinding());
-   }
-
-   @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
-   @SpecAssertion(section = "7.7", id = "e")
-   public void testNonBindingTypeAnnotationWhenResolvingFails()
-   {
-      AnObserver observer = new AnObserver();
-      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
-      {
-      });
-      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new AnimalStereotypeAnnotationLiteral());
-      assert !resolvedObservers.isEmpty();
-   }
-
-   @Test(groups = { "events" })
-   @SpecAssertion(section = "7.7", id = "f")
-   public void testResolvingChecksEventType()
-   {
-      Observer<AnEventType> observer = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class);
-      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
-      assert !resolvedObservers.isEmpty();
-      Set<?> emptyObserverSet = getCurrentManager().resolveObservers(new UnusedEventType("name"));
-      assert emptyObserverSet.size() == 1;
-   }
-
-   @Test(groups = { "broken", "events" })
-   @SpecAssertion(section = "7.7", id = "f")
-   public void testResolvingChecksTypeParameters()
-   {
-      AListObserver observer = new AListObserver();
-      AnotherListObserver anotherObserver = new AnotherListObserver();
-      getCurrentManager().addObserver(observer, new TypeLiteral<ArrayList<String>>()
-      {
-      });
-      getCurrentManager().addObserver(anotherObserver, new TypeLiteral<ArrayList<Integer>>()
-      {
-      });
-      Set<Observer<ArrayList<String>>> resolvedObservers = getCurrentManager().resolveObservers(new ArrayList<String>());
-      assert resolvedObservers.size() == 1;
-   }
-
-   @Test(groups = { "events", "broken" })
-   @SpecAssertion(section = "7.7", id = "g")
-   public void testResolvingChecksBindingTypes()
-   {
-      AnObserver observer = new AnObserver();
-      AnObserver anotherObserver = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
-      getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeBBinding());
-      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding());
-      assert resolvedObservers.size() == 1;
-   }
-
-   @Test(groups = { "events", "broken" })
-   @SpecAssertion(section = "7.7", id = "g")
-   public void testResolvingChecksBindingTypeMembers()
-   {
-      AnObserver observer = new AnObserver();
-      AnObserver anotherObserver = new AnObserver();
-      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
-      getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeCBinding("second-observer"));
-      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeCBinding("first-observer"));
-      assert resolvedObservers.size() == 1;
-   }
-
    /**
     * By default, Java implementation reuse is assumed. In this case, the
     * producer, disposal and observer methods of the first bean are not

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,27 +0,0 @@
-/*
- * 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;
-
-/**
- * Arbitrary interface to test firing events and observing all
- * event types.
- * 
- * @author David Allen
- *
- */
-interface GeneralEvent {}

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -8,12 +8,12 @@
 {
    public static Thread notificationThread;
    
-   public void observeSimpleEvent(@Observes String someEvent)
+   public void observeSimpleEvent(@Observes SimpleEventType someEvent)
    {
       notificationThread = Thread.currentThread();
    }
 
-   public static void staticallyObserveEvent(@Observes String someEvent)
+   public static void staticallyObserveEvent(@Observes SimpleEventType someEvent)
    {
    }
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,6 +1,10 @@
 package org.jboss.jsr299.tck.unit.event;
 
+import javax.ejb.Local;
+import javax.event.Observes;
+
+ at Local
 public interface PomeranianInterface
 {
-   
+   public void observeSimpleEvent(@Observes EJBEvent someEvent);
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,6 +1,5 @@
 package org.jboss.jsr299.tck.unit.event;
 
-import javax.context.RequestScoped;
 import javax.event.IfExists;
 import javax.event.Observes;
 
@@ -8,12 +7,11 @@
  * Simple web bean that conditionally listens to events.
  *
  */
- at RequestScoped
 class RecluseSpider
 {
    public static boolean notified = false;
    
-   public void observe(@Observes @IfExists String someEvent)
+   public void observe(@Observes @IfExists ConditionalEvent someEvent)
    {
       notified = true;
    }

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class SimpleEventType
+{
+
+}


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

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -9,14 +9,11 @@
 @Named("Teddy")
 public class Spitz implements PomeranianInterface
 {
-   public static Thread notificationThread;
-
-   public void observeSimpleEvent(@Observes String someEvent)
+   public void observeSimpleEvent(@Observes EJBEvent someEvent)
    {
-      notificationThread = Thread.currentThread();
    }
 
-   public static void staticallyObserveEvent(@Observes String someEvent)
+   public static void staticallyObserveEvent(@Observes EJBEvent someEvent)
    {
    }
 }

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java	2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,9 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-class UnusedEventType
-{
-   public UnusedEventType(String name)
-   {
-      
-   }
-}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,29 @@
+/*
+ * 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.firesall;
+
+
+/**
+ * Abstract level of event hierarchy used to test firing
+ * a concrete type and observing each of the event types
+ * associated with that concrete type.
+ * 
+ * @author David Allen
+ *
+ */
+abstract class AbstractEvent implements GeneralEvent {}
\ No newline at end of file


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,63 @@
+/*
+ * 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.firesall;
+
+import javax.event.Observes;
+
+
+/**
+ * This class declares observer methods for every superclass and interface
+ * contained in the hierarchy for the {@link ComplexEvent} event type.
+ * 
+ * @author David Allen
+ * 
+ */
+class AllEventTypesObserver
+{
+   private static int objectEventQuantity = 0;
+   private static int generalEventQuantity = 0;
+   private static int abstractEventQuantity = 0;
+   private static int complexEventQuantity = 0;
+   
+   public void observeObject(@Observes Object event)
+   {
+      // Avoid counting implicit container events
+      if (event instanceof ComplexEvent)
+         objectEventQuantity++;
+   }
+   
+   public void observeGeneralEvent(@Observes GeneralEvent event)
+   {
+      generalEventQuantity++;
+   }
+   
+   public void observeAbstractEvent(@Observes AbstractEvent event)
+   {
+      abstractEventQuantity++;
+   }
+   
+   public void observeComplexEvent(@Observes ComplexEvent event)
+   {
+      complexEventQuantity++;
+   }
+   
+   public int getTotalEventsObserved()
+   {
+      return objectEventQuantity + generalEventQuantity + abstractEventQuantity + complexEventQuantity;
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.firesall;
+
+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 AllEventTypesTest extends AbstractDeclarativeTest
+{
+   /**
+    * The event types of the event include all superclasses and interfaces of
+    * the class of the event object.
+    * 
+    * @throws Exception
+    */
+   @Test(groups = { "events" })
+   @SpecAssertion(section = "7.1", id = "b")
+   public void testEventTypeIncludesAllSuperclassesAndInterfacesOfEventObject() throws Exception
+   {
+      // Fire a single complex type of event with many observers
+      new RunInDependentContext()
+      {
+
+         @Override
+         protected void execute() throws Exception
+         {
+            AllEventTypesObserver theObserver = getCurrentManager().getInstanceByType(AllEventTypesObserver.class);
+            getCurrentManager().fireEvent(new ComplexEvent());
+            assert theObserver.getTotalEventsObserved() == 4;
+         }
+
+      }.run();
+   }
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,31 @@
+/*
+ * 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.firesall;
+
+
+/**
+ * An event type with a class/interface hierarchy complex enough
+ * to test observing all event types.
+ * 
+ * @author David Allen
+ *
+ */
+public class ComplexEvent extends AbstractEvent implements GeneralEvent
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,27 @@
+/*
+ * 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.firesall;
+
+/**
+ * Arbitrary interface to test firing events and observing all
+ * event types.
+ * 
+ * @author David Allen
+ *
+ */
+interface GeneralEvent {}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AnimalStereotype.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import static java.lang.annotation.ElementType.FIELD;
+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.annotation.Stereotype;
+import javax.context.RequestScoped;
+
+ at Stereotype()
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at RequestScoped
+ at interface AnimalStereotype
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AnimalStereotypeAnnotationLiteral.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.inject.AnnotationLiteral;
+
+class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,46 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+ at Artifact
+public class ConsumerNotifiedForEventTest 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" })
+   @SpecAssertions( { @SpecAssertion(section = "7.1", id = "e"), @SpecAssertion(section = "7.4", id = "b") })
+   public void testConsumerNotifiedWhenEventTypeAndAllBindingsMatch()
+   {
+      AnObserver observer1 = new AnObserver();
+      AnObserver observer2 = new AnObserver();
+      getCurrentManager().addObserver(observer1, AnEventType.class);
+      getCurrentManager().addObserver(observer2, AnEventType.class);
+
+      // Fire an event that will be delivered to the two above observers
+      AnEventType anEvent = new AnEventType();
+      getCurrentManager().fireEvent(anEvent);
+
+      assert observer1.wasNotified;
+      assert observer2.wasNotified;
+   }
+
+
+}


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

Added: 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	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -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 DuplicateBindingsToAddObserverTest 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 = "g")
+   public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,101 @@
+/*
+ * 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.register.observer1;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+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 for the manager.addObserver() method.
+ * 
+ * @author David Allen
+ *
+ */
+ at Artifact
+public class ManagerAddObserverTest 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" })
+   @SpecAssertion(section = "7.3", id = "b")
+   public void testManagerAddObserver()
+   {
+      Observer<AnEventType> observer1 = new AnObserver();
+
+      // First test with the Class<T> of the event type
+      getCurrentManager().addObserver(observer1, AnEventType.class);
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+      assert resolvedObservers.size() == 1;
+      assert resolvedObservers.iterator().next() == observer1;
+
+      // Now test with the TypeLiteral<T> of the event type
+      Observer<AnEventType> observer2 = new AnObserver();
+      getCurrentManager().addObserver(observer2, new TypeLiteral<AnEventType>()
+      {
+      });
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+      assert resolvedObservers.size() == 2;
+      boolean foundObserver = false;
+      for (Observer<AnEventType> obs : resolvedObservers)
+      {
+         if (obs == observer2)
+         {
+            foundObserver = true;
+            break;
+         }
+      }
+      assert foundObserver;
+
+      // Try adding an observer with some binding types
+      Observer<AnEventType> observer3 = new AnObserver();
+      Annotation[] bindingTypes = new Annotation[] { new RoleBinding("Admin"), new RoleBinding("Manager") };
+      getCurrentManager().addObserver(observer3, AnEventType.class, bindingTypes);
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindingTypes);
+      assert resolvedObservers.size() == 3;
+      foundObserver = false;
+      for (Observer<AnEventType> obs : resolvedObservers)
+      {
+         if (obs == observer3)
+         {
+            foundObserver = true;
+            break;
+         }
+      }
+      assert foundObserver;
+   }
+}


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

Added: 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	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -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 NonBindingTypesToAddObserverTest 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 = "h")
+   public void testNonBindingTypePassedToAddObserverFails()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+   }
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,65 @@
+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 ObserverExceptionAbortsTest extends AbstractDeclarativeTest
+{
+   public static class AnEventType
+   {
+   }
+
+   public static class AnObserver implements Observer<AnEventType>
+   {
+      public boolean wasNotified = false;
+
+      public void notify(AnEventType event)
+      {
+         wasNotified = true;
+      }
+   }
+
+   public static class AnObserverWithException implements Observer<AnEventType>
+   {
+      public boolean wasNotified = false;
+      public RuntimeException theException = new RuntimeException("RE1");
+
+      public void notify(AnEventType event)
+      {
+         wasNotified = true;
+         throw theException;
+      }
+   }
+
+   @Test(groups = { "events" })
+   @SpecAssertion(section = "7.4", id = "c")
+   public void testObserverThrowsExceptionAbortsNotifications()
+   {
+      AnObserverWithException observer = new AnObserverWithException();
+      AnObserverWithException anotherObserver = new AnObserverWithException();
+      getCurrentManager().addObserver(anotherObserver, AnEventType.class);
+      getCurrentManager().addObserver(observer, AnEventType.class);
+
+      // Fire an event that will be delivered to the two above observers
+      AnEventType anEvent = new AnEventType();
+      boolean fireFailed = false;
+      try
+      {
+         getCurrentManager().fireEvent(anEvent);
+      }
+      catch (Exception e)
+      {
+         if (e.equals(observer.theException) || e.equals(anotherObserver.theException))
+            fireFailed = true;
+      }
+      assert fireFailed;
+      // Only one of the observers can be notified if processing
+      // is aborted
+      assert observer.wasNotified ^ anotherObserver.wasNotified;
+   }
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Role.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,14 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
+import javax.inject.BindingType;
+
+ at BindingType
+ at Retention(RUNTIME)
+ at interface Role
+{
+   String value();
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RoleBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.inject.AnnotationLiteral;
+
+
+class RoleBinding extends AnnotationLiteral<Role> implements Role
+{
+   private String value = null;
+
+   public RoleBinding(String value)
+   {
+      this.value = value;
+   }
+
+   public String value()
+   {
+      return value;
+   }
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Tame.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/TameAnnotationLiteral.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.inject.AnnotationLiteral;
+
+class TameAnnotationLiteral extends AnnotationLiteral<Tame> implements Tame
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import static java.lang.annotation.ElementType.FIELD;
+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.annotation.Stereotype;
+import javax.context.RequestScoped;
+
+ at Stereotype()
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at RequestScoped
+ at interface AnimalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.inject.AnnotationLiteral;
+
+class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,36 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+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 = "g")
+   public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,85 @@
+/*
+ * 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.register.observer2;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.testng.annotations.Test;
+
+/**
+ * Tests the manager.removeObserver() method.
+ *
+ * @author David Allen
+ *
+ */
+public class ManagerRemoveObserverTest 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" })
+   @SpecAssertion(section = "7.3", id = "e")
+   public void testManagerRemoveObserver()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+
+      // First test with the Class<T> of the event type
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      getCurrentManager().removeObserver(observer, AnEventType.class);
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+      assert resolvedObservers.isEmpty();
+
+      // Now test with the TypeLiteral<T> of the event type
+      observer = new AnObserver();
+      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
+      {
+      });
+      getCurrentManager().removeObserver(observer, new TypeLiteral<AnEventType>()
+      {
+      });
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+      assert resolvedObservers.isEmpty();
+
+      // Also test with binding types
+      Annotation[] bindings = new Annotation[] { new RoleBinding("Admin") };
+      getCurrentManager().addObserver(observer, AnEventType.class, bindings);
+      getCurrentManager().removeObserver(observer, AnEventType.class);
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
+      assert !resolvedObservers.isEmpty();
+      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
+      assert resolvedObservers.isEmpty();
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+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 = "h")
+   public void testNonBindingTypePassedToRemoveObserverFails()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      getCurrentManager().removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+   }
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Role.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,14 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
+import javax.inject.BindingType;
+
+ at BindingType
+ at Retention(RUNTIME)
+ at interface Role
+{
+   String value();
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RoleBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.inject.AnnotationLiteral;
+
+
+class RoleBinding extends AnnotationLiteral<Role> implements Role
+{
+   private String value = null;
+
+   public RoleBinding(String value)
+   {
+      this.value = value;
+   }
+
+   public String value()
+   {
+      return value;
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.inject.AnnotationLiteral;
+
+class TameAnnotationLiteral extends AnnotationLiteral<Tame> implements Tame
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface BindingTypeA
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class BindingTypeABinding extends AnnotationLiteral<BindingTypeA> implements BindingTypeA {}
\ No newline at end of file


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface BindingTypeB
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class BindingTypeBBinding extends AnnotationLiteral<BindingTypeB> implements BindingTypeB {}
\ No newline at end of file


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface BindingTypeC
+{
+   public String value();
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,19 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class BindingTypeCBinding extends AnnotationLiteral<BindingTypeC> implements BindingTypeC
+{
+
+   private String stringValue;
+
+   public BindingTypeCBinding(String value)
+   {
+      this.stringValue = value;
+   }
+
+   public String value()
+   {
+      return this.stringValue;
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,36 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+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 DuplicateBindingTypesWhenResolvingTest 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.7", id = "d")
+   public void testDuplicateBindingTypesWhenResolvingFails()
+   {
+      AnObserver observer = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
+      getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding(), new BindingTypeABinding());
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,40 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import java.util.Set;
+
+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 ResolvingChecksBindingTypeMembersTest 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" })
+   @SpecAssertion(section = "7.7", id = "g")
+   public void testResolvingChecksBindingTypeMembers()
+   {
+      AnObserver observer = new AnObserver();
+      AnObserver anotherObserver = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
+      getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeCBinding("second-observer"));
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeCBinding("first-observer"));
+      assert resolvedObservers.size() == 1;
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,42 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import java.util.Set;
+
+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 ResolvingChecksBindingTypeTest 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" })
+   @SpecAssertion(section = "7.7", id = "g")
+   public void testResolvingChecksBindingTypes()
+   {
+      AnObserver observer = new AnObserver();
+      AnObserver anotherObserver = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
+      getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeBBinding());
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding());
+      assert resolvedObservers.size() == 1;
+   }
+
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.unit.event.resolve.nonbinding;
+
+import static java.lang.annotation.ElementType.FIELD;
+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.annotation.Stereotype;
+import javax.context.RequestScoped;
+
+ at Stereotype()
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at RequestScoped
+ at interface AnimalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.resolve.nonbinding;
+
+import javax.inject.AnnotationLiteral;
+
+class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}


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

Added: 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	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,29 @@
+package org.jboss.jsr299.tck.unit.event.resolve.nonbinding;
+
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+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;
+
+ at Artifact
+public class NonBindingTypesWhenResolvingTest extends AbstractDeclarativeTest
+{
+   @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
+   @SpecAssertion(section = "7.7", id = "e")
+   public void testNonBindingTypeAnnotationWhenResolvingFails()
+   {
+      AnObserver observer = new AnObserver();
+      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
+      {
+      });
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new AnimalStereotypeAnnotationLiteral());
+      assert !resolvedObservers.isEmpty();
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,40 @@
+package org.jboss.jsr299.tck.unit.event.resolve.type;
+
+import java.util.Set;
+
+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 ChecksEventTypeWhenResolvingTest 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" })
+   @SpecAssertion(section = "7.7", id = "f")
+   public void testResolvingChecksEventType()
+   {
+      Observer<AnEventType> observer = new AnObserver();
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+      assert !resolvedObservers.isEmpty();
+      Set<?> emptyObserverSet = getCurrentManager().resolveObservers(new UnusedEventType("name"));
+      assert emptyObserverSet.isEmpty();
+   }
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,53 @@
+package org.jboss.jsr299.tck.unit.event.resolve.type;
+
+import java.util.ArrayList;
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+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 ChecksTypeParametersWhenResolvingTest extends AbstractDeclarativeTest
+{
+   public static class AListObserver implements Observer<ArrayList<String>>
+   {
+      public boolean wasNotified = false;
+
+      public void notify(ArrayList<String> event)
+      {
+         wasNotified = true;
+      }
+   }
+
+   public static class AnotherListObserver implements Observer<ArrayList<Integer>>
+   {
+      public boolean wasNotified = false;
+
+      public void notify(ArrayList<Integer> event)
+      {
+         wasNotified = true;
+      }
+   }
+
+   @Test(groups = { "broken", "events" })
+   @SpecAssertion(section = "7.7", id = "f")
+   public void testResolvingChecksTypeParameters()
+   {
+      AListObserver observer = new AListObserver();
+      AnotherListObserver anotherObserver = new AnotherListObserver();
+      getCurrentManager().addObserver(observer, new TypeLiteral<ArrayList<String>>()
+      {
+      });
+      getCurrentManager().addObserver(anotherObserver, new TypeLiteral<ArrayList<Integer>>()
+      {
+      });
+      Set<Observer<ArrayList<String>>> resolvedObservers = getCurrentManager().resolveObservers(new ArrayList<String>());
+      //TODO The RI is returning both of the observers above
+      assert resolvedObservers.size() == 1;
+   }
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java	2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.unit.event.resolve.type;
+
+class UnusedEventType
+{
+   public UnusedEventType(String name)
+   {
+      
+   }
+}


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




More information about the weld-commits mailing list