Subversion Repositories bacoAlunos

Rev

Rev 1315 | Rev 1326 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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");
    }



}