Subversion Repositories bacoAlunos

Rev

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

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

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.UserRoleConfig;
import pt.estgp.estgweb.domain.UserRoleConfigImpl;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.filters.UserRoleProxy;
import pt.estgp.estgweb.web.form.configuration.ConfigurationUserRolesForm;
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
 * @date 26/Fev/2008
 * @time 18:01:54
 * @see pt.estgp.estgweb.web
 */

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





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

        UserRoleConfigImpl role = DomainObjectFactory.createUserRoleConfigImpl();
        role.setDirty(true);
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
        f.getUserRolesConfig().add(0,role);
        return mapping.findForward("userRoles");
    }


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

        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) 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[]{
               f.getUserRolesConfig()
        };

        try
        {
            sm.execute(RequestUtils.getRequester(request, response), "AddUpdateDirtyRolesTranslation", args, names);
            UserRoleProxy.setDirty();
            f.setUserRoleConfigs(null);
            addMessage(request, "configuration.roles.saved");
        }
        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;
        }
        return mapping.findForward("userRoles");
    }

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

        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
        UserRoleConfig userRoleConfig = null;
        long idPosChoosed = f.getId();
        for(UserRoleConfig u : f.getUserRolesConfig())
        {
            UserRoleConfigImpl ur = (UserRoleConfigImpl) u;
            if(ur.getPosForId() == idPosChoosed)
            {
                userRoleConfig = ur;
                break;
            }
        }
        if(userRoleConfig == null)
            return mapping.findForward("userRoles");

        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[]{
                userRoleConfig
        };

        try
        {
            sm.execute(RequestUtils.getRequester(request, response), "AddUpdateRoleTranslation", args, names);
            UserRoleConfigImpl ur = (UserRoleConfigImpl) userRoleConfig;
            ur.setDirty(false);
            UserRoleProxy.setDirty();
            //f.setUserRoleConfigs(null);
            addMessage(request, "configuration.role.saved",ur.getValue());
        }
        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;
        }
        return mapping.findForward("userRoles");
    }



}