tree d5467ec2f514fa49f7ebfc5d8d9cb0d476149eee
parent 0367d35845f5b768380e8b9f27bfea982cf0cfba
author Pavlin Radoslavov <pavlin@onlab.us> 1382221744 -0700
committer Pavlin Radoslavov <pavlin@onlab.us> 1382221744 -0700

Refactor the TopologyManager:

 * Moved the Shortest Path computations to new class ShortestPath
   inside file  topology/ShortestPath.java
 * Moved the topology-related state to new class Topology
   inside file  topology/Topology.java
 * Renamed/cleanup the TopologyManager API:
   - prepareShortestPathTopo() -> newDatabaseTopology()
   - dropShortestPathTopo() -> dropTopology()
   - getTopoShortestPath() -> getTopologyShortestPath()
   - getShortestPath() -> getDatabaseShortestPath()
