package com.cloudera.sa.node360.web.servlet;
import com.cloudera.sa.node360.model.NodeStatusPojo;
import com.cloudera.sa.node360.model.SamplePojo;
import com.cloudera.sa.node360.service.HBaseService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Map;
/**
* Created by ted.malaska on 6/11/15.
*/
public class NodeHomeDashBoardInfoServlet extends HttpServlet
{
static HBaseService service;
public static void setHBaseService(HBaseService s) {
service = s;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("MM.dd.yyyy.HH.mm.ss");
response.setContentType("text/plain");
response.setStatus(HttpServletResponse.SC_OK);
String node = request.getParameter("node");
try {
final NodeStatusPojo nodeStatus = service.getNodeStatus(node);
StringBuilder strBuilder = new StringBuilder();
boolean isFirst = true;
for (Map.Entry<String, Map<String, SamplePojo>> stringMapEntry : nodeStatus.getGroupSampleMap().entrySet()) {
String group = stringMapEntry.getKey();
for (Map.Entry<String, SamplePojo> stringSamplePojoEntry : stringMapEntry.getValue().entrySet()) {
String key = stringSamplePojoEntry.getKey();
String value = stringSamplePojoEntry.getValue().getValue();
String max = stringSamplePojoEntry.getValue().getMax();
if (key.equals("group")) {max = "100";}
if (isFirst) {
isFirst = false;
} else {
strBuilder.append("\n");
}
strBuilder.append(group + "," + key + "," + value + "," + max);
}
}
response.getWriter().println(strBuilder);
} catch (Exception e) {
e.printStackTrace();
}
}
}