List of usage examples for org.apache.commons.fileupload FileItem getOutputStream
OutputStream getOutputStream() throws IOException;
From source file:fr.paris.lutece.portal.web.stylesheet.StyleSheetJspBeanTest.java
public void testDoModifyStyleSheetNoToken() throws AccessDeniedException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); Map<String, String[]> parameters = new HashMap<>(); parameters.put(Parameters.STYLESHEET_ID, new String[] { Integer.toString(stylesheet.getId()) }); parameters.put(Parameters.STYLESHEET_NAME, new String[] { stylesheet.getDescription() + "_mod" }); parameters.put(Parameters.STYLES, new String[] { Integer.toString(stylesheet.getStyleId()) }); parameters.put(Parameters.MODE_STYLESHEET, new String[] { Integer.toString(stylesheet.getModeId()) }); Map<String, List<FileItem>> multipartFiles = new HashMap<>(); List<FileItem> items = new ArrayList<>(); FileItem source = new DiskFileItemFactory().createItem(Parameters.STYLESHEET_SOURCE, "application/xml", true, stylesheet.getDescription()); source.getOutputStream().write("<a/>".getBytes()); items.add(source);/*from ww w. j a v a 2s . co m*/ multipartFiles.put(Parameters.STYLESHEET_SOURCE, items); MultipartHttpServletRequest multipart = new MultipartHttpServletRequest(request, multipartFiles, parameters); try { instance.doModifyStyleSheet(multipart); fail("Should have thrown"); } catch (AccessDeniedException e) { StyleSheet stored = StyleSheetHome.findByPrimaryKey(stylesheet.getId()); assertNotNull(stored); assertEquals(stylesheet.getDescription(), stored.getDescription()); } }
From source file:fr.paris.lutece.portal.web.stylesheet.StyleSheetJspBeanTest.java
/** * Test of doModifyStyleSheet method, of class * fr.paris.lutece.portal.web.stylesheet.StyleSheetJspBean. * /*from w w w .j a v a 2 s .c o m*/ * @throws AccessDeniedException * @throws IOException */ public void testDoModifyStyleSheet() throws AccessDeniedException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); Map<String, String[]> parameters = new HashMap<>(); parameters.put(Parameters.STYLESHEET_ID, new String[] { Integer.toString(stylesheet.getId()) }); parameters.put(Parameters.STYLESHEET_NAME, new String[] { stylesheet.getDescription() + "_mod" }); parameters.put(Parameters.STYLES, new String[] { Integer.toString(stylesheet.getStyleId()) }); parameters.put(Parameters.MODE_STYLESHEET, new String[] { Integer.toString(stylesheet.getModeId()) }); parameters.put(SecurityTokenService.PARAMETER_TOKEN, new String[] { SecurityTokenService.getInstance().getToken(request, "admin/stylesheet/modify_stylesheet.html") }); Map<String, List<FileItem>> multipartFiles = new HashMap<>(); List<FileItem> items = new ArrayList<>(); FileItem source = new DiskFileItemFactory().createItem(Parameters.STYLESHEET_SOURCE, "application/xml", true, stylesheet.getDescription()); source.getOutputStream().write("<a/>".getBytes()); items.add(source); multipartFiles.put(Parameters.STYLESHEET_SOURCE, items); MultipartHttpServletRequest multipart = new MultipartHttpServletRequest(request, multipartFiles, parameters); instance.doModifyStyleSheet(multipart); AdminMessage message = AdminMessageService.getMessage(request); assertNull(message); StyleSheet stored = StyleSheetHome.findByPrimaryKey(stylesheet.getId()); assertNotNull(stored); assertEquals(stylesheet.getDescription() + "_mod", stored.getDescription()); }
From source file:fr.paris.lutece.portal.web.stylesheet.StyleSheetJspBeanTest.java
public void testDoModifyStyleSheetInvalidToken() throws AccessDeniedException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); Map<String, String[]> parameters = new HashMap<>(); parameters.put(Parameters.STYLESHEET_ID, new String[] { Integer.toString(stylesheet.getId()) }); parameters.put(Parameters.STYLESHEET_NAME, new String[] { stylesheet.getDescription() + "_mod" }); parameters.put(Parameters.STYLES, new String[] { Integer.toString(stylesheet.getStyleId()) }); parameters.put(Parameters.MODE_STYLESHEET, new String[] { Integer.toString(stylesheet.getModeId()) }); parameters.put(SecurityTokenService.PARAMETER_TOKEN, new String[] { SecurityTokenService.getInstance().getToken(request, "admin/stylesheet/modify_stylesheet.html") + "b" }); Map<String, List<FileItem>> multipartFiles = new HashMap<>(); List<FileItem> items = new ArrayList<>(); FileItem source = new DiskFileItemFactory().createItem(Parameters.STYLESHEET_SOURCE, "application/xml", true, stylesheet.getDescription()); source.getOutputStream().write("<a/>".getBytes()); items.add(source);/*from w ww .j a v a2 s. c o m*/ multipartFiles.put(Parameters.STYLESHEET_SOURCE, items); MultipartHttpServletRequest multipart = new MultipartHttpServletRequest(request, multipartFiles, parameters); try { instance.doModifyStyleSheet(multipart); fail("Should have thrown"); } catch (AccessDeniedException e) { StyleSheet stored = StyleSheetHome.findByPrimaryKey(stylesheet.getId()); assertNotNull(stored); assertEquals(stylesheet.getDescription(), stored.getDescription()); } }
From source file:it.geosolutions.opensdi.operations.OperationEngineController.java
/** * Obtain a temporal file item with chunked bytes * //from ww w. j a v a 2 s . co m * @param file * @param chunkedBytes * @param name * @return */ private FileItem getFileItem(MultipartFile file, List<byte[]> chunkedBytes, String name) { // Temporal file to write chunked bytes File outFile = FileUtils.getFile(FileUtils.getTempDirectory(), name); // total file size int sizeThreshold = 0; for (byte[] bytes : chunkedBytes) { sizeThreshold += bytes.length; } // Get file item FileItem fileItem = new DiskFileItem("tmpFile", file.getContentType(), false, name, sizeThreshold, outFile); try { OutputStream outputStream; outputStream = fileItem.getOutputStream(); // write bytes for (byte[] readedBytes : chunkedBytes) { outputStream.write(readedBytes, 0, readedBytes.length); } // close the file outputStream.flush(); outputStream.close(); } catch (IOException e) { LOGGER.error("Error writing final file", e); } finally { // Remove bytes from memory uploadedChunks.remove(file.getName()); } return fileItem; }
From source file:fr.paris.lutece.portal.web.admin.AdminPageJspBeanTest.java
public void testDoCreateChildPageNoToken() throws AccessDeniedException, SizeLimitExceededException, FileUploadException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); Map<String, String[]> parameters = new HashMap<>(); parameters.put(Parameters.PAGE_ID, new String[] { Integer.toString(_page.getId()) }); parameters.put(Parameters.PAGE_DESCRIPTION, new String[] { _page.getDescription() }); parameters.put(Parameters.PAGE_TEMPLATE_ID, new String[] { Integer.toString(_page.getPageTemplateId()) }); parameters.put(Parameters.META_KEYWORDS, new String[] { _page.getMetaKeywords() }); parameters.put(Parameters.META_DESCRIPTION, new String[] { _page.getMetaDescription() }); parameters.put("node_status", new String[] { Integer.toString(_page.getNodeStatus()) }); parameters.put(Parameters.PAGE_NAME, new String[] { _page.getName() + "_child" }); parameters.put(Parameters.PARENT_ID, new String[] { Integer.toString(_page.getParentPageId()) }); Collection<Page> children = PageHome.getChildPages(_page.getId()); assertNotNull(children);/*from w w w. j a v a2 s .c om*/ assertTrue(children.isEmpty()); Map<String, List<FileItem>> fileItems = new HashMap<>(); List<FileItem> listItems = new ArrayList<>(); FileItem pageImageFile = new DiskFileItemFactory().createItem("image_content", "", false, ""); pageImageFile.getOutputStream().write(new byte[1]); listItems.add(pageImageFile); fileItems.put("image_content", listItems); try { _bean.doCreateChildPage(new MultipartHttpServletRequest(request, fileItems, parameters)); fail("Should have thrown"); } catch (AccessDeniedException e) { children = PageHome.getChildPages(_page.getId()); assertNotNull(children); assertTrue(children.isEmpty()); } }
From source file:fr.paris.lutece.portal.web.admin.AdminPageJspBeanTest.java
public void testDoCreateChildPageInvalidToken() throws AccessDeniedException, SizeLimitExceededException, FileUploadException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); Map<String, String[]> parameters = new HashMap<>(); parameters.put(Parameters.PAGE_ID, new String[] { Integer.toString(_page.getId()) }); parameters.put(Parameters.PAGE_DESCRIPTION, new String[] { _page.getDescription() }); parameters.put(Parameters.PAGE_TEMPLATE_ID, new String[] { Integer.toString(_page.getPageTemplateId()) }); parameters.put(Parameters.META_KEYWORDS, new String[] { _page.getMetaKeywords() }); parameters.put(Parameters.META_DESCRIPTION, new String[] { _page.getMetaDescription() }); parameters.put("node_status", new String[] { Integer.toString(_page.getNodeStatus()) }); parameters.put(Parameters.PAGE_NAME, new String[] { _page.getName() + "_child" }); parameters.put(Parameters.PARENT_ID, new String[] { Integer.toString(_page.getParentPageId()) }); parameters.put(SecurityTokenService.PARAMETER_TOKEN, new String[] { SecurityTokenService.getInstance().getToken(request, "admin/site/admin_page_block_childpage.html") + "b" }); Collection<Page> children = PageHome.getChildPages(_page.getId()); assertNotNull(children);/* w w w . j a v a 2 s. c o m*/ assertTrue(children.isEmpty()); Map<String, List<FileItem>> fileItems = new HashMap<>(); List<FileItem> listItems = new ArrayList<>(); FileItem pageImageFile = new DiskFileItemFactory().createItem("image_content", "", false, ""); pageImageFile.getOutputStream().write(new byte[1]); listItems.add(pageImageFile); fileItems.put("image_content", listItems); try { _bean.doCreateChildPage(new MultipartHttpServletRequest(request, fileItems, parameters)); fail("Should have thrown"); } catch (AccessDeniedException e) { children = PageHome.getChildPages(_page.getId()); assertNotNull(children); assertTrue(children.isEmpty()); } }
From source file:fr.paris.lutece.portal.web.admin.AdminPageJspBeanTest.java
public void testDoCreateChildPage() throws AccessDeniedException, SizeLimitExceededException, FileUploadException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); Map<String, String[]> parameters = new HashMap<>(); parameters.put(Parameters.PAGE_ID, new String[] { Integer.toString(_page.getId()) }); parameters.put(Parameters.PAGE_DESCRIPTION, new String[] { _page.getDescription() }); parameters.put(Parameters.PAGE_TEMPLATE_ID, new String[] { Integer.toString(_page.getPageTemplateId()) }); parameters.put(Parameters.META_KEYWORDS, new String[] { _page.getMetaKeywords() }); parameters.put(Parameters.META_DESCRIPTION, new String[] { _page.getMetaDescription() }); parameters.put("node_status", new String[] { Integer.toString(_page.getNodeStatus()) }); parameters.put(Parameters.PAGE_NAME, new String[] { _page.getName() + "_child" }); parameters.put(Parameters.PARENT_ID, new String[] { Integer.toString(_page.getParentPageId()) }); parameters.put(Parameters.PARAMETER_DISPLAY_UPDATE_DATE, new String[] { Boolean.toString(_page.getDisplayDateUpdate()) }); parameters.put(Parameters.PARAMETER_ENABLE_MANUAL_UPDATE_DATE, new String[] { Boolean.toString(_page.getIsManualDateUpdate()) }); parameters.put(Parameters.PARAMETER_MANUAL_UPDATE_DATE, new String[] { "01/01/2017" }); parameters.put(SecurityTokenService.PARAMETER_TOKEN, new String[] { SecurityTokenService.getInstance() .getToken(request, "admin/site/admin_page_block_childpage.html") }); Collection<Page> children = PageHome.getChildPages(_page.getId()); assertNotNull(children);//from ww w . ja v a2 s . com assertTrue(children.isEmpty()); Map<String, List<FileItem>> fileItems = new HashMap<>(); List<FileItem> listItems = new ArrayList<>(); FileItem pageImageFile = new DiskFileItemFactory().createItem("image_content", "", false, ""); pageImageFile.getOutputStream().write(new byte[1]); listItems.add(pageImageFile); fileItems.put("image_content", listItems); _bean.doCreateChildPage(new MultipartHttpServletRequest(request, fileItems, parameters)); AdminMessage message = AdminMessageService.getMessage(request); assertNull(message); children = PageHome.getChildPages(_page.getId()); assertNotNull(children); assertFalse(children.isEmpty()); assertTrue(children.stream().allMatch(page -> page.getParentPageId() == _page.getId() && page.getName().equals(_page.getName() + "_child"))); }
From source file:com.example.app.ui.vtcrop.VTCropPictureEditor.java
@Nullable private FileItem _getUIValue(@Nullable FileItem uiValue) { if (uiValue == null) { return null; }//w ww .j a v a 2s . co m Dimension origDim, newDim; try { origDim = ImageFileUtil.getDimension(uiValue); } catch (IOException e) { _logger.error("Skipping scaling because an error occurred.", e); return uiValue; } if (origDim == null) { _logger.warn("Skipping scaling because retrieved dimension for ui value was null."); return uiValue; } VTCropPictureEditorConfig.ImageScaleOption option = _config.getImageScaleOptionForName(_uiValue.getName()); int newDimWidth = option != null && option.scale != null ? Double.valueOf(_config.getCropWidth() * option.scale).intValue() : _config.getCropWidth(); int newDimHeight = option != null && option.scale != null ? Double.valueOf(_config.getCropHeight() * option.scale).intValue() : _config.getCropHeight(); newDim = ImageFileUtil.getScaledDimension(origDim, newDimWidth, newDimHeight); if (!newDim.equals(origDim)) { _logger.debug("Scale to " + newDim.getWidthMetric() + " x " + newDim.getHeightMetric()); FileItem scaledFileItem = _fileItemFactory.createItem(uiValue.getFieldName(), uiValue.getContentType(), uiValue.isFormField(), uiValue.getName()); try (InputStream is = uiValue.getInputStream(); OutputStream os = scaledFileItem.getOutputStream()) { Thumbnailer tn = Thumbnailer.getInstance(is); BufferedImage scaledImg = tn.getQualityThumbnail(newDim.getWidthMetric().intValue(), newDim.getHeightMetric().intValue()); String extension = StringFactory.getExtension(uiValue.getName()); ImageIO.write(scaledImg, extension, os); uiValue.delete(); uiValue = scaledFileItem; } catch (Throwable e) { _logger.warn("Skipping scaling due to:", e); } } return uiValue; }
From source file:com.example.app.support.ui.vtcrop.VTCropPictureEditor.java
@Nullable private FileItem _getUIValue(@Nullable FileItem uiValue) { if (uiValue == null) { return null; }/* ww w. ja v a 2 s .c o m*/ Dimension origDim, newDim; try { origDim = ImageFileUtil.getDimension(uiValue); } catch (IOException e) { _logger.error("Skipping scaling because an error occurred.", e); return uiValue; } if (origDim == null) { _logger.warn("Skipping scaling because retrieved dimension for ui value was null."); return uiValue; } VTCropPictureEditorConfig.ImageScaleOption option = _config.getImageScaleOptionForName(_uiValue.getName()); int newDimWidth = option != null && option.scale != null ? Double.valueOf(_config.getCropWidth() * option.scale).intValue() : _config.getCropWidth(); int newDimHeight = option != null && option.scale != null ? Double.valueOf(_config.getCropHeight() * option.scale).intValue() : _config.getCropHeight(); newDim = ImageFileUtil.getScaledDimension(origDim, newDimWidth, newDimHeight); if (!Objects.equals(newDim, origDim)) { _logger.debug("Scale to " + newDim.getWidthMetric() + " x " + newDim.getHeightMetric()); FileItem scaledFileItem = _fileItemFactory.createItem(uiValue.getFieldName(), uiValue.getContentType(), uiValue.isFormField(), uiValue.getName()); try (InputStream is = uiValue.getInputStream(); OutputStream os = scaledFileItem.getOutputStream()) { Thumbnailer tn = Thumbnailer.getInstance(is); BufferedImage scaledImg = tn.getQualityThumbnail(newDim.getWidthMetric().intValue(), newDim.getHeightMetric().intValue()); String extension = StringFactory.getExtension(uiValue.getName()); ImageIO.write(scaledImg, extension, os); uiValue.delete(); uiValue = scaledFileItem; } catch (Throwable e) { _logger.warn("Skipping scaling due to:", e); } } return uiValue; }
From source file:com.hp.application.automation.tools.octane.CIJenkinsServicesImpl.java
private List<ParameterValue> createParameters(AbstractProject project, JSONArray paramsJSON) { List<ParameterValue> result = new ArrayList<>(); boolean parameterHandled; ParameterValue tmpValue;/* ww w. j a va 2 s. c om*/ ParametersDefinitionProperty paramsDefProperty = (ParametersDefinitionProperty) project .getProperty(ParametersDefinitionProperty.class); if (paramsDefProperty != null) { for (ParameterDefinition paramDef : paramsDefProperty.getParameterDefinitions()) { parameterHandled = false; for (int i = 0; i < paramsJSON.size(); i++) { JSONObject paramJSON = paramsJSON.getJSONObject(i); if (paramJSON.has("name") && paramJSON.get("name") != null && paramJSON.get("name").equals(paramDef.getName())) { tmpValue = null; switch (CIParameterType.fromValue(paramJSON.getString("type"))) { case FILE: try { FileItemFactory fif = new DiskFileItemFactory(); FileItem fi = fif.createItem(paramJSON.getString("name"), "text/plain", false, paramJSON.getString("file")); fi.getOutputStream() .write(DatatypeConverter.parseBase64Binary(paramJSON.getString("value"))); tmpValue = new FileParameterValue(paramJSON.getString("name"), fi); } catch (IOException ioe) { logger.warn("failed to process file parameter", ioe); } break; case NUMBER: tmpValue = new StringParameterValue(paramJSON.getString("name"), paramJSON.get("value").toString()); break; case STRING: tmpValue = new StringParameterValue(paramJSON.getString("name"), paramJSON.getString("value")); break; case BOOLEAN: tmpValue = new BooleanParameterValue(paramJSON.getString("name"), paramJSON.getBoolean("value")); break; case PASSWORD: tmpValue = new PasswordParameterValue(paramJSON.getString("name"), paramJSON.getString("value")); break; default: break; } if (tmpValue != null) { result.add(tmpValue); parameterHandled = true; } break; } } if (!parameterHandled) { if (paramDef instanceof FileParameterDefinition) { FileItemFactory fif = new DiskFileItemFactory(); FileItem fi = fif.createItem(paramDef.getName(), "text/plain", false, ""); try { fi.getOutputStream().write(new byte[0]); } catch (IOException ioe) { logger.error("failed to create default value for file parameter '" + paramDef.getName() + "'", ioe); } tmpValue = new FileParameterValue(paramDef.getName(), fi); result.add(tmpValue); } else { result.add(paramDef.getDefaultParameterValue()); } } } } return result; }