Example usage for org.apache.commons.fileupload DiskFileUpload isMultipartContent

List of usage examples for org.apache.commons.fileupload DiskFileUpload isMultipartContent

Introduction

In this page you can find the example usage for org.apache.commons.fileupload DiskFileUpload isMultipartContent.

Prototype

public static final boolean isMultipartContent(HttpServletRequest req) 

Source Link

Document

Utility method that determines whether the request contains multipart content.

Usage

From source file:org.jbpm.web.ProcessUploadServlet.java

private String handleRequest(HttpServletRequest request) {
    //check if request is multipart content
    log.debug("Handling upload request");
    if (!FileUpload.isMultipartContent(request)) {
        log.debug("Not a multipart request");
        return "Not a multipart request";
    }//from   w w  w.ja v  a  2  s  .  co m

    try {
        DiskFileUpload fileUpload = new DiskFileUpload();
        List list = fileUpload.parseRequest(request);
        log.debug("Upload from GPD");
        Iterator iterator = list.iterator();
        if (!iterator.hasNext()) {
            log.debug("No process file in the request");
            return "No process file in the request";
        }
        FileItem fileItem = (FileItem) iterator.next();
        if (fileItem.getContentType().indexOf("application/x-zip-compressed") == -1) {
            log.debug("Not a process archive");
            return "Not a process archive";
        }
        try {
            log.debug("Deploying process archive " + fileItem.getName());
            ZipInputStream zipInputStream = new ZipInputStream(fileItem.getInputStream());
            JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
            log.debug("Preparing to parse process archive");
            ProcessDefinition processDefinition = ProcessDefinition.parseParZipInputStream(zipInputStream);
            log.debug("Created a processdefinition : " + processDefinition.getName());
            jbpmContext.deployProcessDefinition(processDefinition);
            zipInputStream.close();
            return "Deployed archive " + processDefinition.getName() + " successfully";
        } catch (IOException e) {
            log.debug("Failed to read process archive", e);
            return "IOException";
        }
    } catch (FileUploadException e) {
        log.debug("Failed to parse HTTP request", e);
        return "FileUploadException";
    }
}