annotate webapp/WEB-INF/src/HumanEchoServlet.java @ 16:33d7bd3c0990

Adding logging capabilities with log4j to the servlet; adding the log4j 1.2 class as well
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Wed, 04 Dec 2013 19:48:02 +0000
parents 08262829d456
children 00cae11c09bd
rev   line source
luis@16 1 /*
luis@16 2 * Classname
luis@16 3 *
luis@16 4 * Version information
luis@16 5 *
luis@16 6 * 3 December 2013
luis@16 7 *
luis@16 8 * Copyright notice
luis@16 9 */
luis@15 10
luis@15 11 import java.util.Properties;
luis@15 12 import java.io.IOException;
luis@15 13
luis@16 14 import org.apache.log4j.*;
luis@16 15
luis@0 16 import javax.servlet.http.HttpServlet;
luis@0 17 import javax.servlet.http.HttpServletRequest;
luis@0 18 import javax.servlet.http.HttpServletResponse;
luis@0 19 import javax.servlet.ServletException;
luis@0 20 import javax.servlet.ServletConfig;
luis@0 21
luis@0 22 import com.mathworks.toolbox.javabuilder.MWJavaObjectRef;
luis@0 23 import com.mathworks.toolbox.javabuilder.MWNumericArray;
luis@11 24 import com.mathworks.toolbox.javabuilder.MWStructArray;
luis@0 25 import com.mathworks.toolbox.javabuilder.MWException;
luis@15 26 import com.mathworks.toolbox.javabuilder.internal.MCRConfiguration;
luis@15 27
luis@15 28 import uk.ac.soton.isvr.*;
luis@0 29
luis@0 30 public class HumanEchoServlet extends HttpServlet {
luis@0 31 private HumanEcho echo;
luis@0 32
luis@16 33 private static Logger logger = Logger.getLogger(HumanEchoServlet.class);
luis@16 34
luis@0 35 public void init(ServletConfig config) throws ServletException {
luis@0 36 super.init(config);
luis@0 37
luis@15 38 // reading properties file
luis@15 39 try {
luis@15 40 Properties properties = new Properties();
luis@15 41 properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("myapp.properties"));
luis@15 42
luis@15 43 //get the property value and print it out
luis@15 44 System.out.println(properties.getProperty("tmpdir"));
luis@15 45 System.out.println(properties.getProperty("outdir"));
luis@15 46
luis@15 47 } catch (IOException e) {
luis@15 48 e.printStackTrace();
luis@15 49 }
luis@15 50
luis@0 51 try {
luis@0 52 echo = new HumanEcho();
luis@0 53 }
luis@0 54 catch(MWException e) {
luis@0 55 e.printStackTrace();
luis@0 56 }
luis@0 57 }
luis@0 58
luis@0 59 public void destroy() {
luis@0 60 super.destroy();
luis@0 61
luis@0 62 if(echo!=null) {
luis@0 63 echo.dispose();
luis@0 64 }
luis@0 65 }
luis@0 66
luis@11 67 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
luis@0 68
luis@11 69 // todo: validate/normalise distance
luis@11 70 int dist = Integer.parseInt(request.getParameter("dist"));
luis@11 71 MWStructArray Input = null;
luis@11 72 HumanEcho echo;
luis@0 73
luis@11 74 try {
luis@11 75 echo = new HumanEcho();
luis@0 76
luis@16 77 logger.error("We are logging!");
luis@16 78
luis@11 79 // Matlab structure:
luis@11 80 // Input = struct('dist', 0.9, 'azim', 0, 'orient', 'horz', 'dirweight', 0.2, 'outputfname', 'foo.wav')
luis@0 81
luis@11 82 String[] InputStructFields = {"dist", "azim", "orient", "dirweight", "outputfname"};
luis@11 83 Input = new MWStructArray(1, 1, InputStructFields);
luis@11 84 Input.set("dist", 1, Double.valueOf(dist));
luis@11 85 Input.set("azim", 1, Double.valueOf(0));
luis@11 86 Input.set("orient", 1, "horz");
luis@11 87 Input.set("dirweight", 1, Double.valueOf(0.2));
luis@0 88
luis@11 89 // the ofname should depend on the parameters
luis@11 90 StringBuilder sb = new StringBuilder();
luis@15 91 sb.append("/tmp/e_d");
luis@11 92 sb.append(dist);
luis@11 93 sb.append(".wav");
luis@11 94 String outputfname = sb.toString();
luis@11 95
luis@11 96 Input.set("outputfname", 1, outputfname);
luis@11 97
luis@11 98 // todo: before calling should test if wav already exists..
luis@11 99 Object[] result = echo.simulateBinauralSignals(Input);
luis@0 100 }
luis@0 101 catch(MWException e) {
luis@0 102 e.printStackTrace();
luis@0 103 }
luis@0 104
luis@15 105 System.out.println("MCRROOT: " + System.getenv("MCRROOT"));
luis@15 106 System.out.println("PATH: " + System.getenv("PATH"));
luis@15 107 System.out.println(MCRConfiguration.isInstalledMCR());
luis@15 108
luis@15 109
luis@0 110 StringBuffer buffer = new StringBuffer();
luis@0 111
luis@0 112 buffer.append("<BR>");
luis@0 113 buffer.append("<BR>");
luis@0 114
luis@15 115 buffer.append("worked, ?");
luis@15 116
luis@15 117 buffer.append("<BR>");
luis@15 118 buffer.append("<BR>");
luis@15 119
luis@15 120 /*
luis@0 121 buffer.append("<TABLE >");
luis@0 122 for (double[] row : square)
luis@0 123 {
luis@0 124 buffer.append("<TR>");
luis@0 125 for (double value : row)
luis@0 126 {
luis@0 127 buffer.append("<TH>");
luis@0 128 buffer.append(new Double(value).intValue());
luis@0 129 }
luis@0 130 }
luis@0 131 buffer.append("</TABLE>");
luis@0 132 buffer.append("<BR>");
luis@0 133 response.getOutputStream().print(buffer.toString());
luis@8 134 */
luis@0 135 }
luis@0 136 }