edu.caltech.ipac.firefly.server.servlets.WebPlotServlet.java Source code

Java tutorial

Introduction

Here is the source code for edu.caltech.ipac.firefly.server.servlets.WebPlotServlet.java

Source

/*
 * License information at https://github.com/Caltech-IPAC/firefly/blob/master/License.txt
 */
package edu.caltech.ipac.firefly.server.servlets;

import edu.caltech.ipac.firefly.server.ServerContext;
import edu.caltech.ipac.firefly.server.util.Logger;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * EXPERIMENTAL - not used
 * @author Trey
 * @version $Id: WebPlotServlet.java,v 1.3 2012/03/12 18:04:41 roby Exp $
 */
public class WebPlotServlet extends BaseHttpServlet {
    private static final Logger.LoggerImpl LOG = Logger.getLogger();

    protected void processRequest(HttpServletRequest req, HttpServletResponse res) throws Exception {

        // Create a factory for disk-based file items
        DiskFileItemFactory factory = new DiskFileItemFactory();

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        // Parse the request
        List /* FileItem */ items = upload.parseRequest(req);

        Map<String, String> params = new HashMap<String, String>(10);

        // Process the uploaded items
        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();

            if (item.isFormField()) {
                String name = item.getFieldName();
                String value = item.getString();
                params.put(name, value);
            } else {
                String fieldName = item.getFieldName();
                try {
                    File uf = new File(ServerContext.getTempWorkDir(), System.currentTimeMillis() + ".upload");
                    item.write(uf);
                    params.put(fieldName, uf.getPath());

                } catch (Exception e) {
                    sendReturnMsg(res, 500, e.getMessage(), null);
                    return;
                }
            }
        }

        //        String result= ServerCommandAccess.doCommand(params);

        //        sendReturnMsg(res, 200, "results", result);

        // test code..
        //        if (doTest) {
        //            MultiPartPostBuilder builder = new MultiPartPostBuilder(
        //                                    "http://localhost:8080/applications/Spitzer/SHA/servlet/Firefly_MultiPartHandler");
        //            builder.addParam("dummy1", "boo1");
        //            builder.addParam("dummy2", "boo2");
        //            builder.addParam("dummy3", "boo3");
        //            for(UploadFileInfo fi : data.getFiles()) {
        //                builder.addFile(fi.getPname(), fi.getFile());
        //            }
        //            StringWriter sw = new StringWriter();
        //            MultiPartPostBuilder.MultiPartRespnse pres = builder.post(sw);
        //            LOG.briefDebug("uploaded status: " + pres.getStatusMsg());
        //            LOG.debug("uploaded response: " + sw.toString());
        //        }
    }
}