Example usage for org.apache.commons.fileupload FileUploadException printStackTrace

List of usage examples for org.apache.commons.fileupload FileUploadException printStackTrace

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileUploadException printStackTrace.

Prototype

public void printStackTrace() 

Source Link

Document

Prints this throwable and its backtrace to the standard error stream.

Usage

From source file:fr.ippon.wip.portlet.WIPConfigurationPortlet.java

/**
* Process the user action: a configuration can be deleted, selected or
* saved./*  www .jav a 2 s.co  m*/
*/
@Override
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {
    PortletSession session = request.getPortletSession();

    if (fileUploadPortlet.isMultipartContent(request)) {
        try {
            List<DiskFileItem> fileItems = fileUploadPortlet.parseRequest(request);
            for (DiskFileItem fileItem : fileItems) {
                // TODO : ???
                String newName = FilenameUtils.concat(deployPath, fileItem.getName());
                File file = fileItem.getStoreLocation();
                file.renameTo(new File(newName));
            }

            request.setAttribute(Attributes.PAGE.name(), Pages.EXISTING_CONFIG.name());

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

        return;
    }

    String page = request.getParameter(Attributes.PAGE.name());
    if (!StringUtils.isEmpty(page)) {
        session.setAttribute(Attributes.PAGE.name(), Pages.valueOf(page));
        return;
    }

    String configName = request.getParameter(Attributes.ACTION_SELECT_CONFIGURATION.name());
    if (!StringUtils.isEmpty(configName) && configurationDAO.exists(configName)) {
        session.setAttribute(Attributes.CONFIGURATION_NAME.name(), configName);
        session.setAttribute(Attributes.PAGE.name(), Pages.GENERAL_SETTINGS);
        return;
    }

    configName = request.getParameter(Attributes.ACTION_DELETE_CONFIGURATION.name());
    if (!StringUtils.isEmpty(configName)) {
        if (WIPUtil.getConfiguration(request).getName().equals(configName))
            session.setAttribute(Attributes.CONFIGURATION_NAME.name(),
                    AbstractConfigurationDAO.DEFAULT_CONFIG_NAME);

        configurationDAO.delete(configurationDAO.read(configName));
        return;
    }

    configName = request.getParameter(Attributes.ACTION_SAVE_CONFIGURATION_AS.name());
    if (!StringUtils.isEmpty(configName)) {
        WIPConfiguration configuration = WIPUtil.getConfiguration(request);
        WIPConfiguration newConfiguration = (WIPConfiguration) configuration.clone();
        newConfiguration.setName(configName);
        newConfiguration = configurationDAO.create(newConfiguration);
        session.setAttribute(Attributes.CONFIGURATION_NAME.name(), newConfiguration.getName());
        session.setAttribute(Attributes.PAGE.name(), Pages.GENERAL_SETTINGS);
        return;
    }

    if (request.getParameter("form") != null) {
        switch (Integer.valueOf(request.getParameter("form"))) {
        case 1:
            handleGeneralSettings(request, response);
            break;
        case 2:
            handleClipping(request, response);
            break;
        case 3:
            handleHtmlRewriting(request, response);
            break;
        case 4:
            handleCSSRewriting(request, response);
            break;
        case 5:
            handleJSRewriting(request, response);
            break;
        case 6:
            handleCaching(request, response);
            break;
        case 7:
            handleLTPAAuthentication(request, response);
            break;
        }
    }
}

From source file:com.glaf.mail.web.rest.MailTaskResource.java

@POST
@Path("/uploadMails")
@ResponseBody/*from w w  w .j ava  2s .co  m*/
public void uploadMails(@Context HttpServletRequest request, @Context UriInfo uriInfo) {
    Map<String, Object> params = RequestUtils.getParameterMap(request);
    logger.debug(params);
    String taskId = request.getParameter("taskId");
    if (StringUtils.isEmpty(taskId)) {
        taskId = request.getParameter("id");
    }
    MailTask mailTask = null;
    if (StringUtils.isNotEmpty(taskId)) {
        mailTask = mailTaskService.getMailTask(taskId);
    }

    if (mailTask != null && StringUtils.equals(RequestUtils.getActorId(request), mailTask.getCreateBy())) {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(4096);
        // 
        factory.setRepository(new File(SystemProperties.getConfigRootPath() + "/temp/"));
        ServletFileUpload upload = new ServletFileUpload(factory);
        // ?
        // 
        // upload.setSizeMax(4194304);
        upload.setHeaderEncoding("UTF-8");
        List<?> fileItems = null;
        try {
            fileItems = upload.parseRequest(request);
            Iterator<?> i = fileItems.iterator();
            while (i.hasNext()) {
                FileItem fi = (FileItem) i.next();
                logger.debug(fi.getName());
                if (fi.getName().endsWith(".txt")) {
                    byte[] bytes = fi.get();
                    String rowIds = new String(bytes);
                    List<String> addresses = StringTools.split(rowIds);
                    if (addresses.size() <= 100000) {
                        mailDataFacede.saveMails(taskId, addresses);
                        taskId = mailTask.getId();

                        if (mailTask.getLocked() == 0) {
                            QuartzUtils.stop(taskId);
                            QuartzUtils.restart(taskId);
                        } else {
                            QuartzUtils.stop(taskId);
                        }

                    } else {
                        throw new RuntimeException("mail addresses too many");
                    }
                    break;
                }
            }
        } catch (FileUploadException ex) {// ?
            ex.printStackTrace();
            throw new RuntimeException(ex.getMessage());
        }
    }
}

From source file:fr.cnes.sitools.ext.jeobrowser.upload.JeoUploadResource.java

/**
 * Upload a File contained in the given entity to the temporary folder of the
 * Sitools Server at the given directory name
 * /*  w  w  w.j av  a 2  s. co  m*/
 * @param entity
 *          the file to upload
 * @param directoryName
 *          the directory
 * @return a Representation
 * 
 */
private Representation uploadFile(Representation entity, String directoryName) {
    Representation rep = null;
    if (entity != null) {
        settings = ((SitoolsApplication) getApplication()).getSettings();
        File storeDirectory = new File(settings.getTmpFolderUrl() + "/" + directoryName);
        storeDirectory.mkdirs();

        if (MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) {
            // storeDirectory = "c:\\temp\\";

            // The Apache FileUpload project parses HTTP requests which
            // conform to RFC 1867, "Form-based File Upload in HTML". That
            // is, if an HTTP request is submitted using the POST method,
            // and with a content type of "multipart/form-data", then
            // FileUpload can parse that request, and get all uploaded files
            // as FileItem.

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

            // 2/ Create a new file upload handler based on the Restlet
            // FileUpload extension that will parse Restlet requests and
            // generates FileItems.
            RestletFileUpload upload = new RestletFileUpload(factory);

            List<FileItem> items;

            // 3/ Request is parsed by the handler which generates a
            // list of FileItems
            try {
                items = upload.parseRequest(getRequest());
            } catch (FileUploadException e1) {
                e1.printStackTrace();
                items = new ArrayList<FileItem>();
            }

            // Says if at least one file has been handled
            boolean found = false;
            // List the files that haven't been uploaded
            List<String> oops = new ArrayList<String>();
            // count the number files
            int nbFiles = 0;

            for (final Iterator<FileItem> it = items.iterator(); it.hasNext();) {
                FileItem fi = it.next();
                // Process only the items that *really* contains an uploaded
                // file and save them on disk
                if (fi.getName() != null) {
                    found = true;
                    nbFiles++;
                    File file = new File(storeDirectory, fi.getName());
                    try {
                        fi.write(file);
                        filePath = file.getAbsolutePath();
                    } catch (Exception e) {
                        System.out.println(
                                "Can't write the content of " + file.getPath() + " due to " + e.getMessage());
                        oops.add(file.getName());
                    }
                } else {
                    // This is a simple text form input.
                    System.out.println(fi.getFieldName() + " " + fi.getString());
                }
            }

            // Once handled, you can send a report to the user.
            StringBuilder sb = new StringBuilder();
            if (found) {
                sb.append(nbFiles);
                if (nbFiles > 1) {
                    sb.append(" files sent");
                } else {
                    sb.append(" file sent");
                }
                if (!oops.isEmpty()) {
                    sb.append(", ").append(oops.size());
                    if (oops.size() > 1) {
                        sb.append(" files in error:");
                    } else {
                        sb.append(" file in error:");
                    }
                    for (int i = 0; i < oops.size(); i++) {
                        if (i > 0) {
                            sb.append(",");
                        }
                        sb.append(" \"").append(oops.get(i)).append("\"");
                    }
                }
                sb.append(".");
                rep = new StringRepresentation(sb.toString(), MediaType.TEXT_PLAIN);
            } else {
                // Some problem occurs, sent back a simple line of text.
                rep = new StringRepresentation("no file uploaded", MediaType.TEXT_PLAIN);
            }
        } else {
            String fileName = "tmp_zip.zip";
            String resourceRef = RIAPUtils.getRiapBase() + settings.getString(Consts.APP_TMP_FOLDER_URL) + "/"
                    + directoryName + "/" + fileName;
            filePath = settings.getTmpFolderUrl() + "/" + directoryName + "/" + fileName;
            // Transfer of PUT calls is only allowed if the readOnly flag is
            // not set.
            Request contextRequest = new Request(Method.PUT, resourceRef);

            // Add support of partial PUT calls.
            contextRequest.getRanges().addAll(getRanges());
            contextRequest.setEntity(entity);

            org.restlet.Response contextResponse = new org.restlet.Response(contextRequest);
            contextRequest.setResourceRef(resourceRef);
            getContext().getClientDispatcher().handle(contextRequest, contextResponse);
            setStatus(contextResponse.getStatus());

        }
    } else {
        // POST request with no entity.
        getResponse().setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
    }
    return rep;
}

From source file:com.cmart.PageControllers.SellItemImagesController.java

/**
 * This method checks the page for any input errors that may have come from Client generator error
 * These would need to be check in real life to stop users attempting to hack and mess with things
 * //  w w  w.  j  a v  a2s. com
 * @param request
 * @author Andy (andrewtu@cmu.edu, turner.andy@gmail.com)
 */
public void checkInputs(HttpServletRequest request) {
    super.startTimer();

    if (request != null) {
        // If there is a multiform there are probably pictures
        if (ServletFileUpload.isMultipartContent(request)) {
            // Get the parameters
            try {
                // Create the objects needed to read the parameters
                factory = new DiskFileItemFactory();
                factory.setRepository(GV.LOCAL_TEMP_DIR);
                upload = new ServletFileUpload(factory);
                items = upload.parseRequest(request);
                Iterator<FileItem> iter = items.iterator();
                TreeMap<String, String> params = new TreeMap<String, String>();

                // Go through all the parameters and get the ones that are form fields
                while (iter.hasNext()) {
                    FileItem item = iter.next();

                    // If the item is a parameter, read it
                    if (item.isFormField()) {
                        params.put(item.getFieldName(), item.getString());
                    } else {
                        this.images.add(item);
                    }
                }

                /*
                 *  Get the parameters
                 */
                // Get the userID
                if (params.containsKey("userID")) {
                    try {
                        this.userID = Long.parseLong(params.get("userID"));

                        if (this.userID < 0)
                            if (!errors.contains(GlobalErrors.userIDLessThanZero))
                                errors.add(GlobalErrors.userIDLessThanZero);
                    } catch (NumberFormatException e) {
                        if (!errors.contains(GlobalErrors.userIDNotAnInteger))
                            errors.add(GlobalErrors.userIDNotAnInteger);

                    }
                } else {
                    if (!errors.contains(GlobalErrors.userIDNotPresent))
                        errors.add(GlobalErrors.userIDNotPresent);
                }

                // We nned to get the html5 tag as the parent cannot do the normal parsing
                if (params.containsKey("useHTML5")) {
                    try {
                        int u5 = Integer.parseInt(params.get("useHTML5"));
                        if (u5 == 1)
                            this.useHTML5 = true;
                        else
                            this.useHTML5 = false;
                    } catch (Exception e) {
                        this.useHTML5 = false;
                    }
                }

                // Get the authToken
                if (params.containsKey("authToken")) {
                    this.authToken = params.get("authToken");

                    if (this.authToken.equals(EMPTY))
                        if (!errors.contains(GlobalErrors.authTokenEmpty))
                            errors.add(GlobalErrors.authTokenEmpty);
                } else {
                    if (!errors.contains(GlobalErrors.authTokenNotPresent))
                        errors.add(GlobalErrors.authTokenNotPresent);
                }

                // Get the itemID
                if (params.containsKey("itemID")) {
                    try {
                        this.itemID = Long.parseLong(params.get("itemID"));

                        if (this.itemID <= 0)
                            if (!errors.contains(GlobalErrors.itemIDLessThanZero))
                                errors.add(GlobalErrors.itemIDLessThanZero);
                    } catch (NumberFormatException e) {
                        if (!errors.contains(GlobalErrors.itemIDNotAnInteger))
                            errors.add(GlobalErrors.itemIDNotAnInteger);
                    }
                } else {
                    if (!errors.contains(GlobalErrors.itemIDNotPresent))
                        errors.add(GlobalErrors.itemIDNotPresent);
                }
            } catch (FileUploadException e1) {
                // TODO Auto-generated catch block
                //System.out.println("SellItemImageController (checkInputs): There was an error in the multi-form");
                e1.printStackTrace();
            }
        }
        // Do normal request processing
        else {
            super.checkInputs(request);

            // Get the userID (if exists), we will pass it along to the next pages
            try {
                this.userID = CheckInputs.checkUserID(request);
            } catch (Error e) {
                // The user must be logged in to upload the images
                if (!errors.contains(e))
                    errors.add(e);
            }

            // Get the authToken (if exists), we will pass it along to the next pages
            try {
                this.authToken = CheckInputs.checkAuthToken(request);
            } catch (Error e) {
                if (!errors.contains(e))
                    errors.add(e);
            }

            // Get the itemID 
            try {
                this.itemID = CheckInputs.checkItemID(request);

                if (this.itemID <= 0)
                    if (!errors.contains(GlobalErrors.itemIDLessThanZero))
                        errors.add(GlobalErrors.itemIDLessThanZero);
            } catch (Error e) {
                if (!errors.contains(e))
                    errors.add(e);

                this.itemID = -1;
            }
        }
    }

    // Calculate how long that took
    super.stopTimerAddParam();
}

From source file:com.amazonaws.serverless.proxy.internal.servlet.AwsProxyHttpServletRequest.java

private Map<String, Part> getMultipartFormParametersMap() {
    if (!ServletFileUpload.isMultipartContent(this)) { // isMultipartContent also checks the content type
        return new HashMap<>();
    }/*w w w  . j  a  v a  2 s .co m*/

    Map<String, Part> output = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);

    ServletFileUpload upload = new ServletFileUpload();
    try {
        List<FileItem> items = upload.parseRequest(this);
        for (FileItem item : items) {
            AwsProxyRequestPart newPart = new AwsProxyRequestPart(item.get());
            newPart.setName(item.getName());
            newPart.setSubmittedFileName(item.getFieldName());
            newPart.setContentType(item.getContentType());
            newPart.setSize(item.getSize());

            Iterator<String> headerNamesIterator = item.getHeaders().getHeaderNames();
            while (headerNamesIterator.hasNext()) {
                String headerName = headerNamesIterator.next();
                Iterator<String> headerValuesIterator = item.getHeaders().getHeaders(headerName);
                while (headerValuesIterator.hasNext()) {
                    newPart.addHeader(headerName, headerValuesIterator.next());
                }
            }

            output.put(item.getFieldName(), newPart);
        }
    } catch (FileUploadException e) {
        // TODO: Should we swallaw this?
        e.printStackTrace();
    }
    return output;
}

