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; ...@@ -14,6 +14,7 @@ import java.io.FileNotFoundException;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set; import java.util.Set;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
...@@ -25,8 +26,8 @@ public class UjapackApplication { ...@@ -25,8 +26,8 @@ public class UjapackApplication {
public static void main(String[] args){ public static void main(String[] args){
SpringApplication.run(UjapackApplication.class, args); SpringApplication.run(UjapackApplication.class, args);
ArrayList<PuntodeControl> puntosdecontrol= new ArrayList<>(); HashMap<Integer,PuntodeControl> puntosdecontrol= new HashMap<>();
int id2=11; int idPr=11; //Id para las provincias, se usa para darle un identificador a cada una de las oficinas.
String fichero=""; String fichero="";
try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){ try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){
String linea; String linea;
...@@ -40,13 +41,13 @@ public class UjapackApplication { ...@@ -40,13 +41,13 @@ public class UjapackApplication {
} }
JsonObject obj=new Gson().fromJson(fichero, JsonObject.class); 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){ for(String centro : centrosLCla){
ArrayList<String> provincias=new ArrayList<>(); ArrayList<String> provincias=new ArrayList<>();
ArrayList<Integer> conexiones=new ArrayList<>(); ArrayList<Integer> conexiones=new ArrayList<>();
JsonObject centroJson=obj.getAsJsonObject(centro); 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 nombre=centroJson.get("nombre").getAsString();
String localizacion=centroJson.get("localizacion").getAsString(); String localizacion=centroJson.get("localizacion").getAsString();
...@@ -54,21 +55,29 @@ public class UjapackApplication { ...@@ -54,21 +55,29 @@ public class UjapackApplication {
JsonArray provinciasArr=centroJson.getAsJsonArray("provincias"); JsonArray provinciasArr=centroJson.getAsJsonArray("provincias");
for(JsonElement prov : provinciasArr){ for(JsonElement prov : provinciasArr){
provincias.add(prov.getAsString()); provincias.add(prov.getAsString());
PuntodeControl cl2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),id2,Oficina,null,null); PuntodeControl pc2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),Oficina);
id2++; puntosdecontrol.put(idPr,pc2);
puntosdecontrol.add(cl2); pc2.setConexiones(conexiones);
idPr++;
} }
JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones"); JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones");
for(JsonElement con : conexionesArr){ for(JsonElement con : conexionesArr){
conexiones.add(con.getAsInt()); 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 //Prueba del metodo Calcular ruta y calcular importe
Envio e = new Envio("Jose","Maria","Almeria","Almeria",0.5f,20.4f,20.4f,20.4f); 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