[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