com.pasteur.ci.action.creation.ajaxPointPrelevAction.java Source code

Java tutorial

Introduction

Here is the source code for com.pasteur.ci.action.creation.ajaxPointPrelevAction.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pasteur.ci.action.creation;

import com.pasteur.ci.bean.Commune;
import com.pasteur.ci.bean.Habitat;
import com.pasteur.ci.bean.LigneHabitat;
import com.pasteur.ci.bean.LignePratique;
import com.pasteur.ci.bean.MateriauxConstruction;
import com.pasteur.ci.bean.PlanEau;
import com.pasteur.ci.bean.PointPrelevement;
import com.pasteur.ci.bean.Pratique;
import com.pasteur.ci.bean.Quartier;
import com.pasteur.ci.bean.Region;
import com.pasteur.ci.bean.StatPrelevement;
import com.pasteur.ci.bean.TypePlanEau;
import com.pasteur.ci.commune.dao.CommuneDAOImplement;
import com.pasteur.ci.config.DAOFactory;
import com.pasteur.ci.habitat.dao.HabitatDAOImplement;
import com.pasteur.ci.ligne_habitat.dao.LigneHabitatDAOImplement;
import com.pasteur.ci.ligne_pratique.dao.LignePratiqueDAOImplement;
import com.pasteur.ci.materiaux_construction.dao.MateriauxConstructionDAOImplement;
import com.pasteur.ci.plan_eau.dao.PlanEauDAOImplement;
import com.pasteur.ci.point_prelevement.dao.PointPrelevementDAOImplement;
import com.pasteur.ci.pratique.dao.PratiqueDAOImplement;
import com.pasteur.ci.quartier.dao.QuartierDAOImplement;
import com.pasteur.ci.region.dao.RegionDAOImplement;
import com.pasteur.ci.stat_prelevement.dao.StatPrelevementDAOImplement;
import com.pasteur.ci.type_plan_eau.dao.TypePlanEauDAOImplement;
import java.util.ArrayList;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import net.sf.json.JSONObject;

/**
 *
 * @author HP USER
 */
public class ajaxPointPrelevAction extends org.apache.struts.action.Action {

    /* forward name="success" path="" */
    private static final String SUCCESS = "success";

    /**
     * This is the action called from the Struts framework.
     *
     * @param mapping The ActionMapping used to select this instance.
     * @param form The optional ActionForm bean for this request.
     * @param request The HTTP Request we are processing.
     * @param response The HTTP Response we are processing.
     * @throws java.lang.Exception
     * @return
     */
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        int idpoint_prelevement = (Integer) PropertyUtils.getProperty(form, "idpoint_prelevement");

        PointPrelevement pointPrelevement = new PointPrelevement();
        PointPrelevementDAOImplement ppdaoi = new PointPrelevementDAOImplement(DAOFactory.getInstance());
        pointPrelevement.setIdpoint_prelevement(idpoint_prelevement);
        pointPrelevement = (PointPrelevement) ppdaoi.find(pointPrelevement);

        //profondeur
        int idStationPrel = pointPrelevement.getIdstat();

        StatPrelevement stationPrelevement = new StatPrelevement();
        StatPrelevementDAOImplement spdaoi = new StatPrelevementDAOImplement(DAOFactory.getInstance());
        stationPrelevement.setIdstat(idStationPrel);
        stationPrelevement = (StatPrelevement) spdaoi.find(stationPrelevement);

        //designation station prelevement
        //longitude
        // latitude
        int idplan_eau = stationPrelevement.getIdplan_eau();

        int idhabitat = stationPrelevement.getIdhabitat();

        PlanEau planEau = new PlanEau();
        PlanEauDAOImplement pedaoi = new PlanEauDAOImplement(DAOFactory.getInstance());
        planEau.setIdplan_eau(idplan_eau);
        planEau = (PlanEau) pedaoi.find(planEau);

        int idregion = planEau.getIdregion();
        int idquartier = planEau.getIdquartier();
        int idcommune = planEau.getIdcommune();
        int idtype_plan_eau = planEau.getIdtype_plan_eau();

        //superficie
        //commentaire
        //matiere fecale
        //designation Plan eau
        Region region = new Region();
        RegionDAOImplement rdaoi = new RegionDAOImplement(DAOFactory.getInstance());
        region.setIdregion(idregion);
        region = (Region) rdaoi.find(region);

        //region
        Quartier quartier = new Quartier();
        QuartierDAOImplement qdaoi = new QuartierDAOImplement(DAOFactory.getInstance());
        quartier.setIdquartier(idquartier);
        quartier = (Quartier) qdaoi.find(quartier);

        //quatier
        Commune commune = new Commune();
        CommuneDAOImplement cdaoi = new CommuneDAOImplement(DAOFactory.getInstance());
        commune.setIdcommune(idcommune);
        commune = (Commune) cdaoi.find(commune);

