Weld SVN: r4777 - in cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests: aroundInvoke and 2 other directories.
by weld-commits@lists.jboss.org
Author: jharting
Date: 2009-11-08 05:30:59 -0500 (Sun, 08 Nov 2009)
New Revision: 4777
Added:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/AroundInvokeInterceptorTest.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PackagePrivateInterceptor.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PrivateInterceptor.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/ProtectedInterceptor.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/SimpleBean.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/ExceptionTest.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor1.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor2.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/SimpleBean.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor1.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor2.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor3.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor4.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor5.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/InvocationOrderTest.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/OverridenInterceptor.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/RailVehicle.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Tram.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Vehicle.java
Log:
Tests for AroundInvoke interceptor methods
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/AroundInvokeInterceptorTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/AroundInvokeInterceptorTest.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/AroundInvokeInterceptorTest.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,50 @@
+/*
+ * 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.interceptors.tests.aroundInvoke;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+@SpecVersion(spec = "int", version = "3.1.PFD")
+public class AroundInvokeInterceptorTest extends AbstractJSR299Test
+{
+ @Test
+ @SpecAssertion(section = "3", id= "cb")
+ public void testPrivateAroundInvokeInterceptor() {
+ assert getInstanceByType(SimpleBean.class).zero() == 1;
+ }
+
+ @Test
+ @SpecAssertion(section = "3", id= "cc")
+ public void testProtectedAroundInvokeInterceptor() {
+ assert getInstanceByType(SimpleBean.class).one() == 2;
+ }
+
+ @Test
+ @SpecAssertions({
+ @SpecAssertion(section = "3", id= "a"),
+ @SpecAssertion(section = "3", id= "cd")
+ })
+ public void testPackagePrivateAroundInvokeInterceptor() {
+ assert getInstanceByType(SimpleBean.class).two() == 3;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PackagePrivateInterceptor.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PackagePrivateInterceptor.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PackagePrivateInterceptor.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class PackagePrivateInterceptor
+{
+ @AroundInvoke
+ Object intercept(InvocationContext ctx) throws Exception {
+ return ((Integer) ctx.proceed()) + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PrivateInterceptor.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PrivateInterceptor.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/PrivateInterceptor.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class PrivateInterceptor
+{
+ @SuppressWarnings("unused")
+ @AroundInvoke
+ private Object intercept(InvocationContext ctx) throws Exception {
+ return ((Integer) ctx.proceed()) + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/ProtectedInterceptor.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/ProtectedInterceptor.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/ProtectedInterceptor.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class ProtectedInterceptor
+{
+ @AroundInvoke
+ protected Object intercept(InvocationContext ctx) throws Exception {
+ return ((Integer) ctx.proceed()) + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/SimpleBean.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/SimpleBean.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/SimpleBean.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,24 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke;
+
+import javax.interceptor.Interceptors;
+
+import org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.PackagePrivateInterceptor;
+
+
+class SimpleBean
+{
+ @Interceptors(PrivateInterceptor.class)
+ public int zero() {
+ return 0;
+ }
+
+ @Interceptors(ProtectedInterceptor.class)
+ public int one() {
+ return 1;
+ }
+
+ @Interceptors(PackagePrivateInterceptor.class)
+ public int two() {
+ return 2;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/ExceptionTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/ExceptionTest.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/ExceptionTest.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,39 @@
+/*
+ * 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.interceptors.tests.aroundInvoke.exception;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+@SpecVersion(spec = "int", version = "3.1.PFD")
+public class ExceptionTest extends AbstractJSR299Test
+{
+ @Test
+ @SpecAssertions({
+ @SpecAssertion(section = "3.2", id= "a"),
+ @SpecAssertion(section = "3.2", id= "b"),
+ @SpecAssertion(section = "3.2", id= "d")
+ })
+ public void testInvocationOrder() {
+ assert getInstanceByType(SimpleBean.class).foo();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor1.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor1.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor1.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.exception;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor1
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ try
+ {
+ return ctx.proceed();
+ } catch (NoSuchMethodException e) {
+ return true;
+ }
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor2.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor2.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/Interceptor2.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,19 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.exception;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor2
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ try
+ {
+ return ctx.proceed();
+ } catch (RuntimeException e) {
+ // throw checked exception
+ throw new NoSuchMethodException();
+ }
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/SimpleBean.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/SimpleBean.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/exception/SimpleBean.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.exception;
+
+import javax.interceptor.Interceptors;
+
+@Interceptors( { Interceptor1.class, Interceptor2.class })
+class SimpleBean
+{
+ public boolean foo()
+ {
+ throw new RuntimeException();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor1.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor1.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor1.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor1 extends OverridenInterceptor
+{
+ @AroundInvoke
+ @Override
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 7;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor2.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor2.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor2.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,17 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor2
+
+
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 6;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor3.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor3.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor3.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor3 extends Interceptor2
+{
+ @AroundInvoke
+ public Object intercept2(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 5;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor4.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor4.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor4.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor4
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 4;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor5.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor5.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Interceptor5.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor5
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 3;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/InvocationOrderTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/InvocationOrderTest.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/InvocationOrderTest.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,45 @@
+/*
+ * 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.interceptors.tests.aroundInvoke.order;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+@SpecVersion(spec = "int", version = "3.1.PFD")
+public class InvocationOrderTest extends AbstractJSR299Test
+{
+ @Test
+ @SpecAssertions({
+ @SpecAssertion(section = "1", id = "i"),
+ @SpecAssertion(section = "3", id= "b"),
+ @SpecAssertion(section = "3.1", id= "c"),
+ @SpecAssertion(section = "3.1", id= "d"),
+ @SpecAssertion(section = "3.1", id= "e"),
+ @SpecAssertion(section = "3.1", id= "f"),
+ @SpecAssertion(section = "3.1", id= "g"),
+ @SpecAssertion(section = "8", id = "e")
+ })
+ public void testInvocationOrder() {
+ assert getInstanceByType(Tram.class).getId() == 8;
+ assert !Interceptor1.isOverridenMethodCalled();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/OverridenInterceptor.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/OverridenInterceptor.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/OverridenInterceptor.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,23 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class OverridenInterceptor
+{
+ private static boolean overridenMethodCalled = false;
+
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ overridenMethodCalled = true;
+ return ctx.proceed();
+ }
+
+ public static boolean isOverridenMethodCalled()
+ {
+ return overridenMethodCalled;
+ }
+
+
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/RailVehicle.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/RailVehicle.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/RailVehicle.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class RailVehicle extends Vehicle
+{
+ @AroundInvoke
+ public Object intercept2(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 1;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Tram.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Tram.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Tram.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,23 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.Interceptors;
+import javax.interceptor.InvocationContext;
+
+@Interceptors( { Interceptor1.class, Interceptor3.class })
+class Tram extends RailVehicle
+{
+ @Interceptors( { Interceptor4.class, Interceptor5.class })
+ public int getId()
+ {
+ return 0;
+ }
+
+ @AroundInvoke
+ public Object intercept3(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 0;
+ return id + 1;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Vehicle.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Vehicle.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/aroundInvoke/order/Vehicle.java 2009-11-08 10:30:59 UTC (rev 4777)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.interceptors.tests.aroundInvoke.order;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+
+class Vehicle
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ int id = (Integer) ctx.proceed();
+ assert id == 2;
+ return id + 1;
+ }
+}
16 years, 5 months
Weld SVN: r4776 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:59:42 -0500 (Sun, 08 Nov 2009)
New Revision: 4776
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
Log:
validate that it implements the annotation type
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:44:00 UTC (rev 4775)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:59:42 UTC (rev 4776)
@@ -115,6 +115,10 @@
{
throw new RuntimeException(getClass() + " is missing type parameter in AnnotationLiteral");
}
+ if ( !annotationType.isAssignableFrom(this.getClass()) )
+ {
+ throw new RuntimeException(getClass() + " does not implement the annotation type");
+ }
}
return annotationType;
}
16 years, 5 months
Weld SVN: r4775 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:44:00 -0500 (Sun, 08 Nov 2009)
New Revision: 4775
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/TypeLiteral.java
Log:
minor
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/TypeLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/TypeLiteral.java 2009-11-08 09:42:29 UTC (rev 4774)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/TypeLiteral.java 2009-11-08 09:44:00 UTC (rev 4775)
@@ -30,7 +30,7 @@
* subclassing <tt>TypeLiteral</tt>.</p>
*
* <pre>
- * TypeLiteral<List<String>> type = new TypeLiteral<List<String>>() {};
+ * TypeLiteral<List<String>> stringListType = new TypeLiteral<List<String>>() {};
* </pre>
*
* @author Gavin King
16 years, 5 months
Weld SVN: r4774 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:42:29 -0500 (Sun, 08 Nov 2009)
New Revision: 4774
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
Log:
minor
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:40:53 UTC (rev 4773)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:42:29 UTC (rev 4774)
@@ -39,7 +39,7 @@
* </pre>
*
* <pre>
- * PayBy payby = new PayByQualifier() { public PaymentMethod value() { return CHEQUE; } };
+ * PayBy paybyCheque = new PayByQualifier() { public PaymentMethod value() { return CHEQUE; } };
* </pre>
*
* @author Pete Muir
16 years, 5 months
Weld SVN: r4773 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:40:53 -0500 (Sun, 08 Nov 2009)
New Revision: 4773
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
Log:
fix
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:32:37 UTC (rev 4772)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:40:53 UTC (rev 4773)
@@ -39,7 +39,7 @@
* </pre>
*
* <pre>
- * PayBy payby = new PayByQualifier() { public value() { return CHEQUE; } };
+ * PayBy payby = new PayByQualifier() { public PaymentMethod value() { return CHEQUE; } };
* </pre>
*
* @author Pete Muir
16 years, 5 months
Weld SVN: r4772 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:32:37 -0500 (Sun, 08 Nov 2009)
New Revision: 4772
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
Log:
add a guard
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:28:22 UTC (rev 4771)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:32:37 UTC (rev 4772)
@@ -325,7 +325,7 @@
{
try
{
- method.setAccessible(true);
+ if (!method.isAccessible()) method.setAccessible(true);
return method.invoke(instance);
}
catch (IllegalArgumentException e)
16 years, 5 months
Weld SVN: r4771 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:28:22 -0500 (Sun, 08 Nov 2009)
New Revision: 4771
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
Log:
mprove the tostring
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:10:10 UTC (rev 4770)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:28:22 UTC (rev 4771)
@@ -160,21 +160,45 @@
{
appendInBraces(string, Arrays.toString((char[])value));
}
+ else if (value instanceof String[])
+ {
+ String[] strings = (String[]) value;
+ String[] quoted = new String[strings.length];
+ for(int j=0; j<strings.length; j++)
+ {
+ quoted[j] = "\"" + strings[j] + "\"";
+ }
+ appendInBraces(string, Arrays.toString(quoted));
+ }
+ else if (value instanceof Class[])
+ {
+ Class[] classes = (Class[]) value;
+ String[] names = new String[classes.length];
+ for(int j=0; j<classes.length; j++)
+ {
+ names[j] = classes[j].getName() + ".class";
+ }
+ appendInBraces(string, Arrays.toString(names));
+ }
else if (value instanceof Object[])
{
appendInBraces(string, Arrays.toString((Object[])value));
}
- /*else if (value instanceof Class<?>)
+ else if (value instanceof String)
{
- string.append(((Class<?>)value).getName()).append(".class");
- }*/
+ string.append('"').append(value).append('"');
+ }
+ else if (value instanceof Class)
+ {
+ string.append(((Class)value).getName()).append(".class");
+ }
else
{
string.append(value);
}
if (i < getMembers().length - 1)
{
- string.append(',');
+ string.append(", ");
}
}
return string.append(')').toString();
16 years, 5 months
Weld SVN: r4770 - api/trunk/cdi/src/main/java/javax/enterprise/util.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-11-08 04:10:10 -0500 (Sun, 08 Nov 2009)
New Revision: 4770
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
Log:
fix bug with primitive arrays
Modified: api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 08:40:05 UTC (rev 4769)
+++ api/trunk/cdi/src/main/java/javax/enterprise/util/AnnotationLiteral.java 2009-11-08 09:10:10 UTC (rev 4770)
@@ -196,18 +196,46 @@
{
Object thisValue = invoke(member, this);
Object thatValue = invoke(member, that);
- if (thisValue.getClass().isArray() && thatValue.getClass().isArray())
+ if (thisValue instanceof byte[] && thatValue instanceof byte[])
{
- //TODO: broken for primitive arrays!
- if (!Arrays.equals(Object[].class.cast(thisValue), Object[].class.cast(thatValue)))
- {
- return false;
- }
+ if ( !Arrays.equals((byte[])thisValue, (byte[])thatValue) ) return false;
}
- else if (!thisValue.equals(thatValue))
+ else if (thisValue instanceof short[] && thatValue instanceof short[])
{
- return false;
+ if ( !Arrays.equals((short[])thisValue, (short[])thatValue) ) return false;
}
+ else if (thisValue instanceof int[] && thatValue instanceof int[])
+ {
+ if ( !Arrays.equals((int[])thisValue, (int[])thatValue) ) return false;
+ }
+ else if (thisValue instanceof long[] && thatValue instanceof long[])
+ {
+ if ( !Arrays.equals((long[])thisValue, (long[])thatValue) ) return false;
+ }
+ else if (thisValue instanceof float[] && thatValue instanceof float[])
+ {
+ if ( !Arrays.equals((float[])thisValue, (float[])thatValue) ) return false;
+ }
+ else if (thisValue instanceof double[] && thatValue instanceof double[])
+ {
+ if ( !Arrays.equals((double[])thisValue, (double[])thatValue) ) return false;
+ }
+ else if (thisValue instanceof char[] && thatValue instanceof char[])
+ {
+ if ( !Arrays.equals((char[])thisValue, (char[])thatValue) ) return false;
+ }
+ else if (thisValue instanceof boolean[] && thatValue instanceof boolean[])
+ {
+ if ( !Arrays.equals((boolean[])thisValue, (boolean[])thatValue) ) return false;
+ }
+ else if (thisValue instanceof Object[] && thatValue instanceof Object[])
+ {
+ if ( !Arrays.equals((Object[])thisValue, (Object[])thatValue) ) return false;
+ }
+ else
+ {
+ if (!thisValue.equals(thatValue)) return false;
+ }
}
return true;
}
@@ -219,12 +247,51 @@
public int hashCode()
{
int hashCode = 0;
- for (Method member : getMembers())
+ for (Method member: getMembers())
{
int memberNameHashCode = 127 * member.getName().hashCode();
Object value = invoke(member, this);
- //TODO: broken for primitive arrays!
- int memberValueHashCode = value.getClass().isArray() ? Arrays.hashCode(Object[].class.cast(value)) : value.hashCode();
+ int memberValueHashCode;
+ if (value instanceof boolean[])
+ {
+ memberValueHashCode = Arrays.hashCode((boolean[]) value);
+ }
+ else if (value instanceof short[])
+ {
+ memberValueHashCode = Arrays.hashCode((short[]) value);
+ }
+ else if (value instanceof int[])
+ {
+ memberValueHashCode = Arrays.hashCode((int[]) value);
+ }
+ else if (value instanceof long[])
+ {
+ memberValueHashCode = Arrays.hashCode((long[]) value);
+ }
+ else if (value instanceof float[])
+ {
+ memberValueHashCode = Arrays.hashCode((float[]) value);
+ }
+ else if (value instanceof double[])
+ {
+ memberValueHashCode = Arrays.hashCode((double[]) value);
+ }
+ else if (value instanceof byte[])
+ {
+ memberValueHashCode = Arrays.hashCode((byte[]) value);
+ }
+ else if (value instanceof char[])
+ {
+ memberValueHashCode = Arrays.hashCode((char[]) value);
+ }
+ else if (value instanceof Object[])
+ {
+ memberValueHashCode = Arrays.hashCode((Object[]) value);
+ }
+ else
+ {
+ memberValueHashCode = value.hashCode();
+ }
hashCode += memberNameHashCode ^ memberValueHashCode;
}
return hashCode;
16 years, 5 months
Weld SVN: r4769 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext.
by weld-commits@lists.jboss.org
Author: jharting
Date: 2009-11-08 03:40:05 -0500 (Sun, 08 Nov 2009)
New Revision: 4769
Added:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor10.java
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java
Log:
Test for 6 n)
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor10.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor10.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor10.java 2009-11-08 08:40:05 UTC (rev 4769)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor10
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception {
+ return ctx.getParameters()[0];
+ }
+}
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java 2009-11-08 08:33:47 UTC (rev 4768)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java 2009-11-08 08:40:05 UTC (rev 4769)
@@ -104,4 +104,12 @@
assert Interceptor8.isContextDataOK();
assert Interceptor9.isContextDataOK();
}
+
+ @Test
+ @SpecAssertion(section = "6", id = "n")
+ public void testBusinessMethodNotCalledWithoutProceedInvocation()
+ {
+ assert getInstanceByType(SimpleBean.class).echo("foo").equals("foo");
+ assert !SimpleBean.isEchoCalled();
+ }
}
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java 2009-11-08 08:33:47 UTC (rev 4768)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java 2009-11-08 08:40:05 UTC (rev 4769)
@@ -5,6 +5,7 @@
class SimpleBean
{
private int id = 0;
+ private static boolean echoCalled = false;
@Interceptors(Interceptor1.class)
public int getId()
@@ -56,4 +57,15 @@
public void foo()
{
}
+
+ @Interceptors(Interceptor10.class)
+ public String echo(String s) {
+ echoCalled = true;
+ return s;
+ }
+
+ public static boolean isEchoCalled()
+ {
+ return echoCalled;
+ }
}
16 years, 5 months
Weld SVN: r4768 - in cdi-tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/interceptors and 3 other directories.
by weld-commits@lists.jboss.org
Author: jharting
Date: 2009-11-08 03:33:47 -0500 (Sun, 08 Nov 2009)
New Revision: 4768
Added:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor1.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor2.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor3.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor4.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor5.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor6.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor7.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor8.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor9.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java
Modified:
cdi-tck/trunk/impl/src/main/resources/tck-audit-int.xml
Log:
Added tests for InvocationContext implementation.
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor1.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor1.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor1.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,28 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor1
+{
+ private static boolean getTargetOK = false;
+
+ @AroundInvoke
+ public Object aroundInvoke(InvocationContext ctx) throws Exception
+ {
+ SimpleBean target = (SimpleBean) ctx.getTarget();
+ int id1 = target.getId();
+ int id2 = (Integer) ctx.proceed();
+
+ if (id1 == id2)
+ {
+ getTargetOK = true;
+ }
+ return id1;
+ }
+
+ public static boolean isGetTargetOK()
+ {
+ return getTargetOK;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor2.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor2.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor2.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor2
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ return ctx.getTimer() == null;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor3.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor3.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor3.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor3
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ return ctx.getMethod().equals(SimpleBean.class.getMethod("testGetMethod"));
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor4.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor4.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor4.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor4
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ Object[] parameters = ctx.getParameters();
+ assert (Integer) parameters[0] == 1;
+ assert (Integer) parameters[1] == 2;
+ // modify parameter values
+ Integer[] newParameters = new Integer[] { 2, 3 };
+ ctx.setParameters(newParameters);
+ // verify getParameters() returns actual values
+ assert newParameters[0].equals(ctx.getParameters()[0]);
+ assert newParameters[1].equals(ctx.getParameters()[1]);
+ return ctx.proceed();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor5.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor5.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor5.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor5
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ Integer[] parameters = new Integer[] { 1, 2, 3 };
+ ctx.setParameters(parameters);
+ return ctx.proceed();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor6.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor6.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor6.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import java.util.HashSet;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor6
+{
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception {
+ Object[] parameters = new Object[]{"1", new HashSet<Integer>()};
+ ctx.setParameters(parameters);
+ return ctx.proceed();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor7.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor7.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor7.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor7
+{
+ private static boolean proceedReturnsNull = false;
+
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception {
+ proceedReturnsNull = ctx.proceed() == null;
+ return null;
+ }
+
+ public static boolean isProceedReturnsNull()
+ {
+ return proceedReturnsNull;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor8.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor8.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor8.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,23 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor8
+{
+ private static boolean contextDataOK = false;
+
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception
+ {
+ ctx.getContextData().put("foo", "bar");
+ Object result = ctx.proceed();
+ contextDataOK = ctx.getContextData().get("foo").equals("barbar");
+ return result;
+ }
+
+ public static boolean isContextDataOK()
+ {
+ return contextDataOK;
+ }
+}
\ No newline at end of file
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor9.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor9.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/Interceptor9.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+class Interceptor9
+{
+ private static boolean contextDataOK = false;
+
+ @AroundInvoke
+ public Object intercept(InvocationContext ctx) throws Exception {
+ contextDataOK = ctx.getContextData().get("foo").equals("bar");
+ ctx.getContextData().put("foo", "barbar");
+ return ctx.proceed();
+ }
+
+ public static boolean isContextDataOK()
+ {
+ return contextDataOK;
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/InvocationContextTest.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,107 @@
+/*
+ * 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.interceptors.tests.invocationContext;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+/**
+ * Tests for the InvocationContext implementation
+ * @author Jozef Hartinger
+ *
+ */
+
+@Artifact
+@SpecVersion(spec = "int", version = "3.1.PFD")
+public class InvocationContextTest extends AbstractJSR299Test
+{
+ @Test
+ @SpecAssertion(section = "6", id = "d")
+ public void testGetTargetMethod()
+ {
+ SimpleBean instance = getInstanceByType(SimpleBean.class);
+ instance.setId(10);
+ assert instance.getId() == 10;
+ assert Interceptor1.isGetTargetOK();
+ }
+
+ @Test
+ @SpecAssertion(section = "6", id = "f")
+ public void testGetTimerMethod()
+ {
+ assert getInstanceByType(SimpleBean.class).testGetTimer();
+ }
+
+ @Test
+ @SpecAssertion(section = "6", id = "g")
+ public void testGetMethodMethod()
+ {
+ assert getInstanceByType(SimpleBean.class).testGetMethod();
+ }
+
+ @Test(groups = "ri-broken")
+ @SpecAssertions( {
+ @SpecAssertion(section = "6", id = "i"),
+ @SpecAssertion(section = "6", id = "j"),
+ @SpecAssertion(section = "6", id = "k")
+ })
+ // WELD-275
+ public void testMethodParameters()
+ {
+ assert getInstanceByType(SimpleBean.class).add(1, 2) == 5;
+ }
+
+ @Test(expectedExceptions = IllegalArgumentException.class, groups = "ri-broken")
+ @SpecAssertion(section = "6", id = "la")
+ // WELD-275
+ public void testIllegalNumberOfParameters()
+ {
+ getInstanceByType(SimpleBean.class).add2(1, 1);
+ }
+
+ @Test(expectedExceptions = IllegalArgumentException.class, groups = "ri-broken")
+ @SpecAssertion(section = "6", id = "lb")
+ // WELD-275
+ public void testIllegalTypeOfParameters()
+ {
+ assert getInstanceByType(SimpleBean.class).add3(1, 1) == 2;
+ }
+
+ @Test
+ @SpecAssertion(section = "6", id = "o")
+ public void testProceedReturnsNullForVoidMethod()
+ {
+ getInstanceByType(SimpleBean.class).voidMethod();
+ assert Interceptor7.isProceedReturnsNull();
+ }
+
+ @Test
+ @SpecAssertions({
+ @SpecAssertion(section = "1", id = "d"),
+ @SpecAssertion(section = "6", id = "a")
+ })
+ public void testContextData()
+ {
+ getInstanceByType(SimpleBean.class).foo();
+ assert Interceptor8.isContextDataOK();
+ assert Interceptor9.isContextDataOK();
+ }
+}
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/interceptors/tests/invocationContext/SimpleBean.java 2009-11-08 08:33:47 UTC (rev 4768)
@@ -0,0 +1,59 @@
+package org.jboss.jsr299.tck.interceptors.tests.invocationContext;
+
+import javax.interceptor.Interceptors;
+
+class SimpleBean
+{
+ private int id = 0;
+
+ @Interceptors(Interceptor1.class)
+ public int getId()
+ {
+ return id;
+ }
+
+ public void setId(int id)
+ {
+ this.id = id;
+ }
+
+ @Interceptors(Interceptor2.class)
+ public boolean testGetTimer()
+ {
+ return false;
+ }
+
+ @Interceptors(Interceptor3.class)
+ public boolean testGetMethod()
+ {
+ return false;
+ }
+
+ @Interceptors(Interceptor4.class)
+ public int add(int i, int j)
+ {
+ return i + j;
+ }
+
+ @Interceptors(Interceptor5.class)
+ public int add2(int i, int j)
+ {
+ return i + j;
+ }
+
+ @Interceptors(Interceptor6.class)
+ public int add3(int i, int j)
+ {
+ return i + j;
+ }
+
+ @Interceptors(Interceptor7.class)
+ public void voidMethod()
+ {
+ }
+
+ @Interceptors( { Interceptor8.class, Interceptor9.class })
+ public void foo()
+ {
+ }
+}
Modified: cdi-tck/trunk/impl/src/main/resources/tck-audit-int.xml
===================================================================
--- cdi-tck/trunk/impl/src/main/resources/tck-audit-int.xml 2009-11-08 08:29:57 UTC (rev 4767)
+++ cdi-tck/trunk/impl/src/main/resources/tck-audit-int.xml 2009-11-08 08:33:47 UTC (rev 4768)
@@ -109,9 +109,24 @@
<text>Around-invoke methods may be defined on interceptor classes and the target class (or superclass). However, only one around-invoke method may be present on a given class.</text>
</assertion>
- <assertion id="c">
+ <group>
<text>Around-invoke methods can have |public|, |private|, |protected|, or |package| level access. An around-invoke method must not be declared as |final| or |static|.</text>
- </assertion>
+ <assertion id="ca">
+ <text>Test with a |public| method.</text>
+ </assertion>
+
+ <assertion id="cb">
+ <text>Test with a |private| method.</text>
+ </assertion>
+
+ <assertion id="cc">
+ <text>Test with a |protected| method.</text>
+ </assertion>
+
+ <assertion id="cd">
+ <text>Test with a |package| method.</text>
+ </assertion>
+ </group>
<assertion id="d">
<text>Around-invoke methods have the following signature: |Object <METHOD>(InvocationContext) throws Exception|</text>
@@ -480,7 +495,7 @@
<text>The |getTarget()| method returns the associated target instance.</text>
</assertion>
- <assertion id="e">
+ <assertion id="e" testable="false">
<text>The |getTimer()| method returns the timer object associated with a timeout method invocation.</text>
</assertion>
@@ -512,9 +527,15 @@
<text>The |setParameters()| method modifies the parameters used for the target class method invocation. Modifying the parameter value does not affect the determination of the method that is invoked on the target class. </text>
</assertion>
- <assertion id="l">
+ <group>
<text>The parameter types must match the types for the target class method, and the number of parameters supplied must equal the number of parameters on the target class method, or an |IllegalArgumentException| is thrown.</text>
- </assertion>
+ <assertion id = "la">
+ <text>Test parameter types.</text>
+ </assertion>
+ <assertion id = "lb">
+ <text>Test number of parameters.</text>
+ </assertion>
+ </group>
<assertion id="m">
<text>The |proceed()| method causes the invocation of the next interceptor method in the chain, or when called from the last |AroundInvoke| interceptor method, the target class method.</text>
16 years, 5 months