package com.atos.referentiel.web.structure.actions; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.atos.referentiel.model.structure.Outil; import com.atos.referentiel.model.structure.OutilVersion; import com.atos.referentiel.service.commons.to.OutilTO; import com.atos.referentiel.service.structure.StructureFacade; import com.atos.referentiel.web.structure.forms.AffectationOutilVersionForm; public class AffectationOutilVersionAction extends Action { private StructureFacade structureFacade=null; public void setStructureFacade(StructureFacade structureFacade) { this.structureFacade = structureFacade; } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); if(session.getAttribute("user")!=null){ String forward=""; String actionCourante = request.getParameter("actionCourante"); String modeCourant = request.getParameter("modeCourant"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Date date = new Date(); String dateToday = sdf.format(date); session.removeAttribute("idOutilVersionCourante"); if(modeCourant.equals("avant")){ if(actionCourante.equals("ajout")){ AffectationOutilVersionForm outilVersionSessionForm = new AffectationOutilVersionForm(); outilVersionSessionForm.setOvCode(""); outilVersionSessionForm.setOvLibelle(""); outilVersionSessionForm.setDateDebut(dateToday); outilVersionSessionForm.setDateFin(""); outilVersionSessionForm.setOutOuId(""); outilVersionSessionForm.setOvId(""); outilVersionSessionForm.setOvPlateforme(""); session.setAttribute("outilVersionSessionForm",outilVersionSessionForm); session.setAttribute("action","ajout"); forward="success"; } if(actionCourante.equals("modification")){ String indice = request.getParameter("indice"); //System.out.println("taille de l'indice est égale à " + indice); ArrayList listeOutilVersion = (ArrayList)session.getAttribute("listeOutilVersion"); OutilTO outilVersion = (OutilTO)listeOutilVersion.get(Integer.parseInt(indice)); AffectationOutilVersionForm outilVersionSessionForm = new AffectationOutilVersionForm(); outilVersionSessionForm.setOvCode(outilVersion.getOvCode()); outilVersionSessionForm.setOvLibelle(outilVersion.getOvLibelle()); outilVersionSessionForm.setDateDebut(sdf.format(outilVersion.getDateDebut())); if (outilVersion.getDateFin() != null) { outilVersionSessionForm.setDateFin(sdf.format(outilVersion.getDateFin())); } else { outilVersionSessionForm.setDateFin(""); } outilVersionSessionForm.setOutOuId(String.valueOf(outilVersion.getOutOuId())); outilVersionSessionForm.setOvPlateforme(outilVersion.getOvPlateforme()); outilVersionSessionForm.setIndiceListe(indice); outilVersionSessionForm.setOvId(String.valueOf(outilVersion.getOvId())); session.setAttribute("outilVersionSessionForm",outilVersionSessionForm ); session.setAttribute("action","modification"); forward="success"; } } if(modeCourant.equals("apres")){ AffectationOutilVersionForm aovf = (AffectationOutilVersionForm)form; AffectationOutilVersionForm aovfForm = new AffectationOutilVersionForm(); aovfForm.copyProperties(aovf); session.setAttribute("outilVersionSessionForm",aovfForm); if(actionCourante.equals("ajout")){ //on recupere la liste des versions associees ArrayList listeOutilVersion = (ArrayList)session.getAttribute("listeOutilVersion"); OutilTO ov = new OutilTO (); //on recupere les donnees du formulaire ov.setOvCode(aovf.getOvCode()); ov.setOvLibelle(aovf.getOvLibelle()); ov.setDateDebut(sdf.parse(aovf.getDateDebut())); if (aovf.getDateFin().compareTo("")!=0) { ov.setDateFin(sdf.parse(aovf.getDateFin())); } else { ov.setDateFin(null); } ov.setOvPlateforme(aovf.getOvPlateforme()); ov.setOutOuId(ov.getOutOuId()); ov.setOvId(null); listeOutilVersion.add(ov); aovf.reset(mapping, request); session.setAttribute("listeOutilVersion", listeOutilVersion); forward="suppr"; } if(actionCourante.equals("modification")){ //on recupere la liste des types de responsabilites associes ArrayList listeOutilVersion = (ArrayList)session.getAttribute("listeOutilVersion"); OutilTO ov = new OutilTO (); //on recupere les donnees du formulaire ov.setOvCode(aovf.getOvCode()); ov.setOvLibelle(aovf.getOvLibelle()); ov.setDateDebut(sdf.parse(aovf.getDateDebut())); if (aovf.getDateFin().compareTo("")!=0) { ov.setDateFin(sdf.parse(aovf.getDateFin())); } else { ov.setDateFin(null); } ov.setOvPlateforme(aovf.getOvPlateforme()); ov.setOutOuId(ov.getOutOuId()); if(aovf.getOvId().equals("")){ ov.setOvId(null); }else{ ov.setOvId(Integer.parseInt(aovf.getOvId())); } int indice = Integer.parseInt(aovf.getIndiceListe()); listeOutilVersion.set(indice, ov); session.setAttribute("listeOutilVersion", listeOutilVersion); aovf.reset(mapping, request); forward="suppr"; } } return mapping.findForward(forward); }else{ return mapping.findForward("error"); } } }