List of usage examples for org.apache.commons.fileupload FileUploadException printStackTrace
public void printStackTrace(PrintStream s)
From source file:Model.Picture.java
public static ArrayList<String> upload(HttpServletRequest request, int type) { ArrayList<String> errors = new ArrayList<String>(); ArrayList<String> pictureNames = new ArrayList<String>(); DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(Constants.UPLOAD_SIZE_THRESHOLD); new File(Constants.TEMP_DIR).mkdirs(); factory.setRepository(new File(Constants.TEMP_DIR)); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(Constants.MAX_UPLOAD_SIZE); try {//w w w .ja va 2 s.com List fileItems = upload.parseRequest(request); Iterator i = fileItems.iterator(); while (i.hasNext()) { FileItem fileItem = (FileItem) i.next(); String fileName = fileItem.getName(); if (type == EXCEL_UPLOAD) errors.addAll(upload_excel(fileName, fileItem)); else if (type == PICTURE_UPLOAD) errors.addAll(upload_picture(fileName, fileItem, pictureNames)); } } catch (org.apache.commons.fileupload.FileUploadException e) { e.printStackTrace(System.out); } catch (Exception e) { e.printStackTrace(System.out); } if (type == PICTURE_UPLOAD) DataBaseTools.insertAndUpdateRecords(pictureNames); return errors; }
From source file:com.meetme.plugins.jira.gerrit.adminui.AdminServlet.java
@SuppressWarnings("unchecked") @Override/*from w w w. jav a 2s .c om*/ protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { try { String username = userManager.getRemoteUsername(req); if (username == null || !userManager.isSystemAdmin(username)) { redirectToLogin(req, resp); return; } File privateKeyPath = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items; try { // Unfortunately "multipart" makes it so every field comes through as a "FileItem" items = (List<FileItem>) upload.parseRequest(req); } catch (FileUploadException e) { e.printStackTrace(resp.getWriter()); return; } this.setAllFields(items); privateKeyPath = this.doUploadPrivateKey(items, configurationManager.getSshHostname()); if (privateKeyPath != null) { // We'll store the *path* to the file in ConfigResource, to make it easy to look it // up in the future. log.debug("---- Saved ssh private key at: " + privateKeyPath.toString() + " ----"); configurationManager.setSshPrivateKey(privateKeyPath); } else if (configurationManager.getSshPrivateKey() != null) { log.debug("---- Private key is already on file, and not being replaced. ----"); } else { // TODO: is this a failure? log.info( "**** No private key was uploaded, and no key currently on file! Requests will fail. ****"); } } catch (Exception e) { e.printStackTrace(resp.getWriter()); return; } resp.setContentType(CONTENT_TYPE); renderer.render(TEMPLATE_ADMIN, configToMap(configurationManager), resp.getWriter()); }
From source file:com.google.livingstories.servlet.DataImportServlet.java
@Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { startTime = System.currentTimeMillis(); message = ""; if (req.getContentType().contains("multipart/form-data")) { try {//from w ww .ja v a 2 s . co m ServletFileUpload upload = new ServletFileUpload(); JSONObject data = null; boolean override = false; FileItemIterator iter = upload.getItemIterator(req); while (iter.hasNext()) { FileItemStream item = iter.next(); if (item.getFieldName().equals("override")) { override = true; } else if (item.getFieldName().equals("data")) { data = new JSONObject(Streams.asString(item.openStream())); } } checkRunState(override); inputData = data; setUp(); } catch (FileUploadException ex) { throw new RuntimeException(ex); } catch (JSONException ex) { throw new RuntimeException(ex); } } try { process(); } catch (Exception ex) { Writer result = new StringWriter(); PrintWriter printWriter = new PrintWriter(result); ex.printStackTrace(printWriter); message = result.toString(); runState = RunState.ERROR; } finally { if (runState != RunState.RUNNING) { tearDown(); } Caches.clearAll(); } resp.setContentType("text/html"); resp.getWriter().append(message + "<br>" + runState.name()); }
From source file:com.sun.faban.harness.webclient.Deployer.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try {/*from w ww. jav a 2 s .co m*/ List<String> deployNames = new ArrayList<String>(); List<String> cantDeployNames = new ArrayList<String>(); List<String> errDeployNames = new ArrayList<String>(); List<String> invalidNames = new ArrayList<String>(); List<String> errHeaders = new ArrayList<String>(); List<String> errDetails = new ArrayList<String>(); String user = null; String password = null; boolean clearConfig = false; boolean hasPermission = true; // Check whether we have to return text or html boolean acceptHtml = false; String acceptHeader = request.getHeader("Accept"); if (acceptHeader != null && acceptHeader.indexOf("text/html") >= 0) acceptHtml = true; DiskFileUpload fu = new DiskFileUpload(); // No maximum size fu.setSizeMax(-1); // maximum size that will be stored in memory fu.setSizeThreshold(4096); // the location for saving data that is larger than getSizeThreshold() fu.setRepositoryPath(Config.TMP_DIR); StringWriter messageBuffer = new StringWriter(); PrintWriter messageWriter = new PrintWriter(messageBuffer); List fileItems = null; try { fileItems = fu.parseRequest(request); } catch (FileUploadException e) { throw new ServletException(e); } // assume we know there are two files. The first file is a small // text file, the second is unknown and is written to a file on // the server for (Iterator i = fileItems.iterator(); i.hasNext();) { FileItem item = (FileItem) i.next(); String fieldName = item.getFieldName(); if (item.isFormField()) { if ("user".equals(fieldName)) { user = item.getString(); } else if ("password".equals(fieldName)) { password = item.getString(); } else if ("clearconfig".equals(fieldName)) { String value = item.getString(); clearConfig = Boolean.parseBoolean(value); } continue; } if (!"jarfile".equals(fieldName)) continue; String fileName = item.getName(); if (fileName == null) // We don't process files without names continue; if (Config.SECURITY_ENABLED) { if (Config.DEPLOY_USER == null || Config.DEPLOY_USER.length() == 0 || !Config.DEPLOY_USER.equals(user)) { hasPermission = false; break; } if (Config.DEPLOY_PASSWORD == null || Config.DEPLOY_PASSWORD.length() == 0 || !Config.DEPLOY_PASSWORD.equals(password)) { hasPermission = false; break; } } // Now, this name may have a path attached, dependent on the // source browser. We need to cover all possible clients... char[] pathSeparators = { '/', '\\' }; // Well, if there is another separator we did not account for, // just add it above. for (int j = 0; j < pathSeparators.length; j++) { int idx = fileName.lastIndexOf(pathSeparators[j]); if (idx != -1) { fileName = fileName.substring(idx + 1); break; } } // Ignore all non-jarfiles. if (!fileName.toLowerCase().endsWith(".jar")) { invalidNames.add(fileName); continue; } String deployName = fileName.substring(0, fileName.length() - 4); if (deployName.indexOf('.') > -1) { invalidNames.add(deployName); continue; } // Check if we can deploy benchmark or service. // If running or queued, we won't deploy benchmark. // If service being used by current run,we won't deploy service. if (!DeployUtil.canDeployBenchmark(deployName) || !DeployUtil.canDeployService(deployName)) { cantDeployNames.add(deployName); continue; } File uploadFile = new File(Config.BENCHMARK_DIR, fileName); if (uploadFile.exists()) FileHelper.recursiveDelete(uploadFile); try { item.write(uploadFile); } catch (Exception e) { throw new ServletException(e); } try { DeployUtil.processUploadedJar(uploadFile, deployName); } catch (Exception e) { messageWriter.println("\nError deploying " + deployName + ".\n"); e.printStackTrace(messageWriter); errDeployNames.add(deployName); continue; } deployNames.add(deployName); } if (clearConfig) for (String benchName : deployNames) DeployUtil.clearConfig(benchName); if (!hasPermission) response.setStatus(HttpServletResponse.SC_FORBIDDEN); else if (cantDeployNames.size() > 0) response.setStatus(HttpServletResponse.SC_CONFLICT); else if (errDeployNames.size() > 0) response.setStatus(HttpServletResponse.SC_NOT_ACCEPTABLE); else if (invalidNames.size() > 0) response.setStatus(HttpServletResponse.SC_NOT_ACCEPTABLE); else if (deployNames.size() > 0) response.setStatus(HttpServletResponse.SC_CREATED); else response.setStatus(HttpServletResponse.SC_NOT_FOUND); StringBuilder b = new StringBuilder(); if (deployNames.size() > 0) { if (deployNames.size() > 1) b.append("Benchmarks/services "); else b.append("Benchmark/service "); for (int i = 0; i < deployNames.size(); i++) { if (i > 0) b.append(", "); b.append((String) deployNames.get(i)); } b.append(" deployed."); errHeaders.add(b.toString()); b.setLength(0); } if (invalidNames.size() > 0) { if (invalidNames.size() > 1) b.append("Invalid deploy files "); else b.append("Invalid deploy file "); for (int i = 0; i < invalidNames.size(); i++) { if (i > 0) b.append(", "); b.append((String) invalidNames.get(i)); } b.append(". Deploy files must have .jar extension."); errHeaders.add(b.toString()); b.setLength(0); } if (cantDeployNames.size() > 0) { if (cantDeployNames.size() > 1) b.append("Cannot deploy benchmarks/services "); else b.append("Cannot deploy benchmark/services "); for (int i = 0; i < cantDeployNames.size(); i++) { if (i > 0) b.append(", "); b.append((String) cantDeployNames.get(i)); } b.append(". Benchmark/services being used or " + "queued up for run."); errHeaders.add(b.toString()); b.setLength(0); } if (errDeployNames.size() > 0) { if (errDeployNames.size() > 1) { b.append("Error deploying benchmarks/services "); for (int i = 0; i < errDeployNames.size(); i++) { if (i > 0) b.append(", "); b.append((String) errDeployNames.get(i)); } } errDetails.add(messageBuffer.toString()); errHeaders.add(b.toString()); b.setLength(0); } if (!hasPermission) errHeaders.add("Permission denied!"); Writer writer = response.getWriter(); if (acceptHtml) writeHtml(request, writer, errHeaders, errDetails); else writeText(writer, errHeaders, errDetails); writer.flush(); writer.close(); } catch (ServletException e) { logger.log(Level.SEVERE, e.getMessage(), e); throw e; } catch (IOException e) { logger.log(Level.SEVERE, e.getMessage(), e); throw e; } catch (Exception e) { logger.log(Level.SEVERE, e.getMessage(), e); throw new ServletException(e); } }
From source file:org.iplantc.phyloviewer.viewer.server.ParseTreeService.java
/** * Accepts a tree for parsing and storage, and returns a URL to view the tree. * May return before the tree has finished importing. * /*from w ww .ja v a2 s . co m*/ * @param request has the following parameters: * <pre> * newickData or nexml: a string representing the tree data * name (optional): the label that is given to the newick tree. * Nexml documents already have an attribute for tree label, so they don't use this parameter. * </pre> * * @param response contains the URL to view the tree */ protected void doPost(HttpServletRequest request, HttpServletResponse response) { Logger.getLogger("org.iplantc.phyloviewer").log(Level.FINE, "Received tree post request"); PrintWriter writer = getWriter(response); Map<String, String[]> parameters = null; try { Logger.getLogger("org.iplantc.phyloviewer").log(Level.FINE, "Reading request parameters"); parameters = getParameters(request); } catch (FileUploadException e) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); writer.println(e.getMessage()); writer.flush(); writer.close(); return; } try { String id = parseTree.saveTree(parameters); if (id != null) { Logger.getLogger("org.iplantc.phyloviewer").log(Level.FINE, "Returning response"); response.setStatus(HttpServletResponse.SC_ACCEPTED); String viewURL = getViewURL(id, request); response.setHeader("Location", viewURL); writer.println(viewURL); } else { Logger.getLogger("org.iplantc.phyloviewer").log(Level.FINE, "No trees found. Returning response"); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); writer.println("Bad request: No tree data found."); } } catch (ParserException e) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); writer.println(e.getMessage()); e.printStackTrace(writer); } catch (SAXException e) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); writer.println(e.getMessage()); e.printStackTrace(writer); } catch (Exception e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); writer.println(e.getMessage()); e.printStackTrace(writer); } writer.flush(); writer.close(); }
From source file:sai_cas.servlet.CrossMatchServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { PrintWriter out = response.getWriter(); String cat = null, tab = null, radString = null, raColumn = null, decColumn = null, formatString = null; formats format;/* w ww.ja va 2 s . com*/ List<FileItem> fileItemList = null; FileItemFactory factory = new DiskFileItemFactory(); try { ServletFileUpload sfu = new ServletFileUpload(factory); sfu.setSizeMax(50000000); /* Request size <= 50Mb */ fileItemList = sfu.parseRequest(request); } catch (FileUploadException e) { throw new ServletException(e.getMessage()); /* Nothing ...*/ } FileItem fi = null; for (FileItem fi0 : fileItemList) { if (fi0.getFieldName().equals("file"))//(!fi0.isFormField()) { fi = fi0; } if (fi0.getFieldName().equals("tab"))//(!fi0.isFormField()) { tab = fi0.getString(); } if (fi0.getFieldName().equals("cat"))//(!fi0.isFormField()) { cat = fi0.getString(); } if (fi0.getFieldName().equals("rad"))//(!fi0.isFormField()) { radString = fi0.getString(); } if (fi0.getFieldName().equals("racol"))//(!fi0.isFormField()) { raColumn = fi0.getString(); } if (fi0.getFieldName().equals("deccol"))//(!fi0.isFormField()) { decColumn = fi0.getString(); } if (fi0.getFieldName().equals("format"))//(!fi0.isFormField()) { formatString = fi0.getString(); } } if ((formatString == null) || (formatString.equalsIgnoreCase("votable"))) { format = formats.VOTABLE; } else if (formatString.equalsIgnoreCase("CSV")) { format = formats.CSV; } else { format = formats.VOTABLE; } QueryResultsOutputter qro = null; CSVQueryResultsOutputter csvqro = null; VOTableQueryResultsOutputter voqro = null; switch (format) { case CSV: response.setContentType("text/csv"); csvqro = new CSVQueryResultsOutputter(null); qro = csvqro; break; case VOTABLE: response.setContentType("text/xml"); voqro = new VOTableQueryResultsOutputter(); qro = voqro; break; } File uploadedFile = null; Connection conn = null; DBInterface dbi = null; try { double rad = 0; String inputFilename = fi.getName(); rad = Double.parseDouble(radString); if (fi == null) { throw new CrossMatchServletException("File should be specified" + fileItemList.size()); } long size = fi.getSize(); if (size > 10000000) { throw new CrossMatchServletException("File is too big"); } if (size == 0) { throw new CrossMatchServletException("File must not be empty"); } if (format.equals(formats.CSV)) { if ((raColumn == null) || (decColumn == null)) { throw new CrossMatchServletException( "When you use the CSV format, you must specify which columns contain RA and DEC"); } } uploadedFile = File.createTempFile("crossmatch", ".dat", new File("/tmp/")); try { fi.write(uploadedFile); } catch (Exception e) { throw new CrossMatchServletException("Error in writing your data in the temporary file"); } logger.debug("File written"); String[] userPasswd = sai_cas.Parameters.getDefaultTempDBUserPasswd(); String tempUser = userPasswd[0]; String tempPasswd = userPasswd[1]; conn = DBConnection.getPooledPerUserConnection(tempUser, tempPasswd); dbi = new DBInterface(conn, tempUser); Votable vot = null; switch (format) { case CSV: vot = Votable.getVOTableFromCSV(uploadedFile); if ((!vot.checkColumnExistance(raColumn)) || (!vot.checkColumnExistance(decColumn))) { throw new CrossMatchServletException( "The column names specified as RA and DEC should be present in the CSV file"); } break; case VOTABLE: vot = new Votable(uploadedFile); break; } vot.randomizeResourceName(); vot.randomizeTableName(); String userDataSchema = dbi.getUserDataSchemaName(); String tableName = vot.insertDataToDB(dbi, userDataSchema); dbi.analyze(userDataSchema, tableName); String[] raDecArray = dbi.getRaDecColumns(cat, tab); String[] raDecArray1 = null; switch (format) { case VOTABLE: raDecArray1 = dbi.getRaDecColumnsFromUCD(userDataSchema, tableName); if (raDecArray1 == null) { throw new CrossMatchServletException("Error occured: " + "You must have the columns in the table having the UCD of alpha or delta ('POS_EQ_RA_MAIN', 'POS_EQ_DEC_MAIN') to do the crossmatch"); } break; case CSV: raDecArray1 = new String[2]; raDecArray1[0] = raColumn; raDecArray1[1] = decColumn; } String outputFilename = cat + "." + (tab == null ? "" : tab) + "_" + String.format(Locale.US, "%.4f", rad) + "_" + inputFilename; response.setHeader("Content-Disposition", "attachment; filename=" + outputFilename); dbi.executeQuery("select * from " + userDataSchema + "." + tableName + " AS a LEFT JOIN " + cat + "." + tab + " AS b " + "ON q3c_join(a." + raDecArray1[0] + ",a." + raDecArray1[1] + ",b." + raDecArray[0] + ",b." + raDecArray[1] + "," + rad + ")"); if (format.equals(formats.VOTABLE)) { voqro.setResource(cat + "_" + fi.getName()); voqro.setResourceDescription("This is the table obtained by " + "crossmatching the table " + cat + "." + tab + " with the " + "user supplied table from the file " + fi.getName() + "\n" + "Radius of the crossmatch: " + rad + "deg"); voqro.setTable("main"); } qro.print(out, dbi); } catch (VotableException e) { qro.printError(out, "Error occured: " + e.getMessage() + "Cannot read the VOTable, probably it is not well formed (remember that you must have 'xmlns=\"http://www.ivoa.net/xml/VOTable/v1.1\"' in the VOTABLE tag)"); } catch (NumberFormatException e) { qro.printError(out, "Error occured: " + e.getMessage()); } catch (CrossMatchServletException e) { qro.printError(out, "Error occured: " + e.getMessage()); } catch (DBException e) { logger.error("DBException " + e); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); qro.printError(out, "Error occured: " + e + "\nCause: " + e.getCause() + "\nTrace: " + sw); } catch (SQLException e) { logger.error("SQLException " + e); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); qro.printError(out, "Error occured: " + e + "\nCause: " + e.getCause() + "\nTrace: " + sw); } finally { DBInterface.close(dbi, conn, false); /* Always rollback */ try { if (uploadedFile != null) { uploadedFile.delete(); } } catch (Exception e) { logger.error("Failed to delete the temporary file: " + uploadedFile.getCanonicalPath()); } } }
From source file:service.UploadFile.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try {// w w w .j a va2s . c om response.setContentType("application/json"); PrintWriter writer = response.getWriter(); if (new File(FOLDER).exists()) { new File(FOLDER).mkdir(); } boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { writer.println("{\"status\":\"Invalid request. Multipart Request needed.\"}"); } else { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<?> items = null; try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(System.err); } Iterator<?> itr = items.iterator(); writer.println("{"); int i = 0; while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); if (item.isFormField()) { System.out.println("Form Field " + item.getFieldName() + " : " + item.getString()); if (i != 0) { writer.println(","); } writer.println("\"" + item.getFieldName() + "\":\"" + item.getString() + "\""); i++; } else { try { String itemName = item.getName(); File savedFile = new File(FOLDER, itemName); item.write(savedFile); if (i != 0) { writer.println(","); } writer.println("\"" + itemName + "\":\"" + savedFile.getAbsolutePath() + "\""); i++; } catch (Exception ex) { System.err.println(ex.getMessage()); } } i++; } writer.println("}"); } } catch (Exception ex) { System.err.println(ex.getMessage()); } }
From source file:utilities.FileIO.java
public static ArrayList<String> upload(HttpServletRequest request, int type, Study study) { ArrayList<String> errors = new ArrayList<String>(); ArrayList<String> picNames = type == PHOTO ? new ArrayList<String>() : null; ServletFileUpload upload = getFileUpload(); try {/*from w ww.j a v a 2 s .co m*/ List fileItems = upload.parseRequest(request); Iterator iterator = fileItems.iterator(); while (iterator.hasNext()) { FileItem fileItem = (FileItem) iterator.next(); String fileName = fileItem.getName(); errors.addAll(type == PHOTO ? uploadPhotos(fileItem, fileName, picNames, study) : uploadTable(fileItem, fileName, study)); } } catch (org.apache.commons.fileupload.FileUploadException e) { e.printStackTrace(System.err); } catch (Exception e) { e.printStackTrace(System.err); } finally { cleanTempDir(); } errors.addAll(SQL.Helper.insertAndUpdateUploads(type, study, picNames)); return errors; }