JSON modificado creando las provincias como Punto de control y metodo calcular…

JSON modificado creando las provincias como Punto de control y metodo calcular ruta realizado con Ruta A (misma provincia)
parent 73948ad7
......@@ -31,3 +31,4 @@ build/
### VS Code ###
.vscode/
/nbproject/
\ No newline at end of file
......@@ -4,7 +4,11 @@ import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import es.ujaen.dae.entidades.Envio;
import es.ujaen.dae.entidades.PuntodeControl;
import es.ujaen.dae.entidades.TipoPunto;
import static es.ujaen.dae.entidades.TipoPunto.CentroLogistico;
import static es.ujaen.dae.entidades.TipoPunto.Oficina;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
......@@ -22,6 +26,7 @@ public class UjapackApplication {
public static void main(String[] args){
SpringApplication.run(UjapackApplication.class, args);
ArrayList<PuntodeControl> puntosdecontrol= new ArrayList<>();
int id2=11;
String fichero="";
try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){
String linea;
......@@ -41,7 +46,7 @@ public class UjapackApplication {
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);
String nombre=centroJson.get("nombre").getAsString();
String localizacion=centroJson.get("localizacion").getAsString();
......@@ -49,18 +54,33 @@ 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);
}
JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones");
for(JsonElement con : conexionesArr){
conexiones.add(con.getAsInt());
}
PuntodeControl cl=new PuntodeControl(nombre, localizacion, provincias, conexiones);
PuntodeControl cl=new PuntodeControl(nombre, localizacion, id, CentroLogistico, provincias, conexiones);
puntosdecontrol.add(cl);
System.out.println(cl.toString());
}
//Prueba del metodo Calcular ruta
Envio e = new Envio("Jose","Maria","Almeria","Almeria",50,16,16,16);
ArrayList<PuntodeControl> j = new ArrayList<>();
j = e.calcularRuta(puntosdecontrol,e);
System.out.println(j.size());
for(int i=0; i<j.size(); i++){
System.out.println(j.get(i));
}
//Fin de prueba del metodo calcular ruta. Esto debe pasarse a un test propio
}
}
......@@ -7,6 +7,7 @@ package es.ujaen.dae.entidades;
import java.time.LocalDate;
import java.util.ArrayList;
import es.ujaen.dae.Ujapack.UjapackApplication;
/**
*
......@@ -36,34 +37,23 @@ public class Envio {
public void calcularImporte(){} //cambiar void por float
/*public void calcularRuta(){
if(direccionOrigen == direccionDestino){
for(int i=0; i<puntosdecontrol.size(); i++){
if(puntosdecontrol.get(i).getProvincia() == direccionDestino)
listadoPuntos.add(puntosdecontrol.get(i));
}
}else{
boolean provincia1=false;
boolean provincia2=false;
int pos1=-1;
int pos2=-1;
for(int i=0; i<puntosdecontrol; i++){
for(int j=0; j<puntodecontrol.getProvincias().size();j++){
if(provincias.get(j) == direccionOrigen)
provincia1=true;
pos1=j;
if(provincias.get(j) == direccionDestino)
provincia2=true;
pos2=j;
}
if(provincia1 && provincia2){
listadoPuntos.add(puntosdecontrol.get(i));
listadoPuntos.add(puntosdecontrol.get(pos1));
listadoPuntos.add(puntosdecontrol.get(pos2));
//Hecho solamente el caso donde envias y recibes dentro de la misma provincia
public ArrayList<PuntodeControl> calcularRuta(ArrayList<PuntodeControl> cl, Envio e){
if(e.getDireccionOrigen().equals(e.getDireccionDestino())){
for(int i=0; i<cl.size(); i++){
if(cl.get(i).getProvincia().equals(e.getDireccionDestino())){
listadoPuntos.add(cl.get(i));
break;
}
}
}
}*/
return listadoPuntos;
}
......
......@@ -17,18 +17,21 @@ public class PuntodeControl {
private int id;
private TipoPunto tipo;
private ArrayList<String> provincias;
private ArrayList<PuntodeControl> conexiones;
private ArrayList<Integer> conexiones;
public PuntodeControl(String nombre, String provincia, ArrayList<String> provincias, ArrayList<Integer> conexiones){ //AÑADIR EL ENUM AL CONSTRUCTOR DEL PUNTO DE CONTROL
//inicializar id
public PuntodeControl(String nombre, String provincia, int id, TipoPunto t, ArrayList<String> provincias, ArrayList<Integer> conexiones){ //AÑADIR EL ENUM AL CONSTRUCTOR DEL PUNTO DE CONTROL
this.id = id;
this.nombre=nombre;
this.provincia=provincia;
conexiones = new ArrayList<>();
provincias = new ArrayList<>();
tipo = t;
this.conexiones = conexiones;
this.provincias = provincias;
};
/**
* @return the provincia
......@@ -89,14 +92,14 @@ public class PuntodeControl {
/**
* @return the conexiones
*/
public ArrayList<PuntodeControl> getConexiones() {
public ArrayList<Integer> getConexiones() {
return conexiones;
}
/**
* @param conexiones the conexiones to set
*/
public void setConexiones(ArrayList<PuntodeControl> conexiones) {
public void setConexiones(ArrayList<Integer> conexiones) {
this.conexiones = conexiones;
}
......
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