List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload isMultipartContent
public static final boolean isMultipartContent(HttpServletRequest request)
From source file:com.idr.servlets.UploadServlet.java
/** * Uploading the file to the sever and complete the conversion * @param request/*from w w w.j a v a 2 s.co m*/ * @param response */ private void doFileUpload(HttpServletRequest request, HttpServletResponse response) { // System.out.println("Doing upload"+System.currentTimeMillis()); HttpSession session = request.getSession(); session.setAttribute("href", null); session.setAttribute("FILE_UPLOAD_STATS", null); session.setAttribute("pageCount", 0); session.setAttribute("pageReached", 0); session.setAttribute("isUploading", "true"); session.setAttribute("isConverting", "false"); session.setAttribute("convertType", "html"); session.setAttribute("isZipping", "false"); con = new Converter(); byte[] fileBytes = null; String sessionId = session.getId(); String userFileName = ""; HashMap<String, String> paramMap = new HashMap<String, String>(); int conType = Converter.getConversionType(request.getRequestURI()); int startPageNumber = 1; int pageCount = 0; try { if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); UploadListener listener = new UploadListener();//listens file uploads upload.setProgressListener(listener); session.setAttribute("FILE_UPLOAD_STATS", listener); List<FileItem> fields = upload.parseRequest(request); Iterator<FileItem> it = fields.iterator(); FileItem fileItem = null; if (!it.hasNext()) { return;//("No fields found"); } while (it.hasNext()) { FileItem field = it.next(); if (field.isFormField()) { String fieldName = field.getFieldName(); Flag.updateParameterMap(fieldName, field.getString(), paramMap); field.delete(); } else { fileItem = field; } } //Flags whether the file is a .zip or a .pdf if (fileItem.getName().contains(".pdf")) { isPDF = true; isZip = false; } else if (fileItem.getName().contains(".zip")) { isZip = true; isPDF = false; } //removes the last 4 chars and replaces odd chars with underscore userFileName = fileItem.getName().substring(0, fileItem.getName().length() - 4) .replaceAll("[^a-zA-Z0-9]", "_"); fileBytes = fileItem.get(); fileItem.delete(); } // Delete existing editor files if any exist. if (isEditorLinkOutput) { File editorFolder = new File(Converter.EDITORPATH + "/" + sessionId + "/"); if (editorFolder.exists()) { FileUtils.deleteDirectory(editorFolder); } } con.initializeConversion(sessionId, userFileName, fileBytes, isZip); PdfDecoderServer decoder = new PdfDecoderServer(false); decoder.openPdfFile(con.getUserPdfFilePath()); pageCount = decoder.getPageCount(); //Check whether or not the PDF contains forms if (decoder.isForm()) { session.setAttribute("isForm", "true"); //set an attrib for extraction.jps to use response.getWriter().println("<div id='isForm'></div>"); } else if (!decoder.isForm()) { session.setAttribute("isForm", "false"); //set an attrib for extraction.jps to use } //Check whther or not the PDF is XFA if (decoder.getFormRenderer().isXFA()) { session.setAttribute("isXFA", "true"); // response.getWriter().println("<div id='isXFA'></div>"); } else if (!decoder.getFormRenderer().isXFA()) { session.setAttribute("isXFA", "false"); } decoder.closePdfFile(); //closes file if (paramMap.containsKey("org.jpedal.pdf2html.realPageRange")) { String tokensCSV = (String) paramMap.get("org.jpedal.pdf2html.realPageRange"); PageRanges range = new PageRanges(tokensCSV); ArrayList<Integer> rangeList = new ArrayList<Integer>(); for (int z = 0; z < pageCount; z++) { if (range.contains(z)) { rangeList.add(z); } } int userPageCount = rangeList.size(); if (rangeList.size() > 0) { session.setAttribute("pageCount", userPageCount); } else { throw new Exception("invalid Page Range"); } } else { session.setAttribute("pageCount", pageCount); } session.setAttribute("isUploading", "false"); session.setAttribute("isConverting", "true"); String scales = paramMap.get("org.jpedal.pdf2html.scaling"); String[] scaleArr = null; String userOutput = con.getUserFileDirName(); if (scales != null && scales.contains(",")) { scaleArr = scales.split(","); } String reference = UploadServlet.getConvertedFileHref(sessionId, userFileName, conType, pageCount, startPageNumber, paramMap, scaleArr, isZip) + "<br/><br/>"; if (isZipLinkOutput) { reference = reference + con.getZipFileHref(userOutput, scaleArr); } if (isEditorLinkOutput && conType != Converter.PDF2ANDROID && conType != Converter.PDF2IMAGE) { reference = reference + "<br/><br/>" + con.getEditorHref(userOutput, scaleArr); // editor link } String typeString = Converter.getConversionTypeAsString(conType); converterThread(userFileName, scaleArr, fileBytes, typeString, paramMap, session, pageCount, reference); } catch (Exception ex) { session.setAttribute("href", "<end></end><div class='errorMsg'>Error: " + ex.getMessage() + "</div>"); Logger.getLogger(UploadServlet.class.getName()).log(Level.SEVERE, null, ex); cancelUpload(request, response); } }
From source file:com.openkm.servlet.admin.OmrServlet.java
@SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); String action = ""; String userId = request.getRemoteUser(); updateSessionManager(request);/*from w w w.ja v a 2 s .c o m*/ try { if (ServletFileUpload.isMultipartContent(request)) { String fileName = null; InputStream is = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); Set<String> properties = new HashSet<String>(); Omr om = new Omr(); for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("action")) { action = item.getString("UTF-8"); } else if (item.getFieldName().equals("om_id")) { om.setId(Integer.parseInt(item.getString("UTF-8"))); } else if (item.getFieldName().equals("om_name")) { om.setName(item.getString("UTF-8")); } else if (item.getFieldName().equals("om_properties")) { properties.add(item.getString("UTF-8")); } else if (item.getFieldName().equals("om_active")) { om.setActive(true); } } else { is = item.getInputStream(); fileName = item.getName(); } } om.setProperties(properties); if (action.equals("create") || action.equals("edit")) { // Store locally template file to be used later if (is != null && is.available() > 0) { // Case update only name byte[] data = IOUtils.toByteArray(is); File tmp = FileUtils.createTempFile(); FileOutputStream fos = new FileOutputStream(tmp); IOUtils.write(data, fos); IOUtils.closeQuietly(fos); // Store template file om.setTemplateFileName(FilenameUtils.getName(fileName)); om.setTemplateFileMime(MimeTypeConfig.mimeTypes.getContentType(fileName)); om.setTemplateFilContent(data); IOUtils.closeQuietly(is); // Create training files Map<String, File> trainingMap = OMRHelper.trainingTemplate(tmp); File ascFile = trainingMap.get(OMRHelper.ASC_FILE); File configFile = trainingMap.get(OMRHelper.CONFIG_FILE); // Store asc file om.setAscFileName(om.getTemplateFileName() + ".asc"); om.setAscFileMime(MimeTypeConfig.MIME_TEXT); is = new FileInputStream(ascFile); om.setAscFileContent(IOUtils.toByteArray(is)); IOUtils.closeQuietly(is); // Store config file om.setConfigFileName(om.getTemplateFileName() + ".config"); om.setConfigFileMime(MimeTypeConfig.MIME_TEXT); is = new FileInputStream(configFile); om.setConfigFileContent(IOUtils.toByteArray(is)); IOUtils.closeQuietly(is); // Delete temporal files FileUtils.deleteQuietly(tmp); FileUtils.deleteQuietly(ascFile); FileUtils.deleteQuietly(configFile); } if (action.equals("create")) { long id = OmrDAO.getInstance().create(om); // Activity log UserActivity.log(userId, "ADMIN_OMR_CREATE", Long.toString(id), null, om.toString()); } else if (action.equals("edit")) { OmrDAO.getInstance().updateTemplate(om); om = OmrDAO.getInstance().findByPk(om.getId()); // Activity log UserActivity.log(userId, "ADMIN_OMR_EDIT", Long.toString(om.getId()), null, om.toString()); } list(userId, request, response); } else if (action.equals("delete")) { OmrDAO.getInstance().delete(om.getId()); // Activity log UserActivity.log(userId, "ADMIN_OMR_DELETE", Long.toString(om.getId()), null, null); list(userId, request, response); } else if (action.equals("editAsc")) { Omr omr = OmrDAO.getInstance().findByPk(om.getId()); omr.setAscFileContent(IOUtils.toByteArray(is)); omr.setAscFileMime(MimeTypeConfig.MIME_TEXT); omr.setAscFileName(omr.getTemplateFileName() + ".asc"); OmrDAO.getInstance().update(omr); omr = OmrDAO.getInstance().findByPk(om.getId()); IOUtils.closeQuietly(is); // Activity log UserActivity.log(userId, "ADMIN_OMR_EDIT_ASC", Long.toString(om.getId()), null, null); list(userId, request, response); } else if (action.equals("editFields")) { Omr omr = OmrDAO.getInstance().findByPk(om.getId()); omr.setFieldsFileContent(IOUtils.toByteArray(is)); omr.setFieldsFileMime(MimeTypeConfig.MIME_TEXT); omr.setFieldsFileName(omr.getTemplateFileName() + ".fields"); OmrDAO.getInstance().update(omr); omr = OmrDAO.getInstance().findByPk(om.getId()); IOUtils.closeQuietly(is); // Activity log UserActivity.log(userId, "ADMIN_OMR_EDIT_FIELDS", Long.toString(om.getId()), null, null); list(userId, request, response); } else if (action.equals("check")) { File form = FileUtils.createTempFile(); OutputStream formFile = new FileOutputStream(form); formFile.write(IOUtils.toByteArray(is)); IOUtils.closeQuietly(formFile); formFile.close(); Map<String, String> results = OMRHelper.process(form, om.getId()); FileUtils.deleteQuietly(form); IOUtils.closeQuietly(is); UserActivity.log(userId, "ADMIN_OMR_CHECK_TEMPLATE", Long.toString(om.getId()), null, null); results(userId, request, response, action, results, om.getId()); } } } catch (Exception e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } }
From source file:com.lp.webapp.cc.CCOrderResponseServlet.java
@Override protected void doPost(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException { ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); upload.setSizeMax(maxUploadSize);/* w ww. ja v a2 s . c o m*/ if (!ServletFileUpload.isMultipartContent(req)) { myLogger.info("Received request without form/multipart data. Aborting."); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); return; } FileItem file = null; try { List<FileItem> files = upload.parseRequest(req); if (files.size() != 1) { response.setStatus(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); return; } file = files.get(0); processOrder(req, response, file); } catch (FileUploadException e) { myLogger.error("Upload exception: ", e); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); } catch (Exception e) { myLogger.error("Processing file exception: ", e); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); saveXmlFile(file); } }
From source file:com.ephesoft.dcma.gwt.customworkflow.server.ImportPluginUploadServlet.java
private void attachFile(HttpServletRequest req, HttpServletResponse resp) throws IOException { String errorMessageString = EMPTY_STRING; PrintWriter printWriter = null; printWriter = resp.getWriter();/* w w w . j a v a 2 s.c om*/ File tempZipFile = null; if (ServletFileUpload.isMultipartContent(req)) { String exportSerailizationFolderPath = EMPTY_STRING; try { Properties allProperties = ApplicationConfigProperties.getApplicationConfigProperties() .getAllProperties(META_INF_APPLICATION_PROPERTIES); exportSerailizationFolderPath = allProperties.getProperty(PLUGIN_UPLOAD_PROPERTY_NAME); } catch (IOException e) { LOG.error("Error retreiving plugin upload path ", e); } File exportSerailizationFolder = new File(exportSerailizationFolderPath); if (!exportSerailizationFolder.exists()) { exportSerailizationFolder.mkdir(); } tempZipFile = readAndParseAttachedFile(req, exportSerailizationFolderPath, printWriter); errorMessageString = processZipFileEntries(tempZipFile, exportSerailizationFolderPath, printWriter); } else { LOG.error("Request contents type is not supported."); printWriter.write("Request contents type is not supported."); } if (tempZipFile != null) { tempZipFile.delete(); } if (validZipContent) { String zipFileNameWithoutExtension = tempOutputUnZipDir.substring(0, tempOutputUnZipDir.lastIndexOf('.')); printWriter.write(CustomWorkflowConstants.PLUGIN_NAME + zipFileNameWithoutExtension); printWriter.append(RESULT_SEPERATOR); printWriter.append(CustomWorkflowConstants.JAR_FILE_PATH).append(jarFilePath); printWriter.append(RESULT_SEPERATOR); printWriter.append(CustomWorkflowConstants.XML_FILE_PATH).append(xmlFilePath); printWriter.append(RESULT_SEPERATOR); printWriter.flush(); } else { printWriter.write("Error while importing.Please try again." + CAUSE + errorMessageString); } }
From source file:com.ikon.servlet.admin.OmrServlet.java
@SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); String action = ""; String userId = request.getRemoteUser(); updateSessionManager(request);/*from w w w . j a v a 2s . c o m*/ try { if (ServletFileUpload.isMultipartContent(request)) { String fileName = null; InputStream is = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); Set<String> properties = new HashSet<String>(); Omr om = new Omr(); for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("action")) { action = item.getString("UTF-8"); } else if (item.getFieldName().equals("om_id")) { om.setId(Integer.parseInt(item.getString("UTF-8"))); } else if (item.getFieldName().equals("om_name")) { om.setName(item.getString("UTF-8")); } else if (item.getFieldName().equals("om_properties")) { properties.add(item.getString("UTF-8")); } else if (item.getFieldName().equals("om_active")) { om.setActive(true); } } else { is = item.getInputStream(); fileName = item.getName(); } } om.setProperties(properties); if (action.equals("create") || action.equals("edit")) { // Store locally template file to be used later if (is != null && is.available() > 0) { // Case update only name byte[] data = IOUtils.toByteArray(is); File tmp = FileUtils.createTempFile(); FileOutputStream fos = new FileOutputStream(tmp); IOUtils.write(data, fos); IOUtils.closeQuietly(fos); // Store template file om.setTemplateFileName(FilenameUtils.getName(fileName)); om.setTemplateFileMime(MimeTypeConfig.mimeTypes.getContentType(fileName)); om.setTemplateFilContent(data); IOUtils.closeQuietly(is); // Create training files Map<String, File> trainingMap = OMRHelper.trainingTemplate(tmp); File ascFile = trainingMap.get(OMRHelper.ASC_FILE); File configFile = trainingMap.get(OMRHelper.CONFIG_FILE); // Store asc file om.setAscFileName(om.getTemplateFileName() + ".asc"); om.setAscFileMime(MimeTypeConfig.MIME_TEXT); is = new FileInputStream(ascFile); om.setAscFileContent(IOUtils.toByteArray(is)); IOUtils.closeQuietly(is); // Store config file om.setConfigFileName(om.getTemplateFileName() + ".config"); om.setConfigFileMime(MimeTypeConfig.MIME_TEXT); is = new FileInputStream(configFile); om.setConfigFileContent(IOUtils.toByteArray(is)); IOUtils.closeQuietly(is); // Delete temporal files FileUtils.deleteQuietly(tmp); FileUtils.deleteQuietly(ascFile); FileUtils.deleteQuietly(configFile); } if (action.equals("create")) { long id = OmrDAO.getInstance().create(om); // Activity log UserActivity.log(userId, "ADMIN_OMR_CREATE", Long.toString(id), null, om.toString()); } else if (action.equals("edit")) { OmrDAO.getInstance().updateTemplate(om); om = OmrDAO.getInstance().findByPk(om.getId()); // Activity log UserActivity.log(userId, "ADMIN_OMR_EDIT", Long.toString(om.getId()), null, om.toString()); } list(userId, request, response); } else if (action.equals("delete")) { OmrDAO.getInstance().delete(om.getId()); // Activity log UserActivity.log(userId, "ADMIN_OMR_DELETE", Long.toString(om.getId()), null, null); list(userId, request, response); } else if (action.equals("editAsc")) { Omr omr = OmrDAO.getInstance().findByPk(om.getId()); omr.setAscFileContent(IOUtils.toByteArray(is)); omr.setAscFileMime(MimeTypeConfig.MIME_TEXT); omr.setAscFileName(omr.getTemplateFileName() + ".asc"); OmrDAO.getInstance().update(omr); omr = OmrDAO.getInstance().findByPk(om.getId()); IOUtils.closeQuietly(is); // Activity log UserActivity.log(userId, "ADMIN_OMR_EDIT_ASC", Long.toString(om.getId()), null, null); list(userId, request, response); } else if (action.equals("editFields")) { Omr omr = OmrDAO.getInstance().findByPk(om.getId()); omr.setFieldsFileContent(IOUtils.toByteArray(is)); omr.setFieldsFileMime(MimeTypeConfig.MIME_TEXT); omr.setFieldsFileName(omr.getTemplateFileName() + ".fields"); OmrDAO.getInstance().update(omr); omr = OmrDAO.getInstance().findByPk(om.getId()); IOUtils.closeQuietly(is); // Activity log UserActivity.log(userId, "ADMIN_OMR_EDIT_FIELDS", Long.toString(om.getId()), null, null); list(userId, request, response); } else if (action.equals("check")) { File form = FileUtils.createTempFile(); OutputStream formFile = new FileOutputStream(form); formFile.write(IOUtils.toByteArray(is)); IOUtils.closeQuietly(formFile); formFile.close(); Map<String, String> results = OMRHelper.process(form, om.getId()); FileUtils.deleteQuietly(form); IOUtils.closeQuietly(is); UserActivity.log(userId, "ADMIN_OMR_CHECK_TEMPLATE", Long.toString(om.getId()), null, null); results(userId, request, response, action, results, om.getId()); } } } catch (DatabaseException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (FileUploadException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (OMRException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (InvalidFileStructureException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (InvalidImageIndexException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (UnsupportedTypeException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (MissingParameterException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (WrongParameterException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } }
From source file:control.HelperServlets.CargarArchivoServlet.java
private void subirArchivo(HttpServletRequest request) { //Armamos la ruta donde se subiran los archivos String folder = getRutaCarga(); String rutaServlet = getServletContext().getRealPath("/"); String rutaCompleta = rutaServlet + folder; String rutaConArchivo = ""; //Se procesa solo si es multipart y sube el archivo al directorio especificado. if (ServletFileUpload.isMultipartContent(request)) { try {/*w w w . j a v a 2 s . c o m*/ DiskFileItemFactory itemFactory = new DiskFileItemFactory(); ServletFileUpload serFileUpload = new ServletFileUpload(itemFactory); List multiparts = serFileUpload.parseRequest(request); for (Object reg : multiparts) { FileItem item = (FileItem) reg; if (!item.isFormField()) { String name = new File(item.getName()).getName(); item.write(new File(rutaCompleta + File.separator + name)); this.ruta = rutaCompleta + File.separator + name; this.nombreArchivo = File.separator + name; } } } catch (Exception ex) { } } }
From source file:com.jkingii.web.files.upload.java
/** * Processes requests for both HTTP/*from w w w .j av a2 s . c om*/ * <code>GET</code> and * <code>POST</code> methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Check that we have a file upload request isMultipart = ServletFileUpload.isMultipartContent(request); FileDataBase fdb = null; response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { CSession cSession = (CSession) request.getSession().getAttribute("cSession"); if (!isMultipart) { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); return; } DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. factory.setRepository(new File(tempDir)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Se verifica si el usuario tiene permisos de escritura. ColumnasPermisos permiso = checkPermisos(request, fileItems, out); if (permiso == null) { return; } // Process the uploaded file items Iterator i = fileItems.iterator(); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); MessageDigest md5 = MessageDigest.getInstance("MD5"); if (!fi.isFormField()) { // Get the uploaded file parameters logger.info("Prosess Request: obteniendo session: [" + cSession + "] jsessionid = [" + request.getSession().getId() + "]", this); fdb = new FileDataBase(GenKey.newKey(), cSession.getAccessInfo().getEmpresa(), cSession.getAccessInfo().getUserInfo(), new Date().getTime(), fi.getName(), new MimeType().factory().getMime(fi.getName(), fi.get()), fi.get(), Hexadecimal.getHex(md5.digest(fi.get())), fi.getSize(), permiso); fileDataBaseFacade.create(fdb); } } ResponseConfig config = new ResponseConfig(); config.setTimeZone(cSession.getAccessInfo().getTimeZone()); out.println(fdb.toJson(config)); } catch (FileUploadException | NoSuchAlgorithmException e) { logger.error("Error cargando el fichero en el servidor, " + "Exception: {}", e.getMessage()); } catch (UnknownColumnException e) { logger.error("Imposible la columna para el link debe existir referer[{}], " + "p[{}]", request.getHeader("referer"), request.getParameter(PERMISO_FIELD)); logger.debug("referrer: " + request.getHeader("referrer")); } finally { out.close(); } }
From source file:com.esri.gpt.control.filter.MultipartWrapper.java
/** * Determine if a request contains multipart content. * @param request the current request/* w w w . ja va2s. c om*/ * @return true if the request contains multipart content */ public static boolean isMultipartContent(ServletRequest request) { boolean bMultipart = false; if ((request != null) && (request instanceof HttpServletRequest)) { HttpServletRequest httpReq = (HttpServletRequest) request; bMultipart = ServletFileUpload.isMultipartContent(httpReq); } getLogger().finest("isMultipartContent=" + bMultipart); return bMultipart; }
From source file:com.ikon.servlet.admin.DatabaseQueryServlet.java
@Override @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); updateSessionManager(request);//from w w w . j ava 2s. c o m String user = request.getRemoteUser(); ServletContext sc = getServletContext(); Session session = null; try { if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); String type = ""; String qs = ""; byte[] data = null; for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("qs")) { qs = item.getString("UTF-8"); } else if (item.getFieldName().equals("type")) { type = item.getString("UTF-8"); } } else { data = item.get(); } } if (!qs.equals("") && !type.equals("")) { session = HibernateUtil.getSessionFactory().openSession(); sc.setAttribute("qs", qs); sc.setAttribute("type", type); if (type.equals("jdbc")) { executeJdbc(session, qs, sc, request, response); // Activity log UserActivity.log(user, "ADMIN_DATABASE_QUERY_JDBC", null, null, qs); } else if (type.equals("hibernate")) { executeHibernate(session, qs, sc, request, response); // Activity log UserActivity.log(user, "ADMIN_DATABASE_QUERY_HIBERNATE", null, null, qs); } else if (type.equals("metadata")) { executeMetadata(session, qs, sc, request, response); // Activity log UserActivity.log(user, "ADMIN_DATABASE_QUERY_METADATA", null, null, qs); } } else if (data != null && data.length > 0) { sc.setAttribute("exception", null); session = HibernateUtil.getSessionFactory().openSession(); executeUpdate(session, data, sc, request, response); // Activity log UserActivity.log(user, "ADMIN_DATABASE_QUERY_FILE", null, null, new String(data)); } else { sc.setAttribute("qs", qs); sc.setAttribute("type", type); sc.setAttribute("exception", null); sc.setAttribute("globalResults", new ArrayList<DatabaseQueryServlet.GlobalResult>()); sc.getRequestDispatcher("/admin/database_query.jsp").forward(request, response); } } } catch (FileUploadException e) { sendError(sc, request, response, e); } catch (SQLException e) { sendError(sc, request, response, e); } catch (HibernateException e) { sendError(sc, request, response, e); } catch (DatabaseException e) { sendError(sc, request, response, e); } catch (IllegalAccessException e) { sendError(sc, request, response, e); } catch (InvocationTargetException e) { sendError(sc, request, response, e); } catch (NoSuchMethodException e) { sendError(sc, request, response, e); } finally { HibernateUtil.close(session); } }
From source file:com.ikon.servlet.admin.LanguageServlet.java
@Override @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); String action = WebUtils.getString(request, "action"); boolean persist = WebUtils.getBoolean(request, "persist"); String userId = request.getRemoteUser(); Session dbSession = null;// w ww.jav a2 s . c o m updateSessionManager(request); try { if (ServletFileUpload.isMultipartContent(request)) { InputStream is = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); Language lang = new Language(); byte data[] = null; for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("action")) { action = item.getString("UTF-8"); } else if (item.getFieldName().equals("lg_id")) { lang.setId(item.getString("UTF-8")); } else if (item.getFieldName().equals("lg_name")) { lang.setName(item.getString("UTF-8")); } else if (item.getFieldName().equals("persist")) { persist = true; } } else { is = item.getInputStream(); data = IOUtils.toByteArray(is); lang.setImageMime(MimeTypeConfig.mimeTypes.getContentType(item.getName())); is.close(); } } if (action.equals("create")) { lang.setImageContent(SecureStore.b64Encode(data)); LanguageDAO.create(lang); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_CREATE", lang.getId(), null, lang.toString()); } else if (action.equals("edit")) { lang.setImageContent(SecureStore.b64Encode(data)); LanguageDAO.update(lang); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_EDIT", lang.getId(), null, lang.toString()); } else if (action.equals("delete")) { LanguageDAO.delete(lang.getId()); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_DELETE", lang.getId(), null, null); } else if (action.equals("import")) { dbSession = HibernateUtil.getSessionFactory().openSession(); importLanguage(userId, request, response, data, dbSession); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_IMPORT", null, null, null); } } else if (action.equals("translate")) { translate(userId, request, response); } else if (action.equals("addTranslation")) { addTranslation(userId, request, response); } if (!action.equals("addTranslation") && (action.equals("") || action.equals("import") || persist)) { list(userId, request, response); } } catch (FileUploadException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (DatabaseException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (SQLException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } finally { HibernateUtil.close(dbSession); } }