Aunque la propuesta inicial es una apliación de consola, considero que
iniciar una aplicación de JSF con JPA me facilita mucho la vida de cara
a utilizar bases de datos y el posible futuro interfaz web.
Creo dentro de la carpeta src un paquete console para meter dentro el
ejecutable.
Creo un paquete llamado model para ir introduciendo todas las clases que
componen el modelo. Las que tengo que almacenar en base de datos, las
creo como entidades de JPA para que me lo conecte el asistente.
Creo un paquete dao para meter dentro clases reutilizadas de otros
proyectos mios que implementan tanto el patrón dao como el patrón
factory y que facilitan enormemente la utilización de la base de datos.
Además desarrollo clases adaptadas para las entidades City y Road
Incluyo nuevas funcionalidades al dao para ambas entidades
Me acabo de dar cuenta que estoy llamando latitud y longitud a cosas que
no son porque se definen como ángulos. Tomo la decisión de trabajar con
ángulos para darle más realismo aunque compliquen todas las fórmulas de
distancias. Meto el archivo biicode.txt en WebContent>Resources>files
donde están las ciudades y carreteras en el formato dado.
He creado un asistente de comunicación externa en beans.communication
para que se encarge de las labores de importación desde fichero externo
He creado la entidad mapa que recoge internamente una matriz con la
distancia entre todas las ciudades. En caso de que no haya posibilidad
de carretera la distancia es -1. Aunque en el enunciado se habla del
algoritmo A* y el algoritmo de Dijkstra, yo utilizaré el algoritmo de
Warshall-Floyd, las razones las documento luego en el correo. Como
documentación estoy siguiendo el libro de Informática discreta de la
carrera.
Fin de Sesión a las 23:00. Me he dado cuenta de que el algoritmo de
Floyd no satisface las necesidades del problema en su totalidad. Por
ello, estoy implementando el algoritmo de Dijkstra.