package com.benetech.mde.servlet; import gov.nasa.ial.mde.util.ResourceUtil; import java.io.IOException; import java.io.PrintWriter; import java.util.List; 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.json.JSONException; import org.json.JSONObject; import com.benetech.mde.bean.EquationDescriptionBean; import com.benetech.mde.bean.EquationDescriptionParamsBean; import com.benetech.mde.bean.JSONResponseBean; import com.benetech.mde.util.EquationUtil; @WebServlet("/EquationDescription") public class EquationDescription extends HttpServlet { private static final long serialVersionUID = 1L; public EquationDescription() { super(); // TODO Auto-generated constructor stub } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); response.setContentType("text/javascript"); String equation = request.getParameter("equation"); EquationDescriptionParamsBean data = EquationUtil.getEquationDescriptionParamsBean(equation); String graphFilePath = getServletContext().getRealPath("/") + "data/graph.svg"; ResourceUtil.saveFile(graphFilePath, data.getSvg().getBytes()); EquationDescriptionBean base = new EquationDescriptionBean(data.getEquation(), data.getDescription()); PrintWriter out = response.getWriter(); JSONResponseBean resp = EquationUtil.getJSONResponseBean(true, base); JSONObject respJson = new JSONObject(resp); try{ respJson.getJSONObject("data").remove("params"); respJson.getJSONObject("data").put("params", data.getParams()); }catch(JSONException e){ e.printStackTrace(); } out.println(respJson); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }