/**
* Copyright (c) 2009, iPlant Collaborative, Texas Advanced Computing Center
* This software is licensed under the CC-GNU GPL version 2.0 or later.
* License: http://creativecommons.org/licenses/GPL/2.0/
*/
package org.iplantc.phyloviewer.viewer.server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ParseTree extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -2532260393364629170L;
protected void doPost(HttpServletRequest request, HttpServletResponse response){
response.setContentType("application/json");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
String newick = request.getParameter("newickData");
String name = request.getParameter("name");
int id = loadNewickString(newick, name);
out.write("{\"id\":"+id+"}");
out.close();
}
protected void doPut(HttpServletRequest request, HttpServletResponse response) {
PrintWriter out = null;
try {
out = response.getWriter();
String name = request.getParameter("name");
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String newick = br.readLine();
int id = loadNewickString(newick,name);
out.write("{\"id\":"+id+"}");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private int loadNewickString(String newick, String name ) {
IImportTreeData importer = (IImportTreeData) this.getServletContext().getAttribute(Constants.IMPORT_TREE_DATA_KEY);
if(importer != null) {
int id = importer.importFromNewick(newick, name);
return id;
}
return -1;
}
}