[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Erro com IoCFilter...!!! [RESOLVIDO]  XML
Forum Index -> Comentários Gerais
Author Message
zelopes


[Avatar]

Joined: 15/03/2006 20:06:30
Messages: 12
Offline

Olá pessoal...

Não to conseguindo usar inversão de controle no menta...não sei o que está acontecendo...provavalmente to fazendo algo errado porém não sei o que...eis os meus códigos...

minha interface UserDAO...

Code:
 public interface UserDAO {
 
 	public User getUser (Serializable code) throws Exception;
 
 	public void saveUser (User user) throws Exception;
 
 	public void updateUser (User user) throws Exception;
 
 	public void deleteUser (User user) throws Exception;
 
 	public List listUser () throws Exception;
 
 	public List listUser (int min , int max) throws Exception;
 
 }
 


meu appmanager

Code:
 public class Manager extends org.mentawai.core.ApplicationManager {
 
 	private Component userDAO;
 
 		public void init () {
 
 			this.userDAO = new DefaultComponent (HibernateUserDAO.class);
 
 		}
 
 		public void loadLocales () {
 
 //....
 
 		}
 
 		public void loadActions () {
 
 			action ("UserManagerAction" , UserManagerAction.class , "saveUser")
 
 				.on (SUCCESS , redir ("index.jsp"))
 
 				.on (ERROR , fwd ("mentawai/UserManager.saveForm.jsp"))
 
 				.filter (new UserManagerValidation ())
 
 				.filter (new VOFilter (User.class , "user"))
 
 				.filter (new IoCFilter (userDAO , "userDao" , REQUEST))
 
 				.filter (new InjectionFilter (true))
 
 				.filter (new hibernateFilter ());
 


minha action...

Code:
 public class UserManagerAction extends BaseAction implements ModelDriven {
 
 	private UserManager service = new UserManager ();
 
 		public Object getModel () {
 
 			return service;
 
 		}
 
 			public String saveUser () throws Exception {
 
 				service.saveUser ((User) input.getValue ("user"));
 
 				return SUCCESS;
 
 			}
 
 			public String execute () throws Exception {
 
 				throw new ActionException ();
 
 			}
 
 }
 


meu manager...

Code:
 
 public class UserManager {
 
 	private UserDAO userDAO = null;
 
 		public void setUserDAO (UserDAO userDAO) {
 
 			this.userDAO = userDAO;
 
 		}
 
 			public void saveUser (User user) throws Exception {
 
 				userDAO.saveUser (user);
 
 			}
 
 }
 
 


meu filtro do hibernate...

Code:
 public class hibernateFilter implements Filter {
 
 	public String filter (InvocationChain action) throws Exception {
 
 		HNUtil.beginTransaction ();
 
 		String result = action.invoke ();
         
         	try {
 
         		HNUtil.commitTransaction (); 
 
         	} 
 
         	catch (Exception exception) {
 
         		HNUtil.rollbackTransaction ();
 
         		throw new Exception (exception);
 
         	}
 
         	finally {
 
         		HNUtil.closeSession ();
 
         	}
         
         return result;
     }
 
     public void destroy () {
 
     }
 
 }
 


quando chamo o método service.saveUser () da action ele lança a seguinte exceção...

Code:
 type Exception report
 
 message 
 
 description The server encountered an internal error () that prevented it from fulfilling this request.
 
 exception 
 
 javax.servlet.ServletException: java.lang.reflect.InvocationTargetException
 	org.mentawai.core.Controller.service(Controller.java:313)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
 root cause 
 
 org.mentawai.core.ActionException: java.lang.reflect.InvocationTargetException
 	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:585)
 	org.mentawai.core.InvocationChain.invoke(InvocationChain.java:105)
 	br.com.eloops.mentawai.filter.HNFilter.filter(HNFilter.java:13)
 	org.mentawai.core.InvocationChain.invoke(InvocationChain.java:88)
 	org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:296)
 	org.mentawai.core.InvocationChain.invoke(InvocationChain.java:88)
 	org.mentawai.filter.IoCFilter.filter(IoCFilter.java:118)
 	org.mentawai.core.InvocationChain.invoke(InvocationChain.java:88)
 	org.mentawai.filter.VOFilter.filter(VOFilter.java:282)
 	org.mentawai.core.InvocationChain.invoke(InvocationChain.java:88)
 	org.mentawai.filter.ValidationFilter.filter(ValidationFilter.java:147)
 	org.mentawai.core.InvocationChain.invoke(InvocationChain.java:88)
 	org.mentawai.core.Controller.invokeAction(Controller.java:340)
 	org.mentawai.core.Controller.service(Controller.java:288)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
 


alguem tem alguma idéia...que cagada eu to fazendo???

ps. desculpem o tópico gigantesco cheio de código!!
zelopes


[Avatar]

Joined: 15/03/2006 20:06:30
Messages: 12
Offline

bah...desconsiderem...achei o maldito 5 minutos após postar...foi mal ae galera...

Code:
 .filter (new IoCFilter (userDAO , "userDao" , REQUEST))
 


Code:
 .filter (new IoCFilter (userDAO , "userDAO" , REQUEST))
 


agora ta ok...

pra aproveitar...desse jeito que estou fazendo é uma boa prática???

[]'s
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Code:
redir ("index.jsp")
 fwd ("mentawai/UserManager.saveForm.jsp")


Qual diferença de redir pra fwd?
zelopes


[Avatar]

Joined: 15/03/2006 20:06:30
Messages: 12
Offline

redirect simplesmente redireciona o navegador para a localização espeificada...ja o forward encaminha "manda" objetos de request e response digamos assim para a localização especifica...

ou seja...quando tu quer mandar dados da tua action pra jsp usa fwd...senao pode usar redir...
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

zelopes wrote:
redirect simplesmente redireciona o navegador para a localização espeificada...ja o forward encaminha "manda" objetos de request e response digamos assim para a localização especifica...

ou seja...quando tu quer mandar dados da tua action pra jsp usa fwd...senao pode usar redir...
 


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