List of usage examples for org.apache.commons.fileupload.portlet PortletFileUpload parseRequest
public List parseRequest(ActionRequest request) throws FileUploadException
From source file:it.eng.spagobi.commons.utilities.PortletUtilities.java
/** * Gets the first uploaded file from a portlet request. This method creates a new file upload handler, * parses the request, processes the uploaded items and then returns the first file as an * <code>UploadedFile</code> object. * @param portletRequest The input portlet request * @return The first uploaded file object. */// www . java 2 s. c om public static UploadedFile getFirstUploadedFile(PortletRequest portletRequest) { UploadedFile uploadedFile = null; try { DiskFileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler PortletFileUpload upload = new PortletFileUpload(factory); // Parse the request List /* FileItem */ items = upload.parseRequest((ActionRequest) portletRequest); // Process the uploaded items Iterator iter = items.iterator(); boolean endLoop = false; while (iter.hasNext() && !endLoop) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { //serviceRequest.setAttribute(item.getFieldName(), item.getString()); } else { uploadedFile = new UploadedFile(); uploadedFile.setFileContent(item.get()); uploadedFile.setFieldNameInForm(item.getFieldName()); uploadedFile.setSizeInBytes(item.getSize()); uploadedFile.setFileName(item.getName()); endLoop = true; } } } catch (Exception e) { logger.error("Cannot parse multipart request", e); } return uploadedFile; }
From source file:com.liferay.util.portlet.PortletRequestUtil.java
public static List<DiskFileItem> testMultipartWithCommonsFileUpload(ActionRequest actionRequest) throws Exception { // Check if the given request is a multipart request boolean multiPartContent = PortletFileUpload.isMultipartContent(actionRequest); if (multiPartContent) { _log.info("The given request is a multipart request"); } else {/*ww w . j a va 2 s . c om*/ _log.info("The given request is NOT a multipart request"); } DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); PortletFileUpload portletFileUpload = new PortletFileUpload(diskFileItemFactory); List<DiskFileItem> diskFileItems = portletFileUpload.parseRequest(actionRequest); if (_log.isInfoEnabled()) { _log.info("Apache commons upload was able to parse " + diskFileItems.size() + " items"); } for (int i = 0; i < diskFileItems.size(); i++) { DiskFileItem diskFileItem = diskFileItems.get(i); if (_log.isInfoEnabled()) { _log.info("Item " + i + " " + diskFileItem); } } return diskFileItems; }
From source file:net.formio.portlet.PortletMultipartRequestParser.java
@Override protected List<FileItem> parseRequest(FileItemFactory fif, long singleFileSizeMax, long totalSizeMax, String defaultEncoding) throws FileUploadException { final PortletFileUpload upload = new PortletFileUpload(fif); configureUpload(upload, singleFileSizeMax, totalSizeMax, defaultEncoding); return upload.parseRequest(request); }
From source file:com.liferay.testmisc.portlet.TestPortlet.java
protected void testMultipartWithCommonsFileUpload(ActionRequest actionRequest) throws Exception { boolean multiPartContent = PortletFileUpload.isMultipartContent(actionRequest); if (_log.isInfoEnabled()) { if (multiPartContent) { _log.info("The request is a multipart request"); } else {/*from ww w. j a v a2 s. co m*/ _log.info("The request is not a multipart request"); } } DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); PortletFileUpload portletFileUpload = new PortletFileUpload(diskFileItemFactory); List<FileItem> fileItemsList = portletFileUpload.parseRequest(actionRequest); if (_log.isInfoEnabled()) { _log.info("Apache commons upload was able to parse " + fileItemsList.size() + " items"); } for (int i = 0; i < fileItemsList.size(); i++) { FileItem fileItem = fileItemsList.get(i); if (_log.isInfoEnabled()) { _log.info("Item " + i + " " + fileItem); } } }
From source file:de.uhh.l2g.upload.MyCommonsPortletMultipartResolver.java
/** * Parses the request./*from www . ja va 2s.co m*/ * * @param request the request * @return the multipart parsing result * @throws MultipartException the multipart exception */ @Override protected MultipartParsingResult parseRequest(ActionRequest request) throws MultipartException { Integer userId = new Integer(request.getRemoteUser()); Integer videoId = new Integer(request.getParameter("videoId")); long contentLength = request.getContentLength(); ((UploadDao) getDaoBeanFactory().getBean("uploadDao")).create(userId, contentLength); String encoding = determineEncoding(request); FileUpload fileUpload = this.prepareFileUpload(encoding); try { PortletFileUpload pfu = ((PortletFileUpload) fileUpload); FileUploadProgressListener fupl = new FileUploadProgressListener(videoId, contentLength); pfu.setProgressListener(fupl); List<?> fileItems = pfu.parseRequest(request); return parseFileItems(fileItems, encoding); } catch (FileUploadBase.SizeLimitExceededException ex) { throw new MaxUploadSizeExceededException(fileUpload.getSizeMax(), ex); } catch (FileUploadException ex) { throw new MultipartException("Could not parse multipart portlet request", ex); } }
From source file:com.permeance.utility.scriptinghelper.portlets.ScriptingHelperPortlet.java
public void execute(ActionRequest actionRequest, ActionResponse actionResponse) { try {// www . j a va 2 s . c o m sCheckPermissions(actionRequest); String portletId = "_" + PortalUtil.getPortletId(actionRequest) + "_"; DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(100 * 1024 * 1024); PortletFileUpload upload = new PortletFileUpload(factory); FileItem fileUploaded = null; List<FileItem> items = upload.parseRequest(actionRequest); for (FileItem fi : items) { if (fi.isFormField()) { actionRequest.setAttribute(fi.getFieldName(), fi.getString()); if (fi.getFieldName().startsWith(portletId)) { actionRequest.setAttribute(fi.getFieldName().substring(portletId.length()), fi.getString()); } } else { fileUploaded = fi; } } String cmd = (String) actionRequest.getAttribute("cmd"); String language = (String) actionRequest.getAttribute("language"); String script = (String) actionRequest.getAttribute("script"); String editorheight = (String) actionRequest.getAttribute("editorheight"); String themesel = (String) actionRequest.getAttribute("themesel"); if (language == null) { language = getDefaultLanguage(); } if (script == null) { script = StringPool.BLANK; } actionResponse.setRenderParameter("language", language); actionResponse.setRenderParameter("script", script); actionResponse.setRenderParameter("editorheight", editorheight); actionResponse.setRenderParameter("themesel", themesel); if ("execute".equals(cmd)) { Map<String, Object> portletObjects = ScriptingHelperUtil.getPortletObjects(getPortletConfig(), getPortletContext(), actionRequest, actionResponse); UnsyncByteArrayOutputStream unsyncByteArrayOutputStream = new UnsyncByteArrayOutputStream(); UnsyncPrintWriter unsyncPrintWriter = UnsyncPrintWriterPool.borrow(unsyncByteArrayOutputStream); portletObjects.put("out", unsyncPrintWriter); _log.info("Executing script"); ScriptingUtil.exec(null, portletObjects, language, script, StringPool.EMPTY_ARRAY); unsyncPrintWriter.flush(); actionResponse.setRenderParameter("script_output", unsyncByteArrayOutputStream.toString()); } else if ("save".equals(cmd)) { String newscriptname = (String) actionRequest.getAttribute("newscriptname"); if (newscriptname == null || newscriptname.trim().length() == 0) { actionResponse.setRenderParameter("script_trace", "No script name specified to save into!"); SessionErrors.add(actionRequest, "error"); return; } _log.info("Saving new script: " + newscriptname.trim()); PortletPreferences prefs = actionRequest.getPreferences(); prefs.setValue("savedscript." + newscriptname.trim(), script); prefs.setValue("lang." + newscriptname.trim(), language); prefs.store(); } else if ("saveinto".equals(cmd)) { String scriptname = (String) actionRequest.getAttribute("savedscript"); if (scriptname == null) { actionResponse.setRenderParameter("script_trace", "No script specified to save into!"); SessionErrors.add(actionRequest, "error"); return; } _log.info("Saving saved script: " + scriptname); PortletPreferences prefs = actionRequest.getPreferences(); prefs.setValue("savedscript." + scriptname, script); prefs.setValue("lang." + scriptname, language); prefs.store(); } else if ("loadfrom".equals(cmd)) { String scriptname = (String) actionRequest.getAttribute("savedscript"); if (scriptname == null) { actionResponse.setRenderParameter("script_trace", "No script specified to load from!"); SessionErrors.add(actionRequest, "error"); return; } _log.info("Loading saved script: " + scriptname); PortletPreferences prefs = actionRequest.getPreferences(); language = prefs.getValue("lang." + scriptname, getDefaultLanguage()); script = prefs.getValue("savedscript." + scriptname, StringPool.BLANK); actionResponse.setRenderParameter("language", language); actionResponse.setRenderParameter("script", script); } else if ("delete".equals(cmd)) { String scriptname = (String) actionRequest.getAttribute("savedscript"); if (scriptname == null) { actionResponse.setRenderParameter("script_trace", "No script specified to delete!"); SessionErrors.add(actionRequest, "error"); return; } _log.info("Deleting saved script: " + scriptname); PortletPreferences prefs = actionRequest.getPreferences(); prefs.reset("savedscript." + scriptname); prefs.reset("lang." + scriptname); prefs.store(); } else if ("import".equals(cmd)) { if (fileUploaded == null) { actionResponse.setRenderParameter("script_trace", "No file was uploaded for import!"); SessionErrors.add(actionRequest, "error"); return; } StringBuilder output = new StringBuilder(); InputStream instream = fileUploaded.getInputStream(); ZipInputStream zipstream = null; try { zipstream = new ZipInputStream(instream); ZipEntry entry = zipstream.getNextEntry(); while (entry != null) { String filename = entry.getName(); if (filename.contains("/")) { int qs = filename.lastIndexOf("/"); if (qs != -1) { filename = filename.substring(qs + 1); } } if (filename.contains("\\")) { int qs = filename.lastIndexOf("\\"); if (qs != -1) { filename = filename.substring(qs + 1); } } String ext = StringPool.BLANK; if (filename.length() > 0) { int qs = filename.lastIndexOf("."); if (qs > 0) { ext = filename.substring(qs + 1); filename = filename.substring(0, qs); } } String lang = resolveLanguage(ext); String imscript = getStreamAsString(zipstream, "utf-8", false); if (imscript != null && imscript.length() > 0) { _log.info("Importing script \"" + filename + "\" of type " + lang); output.append("Importing script \"" + filename + "\" of type " + lang + "\n"); PortletPreferences prefs = actionRequest.getPreferences(); prefs.setValue("savedscript." + filename, imscript); prefs.setValue("lang." + filename, lang); prefs.store(); } entry = zipstream.getNextEntry(); } actionResponse.setRenderParameter("script_output", output.toString()); } finally { try { if (zipstream != null) { zipstream.close(); } } catch (Exception e) { } try { if (instream != null) { instream.close(); } } catch (Exception e) { } } _log.info(fileUploaded.getName()); } SessionMessages.add(actionRequest, "success"); } catch (Exception e) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); pw.close(); actionResponse.setRenderParameter("script_trace", sw.toString()); _log.error(e); SessionErrors.add(actionRequest, e.toString()); } }
From source file:it.infn.ct.chipster.Chipster.java
public String[] uploadChipsterSettings(ActionRequest actionRequest, ActionResponse actionResponse, String username) {/*from w ww . j a va2 s . c o m*/ String[] CHIPSTER_Parameters = new String[4]; boolean status; // Check that we have a file upload request boolean isMultipart = PortletFileUpload.isMultipartContent(actionRequest); if (isMultipart) { // Create a factory for disk-based file items. DiskFileItemFactory factory = new DiskFileItemFactory(); // Set factory constrains File CHIPSTER_Repository = new File("/tmp"); if (!CHIPSTER_Repository.exists()) status = CHIPSTER_Repository.mkdirs(); factory.setRepository(CHIPSTER_Repository); // Create a new file upload handler. PortletFileUpload upload = new PortletFileUpload(factory); try { // Parse the request List items = upload.parseRequest(actionRequest); // Processing items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); //String timeStamp = dateFormat.format(Calendar.getInstance().getTime()); // Processing a regular form field if (item.isFormField()) { //if (fieldName.equals("chipster_login")) // CHIPSTER_Parameters[0]=item.getString(); if (fieldName.equals("chipster_password1")) CHIPSTER_Parameters[1] = item.getString(); } if (fieldName.equals("EnableNotification")) CHIPSTER_Parameters[2] = item.getString(); if (fieldName.equals("chipster_alias")) CHIPSTER_Parameters[3] = item.getString(); } // end while } catch (FileUploadException ex) { Logger.getLogger(Chipster.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(Chipster.class.getName()).log(Level.SEVERE, null, ex); } } return CHIPSTER_Parameters; }
From source file:hu.sztaki.lpds.pgportal.portlets.workflow.WorkflowUploadPortlet.java
@Override protected void doUpload(ActionRequest request, ActionResponse response) { PortletContext context = getPortletContext(); context.log("[FileUploadPortlet] doUpload() called"); try {//from w w w .j a v a 2 s . 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("uploads", ps.APPLICATION_SCOPE) == null) ps.setAttribute("uploads", new Hashtable<String, ProgressListener>()); //get the FileItems String fieldName = null; List fileItems = pfu.parseRequest(request); Iterator iter = fileItems.iterator(); File serverSideFile = null; Hashtable h = new Hashtable(); //fileupload while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // retrieve hidden parameters if item is a form field if (item.isFormField()) { fieldName = item.getFieldName(); if ("newGrafName".equals(fieldName)) h.put("newGrafName", item.getString()); if ("newAbstName".equals(fieldName)) h.put("newAbstName", item.getString()); if ("newRealName".equals(fieldName)) h.put("newRealName", item.getString()); } else { // item is not a form field, do file upload Hashtable<String, ProgressListener> tmp = (Hashtable<String, ProgressListener>) ps .getAttribute("uploads");//,ps.APPLICATION_SCOPE pfu.setProgressListener((ProgressListener) new FileUploadProgressListener()); String s = item.getName(); s = FilenameUtils.getName(s); ProgressListener pl = pfu.getProgressListener(); tmp.put(s, pl); ps.setAttribute("uploads", tmp); 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 { ServiceType st = InformationBase.getI().getService("wfs", "portal", new Hashtable(), new Vector()); h.put("senderObj", "ZipFileSender"); h.put("portalURL", PropertyLoader.getInstance().getProperty("service.url")); h.put("wfsID", st.getServiceUrl()); h.put("userID", request.getRemoteUser()); Hashtable hsh = new Hashtable(); // st = InformationBase.getI().getService("storage", "portal", hsh, new Vector()); // hsh.put("url", "http://localhost:8080/storage"); st = InformationBase.getI().getService("storage", "portal", hsh, new Vector()); PortalStorageClient psc = (PortalStorageClient) Class.forName(st.getClientObject()).newInstance(); psc.setServiceURL(st.getServiceUrl()); psc.setServiceID("/receiver"); if (serverSideFile != null) psc.fileUpload(serverSideFile, "fileName", h); } catch (Exception ex) { response.setRenderParameter("full", "error.upload"); ex.printStackTrace(); return; } ps.removeAttribute("uploads", ps.APPLICATION_SCOPE); } 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:it.infn.ct.mpi_portlet.java
public void getInputForm(ActionRequest request) { if (PortletFileUpload.isMultipartContent(request)) try {/* w w w.j av a 2 s .c o m*/ FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); logstring += LS + "field name: '" + fieldName + "' - '" + item.getString() + "'"; switch (inputControlsIds.valueOf(fieldName)) { case file_inputFile: inputFileName = item.getString(); processInputFile(item); break; case inputFile: inputFileText = item.getString(); break; case JobIdentifier: jobIdentifier = item.getString(); break; case cpunumber: cpunumber = item.getString(); break; default: _log.info("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring); } catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values inputFileName = (String) request.getParameter("file_inputFile"); inputFileText = (String) request.getParameter("inputFile"); jobIdentifier = (String) request.getParameter("JobIdentifier"); cpunumber = (String) request.getParameter("cpunumber"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "inputFileName: '" + inputFileName + "'" + LS + "inputFileText: '" + inputFileText + "'" + LS + "jobIdentifier: '" + jobIdentifier + "'" + LS + "cpunumber: '" + cpunumber + "'"); }
From source file:hu.sztaki.lpds.pgportal.portlets.credential.AssertionPortlet.java
/** * Uploading SAML file(s)./*from w w w . j a v a 2 s . c o m*/ * The parameters are filled in by the user on the saml/UploadAssertion.jsp page. * @param request ActionRequest * @param response ActionResponse */ @Override public synchronized void doUpload(ActionRequest request, ActionResponse response) { logger.trace(""); // logger.info("Assertion-doUpload"); FileItem samlFile = null; String sresource = null; // selected resource String action = request.getParameter("guse"); logger.info("Action:" + action); try { DiskFileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload pfu = new PortletFileUpload(factory); pfu.setSizeMax(1048576); // Maximum upload size 1Mb Iterator iter = pfu.parseRequest(request).iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { // retrieve parameters if item is a form field if ("sresource".equals(item.getFieldName())) { sresource = item.getString(); } } else { if ("samlFile".equals(item.getFieldName())) { samlFile = item; } } } List<String> result = uploadSaml(request.getPortletSession(), samlFile, sresource, request.getRemoteUser()); StringBuilder sb = new StringBuilder(); boolean flag = false; for (String msg : result) { if (flag) { sb.append("<br />"); } else { flag = true; } sb.append(msg); } request.setAttribute("msg", sb.toString()); } catch (Exception e) { request.setAttribute("msg", "Upload failed. Reason: " + e.getMessage()); logger.info("Upload of asseriont failed. Reason: " + e.getMessage()); logger.debug("Exception:", e); } }