package zx.soft.zk.manager.controller;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import zx.soft.zk.manager.dao.Dao;
import zx.soft.zk.manager.domain.History;
import zx.soft.zk.manager.utils.ServletUtil;
import freemarker.template.TemplateException;
@WebServlet(urlPatterns = { "/history" })
public class ChangeLog extends HttpServlet {
private static final long serialVersionUID = -946658849902937386L;
private final static Logger logger = LoggerFactory.getLogger(ChangeLog.class);
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.debug("History Get Action!");
try {
Properties globalProps = (Properties) this.getServletContext().getAttribute("globalProps");
Dao dao = new Dao(globalProps);
Map<String, Object> templateParam = new HashMap<>();
List<History> historyLst = dao.fetchHistoryRecords();
templateParam.put("historyLst", historyLst);
templateParam.put("historyNode", "");
ServletUtil.INSTANCE.renderHtml(request, response, templateParam, "history.ftl.html");
} catch (TemplateException ex) {
ServletUtil.INSTANCE.renderError(request, response, ex.getMessage());
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
logger.debug("History Post Action!");
try {
Properties globalProps = (Properties) this.getServletContext().getAttribute("globalProps");
Dao dao = new Dao(globalProps);
Map<String, Object> templateParam = new HashMap<>();
String action = request.getParameter("action");
List<History> historyLst;
if (action.equals("showhistory")) {
String historyNode = request.getParameter("historyNode");
historyLst = dao.fetchHistoryRecordsByNode("%" + historyNode + "%");
templateParam.put("historyLst", historyLst);
templateParam.put("historyNode", historyNode);
ServletUtil.INSTANCE.renderHtml(request, response, templateParam, "history.ftl.html");
} else {
response.sendRedirect("/history");
}
} catch (TemplateException ex) {
ServletUtil.INSTANCE.renderError(request, response, ex.getMessage());
}
}
}