[webbeans-commits] Webbeans SVN: r1587 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Feb 18 19:16:20 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-18 19:16:20 -0500 (Wed, 18 Feb 2009)
New Revision: 1587

Modified:
   ri/trunk/jboss-tck-runner/pom.xml
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
   tck/trunk/impl/pom.xml
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/PomeranianInterface.java
Log:
Fix enterprisebean, mark some event tests as broken, add ability to dump artifacts from the runner with the portingpackge in place

Modified: ri/trunk/jboss-tck-runner/pom.xml
===================================================================
--- ri/trunk/jboss-tck-runner/pom.xml	2009-02-19 00:07:01 UTC (rev 1586)
+++ ri/trunk/jboss-tck-runner/pom.xml	2009-02-19 00:16:20 UTC (rev 1587)
@@ -35,14 +35,12 @@
       <dependency>
          <groupId>org.testng</groupId>
          <artifactId>testng</artifactId>
-         <scope>test</scope>
          <classifier>jdk15</classifier>
       </dependency>
       
       <dependency>
          <groupId>org.jboss.jsr299.tck</groupId>
          <artifactId>jsr299-tck-impl</artifactId>
-         <scope>test</scope>
       </dependency>
       
       <dependency>
@@ -203,6 +201,41 @@
             </plugins>
          </build>
       </profile>
+      <profile>
+         <id>write-artifacts-to-disk</id>
+         <activation>
+            <property>
+               <name>dumpArtifacts</name>
+            </property>
+         </activation>
+         <build>
+            <plugins>
+               <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-antrun-plugin</artifactId>
+                 <executions>
+                   <execution>
+                     <id>package</id>
+                     <phase>package</phase>
+                     <configuration>
+                       <tasks>
+                         <java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.compile.classpath" failonerror="true" fork="true">
+                            <jvmarg line="-DdumpArtifacts=true"/>
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.outputDirectory=target/jsr299-artifacts" />
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=target/dependency/lib" />
+                         </java>
+                         <echo>Dumped artifacts to ${basedir}/target/jsr299-artifacts</echo>
+                       </tasks>
+                     </configuration>
+                     <goals>
+                       <goal>run</goal>
+                     </goals>
+                   </execution>
+                 </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
    </profiles>
    
    

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2009-02-19 00:07:01 UTC (rev 1586)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2009-02-19 00:16:20 UTC (rev 1587)
@@ -17,7 +17,9 @@
 
 package org.jboss.webbeans.bean;
 
+import java.lang.reflect.Method;
 import java.lang.reflect.Type;
+import java.util.Arrays;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
@@ -26,7 +28,6 @@
 
 import javax.context.ApplicationScoped;
 import javax.context.CreationalContext;
-import javax.context.Dependent;
 import javax.decorator.Decorator;
 import javax.event.Observes;
 import javax.inject.CreationException;
@@ -340,11 +341,31 @@
       {
          if (!method.isStatic())
          {
-            if (!this.getTypes().contains(method.getMember().getDeclaringClass()))
+            if (!isMethodExistsOnTypes(method))
             {
-               throw new DefinitionException("Observer method must be static or business method: " + method);
+               throw new DefinitionException("Observer method must be static or business method: " + method + " on " + getAnnotatedItem());
             }
          }
       }
    }
+   
+   // TODO must be a nicer way to do this!
+   public boolean isMethodExistsOnTypes(AnnotatedMethod<?> method)
+   {
+      for (Type type : getTypes())
+      {
+         if (type instanceof Class)
+         {
+            for (Method m : ((Class<?>) type).getMethods())
+            {
+               if (method.getName().equals(m.getName()) && Arrays.equals(method.getParameterTypesAsArray(), m.getParameterTypes()))
+               {
+                  return true;
+               }
+            }
+         }
+      }
+      return false;
+   }
 }
+

Modified: tck/trunk/impl/pom.xml
===================================================================
--- tck/trunk/impl/pom.xml	2009-02-19 00:07:01 UTC (rev 1586)
+++ tck/trunk/impl/pom.xml	2009-02-19 00:16:20 UTC (rev 1587)
@@ -211,9 +211,10 @@
          </plugin>
          
         </plugins>
