tp-refactoring-graph associé au cours sur les patrons de conception et principe de réfactoring.
- La branche par défaut ("initial") permet de récupérer un projet maven pour commencer à travailler
- Les branches 0.1, 0.2, etc. correspondront aux corrections pour chaque question du TP
- junit et mockito sont présents pour permettre l'écriture de tests unitaires
Le projet contient deux points d'entrée :
cli.FindPath: Calcul de plus court chemin en ligne de commande (CLI = Command Line Interpreter)Application: Application sous forme d'une API springboot
Le code est organisé en package :
model: Modélisation des données de l'application- ̀
io: Lecture de graphe dans différents formats (entrées/sorties) routing: Implémentation de l'algorithme de calcul de plus court chemincontrollers: Contrôleurs de l'application springbootconfig: Configuration de l'application springboot (initialisation des beans)
Un extrait de ROUTE500 est présent dans src/test/resources/idf/troncon_route.shp à des fins de tests.
Lancer l'application cli.FindPath dans eclipse.
- Construire le jar :
mvn clean package- Démarrer l'API
# Option 1 : Charger le graphe de démonstration
java -cp target -jar target/tp-refactoring-graph-0.1.0-SNAPSHOT.jar
# -> ouvrir http://localhost:8080/find-path?origin=a&destination=c
# Option 2 : Charger l'extrait ROUTE500
java -Dgraph.path=src/test/resources/route500/idf/troncon_route.shp -jar target/tp-refactoring-graph-0.1.0-SNAPSHOT.jar
# -> Ouvrir http://localhost:8080/find-path?origin=1&destination=1000Lancer "Application.java" par exemple avec les paramètres suivant dans "VM Arguments" :
-Dgraph.path=${project_loc}/src/test/resources/route500/idf/troncon_route.shp- Log en mode debug :
-Dlogging.level.org.acme.graph=DEBUG - VisualVM pourra vous aider