Boa noite a todos.
Estou tendo o seguinte problema: tem um fileUpload do PrimeFaces que, ao dar o Upload, tem um listener que preenche uma lista de beans (Imagem) e dá um update em uma panel, que contém uma penalGrid que vai mostrar as fotos dessa lista de Imagem. Tudo está funcionando bem. Porém, fiz uma função para deletar tais imagens. A princípio, usei f:param, passando o nome da imagem, varrendo a lista e deletando. Porém, gostaria de usar f:setPropertyActionListener. O problema é que a primeira vez que eu clico em deletar (após dar upload de algumas fotos), a Imagem vai como null. A partir da segunda vez em diante, a Imagem sempre vai normalmente.
Segue o código:
<h:panelGrid columns="1" id="panelUpload">
<p:growl id="messages" sticky="true" autoUpdate="true" />
<p:fileUpload process="panelUpload" fileLimit="10" fileUploadListener="#{administracao.handleFileUpload}" mode="advanced" update="info" multiple="true" sizeLimit="5242880" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" fileLimitMessage="#{msg.fileUploadErroLimite}" cancelLabel="#{msg.fileUploadCancelarLabel}" invalidFileMessage="#{msg.fileUploadErroArquivoInvalido}" invalidSizeMessage="#{msg.fileUploadErroLimite}" label="#{msg.fileUploadChooseLabel}" />
<h:panelGroup id="info" layout="block">
<p:panel>
<f:facet name="header">
<h:outputText value="#{msg.albumFotos}" />
</f:facet>
<h:outputText value="#{msg.nenhumaFotoAlbum}"
rendered="#{administracao.quantidadeFotos == 0}" />
<p:dataGrid id="imagensAlbum" columns="2" value="#{administracao.noticia.imagens}" var="imagem">
<p:column>
<h:panelGrid columns="2">
<p:outputPanel layout="block">
<p:graphicImage id="imagemDraggable" value="#{administracao.thumbnail}">
<f:param name="nome_imagem" value="#{imagem.nome}" />
</p:graphicImage>
<p:draggable for="imagemDraggable" revert="true" scope="imagem" />
</p:outputPanel>
<h:panelGrid columns="2">
<h:outputText value="#{msg.nome}:" />
<h:outputText value="#{imagem.nome}" />
<h:outputText value="#{msg.tamanhoBytes}" />
<h:outputText value="#{imagem.length}" />
<p:commandButton process="info" update="formNoticia:info" image="delete" title="#{msg.deletar}" actionListener="#{administracao.deletarFoto}">
<!-- <f:param name="nome_imagem_delete" value="#{imagem.nome}" /> -->
<f:setPropertyActionListener value="#{imagem}" target="#{administracao.imagemDeletada}" />
</p:commandButton>
</h:panelGrid>
</h:panelGrid>
</p:column>
</p:dataGrid>
</p:panel>
</h:panelGroup>
</h:panelGrid>
Agradeço desde já. 