JSF PrimeFaces: Como usar FileUpload com AjaxStatus

0 respostas
donny

Fiz uma página para importação de arquivos CSV para a base dados. Estou usando o componente FileUpload do PrimeFaces. Por padrão ele vem com uma animação com o contador do status do processo de apenas o upload do arquivo para o servidor. Mas nesse caso, depois de fazer upload do arquivo, tbm tenho processos de validações dos dados do arquivo, conversões e por ultimo inserções no banco de dados. Preciso travar a página com um AjaxStatus ou adicionar uma animações com AjaxEngine até todos esses processos concluirem. Atualmente estou usando no xhtml:

<p:fileUpload fileUploadListener="#{importarControle.handleFileUpload}" update="messages" sizeLimit="0" multiple="false" label="Abrir" allowTypes="*.csv;" description="CSV" auto="true" > </p:fileUpload>

No meu managerBean tenho o método:

public void handleFileUpload(FileUploadEvent event) {
        try {
            stream = new DefaultStreamedContent(event.getFile().getInputstream());
            byte[] vet = event.getFile().getContents();
            String file = event.getFile().getFileName();
            file = file.substring(0, file.length() - 4);
            endereco = System.getProperty(ControleMB.AMBIENTE + ".temp") + file + System.currentTimeMillis() + ".csv";
            FileOutputStream out = new FileOutputStream(endereco);
            out.write(vet);
            out.close();
            if (validar()) {
                importar();
            }
        } catch (IOException ex) {
            ex.getMessage();
            Util.addMessageError("Erro ao importar arquivo: " + ex.getMessage());
        }
    }

Alguém tem alguma idéia de como posso implementar essa solução?

Att,
Donizete Waterkemper

Criado 15 de março de 2011
Respostas 0
Participantes 1