package com.cloudera.sa.node360.web.servlet;
import com.cloudera.sa.node360.model.NodePojo;
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.util.List;
/**
* Created by ted.malaska on 6/7/15.
*/
public class NodeAutoCompleteServlet extends HttpServlet {
static HBaseService service;
public static void setHBaseService(HBaseService s) {
service = s;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("AutoComplete");
response.setContentType("application/json");
response.setStatus(HttpServletResponse.SC_OK);
String node = request.getParameter("term");
StringBuilder strBuilder = new StringBuilder("[");
boolean isFirst = true;
List<NodePojo> nodes = service.getAutoCompleteNodeList(node, 10);
for (NodePojo nodePojo : nodes) {
if (isFirst) {
isFirst = false;
} else {
strBuilder.append(",");
}
strBuilder.append("{\"id\":\"n" + nodePojo.getIpAddress() + "\",\"label\":\"" + nodePojo.getIpAddress() + "\",\"value\":\"" + nodePojo.getIpAddress() + "\"}");
}
strBuilder.append("]");
response.getWriter().println(strBuilder.toString());
}
}