[RESOLVIDO] PDF em branco

Estou gerando um relatório utilizando jasperReports e iReport.
Os dados são carregados a partir de um JRDataSource e aparentemente está tudo ok.
Quando clico no ícone para gerar meu PDF ele é criado perfeitamente, porém se tento fazer isso uma segunda fez é gerado um PDF em branco.
Alguém tem ideia do que pode ser?

.xhtml

<h:commandLink style="margin-left:47%"> <p:fileDownload value="#{contratoEmpenhoBean.arquivoRetorno}"></p:fileDownload> <p:graphicImage library="img" name="PDF.png" title="Gerar PDF"/> </h:commandLink>
bean

public StreamedContent getArquivoRetorno() { String nomeRelatorioSaida = contratoEmpenho.getContrato(); InputStream caminhoArquivoJasper = getClass().getResourceAsStream( "/contratoEmpenho.jasper" ); Map parametros = new HashMap(); ReportUtils reportUtils = new ReportUtils(); try { this.arquivoRetorno = reportUtils.geraRelatorio(nomeRelatorioSaida, caminhoArquivoJasper, parametros, ContratoEmpenhoJRDataSourceFactory.createDataSource(this.contratoEmpenho)); } catch (Exception e) { e.printStackTrace(); return null; } return arquivoRetorno; }
ReportUtil

[code]public StreamedContent geraRelatorio(String nomeRelatorioSaida, InputStream caminhoArquivoJasper, Map parametros, JRDataSource dataSource ){
StreamedContent arquivoRetorno = null;
try {
JasperPrint impressoraJasper = JasperFillManager.fillReport(caminhoArquivoJasper, parametros, dataSource );

    String caminhoArquivoRelatorio = String.valueOf(getClass().getResourceAsStream("/"+nomeRelatorioSaida+".pdf"));
    File arquivoGerado = new File(caminhoArquivoRelatorio);
    JRExporter tipoArquivoExportado = new JRPdfExporter();
    
    tipoArquivoExportado.setParameter(JRExporterParameter.JASPER_PRINT, impressoraJasper);
    tipoArquivoExportado.setParameter(JRExporterParameter.OUTPUT_FILE, arquivoGerado);
    tipoArquivoExportado.exportReport();
    
    arquivoGerado.deleteOnExit();
    
    InputStream conteudoRelatorio = new FileInputStream(arquivoGerado);
    arquivoRetorno = new DefaultStreamedContent(conteudoRelatorio, "application/"+".pdf", nomeRelatorioSaida+".pdf");
} catch (JRException e) {
    e.printStackTrace();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
return arquivoRetorno;
}[/code]

Fiz uma alteração na classe que gerava meu JRDataSource e o problema foi resolvido.

Antes:

[code]package reports;

import java.util.Vector;

import br.gov.sp.model.ContratoEmpenho;
import net.sf.jasperreports.engine.JRDataSource;

public class ContratoEmpenhoJRDataSourceFactory {
private static JRDataSource data;

public static JRDataSource createDataSource(ContratoEmpenho contratoEmpenho ) {
if (data == null) {
    Vector<ContratoEmpenho> obj = new Vector<ContratoEmpenho>();
    obj.add(contratoEmpenho);
    data = new ContratoEmpenhoJRDataSource(obj);
}
return data;
}

}[/code]

Agora:

[code]
package reports;

import java.util.Vector;

import br.gov.sp.model.ContratoEmpenho;
import net.sf.jasperreports.engine.JRDataSource;

public class ContratoEmpenhoJRDataSourceFactory {
private static JRDataSource data;

public static JRDataSource createDataSource(ContratoEmpenho contratoEmpenho) {
Vector<ContratoEmpenho> obj = new Vector<ContratoEmpenho>();
obj.add(contratoEmpenho);
data = new ContratoEmpenhoJRDataSource(obj);
return data;
}

}[/code]