View Javadoc
1   package com.atlassian.plugin.spring.scanner.test.servlet;
2   
3   import com.atlassian.plugin.spring.scanner.test.registry.BeanLister;
4   
5   import javax.inject.Inject;
6   import javax.servlet.ServletException;
7   import javax.servlet.http.HttpServlet;
8   import javax.servlet.http.HttpServletRequest;
9   import javax.servlet.http.HttpServletResponse;
10  import java.io.IOException;
11  
12  /**
13   * Returns status of live components, so test can assert against them.
14   */
15  public class ComponentStatusServlet extends HttpServlet {
16      private final BeanLister beanLister;
17  
18      @Inject
19      public ComponentStatusServlet(BeanLister beanLister) {
20          this.beanLister = beanLister;
21      }
22  
23      @Override
24      protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
25              throws ServletException, IOException {
26          response.setContentType("text/plain");
27  
28          boolean components = (request.getParameter("components") != null);
29          boolean services = (request.getParameter("services") != null);
30          if (!components && !services) {
31              components = true;
32              services = true;
33          }
34  
35          if (components) {
36              for (final String name : beanLister.listBeans()) {
37                  response.getWriter().println(name);
38              }
39          }
40  
41          if (services) {
42              for (final String name : beanLister.listServices()) {
43                  response.getWriter().println(name);
44              }
45          }
46  
47          response.flushBuffer();
48      }
49  }