Mercurial > hg > human-echolocation-java-webapp
view webapp/WEB-INF/src/HumanEchoServlet.java @ 17:00cae11c09bd
Added jquery lib script; fixed build file.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Thu, 05 Dec 2013 15:14:03 +0000 |
parents | 33d7bd3c0990 |
children | 533821b15f83 |
line wrap: on
line source
/* * Classname * * Version information * * 3 December 2013 * * Copyright notice */ import java.util.Properties; import java.io.IOException; import org.apache.log4j.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import javax.servlet.ServletConfig; import javax.servlet.RequestDispatcher; import com.mathworks.toolbox.javabuilder.MWJavaObjectRef; import com.mathworks.toolbox.javabuilder.MWNumericArray; import com.mathworks.toolbox.javabuilder.MWStructArray; import com.mathworks.toolbox.javabuilder.MWException; import com.mathworks.toolbox.javabuilder.internal.MCRConfiguration; import uk.ac.soton.isvr.*; public class HumanEchoServlet extends HttpServlet { private HumanEcho echo; private static Logger logger = Logger.getLogger(HumanEchoServlet.class); public void init(ServletConfig config) throws ServletException { super.init(config); // reading properties file try { Properties properties = new Properties(); properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("myapp.properties")); //get the property value and print it out System.out.println(properties.getProperty("tmpdir")); System.out.println(properties.getProperty("outdir")); } catch (IOException e) { e.printStackTrace(); } try { echo = new HumanEcho(); } catch(MWException e) { e.printStackTrace(); } } public void destroy() { super.destroy(); if(echo!=null) { echo.dispose(); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // todo: validate/normalise distance int dist = Integer.parseInt(request.getParameter("dist")); MWStructArray Input = null; HumanEcho echo; try { echo = new HumanEcho(); logger.error("We are logging!"); // Matlab structure: // Input = struct('dist', 0.9, 'azim', 0, 'orient', 'horz', 'dirweight', 0.2, 'outputfname', 'foo.wav') String[] InputStructFields = {"dist", "azim", "orient", "dirweight", "outputfname"}; Input = new MWStructArray(1, 1, InputStructFields); Input.set("dist", 1, Double.valueOf(dist)); Input.set("azim", 1, Double.valueOf(0)); Input.set("orient", 1, "horz"); Input.set("dirweight", 1, Double.valueOf(0.2)); // the ofname should depend on the parameters StringBuilder sb = new StringBuilder(); sb.append("e_d"); sb.append(dist); sb.append(".wav"); String outputfname = sb.toString(); Input.set("outputfname", 1, outputfname); // todo: before calling should test if wav already exists.. Object[] result = echo.simulateBinauralSignals(Input); } catch(MWException e) { e.printStackTrace(); } //System.out.println("MCRROOT: " + System.getenv("MCRROOT")); //System.out.println("PATH: " + System.getenv("PATH")); //System.out.println(MCRConfiguration.isInstalledMCR()); String path = HttpServletRequest.getRealPath(); // String path = System.getProperty("catalina.base"); System.out.println("PATH: " + path); StringBuffer buffer = new StringBuffer(); buffer.append("<BR>"); buffer.append("<BR>"); buffer.append("worked, ?"); buffer.append("<BR>"); buffer.append("<BR>"); /* buffer.append("<TABLE >"); for (double[] row : square) { buffer.append("<TR>"); for (double value : row) { buffer.append("<TH>"); buffer.append(new Double(value).intValue()); } } buffer.append("</TABLE>"); buffer.append("<BR>"); response.getOutputStream().print(buffer.toString()); */ } }