        // commune
        TypePlanEau typePlanEau = new TypePlanEau();
        TypePlanEauDAOImplement tpedaoi = new TypePlanEauDAOImplement(DAOFactory.getInstance());
        typePlanEau.setIdtype_plan_eau(idtype_plan_eau);
        typePlanEau = (TypePlanEau) tpedaoi.find(typePlanEau);

        Habitat habitat = new Habitat();
        HabitatDAOImplement hdaoi = new HabitatDAOImplement(DAOFactory.getInstance());
        habitat.setIdhabitat(idhabitat);
        habitat = (Habitat) hdaoi.find(habitat);

        LigneHabitatDAOImplement lhdaoi = new LigneHabitatDAOImplement(DAOFactory.getInstance());
        MateriauxConstructionDAOImplement mcdaoi = new MateriauxConstructionDAOImplement(DAOFactory.getInstance());

        LigneHabitat ligneHabitat = new LigneHabitat();
        ligneHabitat.setIdhabitat(idhabitat);

        ArrayList<Object> ligne_mat_const_hab = lhdaoi.findS(ligneHabitat);
        ArrayList mat_const = new ArrayList();

        for (Object lmch : ligne_mat_const_hab) {
            LigneHabitat _lmch = (LigneHabitat) lmch;
            MateriauxConstruction mc = new MateriauxConstruction();
            mc.setIdmateriaux_construction(_lmch.getIdmateriaux_construction());
            mc = (MateriauxConstruction) mcdaoi.find(mc);
            mat_const.add(mc);

        }

        LignePratiqueDAOImplement ligne_pratiqueDAO = new LignePratiqueDAOImplement(DAOFactory.getInstance());
        PratiqueDAOImplement pratiqueDAO = new PratiqueDAOImplement(DAOFactory.getInstance());

        LignePratique lignePratique = new LignePratique();
        lignePratique.setIdplan_eau(idplan_eau);
        ArrayList<Object> ligne_pratique = ligne_pratiqueDAO.findS(lignePratique);
        ArrayList pratiquer = new ArrayList();

        for (Object lmch : ligne_pratique) {
            LignePratique _lmch = (LignePratique) lmch;
            Pratique pt = new Pratique();
            pt.setIdpratique(_lmch.getIdpratique());
            pt = (Pratique) pratiqueDAO.find(pt);
            pratiquer.add(pt);

        }

        String type_pe = typePlanEau.getDesignation();
        Double profondeur = pointPrelevement.getProfondeur();
        String design_stprelev = stationPrelevement.getIdstat_prelevement();
        Double gps_long = stationPrelevement.getGps_long();
        Double gps_lat = stationPrelevement.getGps_lat();
        double superficie = planEau.getSuperficie();
        String commentaire = planEau.getCommentaire();
        boolean matiere_fecale = planEau.getMatiere_fecale();
        String designation = planEau.getDesignation();
        String quatier_ = quartier.getDesignation();
        String region_ = region.getDesignation();
        String commune_ = commune.getDesignation();
        String habitat_designation = habitat.getDesign_habitat();
        int effectif = habitat.getEffectif();
        Double distance = habitat.getDist_bord_lagune();
        String mat_construction = ArrayToStringMC(mat_const);
        String pratique = ArrayToStringP(pratiquer); //

        HashMap hm = new HashMap();
        hm.put("profondeur", profondeur);
        hm.put("design_stprelev", design_stprelev);
        hm.put("gps_long", gps_long);
        hm.put("gps_lat", gps_lat);
        hm.put("superficie", superficie);
        hm.put("commentaire", commentaire);
        hm.put("matiere_fecale", matiere_fecale);
        hm.put("designation", designation);
        hm.put("quartier_", quatier_);
        hm.put("region_", region_);
        hm.put("commune_", commune_);
        hm.put("habitat_designation", habitat_designation);
        hm.put("effectif", effectif);
        hm.put("distance", distance);
        hm.put("mat_construction", mat_construction);
        hm.put("pratique", pratique);
        hm.put("type_pe", type_pe);

        // chaque cl de notre map devient une cl dans l'objet JSON (utilisation de Json-lib)
        JSONObject json = JSONObject.fromObject(hm);

        // faon d'envoyer l'objet JSON pour que Prototype puisse le rcuprer
        response.setHeader("X-JSON", json.toString());

        return null;

    }

    public String ArrayToStringMC(ArrayList list) {

        String vf = "";

        for (Object list1 : list) {
            MateriauxConstruction mc = null;
            mc = (MateriauxConstruction) list1;
            vf += mc.getLib_materiaux_construction() + ";";
        }

        int sz = vf.length();
        if (sz != 0) {
            vf = vf.substring(0, sz - 1);
            vf = vf.replace(";", "; ");
        }

        return vf;
    }

    public String ArrayToStringP(ArrayList list) {

        String vf = "";

        for (Object list1 : list) {
            Pratique mc = null;
            mc = (Pratique) list1;
            vf += mc.getPratique() + ";";
        }

        int sz = vf.length();
        if (sz != 0) {
            vf = vf.substring(0, sz - 1);
            vf = vf.replace(";", "; ");
        }

        return vf;
    }
}