Subversion Repositories bacoAlunos

Rev

Rev 345 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.controllers.courseunits;

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.Globals;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.services.common.ISearchResults;
import pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author Jorge Machado
 * @author Fabio Velez
 * @date 26/Fev/2008
 * @time 18:01:54
 * @see pt.estgp.estgweb.web
 */

public class CourseUnitsAdminController extends CourseUnitsController
{
    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(CourseUnitsAdminController.class);


    public ActionForward createIntranetFolders(ActionMapping mapping,
                                               ActionForm form,
                                               HttpServletRequest request,
                                               HttpServletResponse response)
            throws ServletException
    {
        try
        {
            1.5.0/docs/api/java/lang/String.html">String importYear = request.getParameter("importYear");
            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{importYear};
            1.5.0/docs/api/java/lang/String.html">String tmpFile = (1.5.0/docs/api/java/lang/String.html">String) sm.execute(RequestUtils.getRequester(request, response), "CreateCourseUnitDirPackage", args, names);
            request.getRequestDispatcher("/tmpStream/" + tmpFile).forward(request,response);
            return null;
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward createAllCourseUnitWorksBackup(ActionMapping mapping,
                                                        ActionForm form,
                                                        HttpServletRequest request,
                                                        HttpServletResponse response)
            throws ServletException
    {
        try
        {
            1.5.0/docs/api/java/lang/String.html">String importYear = request.getParameter("importYear");
            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{importYear};
            1.5.0/docs/api/java/lang/String.html">String tmpFile = (1.5.0/docs/api/java/lang/String.html">String) sm.execute(RequestUtils.getRequester(request, response), "CreateCourseUnitWorksBackup", args, names);
            request.getRequestDispatcher("/tmpStream/" + tmpFile).forward(request,response);
            return null;
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward createImportYearCourseUnitWorksBackup(ActionMapping mapping,
                                                               ActionForm form,
                                                               HttpServletRequest request,
                                                               HttpServletResponse response)
            throws ServletException
    {
        try
        {
            1.5.0/docs/api/java/lang/String.html">String importYear = request.getParameter("importYear");
            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{importYear};
            1.5.0/docs/api/java/lang/String.html">String tmpFile = (1.5.0/docs/api/java/lang/String.html">String) sm.execute(RequestUtils.getRequester(request, response), "CreateImportYearCourseUnitWorksBackup", args, names);
            request.getRequestDispatcher("/tmpStream/" + tmpFile).forward(request,response);
            return null;
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }



    public ActionForward createOrUpdateAdmin(ActionMapping mapping,
                                             ActionForm form,
                                             HttpServletRequest request,
                                             HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{"object"};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.getCourseUnitView()};
            long id = cUF.getCourseUnitView().getId();
            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "CreateCourseUnitAdmin", args, names);
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            if(id > 0)
                addMessage(request,"courseunit.updated.success","" + cV.getCode());
            else
                addMessage(request,"courseunit.created.success","" + cV.getCode());
            return mapping.getInputForward();
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward edit(ActionMapping mapping,
                              ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{"serializable"};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.getId(),true,true,false};

            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnit", args, names);
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            cUF.initTeachers(request,response);
            return mapping.findForward("edit");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward addTeacher(ActionMapping mapping,
                                    ActionForm form,
                                    HttpServletRequest request,
                                    HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            long teacherId = cUF.getTeacherId();
            long courseUnitId = cUF.getCourseUnitView().getId();

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

            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "AddTeacherCourseUnit", args, names);
            if(cV.isNotFound())
                addError(request,"error.courseunit.teacher.not.found");
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            cUF.initTeachers(request,response);
            return mapping.findForward("edit");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward addStudent(ActionMapping mapping,
                                    ActionForm form,
                                    HttpServletRequest request,
                                    HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            int studentCode = cUF.getStudentCode();
            long courseUnitId = cUF.getCourseUnitView().getId();

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

            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "AddStudentCourseUnit", args, names);
            if(cV.isNotFound())
                addError(request,"error.courseunit.student.not.found");
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            cUF.initTeachers(request,response);
            return mapping.findForward("edit");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward removeTeacher(ActionMapping mapping,
                                       ActionForm form,
                                       HttpServletRequest request,
                                       HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            long teacherId = cUF.getId(); //can't come in SELECT BOX because is for choose
            long courseUnitId = cUF.getCourseUnitView().getId();

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

            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "RemoveTeacherCourseUnit", args, names);
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            cUF.initTeachers(request,response);
            return mapping.findForward("edit");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward removeStudent(ActionMapping mapping,
                                       ActionForm form,
                                       HttpServletRequest request,
                                       HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            int studentCode = (int) cUF.getId(); //can't come in SELECT BOX because is for choose
            long courseUnitId = cUF.getCourseUnitView().getId();

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

            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "RemoveStudentCourseUnit", args, names);
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            cUF.initTeachers(request,response);
            return mapping.findForward("edit");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }

    public ActionForward newAdmin(ActionMapping mapping,
                                  ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response)
            throws ServletException
    {
        CourseUnitsForm cUF = (CourseUnitsForm) form;
        CourseUnitView cV = new CourseUnitView();
        request.setAttribute("CourseUnitView",cV);
        cUF.setCourseUnitView(cV);
        cUF.initTeachers(request,response);
        return mapping.findForward("load");
    }

    public ActionForward delete(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
            throws ServletException
    {

        try {
//            long id = Long.parseLong(request.getParameter("id"));
//            IServiceManager sm = null;
//            sm = ServiceManager.getInstance();
//            String[] names = new String[]{};
//            Object[] args = new Object[]{id};

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

//            addMessage(request,"courseunit.removed");
            logger.info("Não implementado por razoes de segurança");
            addMessage(request,"courseunit.security.not.implemented");
        } catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e) {
            addMessage(request,"error.500");
            logger.error(e,e);
        }

        return mapping.getInputForward();
    }

    public ActionForward search(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{"ServiceZone",cUF.getTextToSearch(),cUF.getSearchTypeEnum(),cUF.getPage(), Globals.SEARCH_MAX_RESULTS};
            ISearchResults results = (ISearchResults) sm.execute(RequestUtils.getRequester(request, response), "SearchCourseUnit", args, names);
            request.setAttribute("ISearchResults",results);
            return mapping.findForward("search");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (NotFoundException e)
        {
            return mapping.findForward("error404");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            return mapping.findForward("error500");
        }
    }






}