View Javadoc
1   package com.atlassian.streams.refapp;
2   
3   import com.atlassian.templaterenderer.TemplateRenderer;
4   import com.google.common.collect.ImmutableMap;
5   
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  import java.util.Map;
12  
13  public class RefappStreamsActivityServlet extends HttpServlet {
14      private static final String TEMPLATE = "/templates/streams.vm";
15      private final TemplateRenderer templateRenderer;
16  
17      public RefappStreamsActivityServlet(final TemplateRenderer templateRenderer) {
18          this.templateRenderer = templateRenderer;
19      }
20  
21      @Override
22      protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
23              throws ServletException, IOException {
24          final ImmutableMap.Builder<String, Object> contextBuilder = ImmutableMap.builder();
25  
26          contextBuilder.put("baseURL", getBaseUrl(request));
27  
28          render(TEMPLATE, contextBuilder.build(), response);
29      }
30  
31      private void render(final String template, Map<String, Object> context, final HttpServletResponse response)
32              throws IOException {
33          response.setContentType("text/html; charset=utf-8");
34  
35          templateRenderer.render(template, context, response.getWriter());
36      }
37  
38      private String getBaseUrl(HttpServletRequest request) {
39          return request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
40      }
41  }