Struts + JasperReports

1 resposta
vinicius_roc

Pessoal preciso de uma ajuda de vcs, ja tentei de tudo e não sei oq mais pode ser.

Eu tenho o seguinte método:

public String relatorioPortabilidadeCedenteConcluida() throws Throwable {
		
		// verifica o tipo de relatório já foi selecionado.
		// caso contrário, retorna para a pagina de formulario.
		if (type == null) {
			return "ajaxbloco";
		}	

		// relatório a ser gerado
		location = Relatorio.getRelativePathByReportName("PortabilidadeCedenteConcluida");
		
		NomeEntidade = entidade.getNomeEntidade();
		
		// busca os totais por faixa etária.
		BasicPortabilidadeService portabilidadeService = BasicPortabilidadeService.getInstance();		
		LessSete = 0;
		Sete = 0;
		Oito = 0;
		Nove = 0;
		Dez = 0;
		MoreDez = 0;
		
		//tipo 1 definido para cedente e 2 para cessionaria
		ArrayList<Portabilidade> portabilidade = portabilidadeService.getTotalPortabilidadePagas(entidade, DataInicial, DataFinal, 1);
		
		for(Portabilidade p : portabilidade){
			int dias = p.getNumeroDias();
			if(dias  <  7){ LessSete++; }
			if(dias ==  7){   Sete++;   }
			if(dias ==  8){   Oito++;   }
			if(dias ==  9){   Nove++;   }
			if(dias == 10){   Dez++;    }
			if(dias  > 10){ MoreDez++;  }
		}

		// obtem a qtde total..
		TotalDias = (LessSete + Sete + Oito + Nove + Dez + MoreDez);

		// NESTE RELATORIO A VARIAVEL PERCENT É UTILIZADA COMO
		// VALOR NA TABELA. POR ISSO FOI ATRIBUIDO O VALOR A VARIAVEL.

		if(TotalDias != 0){
			NumberFormat nf = new DecimalFormat();		
			PercentLessSete    = nf.format((LessSete*100)/TotalDias);
			PercentSete = nf.format((Sete*100)/TotalDias);
			PercentOito = nf.format((Oito*100)/TotalDias);
			PercentNove = nf.format((Nove*100)/TotalDias);
			PercentDez = nf.format((Dez*100)/TotalDias);
			PercentMoreDez = nf.format((MoreDez*100)/TotalDias);
		} else {
			PercentLessSete = "0";
			PercentSete = "0";
			PercentOito = "0";
			PercentNove = "0";
			PercentDez = "0";
			PercentMoreDez = "0";
		}

		// seta os valores dos dias na lista para o gráfico
		RelatorioVO vLessSete = new RelatorioVO();
		vLessSete.setNomeCampo("< 7");
		vLessSete.setTotalCampo(LessSete);		

		RelatorioVO vSete = new RelatorioVO();
		vSete.setNomeCampo("7");
		vSete.setTotalCampo(Sete);		

		RelatorioVO vOito = new RelatorioVO();
		vOito.setNomeCampo("8");
		vOito.setTotalCampo(Oito);		

		RelatorioVO vNove = new RelatorioVO();
		vNove.setNomeCampo("9");
		vNove.setTotalCampo(Nove);		

		RelatorioVO vDez = new RelatorioVO();
		vDez.setNomeCampo("10");
		vDez.setTotalCampo(Dez);		

		RelatorioVO vMoreDez = new RelatorioVO();
		vMoreDez.setNomeCampo(">10");
		vMoreDez.setTotalCampo(MoreDez);		

		lista = new ArrayList<RelatorioVO>();
		lista.add(vLessSete);
		lista.add(vSete);
		lista.add(vOito);
		lista.add(vNove);
		lista.add(vDez);
		lista.add(vMoreDez);

		return SUCCESS;
	}

E ele esta mapeado da seguinte forma:

<action name="RelatorioPortCedenteConcluida"
			class="br.com.mcn.xport.controller.action.relatorios.RelatoriosEstatisticos"
			method="relatorioPortabilidadeCedenteConcluida">
			<param name="mcnWebAppSession.menu.itemAtivo">verticalmenu_relatorios_estatisticas</param>
			<result name="input" type="dispatcher">/content/relatorios/relatorio_msg.jsp
			</result>
			<result name="success" type="jasper">
				<param name="location">${location}</param>
				<param name="dataSource">lista</param>
				<param name="format">${type}</param>
				<param name="documentName">Gráfico de Portabilidades Pagas - Concluídas
					(Cedente)</param>
			</result>
			<result name="ajaxbloco" type="dispatcher">/content/relatorios/portabilidades_pagas.jsp
			</result>
		</action>

Eu debuguei e ele funciona normalmente, mas depois do success ele da NULLPOINTER.

Oque pode estar errado? Onde devo procurar?

Valew

1 Resposta

vinicius_roc

Esqueci de dizer que estou usando Struts 2.

Segue o erro:

java.lang.NullPointerException
	net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
	java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
	java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
	java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88)
	net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:64)
	org.apache.struts2.views.jasperreports.JasperReportsResult.doExecute(JasperReportsResult.java:300)
	org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
	com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
	br.com.mcn.hibernate.controller.interceptor.HibernateInterceptor.intercept(HibernateInterceptor.java:72)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	br.com.mcn.xport.controller.interceptor.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:40)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
	org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
	org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:76)
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:65)
	org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
Criado 14 de agosto de 2009
Ultima resposta 14 de ago. de 2009
Respostas 1
Participantes 1