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.log4j.RollingFileAppender;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.upload.FormFile;
import org.hibernate.ObjectNotFoundException;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.domain.views.CourseUnitAssignementView;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.domain.views.UserView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.controllers.profile.ProfileController;
import pt.estgp.estgweb.web.controllers.blogs.BlogsController;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm;
import pt.estgp.estgweb.web.form.blogs.BlogForm;
import pt.estgp.estgweb.web.form.profile.ProfileForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.services.profile.CurriculumService;
import pt.estgp.estgweb.Globals;
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ExecutedFilterException;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;

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

    private ActionForward createBackup(1.5.0/docs/api/java/lang/String.html">String service,
                                       5+0%2Fdocs%2Fapi+Object">Object[] args,
                                       ActionMapping mapping,
                                       ActionForm form,
                                       HttpServletRequest request,
                                       HttpServletResponse response)
            throws ServletException
    {
        try
        {
            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[]{};
            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), service, 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 createUserAllCourseUnitWorksBackup(ActionMapping mapping,
                                                     ActionForm form,
                                                     HttpServletRequest request,
                                                     HttpServletResponse response)
            throws ServletException
    {
         1.5.0/docs/api/java/lang/String.html">String[] args = new 1.5.0/docs/api/java/lang/String.html">String[]{};
        return createBackup("CreateUserAllCourseUnitWorksBackup",args,mapping,form,request,response);
    }
   
    public ActionForward createUserCourseUnitActualYearWorksBackup(ActionMapping mapping,
                                                               ActionForm form,
                                                               HttpServletRequest request,
                                                               HttpServletResponse response)
            throws ServletException
    {
        1.5.0/docs/api/java/lang/String.html">String importYear = request.getParameter("importYear");
         1.5.0/docs/api/java/lang/String.html">String[] args = new 1.5.0/docs/api/java/lang/String.html">String[]{importYear};
        return createBackup("CreateUserImportYearCourseUnitWorksBackup",args,mapping,form,request,response);
    }

    private ActionForward loadCourseUnitAndForward(CourseUnitsForm cUF, long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException
    {
        CourseUnitView cV = loadCourseUnitView(id,initTeachers,initStudents, mapping, request, response);
        cUF.setCourseUnitView(cV);
        request.setAttribute("CourseUnitView", cV);
        return mapping.findForward("load");
    }

    private CourseUnitView loadCourseUnitView(long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException
    {
        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[]{id,initTeachers,initStudents,false};
        try
        {
            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnit", args, names);
            return cV;
        }
        catch (ExecutedFilterException e)
        {
            if (e.getCause() instanceof ObjectNotFoundException)
            {
                throw new NotFoundException(e.getCause().toString());
            }
            throw e;
        }
    }


    public ActionForward load(ActionMapping mapping,
                              ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            long id;
            if(cUF.getCourseUnitView() != null && cUF.getCourseUnitView().getId() > 0)
                id = cUF.getCourseUnitView().getId();
            else
                id = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("id"));

            return loadCourseUnitAndForward(cUF,id ,true,false, mapping, request, response);
        }
        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 loadStudents(ActionMapping mapping,
                                      ActionForm form,
                                      HttpServletRequest request,
                                      HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            long id;
            if(request.getParameter("id")!=null)
                id = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("id"));
            else
                id = cUF.getCourseUnitView().getId();
            CourseUnitView cV = loadCourseUnitView(id,false,true, mapping, request, response);
            cUF.setCourseUnitView(cV);
            request.setAttribute("CourseUnitView", cV);
            return mapping.findForward("load.students");
        }
        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 loadTeacher(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            int id;

            if(request.getParameter("code") != null)
            {
                id = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("code"));
                UserView userView = new ProfileController().loadUserWithRecordsCode(id,request,response);
                ProfileForm profileForm = new ProfileForm();
                profileForm.setUserView(userView);
                request.setAttribute("ProfileForm",profileForm);
            }
            CourseUnitView cV = loadCourseUnitView(cUF.getCourseUnitView().getId(),false,false, mapping, request, response);
            cUF.setCourseUnitView(cV);
            request.setAttribute("CourseUnitView", cV);
            return mapping.findForward("load.teacher");
        }
        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 loadStudent(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
            throws ServletException
    {
        ActionForward forward = loadTeacher(mapping,form,request,response);
        if(forward.getName().equals("load.teacher"))
            return mapping.findForward("load.student");
        else
            return forward;
    }

    public ActionForward loadWorks(ActionMapping mapping,
                                   ActionForm form,
                                   HttpServletRequest request,
                                   HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            long id = 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[]{"serializable"};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{id};
            try
            {
                CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitWorks", args, names);
                cUF.setCourseUnitView(cV);
                request.setAttribute("CourseUnitView", cV);
                return mapping.findForward("load.works");
            }
            catch (ExecutedFilterException e)
            {
                if (e.getCause() instanceof ObjectNotFoundException)
                {
                    throw new NotFoundException(e.getCause().toString());
                }
                throw e;
            }
        }
        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 createAssignement(ActionMapping mapping,
                                           ActionForm form,
                                           HttpServletRequest request,
                                           HttpServletResponse response)
            throws ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            ActionErrors errors = cUF.validateCreateAssignement(mapping,request);
            if(!errors.isEmpty())
            {
                saveErrors(request, errors);
                cUF.setShowNewWorkForm(true);
                return loadWorks(mapping,form,request,response);
            }
            long id = 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[]{"object","serializable"};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.getCourseUnitAssignementView(), id, cUF.getUploadFile().getInputStream(),cUF.getUploadFile().getFileName(),cUF.getUploadFile().getFileSize(),cUF.getUploadFile().getContentType()};
            try
            {
                1.5.0/docs/api/java/lang/String.html">String service;
                if(cUF.getCourseUnitAssignementView().getId() <= 0)
                    service = "CreateCourseUnitWork";
                else
                    service = "EditCourseUnitWork";

                CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), service, args, names);
                cUF.setCourseUnitView(cV);
                request.setAttribute("CourseUnitView", cV);
                cUF.setCourseUnitAssignementView(new CourseUnitAssignementView());
                return mapping.findForward("load.works");
            }
            catch (ExecutedFilterException e)
            {
                if (e.getCause() instanceof ObjectNotFoundException)
                {
                    throw new NotFoundException(e.getCause().toString());
                }
                throw e;
            }
        }
        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 validateInvalidateAssignement(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.getCourseUnitAssignementView().getId()};
            try
            {
                CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "ValidateInvalidateCourseUnitWork", args, names);
                cUF.setCourseUnitView(cV);
                request.setAttribute("CourseUnitView", cV);
                cUF.setCourseUnitAssignementView(new CourseUnitAssignementView());
                return mapping.findForward("load.works");
            }
            catch (ExecutedFilterException e)
            {
                if (e.getCause() instanceof ObjectNotFoundException)
                {
                    throw new NotFoundException(e.getCause().toString());
                }
                throw e;
            }
        }
        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 deleteAssignement(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.getCourseUnitAssignementView().getId()};
            try
            {
                CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "DeleteCourseUnitWork", args, names);
                cUF.setCourseUnitView(cV);
                request.setAttribute("CourseUnitView", cV);
                cUF.setCourseUnitAssignementView(new CourseUnitAssignementView());
                return mapping.findForward("load.works");
            }
            catch (ExecutedFilterException e)
            {
                if (e.getCause() instanceof ObjectNotFoundException)
                {
                    throw new NotFoundException(e.getCause().toString());
                }
                throw e;
            }
        }
        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 editAssignement(ActionMapping mapping,
                                         ActionForm form,
                                         HttpServletRequest request,
                                         HttpServletResponse response)
            throws ServletException
    {

        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            long id = 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[]{"serializable"};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{id};
            try
            {
                CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitWorks", args, names);
                cUF.setCourseUnitView(cV);
                cUF.setShowNewWorkForm(true);
                for(CourseUnitAssignementView aV: cV.getCourseUnitAssignements())
                {
                    if(cUF.getCourseUnitAssignementView().getId() == aV.getId())
                    {
                        cUF.setCourseUnitAssignementView(aV);
                    }
                }
                request.setAttribute("CourseUnitView", cV);
                return mapping.findForward("load.works");
            }
            catch (ExecutedFilterException e)
            {
                if (e.getCause() instanceof ObjectNotFoundException)
                {
                    throw new NotFoundException(e.getCause().toString());
                }
                throw e;
            }
        }
        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 update(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;

            if(cUF.getProgramFile() == null || cUF.getProgramFile().getFileSize() <= 0)
                args = new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.getCourseUnitView(),null,null,0,null};
            else                              //ring name, int size, String contentType, String extensio
                args = new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.getCourseUnitView(),cUF.getProgramFile().getInputStream(),cUF.getProgramFile().getFileName(),cUF.getProgramFile().getFileSize(),cUF.getProgramFile().getContentType()};

            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "UpdateCourseUnit", args, names);
            request.setAttribute("CourseUnitView",cV);
            cUF.setCourseUnitView(cV);
            return mapping.findForward("load");
        }
        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 deliverWork(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            ActionErrors errors = cUF.validateDeliverWork(mapping, request);
            if (!errors.isEmpty())
            {
                saveErrors(request, errors);
                return loadWorks(mapping,form,request,response);
            }

            IServiceManager sm = ServiceManager.getInstance();
            FormFile work = cUF.getUploadFile();
            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.getCourseUnitAssignementView().getId(),work.getInputStream(),work.getFileName(),work.getContentType(),work.getFileSize()};
            CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "DeliverCourseUnitWork", args, names);
            cUF.setCourseUnitView(cV);
            request.setAttribute("CourseUnitView", cV);
            cUF.setCourseUnitAssignementView(new CourseUnitAssignementView());
            addMessage(request,"courseunit.assignement.deliver.sucess",work.getFileName());
            return mapping.findForward("load.works");

        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            throw e;
        }
    }

    public ActionForward updateDeliverables(ActionMapping mapping,
                                            ActionForm form,
                                            HttpServletRequest request,
                                            HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            cUF.validateUpdateDeliverables();

            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","deliverables"};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.getCourseUnitView().getId(),cUF.getCourseUnitAssignementView().getId(), cUF.getCourseUnitAssignementView().getDeliverables()};
            CourseUnitAssignementView cAV = (CourseUnitAssignementView) sm.execute(RequestUtils.getRequester(request, response), "UpdateCourseUnitDeliverables", args, names);
            cUF.setCourseUnitView(cAV.getCourseUnitView());
            cUF.setCourseUnitAssignementView(cAV);
            request.setAttribute("CourseUnitView", cAV.getCourseUnitView());
            request.setAttribute("CourseUnitAssignementView", cAV);
            return mapping.findForward("load.assignement");

        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            throw e;
        }
    }


    public ActionForward loadAssignement(ActionMapping mapping,
                                         ActionForm form,
                                         HttpServletRequest request,
                                         HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;

            IServiceManager sm = ServiceManager.getInstance();
            FormFile work = cUF.getUploadFile();
            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.getCourseUnitAssignementView().getId()};
            CourseUnitAssignementView cAV = (CourseUnitAssignementView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitWorkAssignement", args, names);
            cUF.setCourseUnitView(cAV.getCourseUnitView());
            cUF.setCourseUnitAssignementView(cAV);
            request.setAttribute("CourseUnitView", cAV.getCourseUnitView());
            request.setAttribute("CourseUnitAssignementView", cAV);
            return mapping.findForward("load.assignement");
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            throw e;
        }
    }

    public ActionForward startBlog(ActionMapping mapping,
                                   ActionForm form,
                                   HttpServletRequest request,
                                   HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, 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.getCourseUnitView().getId()};
            CourseUnitView cUV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "StartCourseUnitBlog", args, names);
            cUF.setCourseUnitView(cUV);
            request.setAttribute("CourseUnitView", cUV);
            BlogForm bForm = new BlogForm();
            bForm.setBlogView(new BlogView());
            bForm.getBlogView().setId(cUV.getBlog().getId());
            ActionForward forward = new BlogsController().load(mapping,bForm,request,response);
            if(forward.getName().equals("load"))
                return mapping.findForward("load.blog");
            else
                return forward;
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            throw e;
        }
    }


    public ActionForward loadCourseUnitIntranet(    1.5.0/docs/api/java/lang/String.html">String path,
                                                    1.5.0/docs/api/java/lang/String.html">String layout,
                                                    ActionMapping mapping,
                                                    ActionForm form,
                                                    HttpServletRequest request,
                                                    HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        try
        {
            CourseUnitsForm cUF = (CourseUnitsForm) form;
            CourseUnitView cV = loadCourseUnitView(cUF.getCourseUnitView().getId(),false,false, mapping, request, response);
            cUF.setCourseUnitView(cV);
            request.setAttribute("CourseUnitView", cV);


            ActionForward forward = new ActionForward();
            forward.setName("intranetCourseUnit");
            forward.setPath("/courseunitproxy/" + layout + "/ionline" + "/" + path + "/?courseUnitView.id="+ cV.getId() + "&startPath=" + cV.getPathIntranet() + "&from=" + request.getParameter("from"));
            forward.setRedirect(true);
            return forward;
        }
        catch (FilterChainFailedException e)
        {
            return mapping.findForward("error401");
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            throw e;
        }
    }
    public ActionForward loadContents(
                                                    ActionMapping mapping,
                                                    ActionForm form,
                                                    HttpServletRequest request,
                                                    HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        return loadCourseUnitIntranet(Globals.INTRANET_CONTENTS,"courseLayoutIOnlineContents",mapping,form,request,response);
    }
    public ActionForward loadGrades(
                                                    ActionMapping mapping,
                                                    ActionForm form,
                                                    HttpServletRequest request,
                                                    HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        return loadCourseUnitIntranet(Globals.INTRANET_GRADES,"courseLayoutIOnlineGrades",mapping,form,request,response);
    }
    public ActionForward loadPresences(
                                                    ActionMapping mapping,
                                                    ActionForm form,
                                                    HttpServletRequest request,
                                                    HttpServletResponse response)
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
    {
        return loadCourseUnitIntranet(Globals.INTRANET_PRESENCES,"courseLayoutIOnlinePresences",mapping,form,request,response);
    }





}