[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Apanhando da Injeção de dependencia - [RESOLVIDO]  XML
Forum Index -> Comentários Gerais
Author Message
solracnet



Joined: 27/12/2006 11:09:22
Messages: 4
Offline

Pessoal, boa tarde, já li o faq, já busquei no forúm e nada.
Mudei todo o meu código para utilizar DI porém agora que finalizei e fui testar, está dando StackOverFlow. Claro que estou fazendo alguma coisa errada, mas o que?

Tenho os seguintes pacotes:
model
dao
interface
action

Não tenho as classes services, porque neste momento estou fazendo na Action mesmo. ( Seria o próximo passo caso a mudança acima tivesse dado certo. )

Meu ApplicationManager
Code:
 public void loadActions() {
 	filter(new AuthenticationFilter());
 	on(LOGIN, redir("/index.jsp"));
 		
 	filter( new ConnectionFilter("conn", connHandler) );
 	filter( new IoCFilter() );
 		
 	ioc("usuarioDao", UsuarioDao.class );
 	ioc("agenteCreditoDao", AgenteCreditoDao.class );
 	
 	filter( new DIFilter() );
 	
 	di("conn", Connection.class );
 		
 	di("agenteCreditoDao", IAgenteCreditoDao.class );
 	di("usuarioDao", IUsuarioDao.class );
 
 	filter( new InjectionFilter() );
 		
 ... 
 ...
 }
 

No momento do login, ele da o erro acima.
Meu LoginAction
Code:
 public class LoginUser extends BaseLoginAction {
     
     // instanciado via injecao de dependencia
     private IUsuarioDao usuarioDao = null;
     private IConfiguracaoDao configuracaoDao = null;
 
     @SuppressWarnings("unchecked")
 	public String login() throws Exception {
         Usuario usuario = usuarioDao.isValid( 
                 input.getValue("usuario").toString().toUpperCase(), 
                 input.getValue("senha").toString().toUpperCase(), true );
         
         if ( usuario != null ){
             setUserSession( usuario );
             session.setAttribute("usuario", usuario );
             HashMap configuracoes = configuracaoDao.getAll();
             session.setAttribute( "configuracoes", configuracoes );
             if ( usuario.getEagente().equals("S") )
                 return AGENTE;
             else
                 return "success";
         }else{
             output.setValue("error", "Usuário ou senha inválidos!" );
             return INICIO;
         }
     }
     
 }
 

Meu UsuarioDao
Code:
 public class UsuarioDao implements IUsuarioDao {
     
     private Connection conn;
     public void setConnection( Connection conn ){
     	this.conn = conn;
     }
 
     private IAgenteCreditoDao agenteCreditoDao = null;
     
     public UsuarioDao() {
     }
     
     public UsuarioDao( Connection conn ){
         this.conn = conn;
     }
 ...
 }
 

Esta classe recebe um IAgenteCreditoDao para validacoes. E tem um metodo para testar o login do usuario.

Meu AgenteCreditoDao
Code:
 public class AgenteCreditoDao implements IAgenteCreditoDao {
 
     private Connection conn;
     public void setConnection( Connection conn ){
     	this.conn = conn;
     }
 
     private IUsuarioDao usuarioDao = null;
 
     public AgenteCreditoDao() {}
 
     public AgenteCreditoDao(Connection conn) {
         this.conn = conn;
     }
 ...
 }
 

Esta classe tem um IUsuarioDao para rotinas durante o uso do sistema.

A aplicação sobe normalmente, porém quando envio o form de login ( que é a primeira acao ), acontece o erro.

como resolver?
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team