package com.benetech.mde.servlet; import gov.nasa.ial.mde.solver.symbolic.AnalyzedData; import java.io.IOException; import java.io.PrintWriter; import java.util.Collection; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; import org.json.JSONException; import org.json.JSONObject; import com.benetech.mde.bean.EquationDescriptionBean; import com.benetech.mde.bean.EquationDescriptionFileDataBean; import com.benetech.mde.bean.JSONResponseBean; import com.benetech.mde.util.EquationUtil; @WebServlet("/DataFileUpload") @MultipartConfig(location="/", fileSizeThreshold=512*512, maxFileSize=512*512*5, maxRequestSize=512*512*5*5) public class DataFileUpload extends HttpServlet { private static final long serialVersionUID = 2L; public DataFileUpload() { super(); // TODO Auto-generated constructor stub } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context= getServletContext(); RequestDispatcher rd= context.getRequestDispatcher("/WEB-INF/fileUpload.html"); rd.forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setHeader("Cache-Control", "no-cache"); resp.setHeader("Pragma", "no-cache"); resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); Collection<Part> parts = req.getParts(); for(Part part : parts) part.write("datafile"); //String filePath = this.getServletContext().getRealPath("datafile"); List<AnalyzedData> data = EquationUtil.getAnalyzedData("/datafile"); EquationDescriptionFileDataBean bean = EquationUtil.getEquationDescriptionFileDataBean(data); EquationDescriptionBean base = new EquationDescriptionBean(null, bean.getDescription()); JSONResponseBean respData = EquationUtil.getJSONResponseBean(true, base); JSONObject respJson = new JSONObject(respData); try{ respJson.getJSONObject("data").put("column", bean.getColumn()); respJson.getJSONObject("data").put("table", bean.getTable()); }catch(JSONException e){ e.printStackTrace(); } out.println(respJson); } }