From source file:com.portfolio.data.attachment.FileServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // =====================================================================================
    initialize(request);/*from w  ww .j  ava 2  s .c  om*/

    int userId = 0;
    int groupId = 0;
    String user = "";

    HttpSession session = request.getSession(true);
    if (session != null) {
        Integer val = (Integer) session.getAttribute("uid");
        if (val != null)
            userId = val;
        val = (Integer) session.getAttribute("gid");
        if (val != null)
            groupId = val;
        user = (String) session.getAttribute("user");
    }

    Credential credential = null;
    Connection c = null;
    try {
        //On initialise le dataProvider
        if (ds == null) // Case where we can't deploy context.xml
        {
            c = getConnection();
        } else {
            c = ds.getConnection();
        }
        dataProvider.setConnection(c);
        credential = new Credential(c);
    } catch (Exception e) {
        e.printStackTrace();
    }

    /// uuid: celui de la ressource

    /// /resources/resource/file/{uuid}[?size=[S|L]&lang=[fr|en]]

    String origin = request.getRequestURL().toString();

    /// Rcupration des paramtres
    String url = request.getPathInfo();
    String[] token = url.split("/");
    String uuid = token[1];

    String size = request.getParameter("size");
    if (size == null)
        size = "S";

    String lang = request.getParameter("lang");
    if (lang == null) {
        lang = "fr";
    }

    /// Vrification des droits d'accs
    if (!credential.hasNodeRight(userId, groupId, uuid, Credential.WRITE)) {
        response.sendError(HttpServletResponse.SC_FORBIDDEN);
        //throw new Exception("L'utilisateur userId="+userId+" n'a pas le droit WRITE sur le noeud "+nodeUuid);
    }

    String data;
    String fileid = "";
    try {
        data = dataProvider.getResNode(uuid, userId, groupId);

        /// Parse les donnes
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
        InputSource is = new InputSource(new StringReader("<node>" + data + "</node>"));
        Document doc = documentBuilder.parse(is);
        DOMImplementationLS impl = (DOMImplementationLS) doc.getImplementation().getFeature("LS", "3.0");
        LSSerializer serial = impl.createLSSerializer();
        serial.getDomConfig().setParameter("xml-declaration", false);

        /// Cherche si on a dj envoy quelque chose
        XPath xPath = XPathFactory.newInstance().newXPath();
        String filterRes = "//filename[@lang=\"" + lang + "\"]";
        NodeList nodelist = (NodeList) xPath.compile(filterRes).evaluate(doc, XPathConstants.NODESET);

        String filename = "";
        if (nodelist.getLength() > 0)
            filename = nodelist.item(0).getTextContent();

        if (!"".equals(filename)) {
            /// Already have one, per language
            String filterId = "//fileid[@lang='" + lang + "']";
            NodeList idlist = (NodeList) xPath.compile(filterId).evaluate(doc, XPathConstants.NODESET);
            if (idlist.getLength() != 0) {
                Element fileNode = (Element) idlist.item(0);
                fileid = fileNode.getTextContent();
            }
        }
    } catch (Exception e2) {
        e2.printStackTrace();
    }

    int last = fileid.lastIndexOf("/") + 1; // FIXME temp patch
    if (last < 0)
        last = 0;
    fileid = fileid.substring(last);
    /// request.getHeader("REFERRER");

    /// criture des donnes
    String urlTarget = "http://" + server + "/" + fileid;
    //      String urlTarget = "http://"+ server + "/user/" + user +"/file/" + uuid +"/"+ lang+ "/ptype/fs";

    // Unpack form, fetch binary data and send
    // Create a factory for disk-based file items
    DiskFileItemFactory factory = new DiskFileItemFactory();

    // Configure a repository (to ensure a secure temp location is used)
    /*
    ServletContext servletContext = this.getServletConfig().getServletContext();
    File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
    factory.setRepository(repository);
    //*/

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

    String json = "";
    HttpURLConnection connection = null;
    // Parse the request
    try {
        List<FileItem> items = upload.parseRequest(request);
        // Process the uploaded items
        Iterator<FileItem> iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = iter.next();

            if ("uploadfile".equals(item.getFieldName())) {
                // Send raw data
                InputStream inputData = item.getInputStream();

                /*
                URL urlConn = new URL(urlTarget);
                connection = (HttpURLConnection) urlConn.openConnection();
                connection.setDoOutput(true);
                connection.setUseCaches(false);                 /// We don't want to cache data
                connection.setInstanceFollowRedirects(false);   /// Let client follow any redirection
                String method = request.getMethod();
                connection.setRequestMethod(method);
                        
                String context = request.getContextPath();
                connection.setRequestProperty("app", context);
                //*/

                String fileName = item.getName();
                long filesize = item.getSize();
                String contentType = item.getContentType();

                //               /*
                connection = CreateConnection(urlTarget, request);
                connection.setRequestProperty("filename", uuid);
                connection.setRequestProperty("content-type", "application/octet-stream");
                connection.setRequestProperty("content-length", Long.toString(filesize));
                //*/
                connection.connect();

                OutputStream outputData = connection.getOutputStream();
                IOUtils.copy(inputData, outputData);

                /// Those 2 lines are needed, otherwise, no request sent
                int code = connection.getResponseCode();
                String msg = connection.getResponseMessage();

                InputStream objReturn = connection.getInputStream();
                StringWriter idResponse = new StringWriter();
                IOUtils.copy(objReturn, idResponse);
                fileid = idResponse.toString();

                connection.disconnect();

                /// Construct Json
                StringWriter StringOutput = new StringWriter();
                JsonWriter writer = new JsonWriter(StringOutput);
                writer.beginObject();
                writer.name("files");
                writer.beginArray();
                writer.beginObject();

                writer.name("name").value(fileName);
                writer.name("size").value(filesize);
                writer.name("type").value(contentType);
                writer.name("url").value(origin);
                writer.name("fileid").value(fileid);
                //                               writer.name("deleteUrl").value(ref);
                //                                       writer.name("deleteType").value("DELETE");
                writer.endObject();

                writer.endArray();
                writer.endObject();

                writer.close();

                json = StringOutput.toString();

                /*
                DataOutputStream datawriter = new DataOutputStream(connection.getOutputStream());
                byte[] buffer = new byte[1024];
                int dataSize;
                while( (dataSize = inputData.read(buffer,0,buffer.length)) != -1 )
                {
                   datawriter.write(buffer, 0, dataSize);
                }
                datawriter.flush();
                datawriter.close();
                //*/
                //               outputData.close();
                //               inputData.close();

                break;
            }
        }
    } catch (FileUploadException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    /*
    HttpURLConnection connection = CreateConnection( urlTarget, request );
            
    connection.setRequestProperty("referer", origin);
            
    /// Send post data
    ServletInputStream inputData = request.getInputStream();
    DataOutputStream writer = new DataOutputStream(connection.getOutputStream());
            
    byte[] buffer = new byte[1024];
    int dataSize;
    while( (dataSize = inputData.read(buffer,0,buffer.length)) != -1 )
    {
       writer.write(buffer, 0, dataSize);
    }
    inputData.close();
    writer.close();
            
    /// So we can forward some Set-Cookie
    String ref = request.getHeader("referer");
            
    /// Prend le JSON du fileserver
    InputStream in = connection.getInputStream();
            
    InitAnswer(connection, response, ref);
            
    BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
    StringBuilder builder = new StringBuilder();
    for( String line = null; (line = reader.readLine()) != null; )
       builder.append(line).append("\n");
    //*/

    /// Envoie la mise  jour au backend
    /*
    try
    {
       PostForm.updateResource(session.getId(), backend, uuid, lang, json);
    }
    catch( Exception e )
    {
       e.printStackTrace();
    }
    //*/

    connection.disconnect();
    /// Renvoie le JSON au client
    response.setContentType("application/json");
    PrintWriter respWriter = response.getWriter();
    respWriter.write(json);

    //      RetrieveAnswer(connection, response, ref);
    dataProvider.disconnect();
}

