Como pegar caminho do relatório e do arquivo selecionado no lado do cliente?

12 respostas Resolvido
programaçãodesenvolvimentoprimefacesjavafront-end
B

Como pegar caminho do relatório e do arquivo selecionado no lado do cliente na AWS Amazon?
Quando trabalhava com a aplicação localmente estava funcionando perfeitamente,agora estou adicionando ela na nuvem e simplesmente não gera o relatório.

1° -  String caminho = Faces.getRealPath("//report//relatorioFornecedorPorCodigo.jasper");

O mesmo problema mas em situação diferente é que tenho um menu que abre a opção para o cliente selecionar um NFe, porem não sei como pegar o caminho do arquivo que foi selecionado.

2° enderecoArquivo = “C://CriadoAutomaticamenteAPP/” + file.getFileName();

12 Respostas

C

Bom dia,

De uma olhada nesse topico

B

@campelo.m.
Fiz os testes de acordo com o tópico e não deu certo, depois descobri que; como fiz o deploy com a ferramenta elasticBeanStalk da amazon a aplicação é armazenada num diretório Linux,porem não possui uma opção para instala-la no windows,caso alguém saiba ficaria grato pela ajuda, assim como o linux não possui varias fontes nativa é gerado uma exception;

Font “Arial” is not available to the JVM. See the Javadoc for more details.

e ainda não encontrei uma maneira de adiciona-la usando a opção Elastic Beanstalk como devo proceder?
(Estarei criando novo tópico com esta questão para não confundir).

B

A algum tempo eu fiz usei este código, não sei se resolve

package br.edu.grupointegrado.controle;
import java.sql.ResultSet;
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
/**
 *
 * @author BSP
 */
public class ClassExtrato {
    String curDir = System.getProperty("user.dir");
    
    
    public ClassExtrato(ResultSet resultset){
        try{
            System.out.println(curDir+"//Relatorio//Extrato.jasper");
            JRResultSetDataSource jrRs = new JRResultSetDataSource(resultset);
            JasperPrint jasperPrint =
            JasperFillManager.fillReport(
                    //ALTERAR PARA FUNCIONAR EM OUTROS PCs
                   curDir+"//Relatorio//Extrato.jasper",
                    new HashMap(), jrRs);
            JasperViewer viewer = new JasperViewer(jasperPrint,false);
            viewer.setVisible(true);
        } catch (Exception erro){
            JOptionPane.showMessageDialog(null,"erro de relatório" + erro);
            
        }
    }
}
B

@bruno_souza_picinini, vc chegou a fazer o deploy em algum lugar sem ser local?o meu não adiantou na usando o código acima

B

@bruno_souza_picinini pelo que entendi pelo log da amazon e algumas postagem é que a JVM não tem as fontes do JasperSoft(relatorios),
por isso não abre, agora o outro problema e como resolver isso.
Imagino que seja isso, caso não for, aceito sugestões ai pessoal.

B

não, somente em outros pcs

C

@BlackkamemRaider que tal você exportar as fonts, creio que assim resolva o seu problema.

B

@campelo.m, fazendo pelo eclipse, mas não estou encontrando uma maneira por ele.

C
Solucao aceita

Uma parte é feito no jasper e outra é feita no eclipse. veja essa resposta

B
<a class="mention" href="/u/campelo.m">@campelo.m</a>, provavelmente resolvi usando o post indicado acima, agora esta aparecendo outro erro;

vou verificar aqui qualquer coisa crio outro post.

01-Dec-2016 07:28:47.085 SEVERE [http-nio-8080-exec-2] com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError java.awt.HeadlessException

at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)

at java.awt.Window.(Window.java:536)

at java.awt.Frame.(Frame.java:420)

at java.awt.Frame.(Frame.java:385)

at javax.swing.JFrame.(JFrame.java:189)

at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:267)

at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:655)

at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:587)

at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:500)

at br.com.tecnologia.bean.ProdutoBean.imprimirProdutoPorCodigo(ProdutoBean.java:164)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.el.parser.AstValue.invoke(AstValue.java:247)

at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)

at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIData.broadcast(UIData.java:1108)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)
C

Esse é o stack completo?

B

@campelo.m agora esta completo.

Criado 27 de novembro de 2016
Ultima resposta 1 de dez. de 2016
Respostas 12
Participantes 3