Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.web.controllers.questionarios.reports;

import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.domain.QuestionarioReportFileGroup;
import pt.estgp.estgweb.domain.QuestionarioReportFileGroupImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.web.controllers.utils.AbstractWidgetAjaxController;
import pt.estgp.estgweb.web.form.questionarios.QuestionarioReportGroupForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;

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 QuestionarioReportsController extends AbstractWidgetAjaxController
{

    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(QuestionarioReportsController.class);


    public ActionForward updateReportGroup(ActionMapping mapping,
                                         ActionForm form,
                                         HttpServletRequest request,
                                         HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
    {
        updateReportGroup(form,request,response);
        return mapping.findForward("reportAdmin");
    }

    /**Accao para widget**/
    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean updateReportGroup(ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
    {

        QuestionarioReportGroupForm frm = (QuestionarioReportGroupForm) form;
        IServiceManager sm = ServiceManager.getInstance();
        1.5.0/docs/api/java/lang/String.html">String[] names = {};
        5+0%2Fdocs%2Fapi+Object">Object[] args = {frm.getQuestionarioReportFileGroup().getId(),frm.getQuestionarioReportFileGroup().getTitle(),frm.getQuestionarioReportFileGroup().isActive()};

        sm.execute(RequestUtils.getRequester(request, response),"UpdateReportGroup",args,names);
        addMessage(request,"questionarios.report.parameters.saved");
        return true;
    }


    /**Accao para widget**/
    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean updateReport(ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
    {

        QuestionarioReportGroupForm frm = (QuestionarioReportGroupForm) form;
        IServiceManager sm = ServiceManager.getInstance();
        1.5.0/docs/api/java/lang/String.html">String[] names = {};
        5+0%2Fdocs%2Fapi+Object">Object[] args = {frm.getQuestionarioReportFile().getId(),frm.getQuestionarioReportFile().isActive()};

        sm.execute(RequestUtils.getRequester(request, response),"UpdateReportFile",args,names);
        addMessage(request,"questionarios.report.parameters.saved");
        return true;
    }

    public ActionForward saveReportGroup(ActionMapping mapping,
                              ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
    {

        QuestionarioReportGroupForm frm = (QuestionarioReportGroupForm) form;
        IServiceManager sm = ServiceManager.getInstance();
        1.5.0/docs/api/java/lang/String.html">String[] names = {"title","classType"};
        5+0%2Fdocs%2Fapi+Object">Object[] args = {frm.getTitle(),frm.getReportFileGroupClass()};

        sm.execute(RequestUtils.getRequester(request, response),"SaveReportGroup",args,names);

        return mapping.findForward("list");
    }

    public JSONObject reloadInputs(ActionForm form, HttpServletRequest request,HttpServletResponse response) throws JSONException
    {
        QuestionarioReportGroupForm frm = (QuestionarioReportGroupForm) form;
        AbstractDao.getCurrentSession().beginTransaction();
        QuestionarioReportFileGroupImpl q = (QuestionarioReportFileGroupImpl) DaoFactory.getQuestionarioReportFileGroupDaoImpl().load(frm.getQuestionarioReportFileGroup().getId());
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("jsonInputs", q.getInputsJsonArray());
        AbstractDao.getCurrentSession().getTransaction().commit();
        return jsonObject;
    }

    public ActionForward runJobGenerate(ActionMapping mapping,
                                  ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
    {
        QuestionarioReportGroupForm frm = (QuestionarioReportGroupForm) form;

        ActionErrors errors = frm.validateForGenerate(mapping,request);
        if(!errors.isEmpty())
        {
            saveErrors(request,errors);
            return mapping.findForward("reportAdmin");
        }

        IServiceManager sm = ServiceManager.getInstance();
        1.5.0/docs/api/java/lang/String.html">String[] names = {};
        5+0%2Fdocs%2Fapi+Object">Object[] args = {frm.getQuestionarioReportFileGroup().getId(),frm.getQuestionarioReportFileGroup().getTitle(),frm.getQuestionarioReportFileGroup().isActive()};

        QuestionarioReportFileGroup group = (QuestionarioReportFileGroup) sm.execute(RequestUtils.getRequester(request, response), "GenerateReportGroup", args, names);
        ((QuestionarioReportGroupForm) form).setQuestionarioReportFileGroup(group);

        return mapping.findForward("reportAdmin");
    }

}