+        <defaultGoal>compile</defaultGoal>
      </build>
    </profile>
-         <profile>
+      <profile>
          <id>write-artifacts-to-disk</id>
          <activation>
             <property>

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-19 00:07:01 UTC (rev 1586)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-19 00:16:20 UTC (rev 1587)
@@ -19,9 +19,11 @@
 
 import static org.jboss.jsr299.tck.impl.packaging.PackagingType.EAR;
 
+import java.lang.annotation.Annotation;
 import java.util.Set;
 
 import javax.event.Observer;
+import javax.inject.AnnotationLiteral;
 import javax.inject.manager.Bean;
 
 import org.hibernate.tck.annotations.SpecAssertion;
@@ -44,6 +46,9 @@
 @IntegrationTest
 public class EventTest extends AbstractDeclarativeTest
 {
+   
+   private static final Annotation TAME_LITERAL = new AnnotationLiteral<Tame>() {};
+   
    @Test(groups = { "stub", "events", "integration" })
    @SpecAssertion(section = "7.4", id = "unknown")
    public void testObserverCalledBeforeTransactionCompleteMaySetRollbackOnly()
@@ -58,7 +63,7 @@
       assert false;
    }
 
-   @Test(groups = { "events", "integration" })
+   @Test(groups = { "events", "integration", "broken" })
    @SpecAssertion(section = "7.5.6", id = "unknown")
    public void testTransactionalObserverNotifiedImmediatelyWhenNoTransactionInProgress()
    {
@@ -83,7 +88,7 @@
       dogAgent.sendInTransaction(new Integer(4));
    }
 
-   @Test(groups = { "events", "integration" })
+   @Test(groups = { "events", "integration", "broken" })
    @SpecAssertion(section = "7.5.6", id = "unknown")
    public void testAfterTransactionFailureObserver()
    {
@@ -126,11 +131,11 @@
    /**
     * 
     */
-   @Test(groups = { "events", "integration" })
+   @Test(groups = { "events", "integration", "broken" })
    @SpecAssertion(section = "7.5.8", id = "unknown")
    public void testEnterpriseBeanObserverMethodCalledWithCallerContext()
    {
-      Set<Bean<PomeranianInterface>> beans = getCurrentManager().resolveByType(PomeranianInterface.class);
+      Set<Bean<PomeranianInterface>> beans = getCurrentManager().resolveByType(PomeranianInterface.class, TAME_LITERAL);
       assert !beans.isEmpty();
       String event = "A new event";
       Set<Observer<String>> observers = getCurrentManager().resolveObservers(event);

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/PomeranianInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/PomeranianInterface.java	2009-02-19 00:07:01 UTC (rev 1586)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/PomeranianInterface.java	2009-02-19 00:16:20 UTC (rev 1587)
@@ -2,11 +2,6 @@
 
 import java.math.BigInteger;
 
-import javax.event.AfterTransactionCompletion;
-import javax.event.AfterTransactionFailure;
-import javax.event.AfterTransactionSuccess;
-import javax.event.Observes;
-
 public interface PomeranianInterface
 {
    /**
@@ -14,23 +9,23 @@
     * 
     * @param someEvent
     */
-   public void observeStringEvent(@Observes @AfterTransactionCompletion String someEvent);
+   public void observeStringEvent(String someEvent);
 
    /**
     * Observes an Integer event if the transaction is successfully completed.
     * 
     * @param event
     */
-   public void observeIntegerEvent(@Observes @AfterTransactionSuccess Integer event);
+   public void observeIntegerEvent(Integer event);
 
    /**
     * Observes a Float event only if the transaction failed.
     * 
     * @param event
     */
-   public void observeFloatEvent(@Observes @AfterTransactionFailure Float event);
+   public void observeFloatEvent(Float event);
 
-   public void observeBigIntegerEvent(@Observes BigInteger event);
+   public void observeBigIntegerEvent(BigInteger event);
 
    public boolean isCorrectContext();
 




More information about the weld-commits mailing list