Skip to content

Commit 4881b60

Browse files
committed
Merge pull request javaee-samples#184 from rhanus/master
converted cdi/interceptors sample to junit&arquillian style
2 parents bde1f97 + eb749ec commit 4881b60

File tree

10 files changed

+92
-254
lines changed

10 files changed

+92
-254
lines changed

cdi/interceptors/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,5 @@
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

11-
<groupId>org.javaee7.cdi</groupId>
1211
<artifactId>interceptors</artifactId>
13-
<version>1.0-SNAPSHOT</version>
14-
<packaging>war</packaging>
1512
</project>

cdi/interceptors/src/main/java/org/javaee7/cdi/interceptors/Greeting.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141

4242
/**
4343
* @author Arun Gupta
44+
* @author Radim Hanus
4445
*/
4546
public interface Greeting {
46-
public String greet(String name);
47+
public String getGreet();
48+
public void setGreet(String name);
4749
}

cdi/interceptors/src/main/java/org/javaee7/cdi/interceptors/MyInterceptor.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,23 @@
4242
import javax.interceptor.AroundInvoke;
4343
import javax.interceptor.Interceptor;
4444
import javax.interceptor.InvocationContext;
45+
import java.lang.reflect.Field;
4546

4647
/**
4748
* @author Arun Gupta
49+
* @author Radim Hanus
4850
*/
4951
@Interceptor
5052
@MyInterceptorBinding
5153
public class MyInterceptor {
52-
53-
@AroundInvoke
54-
public Object log(InvocationContext context) throws Exception {
55-
String name = context.getMethod().getName();
56-
String params = "";
57-
for (Object param : context.getParameters()) {
58-
params += param + " ";
59-
}
60-
System.out.println("MyInterceptor: " + name + " " + params);
61-
return context.proceed();
62-
}
54+
@AroundInvoke
55+
public Object log(InvocationContext context) throws Exception {
56+
Object[] parameters = context.getParameters();
57+
if (parameters.length > 0 && parameters[0] instanceof String) {
58+
String param = (String) parameters[0];
59+
parameters[0] = "Hi " + param + " !";
60+
context.setParameters(parameters);
61+
}
62+
return context.proceed();
63+
}
6364
}

cdi/interceptors/src/main/java/org/javaee7/cdi/interceptors/SimpleGreeting.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,17 @@
4141

4242
/**
4343
* @author Arun Gupta
44+
* @author Radim Hanus
4445
*/
4546
@MyInterceptorBinding
4647
public class SimpleGreeting implements Greeting {
48+
private String greet;
4749

48-
@Override
49-
public String greet(String name) {
50-
return "Hello " + name;
51-
}
52-
50+
public String getGreet() {
51+
return greet;
52+
}
53+
54+
public void setGreet(String greet) {
55+
this.greet = greet;
56+
}
5357
}

cdi/interceptors/src/main/java/org/javaee7/cdi/interceptors/TestServlet.java

Lines changed: 0 additions & 127 deletions
This file was deleted.

cdi/interceptors/src/main/webapp/WEB-INF/beans.xml

Lines changed: 0 additions & 52 deletions
This file was deleted.

cdi/interceptors/src/main/webapp/index.jsp

Lines changed: 0 additions & 55 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.javaee7.cdi.interceptors;
2+
3+
import org.jboss.arquillian.container.test.api.Deployment;
4+
import org.jboss.arquillian.junit.Arquillian;
5+
import org.jboss.shrinkwrap.api.Archive;
6+
import org.jboss.shrinkwrap.api.ShrinkWrap;
7+
import org.jboss.shrinkwrap.api.spec.JavaArchive;
8+
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
11+
import javax.inject.Inject;
12+
13+
import static org.hamcrest.CoreMatchers.*;
14+
import static org.junit.Assert.assertEquals;
15+
import static org.junit.Assert.assertThat;
16+
17+
/**
18+
* @author Radim Hanus
19+
*/
20+
@RunWith(Arquillian.class)
21+
public class GreetingTest {
22+
@Deployment
23+
public static Archive<?> deploy() {
24+
return ShrinkWrap.create(JavaArchive.class)
25+
.addClasses(Greeting.class, SimpleGreeting.class, MyInterceptorBinding.class, MyInterceptor.class)
26+
.addAsManifestResource("beans.xml");
27+
}
28+
29+
@Inject
30+
Greeting bean;
31+
32+
@Test
33+
public void test() throws Exception {
34+
assertThat(bean, is(notNullValue()));
35+
assertThat(bean, instanceOf(SimpleGreeting.class));
36+
37+
bean.setGreet("Arun");
38+
assertEquals(bean.getGreet(), "Hi Arun !");
39+
}
40+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns="http://jboss.org/schema/arquillian"
5+
xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
6+
7+
<defaultProtocol type="Servlet 3.0"/>
8+
9+
<container qualifier="test" default="true">
10+
<configuration>
11+
<property name="jbossHome">${serverRoot:target/wildfly-8.0.0.CR1}</property>
12+
<property name="serverConfig">${serverProfile:standalone-full.xml}</property>
13+
</configuration>
14+
</container>
15+
16+
</arquillian>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
6+
bean-discovery-mode="all">
7+
8+
<interceptors>
9+
<class>org.javaee7.cdi.interceptors.MyInterceptor</class>
10+
</interceptors>
11+
12+
</beans>

0 commit comments

Comments
 (0)