diff --git a/cdi/README.md b/cdi/README.md
index 24f431b75..b80caf6c2 100644
--- a/cdi/README.md
+++ b/cdi/README.md
@@ -24,6 +24,9 @@ The [JSR 346](https://jcp.org/en/jsr/detail?id=346) updates and clarifications t
- nobeans-el-injection
- nobeans-el-injection-flowscoped
- events
+ - events-conditional-reception
+ - instance
+ - instance-qualifiers
## How to run
diff --git a/cdi/beanmanager/pom.xml b/cdi/beanmanager/pom.xml
index 227646024..3bc43f077 100644
--- a/cdi/beanmanager/pom.xml
+++ b/cdi/beanmanager/pom.xml
@@ -1,20 +1,15 @@
-
- 4.0.0
+
+ 4.0.0
-
- org.javaee7
- cdi
- 1.0-SNAPSHOT
- ../pom.xml
-
- org.javaee7
- cdi-beanmanager
- 1.0-SNAPSHOT
- war
- Java EE 7 Sample: cdi - beanmanager
+
+ org.javaee7
+ cdi
+ 1.0-SNAPSHOT
+
+ cdi-beanmanager
+ Java EE 7 Sample: cdi - beanmanager
-
- gfv3ee6
-
diff --git a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/Greeting.java b/cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/Greeting.java
similarity index 69%
rename from cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/Greeting.java
rename to cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/Greeting.java
index 6c4aa4cc9..5e4ab2641 100644
--- a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/Greeting.java
+++ b/cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/Greeting.java
@@ -1,4 +1,4 @@
-package org.javaee7.cdisamples.beanmanager;
+package org.javaee7.cdi.beanmanager;
/**
* @author Arun Gupta
diff --git a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/SimpleGreeting.java b/cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/SimpleGreeting.java
similarity index 80%
rename from cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/SimpleGreeting.java
rename to cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/SimpleGreeting.java
index 1eea9fba6..8e34ccf7d 100644
--- a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/SimpleGreeting.java
+++ b/cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/SimpleGreeting.java
@@ -1,4 +1,4 @@
-package org.javaee7.cdisamples.beanmanager;
+package org.javaee7.cdi.beanmanager;
/**
* @author Arun Gupta
diff --git a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/SmileyGreeting.java b/cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/SmileyGreeting.java
similarity index 81%
rename from cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/SmileyGreeting.java
rename to cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/SmileyGreeting.java
index d0de2d9c1..f06f3c754 100644
--- a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/SmileyGreeting.java
+++ b/cdi/beanmanager/src/main/java/org/javaee7/cdi/beanmanager/SmileyGreeting.java
@@ -1,4 +1,4 @@
-package org.javaee7.cdisamples.beanmanager;
+package org.javaee7.cdi.beanmanager;
/**
* @author Arun Gupta
diff --git a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletCurrent.java b/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletCurrent.java
deleted file mode 100644
index ca7343964..000000000
--- a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletCurrent.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.javaee7.cdisamples.beanmanager;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Set;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.CDI;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @author Arun Gupta
- */
-@WebServlet(urlPatterns = { "/TestServletCurrent" })
-public class TestServletCurrent extends HttpServlet {
-
- /**
- * Processes requests for both HTTP
- * GET
and
- * POST
methods.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html;charset=UTF-8");
- try (PrintWriter out = response.getWriter()) {
- out.println("");
- out.println("");
- out.println("");
- out.println("BeanManager using CDI.current");
- out.println("");
- out.println("");
- out.println("BeanManager using CDI.current
");
- // Second way to get BeanManager
- BeanManager bm = CDI.current().getBeanManager();
-
- Set> beans = bm.getBeans(Greeting.class);
- for (Bean> b : beans) {
- out.println(b.getBeanClass().getName() + "
");
- }
- out.println("");
- out.println("");
- }
- }
-
- //
- /**
- * Handles the HTTP
- * GET
method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
-
- /**
- * Handles the HTTP
- * POST
method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
-
- /**
- * Returns a short description of the servlet.
- *
- * @return a String containing servlet description
- */
- @Override
- public String getServletInfo() {
- return "Short description";
- }//
-
-}
diff --git a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletInject.java b/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletInject.java
deleted file mode 100644
index 6c11b4c1d..000000000
--- a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletInject.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.javaee7.cdisamples.beanmanager;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Set;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @author Arun Gupta
- */
-@WebServlet(urlPatterns = { "/TestServletInject" })
-public class TestServletInject extends HttpServlet {
-
- // First way to get BeanManager
- @Inject
- BeanManager bm;
-
- /**
- * Processes requests for both HTTP
- * GET
and
- * POST
methods.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html;charset=UTF-8");
- try (PrintWriter out = response.getWriter()) {
- out.println("");
- out.println("");
- out.println("");
- out.println("BeanManager using Injection");
- out.println("");
- out.println("");
- out.println("BeanManager using Injection
");
- Set> beans = bm.getBeans(Greeting.class);
- for (Bean> b : beans) {
- out.println(b.getBeanClass().getName() + "
");
- }
- out.println("");
- out.println("");
- }
- }
-
- //
- /**
- * Handles the HTTP
- * GET
method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
-
- /**
- * Handles the HTTP
- * POST
method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
-
- /**
- * Returns a short description of the servlet.
- *
- * @return a String containing servlet description
- */
- @Override
- public String getServletInfo() {
- return "Short description";
- }//
-
-}
diff --git a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletJNDI.java b/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletJNDI.java
deleted file mode 100644
index 99d5bedc8..000000000
--- a/cdi/beanmanager/src/main/java/org/javaee7/cdisamples/beanmanager/TestServletJNDI.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.javaee7.cdisamples.beanmanager;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @author Arun Gupta
- */
-@WebServlet(urlPatterns = { "/TestServletJNDI" })
-public class TestServletJNDI extends HttpServlet {
-
- /**
- * Processes requests for both HTTP
- * GET
and
- * POST
methods.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html;charset=UTF-8");
- try (PrintWriter out = response.getWriter()) {
- out.println("");
- out.println("");
- out.println("");
- out.println("BeanManager using JNDI");
- out.println("");
- out.println("");
- out.println("BeanManager using JNDI
");
- // Third way to get BeanManager
- BeanManager bm = null;
- try {
- InitialContext context = new InitialContext();
- bm = (BeanManager) context.lookup("java:comp/BeanManager");
- } catch (NamingException | NullPointerException ex) {
- ex.printStackTrace(out);
- }
- Set> beans = bm.getBeans(Greeting.class);
- for (Bean> b : beans) {
- out.println(b.getBeanClass().getName() + "
");
- }
- out.println("");
- out.println("");
- }
- }
-
- //
- /**
- * Handles the HTTP
- * GET
method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
-
- /**
- * Handles the HTTP
- * POST
method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
-
- /**
- * Returns a short description of the servlet.
- *
- * @return a String containing servlet description
- */
- @Override
- public String getServletInfo() {
- return "Short description";
- }//
-
-}
diff --git a/cdi/beanmanager/src/main/webapp/WEB-INF/beans.xml b/cdi/beanmanager/src/main/webapp/WEB-INF/beans.xml
deleted file mode 100644
index e69de29bb..000000000
diff --git a/cdi/beanmanager/src/main/webapp/index.jsp b/cdi/beanmanager/src/main/webapp/index.jsp
deleted file mode 100644
index f72da678c..000000000
--- a/cdi/beanmanager/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,62 +0,0 @@
-
-<%@page contentType="text/html" pageEncoding="UTF-8"%>
-
-
-
-
-
- CDI : BeanManager
-
-
- CDI : BeanManager
-
- Show the list of beans using BeanManager by:
-
- - injection
-
- CDI.current
-
- JNDI
-
-
-
-
diff --git a/cdi/beanmanager/src/test/java/org/javaee7/cdi/beanmanager/GreetingTest.java b/cdi/beanmanager/src/test/java/org/javaee7/cdi/beanmanager/GreetingTest.java
new file mode 100644
index 000000000..222c596fd
--- /dev/null
+++ b/cdi/beanmanager/src/test/java/org/javaee7/cdi/beanmanager/GreetingTest.java
@@ -0,0 +1,71 @@
+package org.javaee7.cdi.beanmanager;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.CDI;
+import javax.inject.Inject;
+import javax.naming.InitialContext;
+import java.util.HashSet;
+import java.util.Set;
+
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author Radim Hanus
+ */
+@RunWith(Arquillian.class)
+public class GreetingTest {
+ @Deployment
+ public static Archive> deploy() {
+ return ShrinkWrap.create(JavaArchive.class)
+ .addClasses(Greeting.class, SimpleGreeting.class, SmileyGreeting.class)
+ .addAsManifestResource("beans.xml");
+ }
+
+ // First way to get BeanManager
+ @Inject
+ private BeanManager bm;
+
+ @Test
+ public void testInject() throws Exception {
+ test(this.bm);
+ }
+
+ @Test
+ public void testCurrent() throws Exception {
+ // Second way to get BeanManager: current CDI container
+ BeanManager bm = CDI.current().getBeanManager();
+
+ test(bm);
+ }
+
+ @Test
+ public void testJNDI() throws Exception {
+ // Third way to get BeanManager: name service
+ BeanManager bm = InitialContext.doLookup("java:comp/BeanManager");
+
+ test(bm);
+ }
+
+ private void test(BeanManager bm) throws Exception {
+ Set> beans = bm.getBeans(Greeting.class);
+ assertTrue(beans.size() == 2);
+
+ Set beanClassNames = new HashSet<>();
+ for (Bean bean : beans) {
+ beanClassNames.add(bean.getBeanClass().getName());
+ }
+
+ assertThat(beanClassNames, containsInAnyOrder(SimpleGreeting.class.getName(), SmileyGreeting.class.getName()));
+ }
+}
diff --git a/cdi/beanmanager/src/test/resources/beans.xml b/cdi/beanmanager/src/test/resources/beans.xml
new file mode 100644
index 000000000..be95b1d6e
--- /dev/null
+++ b/cdi/beanmanager/src/test/resources/beans.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/cdi/events-conditional-reception/pom.xml b/cdi/events-conditional-reception/pom.xml
index b5e94b7cd..7205781b3 100644
--- a/cdi/events-conditional-reception/pom.xml
+++ b/cdi/events-conditional-reception/pom.xml
@@ -9,5 +9,5 @@
../pom.xml
cdi-events-conditional-reception
- Java EE 7 Sample: conditional reception of cdi events
+ Java EE 7 Sample: cdi - events-conditional-reception
diff --git a/cdi/instance-qualifiers/pom.xml b/cdi/instance-qualifiers/pom.xml
index 46d71cf4b..d47968f8b 100644
--- a/cdi/instance-qualifiers/pom.xml
+++ b/cdi/instance-qualifiers/pom.xml
@@ -12,6 +12,6 @@
cdi-instance-qualifiers
- Java EE 7 Sample: cdi/instance-qualifiers
+ Java EE 7 Sample: cdi - instance-qualifiers
\ No newline at end of file
diff --git a/cdi/instance/pom.xml b/cdi/instance/pom.xml
index 309e9ff8b..d745d9961 100644
--- a/cdi/instance/pom.xml
+++ b/cdi/instance/pom.xml
@@ -11,6 +11,6 @@
cdi-instance
- Java EE 7 Sample: cdi/instance
+ Java EE 7 Sample: cdi - instance
\ No newline at end of file