From source file:edu.isi.pfindr.servlets.QueryServlet.java

/**
 * import the Query URL//www. java2s.  co  m
 * 
 * @param request
 *            the servlet request
 * @param conn
 *            the DB connection
 */
@SuppressWarnings("unchecked")
private void importQuery(HttpServletRequest request, Connection conn) {
    FileItemFactory factory = new DiskFileItemFactory(Integer.MAX_VALUE, null);
    ServletFileUpload upload = new ServletFileUpload(factory);
    HttpSession session = request.getSession();
    try {
        List<FileItem> items = (List<FileItem>) upload.parseRequest(request);
        FileItem item = items.get(0);
        String sql;
        sql = item.getString();
        logger.info("Imported Query: " + sql);
        StringTokenizer tokenizer = new StringTokenizer(sql, "\n\r");
        sql = tokenizer.nextToken();
        JSONObject json = new JSONObject(sql);
        session.setAttribute("query", json);
        logger.info("JSON: " + json.toString());
    } catch (FileUploadException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:hu.sztaki.lpds.pgportal.portlets.workflow.RealWorkflowPortlet.java

@Override
public void doUpload(ActionRequest request, ActionResponse response) {
    PortletContext context = getPortletContext();
    context.log("[FileUploadPortlet] doUpload() called");

    try {//from   w w  w  . j  a v a2  s.  c om
        DiskFileItemFactory factory = new DiskFileItemFactory();
        PortletFileUpload pfu = new PortletFileUpload(factory);
        pfu.setSizeMax(uploadMaxSize); // Maximum upload size
        pfu.setProgressListener((ProgressListener) new FileUploadProgressListener());

        PortletSession ps = request.getPortletSession();
        if (ps.getAttribute("uploaded") == null)
            ps.setAttribute("uploaded", new Vector<String>());
        ps.setAttribute("upload", pfu);

        //get the FileItems
        String fieldName = null;

        List fileItems = pfu.parseRequest(request);
        Iterator iter = fileItems.iterator();
        File serverSideFile = null;
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            // retrieve hidden parameters if item is a form field
            if (item.isFormField()) {
                fieldName = item.getFieldName();
            } else { // item is not a form field, do file upload
                Hashtable<String, ProgressListener> tmp = (Hashtable<String, ProgressListener>) ps
                        .getAttribute("uploads", ps.APPLICATION_SCOPE);

                String s = item.getName();
                s = FilenameUtils.getName(s);
                ps.setAttribute("uploading", s);

                String tempDir = System.getProperty("java.io.tmpdir") + "/uploads/" + request.getRemoteUser();
                File f = new File(tempDir);
                if (!f.exists())
                    f.mkdirs();
                serverSideFile = new File(tempDir, s);
                item.write(serverSideFile);
                item.delete();
                context.log("[FileUploadPortlet] - file " + s + " uploaded successfully to " + tempDir);
                // file upload to storage
                try {
                    Hashtable h = new Hashtable();
                    h.put("portalURL", PropertyLoader.getInstance().getProperty("service.url"));
                    h.put("userID", request.getRemoteUser());

                    String uploadField = "";
                    // retrieve hidden parameters if item is a form field
                    for (FileItem item0 : (List<FileItem>) fileItems) {
                        if (item0.isFormField())
                            h.put(item0.getFieldName(), item0.getString());
                        else
                            uploadField = item0.getFieldName();

                    }

                    Hashtable hsh = new Hashtable();
                    ServiceType st = InformationBase.getI().getService("storage", "portal", hsh, new Vector());
                    PortalStorageClient psc = (PortalStorageClient) Class.forName(st.getClientObject())
                            .newInstance();
                    psc.setServiceURL(st.getServiceUrl());
                    psc.setServiceID("/upload");
                    if (serverSideFile != null) {
                        psc.fileUpload(serverSideFile, uploadField, h);
                    }
                } catch (Exception ex) {
                    response.setRenderParameter("full", "error.upload");
                    ex.printStackTrace();
                    return;
                }
                ((Vector<String>) ps.getAttribute("uploaded")).add(s);

            }

        }
        //            ps.removeAttribute("uploads",ps.APPLICATION_SCOPE);
        ps.setAttribute("finaluploads", "");

    } catch (FileUploadException fue) {
        response.setRenderParameter("full", "error.upload");

        fue.printStackTrace();
        context.log("[FileUploadPortlet] - failed to upload file - " + fue.toString());
        return;
    } catch (Exception e) {
        e.printStackTrace();
        response.setRenderParameter("full", "error.exception");
        context.log("[FileUploadPortlet] - failed to upload file - " + e.toString());
        return;
    }
    response.setRenderParameter("full", "action.succesfull");

}

From source file:hu.sztaki.lpds.pgportal.portlets.workflow.EasyWorkflowPortlet.java

@Override
public void doUpload(ActionRequest request, ActionResponse response) {
    PortletContext context = getPortletContext();
    context.log("[FileUploadPortlet] doUpload() called");

    try {/*w w w  . j  a  v a2s .  c o m*/
        DiskFileItemFactory factory = new DiskFileItemFactory();
        PortletFileUpload pfu = new PortletFileUpload(factory);
        pfu.setSizeMax(uploadMaxSize); // Maximum upload size
        pfu.setProgressListener((ProgressListener) new FileUploadProgressListener());

        PortletSession ps = request.getPortletSession();
        if (ps.getAttribute("uploaded") == null)
            ps.setAttribute("uploaded", new Vector<String>());
        ps.setAttribute("upload", pfu);

        //get the FileItems
        String fieldName = null;

        List fileItems = pfu.parseRequest(request);
        Iterator iter = fileItems.iterator();
        File serverSideFile = null;
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            // retrieve hidden parameters if item is a form field
            if (item.isFormField()) {
                fieldName = item.getFieldName();
            } else { // item is not a form field, do file upload
                Hashtable<String, ProgressListener> tmp = (Hashtable<String, ProgressListener>) ps
                        .getAttribute("uploads", ps.APPLICATION_SCOPE);

                String s = item.getName();
                s = FilenameUtils.getName(s);
                ps.setAttribute("uploading", s);

                String tempDir = System.getProperty("java.io.tmpdir") + "/uploads/" + request.getRemoteUser();
                File f = new File(tempDir);
                if (!f.exists())
                    f.mkdirs();
                serverSideFile = new File(tempDir, s);
                item.write(serverSideFile);
                item.delete();
                context.log("[FileUploadPortlet] - file " + s + " uploaded successfully to " + tempDir);
                // file upload to storage
                try {
                    Hashtable h = new Hashtable();
                    h.put("portalURL", PropertyLoader.getInstance().getProperty("service.url"));
                    h.put("userID", request.getRemoteUser());

                    String uploadField = "";
                    // retrieve hidden parameters if item is a form field
                    for (FileItem item0 : (List<FileItem>) fileItems) {
                        if (item0.isFormField())
                            h.put(item0.getFieldName(), item0.getString());
                        else
                            uploadField = item0.getFieldName();

                    }

                    Hashtable hsh = new Hashtable();
                    ServiceType st = InformationBase.getI().getService("storage", "portal", hsh, new Vector());
                    PortalStorageClient psc = (PortalStorageClient) Class.forName(st.getClientObject())
                            .newInstance();
                    psc.setServiceURL(st.getServiceUrl());
                    psc.setServiceID("/upload");
                    if (serverSideFile != null) {
                        psc.fileUpload(serverSideFile, uploadField, h);
                    }
                } catch (Exception ex) {
                    response.setRenderParameter("full", "error.upload");
                    ex.printStackTrace();
                    return;
                }
                ((Vector<String>) ps.getAttribute("uploaded")).add(s);

            }

        }
        //            ps.removeAttribute("uploads",ps.APPLICATION_SCOPE);
        ps.setAttribute("finaluploads", "");

    } catch (SizeLimitExceededException see) {
        response.setRenderParameter("full", "error.upload.sizelimit");
        request.getPortletSession().setAttribute("finaluploads", "");
        see.printStackTrace();
        context.log("[FileUploadPortlet] - failed to upload file - " + see.toString());
        return;
    } catch (FileUploadException fue) {
        response.setRenderParameter("full", "error.upload");

        fue.printStackTrace();
        context.log("[FileUploadPortlet] - failed to upload file - " + fue.toString());
        return;
    } catch (Exception e) {
        e.printStackTrace();
        response.setRenderParameter("full", "error.exception");
        context.log("[FileUploadPortlet] - failed to upload file - " + e.toString());
        return;
    }
    response.setRenderParameter("full", "action.succesfull");

}

