Actions.GetActeursAction.java Source code

Java tutorial

Introduction

Here is the source code for Actions.GetActeursAction.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 Actions;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.insa.gustatif.metier.modele.Client;
import com.insa.gustatif.metier.modele.Livreur;
import com.insa.gustatif.metier.modele.LivreurVelo;
import com.insa.gustatif.metier.modele.Restaurant;
import com.insa.gustatif.metier.service.ServiceMetier;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author julia
 */
public class GetActeursAction extends Action {
    @Override
    public void execute(HttpServletRequest request, HttpServletResponse reponse) {
        System.out.println("Je suis dans action getActeurs");
        JsonObject jsonContainer = new JsonObject();

        // ---------------- rcupration des restos---------------------
        JsonArray jsonListe = new JsonArray();
        List<Restaurant> listeResto = ServiceMetier.findAllRestaurants();
        for (Restaurant restaurant : listeResto) {
            JsonObject jsonRestaurant = new JsonObject();
            jsonRestaurant.addProperty("adresse", restaurant.getAdresse());
            jsonRestaurant.addProperty("denomination", restaurant.getDenomination());
            jsonRestaurant.addProperty("latitude", restaurant.getLatitude());
            jsonRestaurant.addProperty("longitude", restaurant.getLongitude());
            jsonListe.add(jsonRestaurant);
        }
        jsonContainer.add("restos", jsonListe);

        // ---------------- rcupration des clients---------------------
        jsonListe = new JsonArray();
        List<Client> listeClient = ServiceMetier.findAllClients();
        for (Client client : listeClient) {
            JsonObject jsonClient = new JsonObject();
            jsonClient.addProperty("adresse", client.getAdresse());
            jsonClient.addProperty("nomC", client.getNom() + " " + client.getPrenom());
            jsonClient.addProperty("latitude", client.getLatitude());
            jsonClient.addProperty("longitude", client.getLongitude());
            jsonListe.add(jsonClient);
        }
        jsonContainer.add("clients", jsonListe);

        // ---------------- rcupration des vlos---------------------
        jsonListe = new JsonArray();
        List<Livreur> listeVelos = ServiceMetier.findAllVelos();
        for (Livreur velo : listeVelos) {
            JsonObject jsonVelo = new JsonObject();
            jsonVelo.addProperty("adresse", velo.getAdresse());
            int indexTiret = velo.toString().indexOf(" -");
            int apresVeloIndex = velo.toString().indexOf("Vlo : ") + 7;
            String nomComplet = velo.toString().substring(apresVeloIndex, indexTiret);
            System.out.println("nom complet velo : " + nomComplet);
            jsonVelo.addProperty("nomC", nomComplet);
            String estDisp = "NON";
            if (velo.getCmdeEnCours() == null) {
                estDisp = "OUI";
            }
            jsonVelo.addProperty("dispo", estDisp);
            jsonVelo.addProperty("poidsMax", velo.getChargeMaxi());
            jsonVelo.addProperty("latitude", velo.getLatitude());
            jsonVelo.addProperty("longitude", velo.getLongitude());
            jsonVelo.addProperty("idLivreur", velo.getIdLivreur());
            jsonListe.add(jsonVelo);
        }
        jsonContainer.add("velos", jsonListe);

        // ---------------- rcupration des drones---------------------
        jsonListe = new JsonArray();
        List<Livreur> listeDrones = ServiceMetier.findAllDrones();
        for (Livreur drone : listeDrones) {
            JsonObject jsonDrone = new JsonObject();
            jsonDrone.addProperty("code", drone.getIdLivreur());
            String estDisp = "NON";
            if (drone.getCmdeEnCours() == null) {
                estDisp = "OUI";
            }
            jsonDrone.addProperty("dispo", estDisp);
            jsonDrone.addProperty("adresse", drone.getAdresse());
            jsonDrone.addProperty("latitude", drone.getLatitude());
            jsonDrone.addProperty("longitude", drone.getLongitude());
            int indexVit = drone.toString().indexOf("Vitesse moyenne : ");
            String vitMoyenne = drone.toString().substring(indexVit + 18);
            jsonDrone.addProperty("vit", vitMoyenne);
            jsonDrone.addProperty("poidsMax", drone.getChargeMaxi());

            jsonListe.add(jsonDrone);
        }
        jsonContainer.add("drones", jsonListe);

        // ---------------------envoi de la rponse Json------------------------
        reponse.setContentType("text/html;charset=UTF-8");
        PrintWriter out = null;
        try {
            out = reponse.getWriter();
        } catch (IOException ex) {
            Logger.getLogger(GetRestaurantsAction.class.getName()).log(Level.SEVERE, null, ex);
        }
        out.println(jsonContainer);
        out.close();
    }
}