Package unlp.edu.action

Source Code of unlp.edu.action.EditarProyectoAction

package unlp.edu.action;

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

import org.apache.struts.action.*;

import unlp.edu.core.Proyecto;
import unlp.edu.core.Role;
import unlp.edu.core.Sistema;
import unlp.edu.core.Miembro;

public class EditarProyectoAction extends Action{

  /* (non-Javadoc)
   * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  @Override
  public ActionForward execute(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    DynaActionForm editarProyectoForm = (DynaActionForm) form;
   
    // Extraemos los datos del formulario
    String  nombreActualProyecto = (String) editarProyectoForm.get("nombreActualProyecto");
    String  nuevoNombreProyecto = (String) editarProyectoForm.get("nombreProyecto");
    String  nuevoLiderProyecto = (String) editarProyectoForm.get("liderProyecto");
   
    Sistema sistema = Sistema.getInstance();
   
    Proyecto savedProyecto = sistema.getProyectoPorNombre(nombreActualProyecto);   
    Role roleLider = sistema.getRoleProyecto("Lider");
    Miembro actualLider = savedProyecto.getLiderProyecto();
   
    Miembro nuevoLider = sistema.getMiembro(savedProyecto, nuevoLiderProyecto);

    //Es un usuario que aun no es miembro del proyecto - Se crea y persiste
    if (nuevoLider == null)
    {
      nuevoLider = sistema.nuevoMiembro(savedProyecto, sistema.getUsuario(nuevoLiderProyecto), roleLider);
    } else if (!nuevoLider.equals(actualLider)) {
      //Es miembro del proyecto pero no es el lider actual 
      sistema.editarMiembro(nuevoLider,roleLider);
    }
   
    sistema.editarProyecto(savedProyecto,nuevoNombreProyecto,nuevoLider);
   
    //Se asigna un rol de desarrollador al antiguo Lider
    if (!nuevoLider.equals(actualLider))
    {
      sistema.editarMiembro(actualLider, sistema.getRoleProyecto("Desarrollador"));
    }
   
    // Mostramos la siguiente vista
    return mapping.findForward("ok");
   
  }

}
TOP

Related Classes of unlp.edu.action.EditarProyectoAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.