From source file:com.krawler.spring.hrms.rec.job.hrmsRecJobDAOImpl.java

@Override
public void parseRequest(HttpServletRequest request, HashMap<String, Object> arrParam, ArrayList<FileItem> fi,
        boolean fileUpload, HashMap<Integer, String> filemap) {
    DiskFileUpload fu = new DiskFileUpload();
    FileItem fi1 = null;/*from  w ww.  j av  a  2s . com*/
    List fileItems = null;
    int i = 0;
    try {
        fu.setHeaderEncoding("UTF-8");
        fileItems = fu.parseRequest(request);

    } catch (FileUploadException e) {
        //            throw ServiceException.FAILURE("Admin.createUser", e);
    }

    for (Iterator k = fileItems.iterator(); k.hasNext();) {
        fi1 = (FileItem) k.next();
        if (fi1.isFormField()) {
            try {
                arrParam.put(fi1.getFieldName(), new String(fi1.getString().getBytes("iso-8859-1"), "UTF-8"));
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } else {
            try {
                String fileName = new String(fi1.getName().getBytes(), "UTF8");
                if (fi1.getSize() != 0) {
                    fi.add(fi1);
                    filemap.put(i, fi1.getFieldName());
                    i++;
                    fileUpload = true;
                }
            } catch (UnsupportedEncodingException ex) {
            }
        }
    }
}