Question: Please provide java code for town and road (not UML) Thank you in advanced. Assignment Description In this project you will be creating an application

Please provide java code for town and road (not UML)

Thank you in advanced.

Please provide java code for town and road (not UML) Thank youin advanced. Assignment Description In this project you will be creating anapplication to maintain a network of towns and the roads connecting them.

Assignment Description In this project you will be creating an application to maintain a network of towns and the roads connecting them. The application will use Dijkstra's Shortest Path algorithm to find the shortest distance between any two towns. Upload the initial files and your working files to the repository in GitHub you created in Lab 1, in a directory named Assignment. Concepts tested by this assignment Implement Graph Interface Use Graph to maintain a network of Vertices Implement Shortest Path Algorithm Classes Data Element - Town (Vertex) Create a Town class that holds the name of the town and a list of adjacent towns, and other fields as desired, and the traditional methods (constructors, getters/setters, toString, etc.). It will implement the Comparable interface. This is the class header: public class Town implements Comparable Two towns will be considered the same if their name is the same. Data Element - Road (Edge) Create a class Road that can represent the edges of a Graph of Towns. The class must implement Comparable. The class stores references to the two vertices(Town endpoints), the distance between vertices, and a name, and the traditional methods (constructors, getters/setters, toString, etc.), and a compare To, which compares two Road objects. Since this is a undirected graph, an edge from A to B is equal to an edge from B to A. This is the class header: public class Road implements Comparable Data Structure - Graph, implements GraphInterface Create a Graph class that implements the GraphInterface given you. For Graph Within the Graph interface is a method shortestPath, which finds the shortest path from a given source Town to a destination Town. Since there is a unique shortest path from every vertex to the source, there is a back-pointer to the previous vertex. The method shortest Path calls dijkstraShortestRath which finds the shortest path from the source to every other vertex in the graph. You will be coding the Dijkstra's Shortest Path algorithm. You will then be able to find the connections between two towns through the roads that connect them. You may use the adjacency matrix approach found in the text book, or you may use a set of Towns and a set of Roads. The ShortestPath algorithm typically uses a weighted graph which means that the edges have a weight, and this is used to determine the shortest path. For this implementation, each weight will be the distance of the road in miles. Data Manager - implements TownGraphManager Interface Your TownGraphManager will hold an object of your Graph. Implement the TownGraphManagerInterface. There are methods to populate the graph (reading from a text file), add a town (vertices), add a road (edge), list all towns and all roads, and list towns adjacent to a given town. Your solution will find the shortest path from a start town to a destination town. It will account for the possibility of a disjoint graph (i.e., not all vertices can be reached from all other vertices.) You may add any methods as needed for your design. Exception Classes FileNotFoundException - created and thrown when the selected input file is not found. IOException - created and thrown when user selects an input file that cannot be read (check out the methods of File). Note that these exceptions exist in the Java API. GUI Driver (provided for you) The GUI has four sections: a Town section where you can add towns, a Road section where you add roads, a Find Connection section, and an administration section. It has a Read File button, which allows the text files provided to be read and populate the graph. Testing 1. Your completed implementation must pass the TownGraphManagerTest.java and the GraphTest.java. 2. The tests marked GFA ("Good Faith Attempt") are the minimal testing that must pass in order for your implementation to meet the good faith attempt. 3. Create a JUnit Test - TownGraphManager STUDENT.. Test. Test all the methods of the Town GraphManager with a different set of data than the TownGraphManager Test provided for you. 4. Create a JUnit Test - Graph. STUDENT.. Test. Test all the methods of the Graph with a different set of data than the GraphTest provided for you. 5. Create a Junit Test - Read.STUDENI..Test. Test all the methods of your Road class. 6. Create a Junit test - Town STUDENT Test. Test all the methods of your Town class

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!