view webapp/WEB-INF/src/HumanEchoServlet.java @ 0:b6acfffd25cd

Initial commit of code. Not in a working state yet. This code is based on the JavaEndToEnd example described on Mathwork's MATLAB Application Deplyment (Web Example Guide for R2013b) - see this project's documentation for more details.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Wed, 27 Nov 2013 11:10:43 +0000
parents
children 76f809129f98
line wrap: on
line source
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import java.io.IOException;
import uk.ac.soton.isvr.*;

import com.mathworks.toolbox.javabuilder.MWJavaObjectRef;
import com.mathworks.toolbox.javabuilder.MWNumericArray;
import com.mathworks.toolbox.javabuilder.MWException;

public class HumanEchoServlet extends HttpServlet {
    private HumanEcho echo;

    public void init(ServletConfig config) throws ServletException {
        super.init(config);

        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 {
        // Test parameter
        MWNumericArray test = new MWNumericArray(Integer.parseInt(request.getParameter("test")));

        double[][] square = new double[0][];

        // double[][] square = new double[0][];
        // WebFigure figure = null;

        try {
            // refers to the mcode function gen_echo.m
            Object[] result = echo.gen_echo(1, test);

            MWNumericArray array = (MWNumericArray)result[0];
            square = (double[][])array.toArray();

        }
        catch(MWException e) {
            e.printStackTrace();
        }

        StringBuffer buffer = new StringBuffer();

        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());
    }
}