/*
*
* Copyright (c) 2013 - 2014 INT - National Institute of Technology & COPPE - Alberto Luiz Coimbra Institute
- Graduate School and Research in Engineering.
* See the file license.txt for copyright permission.
*
*/
package actions;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.StringTokenizer;
import org.richfaces.event.UploadEvent;
import org.richfaces.model.UploadItem;
import modelo.File;
/**
* ATENCAO: Esta entidade nao tem tela propria.
* Os outros Actions � que utilizariam o service dessa entidade.
* Possivelmente este action nao sera utilizado.
* */
public class TesteFileActions extends BaseActions {
// Services
// Paginas
public final String PAGINA_MARGEM_SEG = "editMargemSeg";
public final String PAGINA_PERCENT_PERDA = "editPercentPerda";
public final String PAGINA_INT_FIXO = "editIntFixo";
public final String PAGINA_INIC_PLAN = "editInicPlan";
//vars de arquivos
private ArrayList<File> files = new ArrayList<File>();
private int uploadsAvailable = 5;
private boolean autoUpload = false;
private boolean useFlash = false;
public TesteFileActions() throws Exception {
}
public void paint(OutputStream stream, Object object) throws IOException {
stream.write(getFiles().get((Integer)object).getData());
}
/**
* Este m�todo � respons�vel pelo upload de arquivos, perceba que este
* metodo esta ligado a um fileUploadListener, ou seja, a um listener de aplica�ao,
* por isso nao foi necessario passar um atributo do tipo File, pois o proprio
* atributo fileUploadListener encarrega-se de receber um objeto do tipo File.
*
* @author marques.araujo
* @param evento
*
*/
public void enviandoArquivo(UploadEvent evento)throws FileNotFoundException{
UploadItem item = evento.getUploadItem();
File file = new File();
file.setLength(item.getData().length);
file.setName(item.getFileName());
file.setData(item.getData());
files.add(file);
uploadsAvailable--;
String destinoDoArquivo = "C:\\FileUpLoad\\testeUpload\\";
System.out.println("Destino do arquivo="+destinoDoArquivo);
System.out.println("original="+item.getFile());
String filePathName = item.getFileName();
String fileName = "";
StringTokenizer st = new StringTokenizer(filePathName,"\\");
while(st.hasMoreElements()){
fileName = st.nextToken();
}
destinoDoArquivo = destinoDoArquivo + fileName;
OutputStream out = new FileOutputStream(destinoDoArquivo);
try{
out.write(item.getData());
out.close();
}catch(IOException error){
System.out.println("Ocorreu um erro ao enviar o arquivo");
}
}
public String clearUploadData() {
files.clear();
setUploadsAvailable(5);
return null;
}
// ================================== M�todos get() e set() ================================== //
public int getSize() {
if (getFiles().size()>0){
return getFiles().size();
}else
{
return 0;
}
}
public long getTimeStamp(){
return System.currentTimeMillis();
}
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;
}
public boolean isUseFlash() {
return useFlash;
}
public void setUseFlash(boolean useFlash) {
this.useFlash = useFlash;
}
}