/* * Copyright 2009 Prime Technology. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.primefaces.examples.view; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import javax.faces.context.FacesContext; import javax.imageio.stream.FileImageOutputStream; import javax.servlet.ServletContext; import org.primefaces.model.CroppedImage; public class ImageCropperBean { private CroppedImage croppedImage; private String newImageName; public CroppedImage getCroppedImage() { return croppedImage; } public void setCroppedImage(CroppedImage croppedImage) { this.croppedImage = croppedImage; } public String crop() { if(croppedImage == null) return null; setNewImageName(getRandomImageName()); ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext(); String newFileName = servletContext.getRealPath("") + File.separator + "images" + File.separator + "barca" + File.separator + getNewImageName() + ".jpg"; FileImageOutputStream imageOutput; try { imageOutput = new FileImageOutputStream(new File(newFileName)); imageOutput.write(croppedImage.getBytes(), 0, croppedImage.getBytes().length); imageOutput.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } private String getRandomImageName() { int i = (int) (Math.random() * 100000); return String.valueOf(i); } public String getNewImageName() { return newImageName; } public void setNewImageName(String newImageName) { this.newImageName = newImageName; } }