Erro estranho com WebWork

2 respostas
anjomal

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 ?

2 Respostas

_fs

o.o

Chamando pelas ações mapeadas para os outros métodos funciona?

anjomal

Se for para as classes que estão dando esse erro em questão não. Porque ele ignora todos metodos mapeados dentro do meu XWork, porem para as outras ações que não ocorre esse erro funciona blza, o engraçado é que essa ação e um CRUD basico e ja havia funcionado, mas começou a dar esse erro cabuloso do nada, ela e mais outras actions. :shock:

Criado 17 de maio de 2006
Ultima resposta 17 de mai. de 2006
Respostas 2
Participantes 2