package pt.estgp.estgweb.web.controllers.questionarios;
import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Questionario;
import pt.estgp.estgweb.domain.QuestionarioHistoryDrive;
import pt.estgp.estgweb.domain.QuestionarioImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.QuestionarioView;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.questionarios.QuestionarioForm;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class QuestionarioController
extends ApplicationDispatchController
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(QuestionarioController.
class);
public ActionForward save
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
QuestionarioForm frm =
(QuestionarioForm
) form
;
AbstractDao.
getCurrentSession().
beginTransaction();
if(frm.
getQuestionario().
getQuestionarioHistoryDrive().
getId() > 0
)
{
QuestionarioHistoryDrive hist = DaoFactory.
getQuestionarioHistoryDriveDaoImpl().
load(frm.
getQuestionario().
getQuestionarioHistoryDrive().
getId());
frm.
getQuestionario().
setQuestionarioHistoryDrive(hist
);
}
else
{
frm.
getQuestionario().
setQuestionarioHistoryDrive(null);
}
if(frm.
getQuestionario().
getId() <= 0
)
{
DaoFactory.
getQuestionarioDaoImpl().
save(frm.
getQuestionario());
}
else
{
Questionario qPersistent = DaoFactory.
getQuestionarioDaoImpl().
load(frm.
getQuestionario().
getId());
QuestionarioView qv =
new QuestionarioView
(frm.
getQuestionario());
qv.
persistViewInObjectForm(qPersistent
);
qPersistent.
setQuestionarioHistoryDrive(frm.
getQuestionario().
getQuestionarioHistoryDrive());
}
AbstractDao.
getCurrentSession().
getTransaction().
commit();
return mapping.
findForward("list");
}
public ActionForward refresh
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
QuestionarioForm frm =
(QuestionarioForm
) form
;
frm.
setShowQuestionarioForm(true);
return mapping.
findForward("newEdit");
}
public ActionForward form
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
QuestionarioForm frm =
(QuestionarioForm
) form
;
AbstractDao.
getCurrentSession().
beginTransaction();
QuestionarioImpl q =
(QuestionarioImpl
) DaoFactory.
getQuestionarioDaoImpl().
get(frm.
getQuestionario().
getId());
frm.
setQuestionario(q
);
if(q.
getQuestionarioHistoryDrive() !=
null)
{
q.
getQuestionarioHistoryDrive().
getId(); //to load from Dao
}
AbstractDao.
getCurrentSession().
getTransaction().
commit();
if(q.
getQuestionarioHistoryDrive() ==
null)
{
q.
setQuestionarioHistoryDrive(DomainObjectFactory.
createQuestionarioHistoryDriveImpl());
}
frm.
setShowQuestionarioForm(true);
return mapping.
findForward("newEdit");
}
public ActionForward startAfetacoes
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
QuestionarioForm frm =
(QuestionarioForm
) form
;
frm.
setShowQuestionarioForm(true);
return mapping.
findForward("newEdit");
}
}