E ai pessoal tudo bem ? olha to trabalhando bastante com webwork e me deparei esses dias com um erro muito estranho, o erro e esse aqui:
ERROR com.opensymphony.xwork.config.providers.XmlConfigurationProvider - Action class [com.bna.salus.actions.laboratorio.crud.ClasseDeAnaliseAction] not found, skipping action [delete]
java.lang.NullPointerException
Olhem meu arquivo .xml que eu faço include dentro do XWork:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<package name="classedeanalise" namespace="/laboratorio/classedeanalise" extends="laboratorio">
<!-- Acoes de CRUD -->
<action name="list" class="com.bna.salus.actions.laboratorio.crud.ClasseDeAnaliseAction" method="list">
<result name="success" type="dispatcher">/WEB-INF/view/list/laboratorio/classesDeAnalise.jsp</result>
</action>
<action name="save" class="com.bna.salus.actions.laboratorio.crud.ClasseDeAnaliseAction" method="save">
<result name="success" type="redirect">list.action</result>
<result name="input" type="dispatcher">/WEB-INF/view/form/laboratorio/classeDeAnalise.jsp</result>
</action>
<action name="load" class="com.bna.salus.actions.laboratorio.crud.ClasseDeAnaliseAction" method="load">
<result name="success" type="dispatcher">/WEB-INF/view/form/laboratorio/classeDeAnalise.jsp</result>
</action>
<action name="delete" class="com.bna.salus.actions.laboratorio.crud.ClasseDeAnaliseAction" method="delete">
<result name="success" type="redirect">list.action</result>
</action>
</package>
</xwork>
Essa e minha classe:
/**
*
*/
package com.bna.salus.actions.laboratorio.crud;
import java.util.Collection;
import com.bna.salus.actions.laboratorio.LaboratorioAction;
import com.bna.salus.dao.DAO;
import com.bna.salus.dao.DAOException;
import com.bna.salus.dao.DAOFactory;
import com.bna.salus.dao.laboratorio.HibernateClasseDeAnaliseDAO;
import com.bna.salus.model.laboratorio.ClasseDeAnalise;
import com.bna.salus.util.security.SegurancaDeAcesso;
import com.opensymphony.xwork.Action;
public class ClasseDeAnaliseAction extends LaboratorioAction {
private static final long serialVersionUID = 1L;
private DAO dAO = DAOFactory.getHibernateDAOFactory().getClasseDeAnaliseDAO();
private DAO classeDeAnaliseDAO = new HibernateClasseDeAnaliseDAO();
private ClasseDeAnalise classeDeAnalise;
private Collection analises = null;
public ClasseDeAnaliseAction(){
getPerfil().addPerfil(SegurancaDeAcesso.LABORATORIO);
}
/**
* @return Returns the classeDeAnalise.
*/
public ClasseDeAnalise getClasseDeAnalise() {
return classeDeAnalise;
}
/**
* @param classeDeAnalise The classeDeAnalise to set.
*/
public void setClasseDeAnalise(ClasseDeAnalise classeDeAnalise) {
this.classeDeAnalise = classeDeAnalise;
}
/**
* @see com.opensymphony.xwork.Action#execute()
*/
public String execute() throws Exception {
return Action.SUCCESS;
}
public String list() throws Exception {
analises = dAO.list();
return Action.SUCCESS;
}
public String load() throws Exception {
if (classeDeAnalise!= null && (classeDeAnalise).getId() != null) {
classeDeAnalise = (ClasseDeAnalise) dAO.load(classeDeAnalise.getId());
}
return Action.SUCCESS;
}
public String save() throws Exception {
ClasseDeAnalise classeDeAnalise = this.classeDeAnalise;
dAO.saveOrUpdate(classeDeAnalise, classeDeAnalise.getId());
return Action.SUCCESS;
}
public String delete() throws Exception {
this.load();
dAO.delete(this.getClasseDeAnalise());
return Action.SUCCESS;
}
/**
* @return Returns the analises.
* @throws DAOException
*/
public Collection getAnalises() throws DAOException {
if (analises == null) {
// com.bna.salus.model.laboratorio
this.analises = dAO.list();
}
return analises;
}
/**
* @param analises The analises to set.
*/
public void setAnalises(Collection analises) {
this.analises = analises;
}
}
Ja olhei e reolhei e não vi nada de especial dessa classe e desse arquivo .xml do xwork para os outros que estão funcionando. Alguem tem uma ideia ?