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 }