luis@16: /*
luis@16: * Classname
luis@16: *
luis@16: * Version information
luis@16: *
luis@16: * 3 December 2013
luis@16: *
luis@16: * Copyright notice
luis@16: */
luis@15:
luis@15: import java.util.Properties;
luis@15: import java.io.IOException;
luis@15:
luis@16: import org.apache.log4j.*;
luis@16:
luis@0: import javax.servlet.http.HttpServlet;
luis@0: import javax.servlet.http.HttpServletRequest;
luis@0: import javax.servlet.http.HttpServletResponse;
luis@0: import javax.servlet.ServletException;
luis@0: import javax.servlet.ServletConfig;
luis@17: import javax.servlet.RequestDispatcher;
luis@0:
luis@0: import com.mathworks.toolbox.javabuilder.MWJavaObjectRef;
luis@0: import com.mathworks.toolbox.javabuilder.MWNumericArray;
luis@11: import com.mathworks.toolbox.javabuilder.MWStructArray;
luis@0: import com.mathworks.toolbox.javabuilder.MWException;
luis@15: import com.mathworks.toolbox.javabuilder.internal.MCRConfiguration;
luis@15:
luis@15: import uk.ac.soton.isvr.*;
luis@0:
luis@0: public class HumanEchoServlet extends HttpServlet {
luis@0: private HumanEcho echo;
luis@0:
luis@16: private static Logger logger = Logger.getLogger(HumanEchoServlet.class);
luis@16:
luis@0: public void init(ServletConfig config) throws ServletException {
luis@0: super.init(config);
luis@0:
luis@15: // reading properties file
luis@15: try {
luis@15: Properties properties = new Properties();
luis@15: properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("myapp.properties"));
luis@15:
luis@15: //get the property value and print it out
luis@15: System.out.println(properties.getProperty("tmpdir"));
luis@15: System.out.println(properties.getProperty("outdir"));
luis@15:
luis@15: } catch (IOException e) {
luis@15: e.printStackTrace();
luis@15: }
luis@15:
luis@0: try {
luis@0: echo = new HumanEcho();
luis@0: }
luis@0: catch(MWException e) {
luis@0: e.printStackTrace();
luis@0: }
luis@0: }
luis@0:
luis@0: public void destroy() {
luis@0: super.destroy();
luis@0:
luis@0: if(echo!=null) {
luis@0: echo.dispose();
luis@0: }
luis@0: }
luis@0:
luis@11: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
luis@0:
luis@11: // todo: validate/normalise distance
luis@11: int dist = Integer.parseInt(request.getParameter("dist"));
luis@11: MWStructArray Input = null;
luis@11: HumanEcho echo;
luis@0:
luis@11: try {
luis@11: echo = new HumanEcho();
luis@0:
luis@16: logger.error("We are logging!");
luis@16:
luis@11: // Matlab structure:
luis@11: // Input = struct('dist', 0.9, 'azim', 0, 'orient', 'horz', 'dirweight', 0.2, 'outputfname', 'foo.wav')
luis@0:
luis@11: String[] InputStructFields = {"dist", "azim", "orient", "dirweight", "outputfname"};
luis@11: Input = new MWStructArray(1, 1, InputStructFields);
luis@11: Input.set("dist", 1, Double.valueOf(dist));
luis@11: Input.set("azim", 1, Double.valueOf(0));
luis@11: Input.set("orient", 1, "horz");
luis@11: Input.set("dirweight", 1, Double.valueOf(0.2));
luis@0:
luis@11: // the ofname should depend on the parameters
luis@11: StringBuilder sb = new StringBuilder();
luis@17: sb.append("e_d");
luis@11: sb.append(dist);
luis@11: sb.append(".wav");
luis@11: String outputfname = sb.toString();
luis@11:
luis@11: Input.set("outputfname", 1, outputfname);
luis@11:
luis@11: // todo: before calling should test if wav already exists..
luis@11: Object[] result = echo.simulateBinauralSignals(Input);
luis@0: }
luis@0: catch(MWException e) {
luis@0: e.printStackTrace();
luis@0: }
luis@0:
luis@17: //System.out.println("MCRROOT: " + System.getenv("MCRROOT"));
luis@17: //System.out.println("PATH: " + System.getenv("PATH"));
luis@17: //System.out.println(MCRConfiguration.isInstalledMCR());
luis@17:
luis@17: String path = HttpServletRequest.getRealPath();
luis@17: // String path = System.getProperty("catalina.base");
luis@17: System.out.println("PATH: " + path);
luis@15:
luis@15:
luis@0: StringBuffer buffer = new StringBuffer();
luis@0:
luis@0: buffer.append("
");
luis@0: buffer.append("
");
luis@0:
luis@15: buffer.append("worked, ?");
luis@15:
luis@15: buffer.append("
");
luis@15: buffer.append("
");
luis@15:
luis@15: /*
luis@0: buffer.append("
"); luis@0: buffer.append(new Double(value).intValue()); luis@0: } luis@0: } luis@0: buffer.append(" |
---|