Subversion Repositories bacoAlunos

Rev

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

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

import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.controllers.announcements.AnnouncementsController;
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm;
import pt.estgp.estgweb.web.utils.DomainUtils;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
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 pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ExecutedFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
import org.hibernate.ObjectNotFoundException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.Serializable;
import java.util.List;

import com.sun.deploy.association.utility.AppAssociationReaderFactory;

/**
 * @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 loadCourseUnitAndForward(long id, 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, mapping, request, response);
        request.setAttribute("CourseUnitView", cV);
        return mapping.findForward("load");
    }

    private CourseUnitView loadCourseUnitView(long id, 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};
        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
        {
            return loadCourseUnitAndForward(1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("id")), 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");
        }
    }



}