Bom dia a todos,
Pessoal, estou desenvolvendo uma aplicação que faz upload de arquivos (JSF 2.0 + Primefaces 3.5) e distribui os mesmos em determinados diretórios da minha rede interna, até aí tudo ok, porém só quero habilitar o botão que faz a distribuição destes arquivos se houver arquivos no diretório onde foi feito o upload dos arquivos para distribuição. Fiz o método abaixo no meu MB:
public void habilitarBotaoCopia() {
File f = new File(manipulaArquivos.getRealPath());
if (f.list().length > 0) {
setHabilitarBotao(false);
} else {
setHabilitarBotao(true);
}
RequestContext.getCurrentInstance().update("botaoCopia");
}
Este método coloquei no construtor de meu MB, desabilitou o botão ao iniciar ao abrir a página se não houver arquivo no diretóreio que especifiquei “manipulaArquivos.getRealPath()”, até aí funciona como desejado, porém ao fazer o upload dos arquivos coloquei este método " habilitarBotaoCopia()" ao finalizar o upload dos arquivos, o meu botão deveria habilitar, porém isso não acontece, segue abaixo o método que faz o Upload juntamente com o meu botão (primefaces 3.5).
Upload
public void carregarArquivo(FileUploadEvent event)
throws FileNotFoundException, IOException {
FacesMessage msg = new FacesMessage("Sucesso", event.getFile()
.getFileName() + " foi carregado.");
FacesContext.getCurrentInstance().addMessage("teste", msg);
String caminho = FacesContext.getCurrentInstance().getExternalContext()
.getRealPath("" + "\\arquivos\\" + event.getFile().getFileName());
byte[] conteudo = event.getFile().getContents();
FileOutputStream fos = new FileOutputStream(caminho);
fos.write(conteudo);
fos.close();
setArquivo(manipulaArquivos.listarArquivos(manipulaArquivos.getRealPath()));
setHabilitarBarraRolagem(habilitarBarraRolagem(getArquivo().size()));
habilitarBotaoCopia();
}
Botão
<p:commandButton ajax="true" update="status" process="status"
action="#{fileUploadManagedBean.copiarArquivos()}" style="text-align:left"
value="Iniciar Distribuição" icon="ui-icon-check" id="botaoCopia"
disabled="#{fileUploadManagedBean.habilitarBotao}"/>
Alguma idéia para fazer isso funcionar ?
Grato