Lectura de Json finalizada:

-Añadido el enum
-Se guarda la información en HashMap
-Se consideran las provincias también como puntos de control
parent 09094133
......@@ -14,6 +14,7 @@ import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
......@@ -25,8 +26,8 @@ public class UjapackApplication {
public static void main(String[] args){
SpringApplication.run(UjapackApplication.class, args);
ArrayList<PuntodeControl> puntosdecontrol= new ArrayList<>();
int id2=11;
HashMap<Integer,PuntodeControl> puntosdecontrol= new HashMap<>();
int idPr=11; //Id para las provincias, se usa para darle un identificador a cada una de las oficinas.
String fichero="";
try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){
String linea;
......@@ -40,13 +41,13 @@ public class UjapackApplication {
}
JsonObject obj=new Gson().fromJson(fichero, JsonObject.class);
Set<String> centrosLCla=obj.keySet();
Set<String> centrosLCla=obj.keySet(); //Se guardan las claves de los centros logísticos.
for(String centro : centrosLCla){
ArrayList<String> provincias=new ArrayList<>();
ArrayList<Integer> conexiones=new ArrayList<>();
JsonObject centroJson=obj.getAsJsonObject(centro);
int id=Integer.parseInt(centro);
int id=Integer.parseInt(centro); //Id para especidificamente los centros logísticos.
String nombre=centroJson.get("nombre").getAsString();
String localizacion=centroJson.get("localizacion").getAsString();
......@@ -54,21 +55,29 @@ public class UjapackApplication {
JsonArray provinciasArr=centroJson.getAsJsonArray("provincias");
for(JsonElement prov : provinciasArr){
provincias.add(prov.getAsString());
PuntodeControl cl2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),id2,Oficina,null,null);
id2++;
puntosdecontrol.add(cl2);
PuntodeControl pc2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),Oficina);
puntosdecontrol.put(idPr,pc2);
pc2.setConexiones(conexiones);
idPr++;
}
JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones");
for(JsonElement con : conexionesArr){
conexiones.add(con.getAsInt());
}
PuntodeControl cl=new PuntodeControl(nombre, localizacion, id, CentroLogistico, provincias, conexiones);
puntosdecontrol.add(cl);
System.out.println(cl.toString());
PuntodeControl pc=new PuntodeControl(nombre, localizacion,CentroLogistico);
pc.setConexiones(conexiones);
pc.setProvincias(provincias);
puntosdecontrol.add(id,pc); /**Aqui es id y no idPr porque aqui se añaden especificamente los centros logisticos, no oficinas
por lo que se toma dicho id. */
//System.out.println(pc.toString());
}
puntosdecontrol.forEach((k,v) -> System.out.println("Clave del punto de control: " + k + "Valor asociado: " + v));
//Prueba del metodo Calcular ruta y calcular importe
Envio e = new Envio("Jose","Maria","Almeria","Almeria",0.5f,20.4f,20.4f,20.4f);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment