Boa tarde, estou adicionando o resteasy em um projeto ja existente que tem o jsf2 e o seam.
Ocorre que estou tendo um problema de null pointer no @In e não injeta o gateway que preciso. Estou desconfiado que o problema seja o FILTER, mas não sei como resolver. Segue o codigo.
Erro:
java.lang.NullPointerException
at br.com.bb.cbo.api.v1.AberturaContaCorrentePessoaFisicaResource.listarLocaisDeAtendimento(AberturaContaCorrentePessoaFisicaResource.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at br.com.bb.gcs.web.servlet.FilterHttpGCS.doFilter(FilterHttpGCS.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
web.xml
Maisbb
<filter>
<filter-name>FilterHttpGCS</filter-name>
<filter-class>br.com.bb.gcs.web.servlet.FilterHttpGCS</filter-class>
<init-param>
<param-name>appId</param-name>
<param-value>cbo</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FilterHttpGCS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>plain</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>disable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
<param-value>disable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.LoadStyleStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
<param-value>DEFAULT</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>facelets.SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.queue.global.enabled</param-name>
<param-value>true</param-value>
</context-param>
<!-- ====================== COMPONENTES ===================== -->
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/template01/layout.taglib.xml;
/template01/componentes.taglib.xml</param-value>
</context-param>
<filter>
<filter-name>Seam Filter</filter-name>
<filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
<!-- ====================== FileUpLoad ====================== -->
<init-param>
<param-name>createTempFiles</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>maxRequestSize</param-name>
<param-value>307200</param-value>
</init-param>
<!-- ====================== FileUpLoad ====================== -->
</filter>
<filter-mapping>
<filter-name>Seam Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Seam -->
<listener>
<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
</listener>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Seam Resource Servlet</servlet-name>
<servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.seam</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Seam Resource Servlet</servlet-name>
<url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>
<!-- *** Captcha *** -->
<servlet>
<servlet-name>imgVerificacao</servlet-name>
<servlet-class>br.com.bb.aapf.img.verif.ProcImagemAAPF</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>imgVerificacao</servlet-name>
<url-pattern>*.imgVerificacao</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ImageWriter</servlet-name>
<servlet-class>br.com.bb.template.data.util.ImageWriter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageWriter</servlet-name>
<url-pattern>/img.ImgWriter/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LogGed</servlet-name>
<servlet-class>br.com.bb.ged.componentes.log.WebLogServlet</servlet-class>
<load-on-startup></load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>LogGed</servlet-name>
<url-pattern>/logGed</url-pattern>
</servlet-mapping>
<!-- ************ -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<jsp-config>
<taglib>
<taglib-uri>http://componentes.bb.com.br/jsf</taglib-uri>
<taglib-location>/template01/componentes/componentes.tld</taglib-location>
</taglib>
</jsp-config>
<!-- filter> <filter-name>Filtro Login</filter-name> <filter-class>org.domain.cobanweb.session.FiltroLogin</filter-class>
</filter> <filter-mapping> <filter-name>Filtro Login</filter-name> <servlet-name>Faces
Servlet</servlet-name> </filter-mapping filter> <display-name>Ajax4jsf Filter</display-name>
<filter-name>ajax4jsf</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class>
</filter> <filter-mapping> <filter-name>ajax4jsf</filter-name> <servlet-name>Faces
Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher> </filter-mapping -->
<security-constraint>
<display-name>Restrict raw XHTML Documents</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint />
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<!-- REST -->
<!-- <servlet>
<servlet-name>maisbb</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>br.com.bb.cbo.api.v1</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>maisbb</servlet-name>
<url-pattern>/servico/*</url-pattern>
</servlet-mapping>
–>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>sample.HelloWorldApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/servico/*</url-pattern>
</servlet-mapping>
<!-- Compilação de arquivos -->
<mime-mapping>
<extension>css</extension>
<mime-type>text/css;encoding=UTF-8;charset=UTF-8</mime-type>
</mime-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>text/javascript;encoding=UTF-8;charset=UTF-8</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;encoding=UTF-8;charset=UTF-8</mime-type>
</mime-mapping>
resource:
package br.com.bb.cbo.api.v1;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import br.com.bb.coban.exception.infra.ex.NegocioException;
import br.com.bb.coban.gateway.produtos.aberturaconta.GatewayAberturaContaCorrentePessoaFisica;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.CapacidadeCivil;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.Escolaridade;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.EstadoCivil;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.Formacao;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.LocalDeAtendimento;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.ModalidadeDeConta;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.NivelFormacao;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.Pais;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.SituacaoFormacao;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.SituacaoNoBrasil;
import br.com.bb.coban.gateway.produtos.aberturaconta.to.TipoDeDocumento;
import br.com.bb.sos.infra.api.exception.ServiceResponse;
@Name(“aberturaContaCorrentePessoaFisicaResource”)
<a class="mention" href="/u/path">@Path</a>("/v1/aberturaContaCorrentePessoaFisicaResource")
public class AberturaContaCorrentePessoaFisicaResource {
@In(create = true,required = false, value = "gatewayAberturaContaCorrentePessoaFisica")
private GatewayAberturaContaCorrentePessoaFisica gatewayAberturaContaCorrentePessoaFisica;
@GET
@Path("/listarLocaisDeAtendimento")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<LocalDeAtendimento>> listarLocaisDeAtendimento() throws NegocioException {
List<LocalDeAtendimento> retorno = null;
ServiceResponse<List<LocalDeAtendimento>> resposta = null;
try {
retorno = gatewayAberturaContaCorrentePessoaFisica.listarLocaisDeAtendimento();
} catch (NegocioException e) {
throw new NegocioException(e.getMensagensNegocio());
} finally {
resposta = new ServiceResponse<List<LocalDeAtendimento>>(retorno);
}// try-catch-finally
resposta = new ServiceResponse<List<LocalDeAtendimento>>(retorno);
return resposta;
}// listarLocaisDeAtendimento()
@GET
@Path("/listarModalidadesDeConta")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<ModalidadeDeConta>> listarModalidadesDeConta() throws NegocioException {
List<ModalidadeDeConta> retorno = null;
ServiceResponse<List<ModalidadeDeConta>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarModalidadesDeConta();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
ModalidadeDeConta item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new ModalidadeDeConta();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarModalidadesDeConta()
@GET
@Path("/listarTiposDeDocumento")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<TipoDeDocumento>> listarTiposDeDocumento() throws NegocioException {
List<TipoDeDocumento> retorno = null;
ServiceResponse<List<TipoDeDocumento>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarTiposDeDocumento();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
TipoDeDocumento item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new TipoDeDocumento();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarTiposDeDocumento()
@GET
@Path("/listarPaises")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<Pais>> listarPaises() throws NegocioException {
List<Pais> retorno = null;
ServiceResponse<List<Pais>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarPaises();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
Pais item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new Pais();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarPaises()
@GET
@Path("/listarSituacoesNoBrasil")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<SituacaoNoBrasil>> listarSituacoesNoBrasil() throws NegocioException {
List<SituacaoNoBrasil> retorno = null;
ServiceResponse<List<SituacaoNoBrasil>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarSituacoes();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
SituacaoNoBrasil item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new SituacaoNoBrasil();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarSituacoesNoBrasil()
@GET
@Path("/listarCapacidadesCivil")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<CapacidadeCivil>> listarCapacidadesCivil() throws NegocioException {
List<CapacidadeCivil> retorno = null;
ServiceResponse<List<CapacidadeCivil>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarCapacidadesCivil();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
CapacidadeCivil item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new CapacidadeCivil();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarCapacidadesCivil()
@GET
@Path("/listarEstadosCivis")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<EstadoCivil>> listarEstadosCivis() throws NegocioException {
List<EstadoCivil> retorno = null;
ServiceResponse<List<EstadoCivil>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarEstadosCivis();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
EstadoCivil item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new EstadoCivil();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarEstadosCivis()
@GET
@Path("/listarEscolaridades")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<Escolaridade>> listarEscolaridades() throws NegocioException {
List<Escolaridade> retorno = null;
ServiceResponse<List<Escolaridade>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarEscolaridades();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
Escolaridade item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new Escolaridade();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarEscolaridades()
@GET
@Path("/listarFormacoes")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<Formacao>> listarFormacoes() throws NegocioException {
List<Formacao> retorno = null;
ServiceResponse<List<Formacao>> resposta = null;
// try {
// retorno = gatewayAberturaContaCorrentePessoaFisica.listarFormacoes();
// } catch (NegocioException e) {
// throw new NegocioException(e.getMensagensNegocio());
// } finally {
// resposta = new ServiceResponse<List>(retorno);
// }// try-catch-finally
Formacao item = null;
retorno = new ArrayList();
for (int i = 0; i< 5; i++) {
item = new Formacao();
item.setCodigo(i + 1);
item.setDescricao(“Descrição 0” + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List>(retorno);
return resposta;
}// listarFormacoes()
@GET
@Path("/listarSituacoesFormacao")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<SituacaoFormacao>> listarSituacoesFormacao() throws NegocioException {
List<SituacaoFormacao> retorno = null;
ServiceResponse<List<SituacaoFormacao>> resposta = null;
try {
retorno = gatewayAberturaContaCorrentePessoaFisica.listarSituacoesFormacao();
} catch (NegocioException e) {
throw new NegocioException(e.getMensagensNegocio());
} finally {
resposta = new ServiceResponse<List<SituacaoFormacao>>(retorno);
}try-catch-finally
SituacaoFormacao item = null;
retorno = new ArrayList<SituacaoFormacao>();
for (int i = 0; i< 5; i++) {
item = new SituacaoFormacao();
item.setCodigo(i + 1);
item.setDescricao("Descrição 0" + (i + 1));
retorno.add(item);
}// for
resposta = new ServiceResponse<List<SituacaoFormacao>>(retorno);
return resposta;
}
@GET
@Path("/listarNiveisFormacao")
@Produces(MediaType.APPLICATION_JSON)
public ServiceResponse<List<NivelFormacao>> listarNiveisFormacao() throws NegocioException {
List<NivelFormacao> retorno = null;
ServiceResponse<List<NivelFormacao>> resposta = null;
try {
retorno = gatewayAberturaContaCorrentePessoaFisica.listarNiveisFormacao();
} catch (NegocioException e) {
throw new NegocioException(e.getMensagensNegocio());
} finally {
resposta = new ServiceResponse<List<NivelFormacao>>(retorno);
}
resposta = new ServiceResponse<List<NivelFormacao>>(retorno);
return resposta;
}
}