Package org.richfaces.demo.fileUpload

Source Code of org.richfaces.demo.fileUpload.FileUploadBean

/**
*
*/
package org.richfaces.demo.fileUpload;

import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.awt.*;
import java.awt.image.MemoryImageSource;
import java.awt.image.IndexColorModel;

import org.richfaces.event.UploadEvent;
import org.richfaces.model.UploadItem;
import org.jboss.portletbridge.BufferedRenderResponseWrapper;

import javax.portlet.RenderResponse;
import javax.faces.context.FacesContext;

/**
* @author Ilya Shaikovsky
*
*/
public class FileUploadBean{
 
  private ArrayList<File> files = new ArrayList<File>();
  private int uploadsAvailable = 5;
  private boolean autoUpload = false;
  public int getSize() {
    if (getFiles().size()>0){
      return getFiles().size();
    }else
    {
      return 0;
    }
  }

  public FileUploadBean() {
  }

   public Image getUImage(){
      if(getSize() > 0){
      byte[] bytes = files.get(0).getData();

      byte[] rgb = new byte[256];
      for(int i=0; i<rgb.length; i++)
        rgb[i] = (byte) i;

      IndexColorModel cm = new IndexColorModel(8,256,rgb,rgb,rgb);
      MemoryImageSource source = new MemoryImageSource(640,480,cm,bytes,0,480);
      Image newImage = Toolkit.getDefaultToolkit().createImage(source);

      //need workaround for different OS
//      apple.awt.OSXImage newImage = (apple.awt.OSXImage)Toolkit.getDefaultToolkit().createImage(source);
      return newImage;//.getBufferedImage();
      }else{
         return null;
      }

   }

  public void paint(OutputStream stream, Object object) throws IOException {
      Object responseObject = FacesContext.getCurrentInstance().getExternalContext().getResponse();
      if (responseObject instanceof RenderResponse) {
        BufferedRenderResponseWrapper brrw = (BufferedRenderResponseWrapper)responseObject;
         RenderResponse response = brrw.getResponse();
         response.getPortletOutputStream().write(getFiles().get((Integer)object).getData());

      }else{
         //servlet response
         stream.write(getFiles().get((Integer)object).getData());
      }

  }
  public void listener(UploadEvent event) throws IOException{
      UploadItem item = event.getUploadItem();
      File file = new File();
      file.setLength(item.getData().length);
      file.setName(item.getFileName());
      file.setData(item.getData());
      files.add(file);
      uploadsAvailable--;
  }
 
  public String clearUploadData() {
    files.clear();
    setUploadsAvailable(5);
    return null;
  }
 
  public ArrayList<File> getFiles() {
    return files;
  }

  public void setFiles(ArrayList<File> files) {
    this.files = files;
  }

  public int getUploadsAvailable() {
    return uploadsAvailable;
  }

  public void setUploadsAvailable(int uploadsAvailable) {
    this.uploadsAvailable = uploadsAvailable;
  }

  public boolean isAutoUpload() {
    return autoUpload;
  }

  public void setAutoUpload(boolean autoUpload) {
    this.autoUpload = autoUpload;
  }

}
TOP

Related Classes of org.richfaces.demo.fileUpload.FileUploadBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.