Fixing topology related interface/class tree

- (Mutable)Topology no longer implements ImmutableTopology

    --- BaseTopology (was ImmutableTopology)
     |
     +-- ImmutableTopology (new)
     |
     +-- MutableTopology (was Topology)
       |
       +-- RefreshableTopology
       |
       +-- TopologyInternal
            This interface is placed in wrong place. To be fixed later.

Change-Id: Ifa9defcc7c0fc22bba19977fe4ea57eaf792275e
diff --git a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
index a5e3bd9..155c3cf 100644
--- a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
+++ b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
@@ -26,7 +26,7 @@
 import net.onrc.onos.core.packet.Ethernet;
 import net.onrc.onos.core.topology.ITopologyService;
 import net.onrc.onos.core.topology.Port;
-import net.onrc.onos.core.topology.Topology;
+import net.onrc.onos.core.topology.MutableTopology;
 import net.onrc.onos.core.util.Dpid;
 import net.onrc.onos.core.util.PortNumber;
 import net.onrc.onos.core.util.PortNumberUtils;
@@ -52,7 +52,7 @@
             Executors.newSingleThreadScheduledExecutor();
 
     private ITopologyService topologyService;
-    private Topology topology;
+    private MutableTopology mutableTopology;
 
     public enum HostUpdateType {
         ADD, DELETE, UPDATE;
@@ -141,17 +141,17 @@
         // then don't add the host
         // TODO We probably don't need to check this here, it should be done in
         // the Topology module.
-        topology.acquireReadLock();
+        mutableTopology.acquireReadLock();
         try {
-            if (topology.getOutgoingLink(dpid, portNum) != null ||
-                    topology.getIncomingLink(dpid, portNum) != null) {
+            if (mutableTopology.getOutgoingLink(dpid, portNum) != null ||
+                    mutableTopology.getIncomingLink(dpid, portNum) != null) {
                 log.debug("Not adding host {} as " +
                         "there is a link on the port: dpid {} port {}",
                         srcHost.getMacAddress(), dpid, portNum);
                 return Command.CONTINUE;
             }
         } finally {
-            topology.releaseReadLock();
+            mutableTopology.releaseReadLock();
         }
 
         Long mac = eth.getSourceMAC().toLong();
@@ -175,10 +175,10 @@
         @Override
         public void run() {
             log.debug("called HostCleaner");
-            topology.acquireReadLock();
+            mutableTopology.acquireReadLock();
             try {
                 Set<net.onrc.onos.core.topology.Host> deleteSet = new HashSet<>();
-                for (net.onrc.onos.core.topology.Host host : topology.getHosts()) {
+                for (net.onrc.onos.core.topology.Host host : mutableTopology.getHosts()) {
                     long now = System.currentTimeMillis();
                     if ((now - host.getLastSeenTime() > agingMillisecConfig)) {
                         if (log.isTraceEnabled()) {
@@ -198,7 +198,7 @@
                 // all exceptions here.
                 log.error("Exception in host cleanup thread:", e);
             } finally {
-                topology.releaseReadLock();
+                mutableTopology.releaseReadLock();
             }
         }
     }
@@ -259,7 +259,7 @@
         floodlightProvider = context.getServiceImpl(IFloodlightProviderService.class);
         hostListeners = new CopyOnWriteArrayList<IHostListener>();
         topologyService = context.getServiceImpl(ITopologyService.class);
-        topology = topologyService.getTopology();
+        mutableTopology = topologyService.getTopology();
 
         setHostManagerProperties(context);
     }
@@ -280,9 +280,9 @@
     @Override
     public void deleteHostByMac(MACAddress mac) {
         Host deleteHost = null;
-        topology.acquireReadLock();
+        mutableTopology.acquireReadLock();
         try {
-            net.onrc.onos.core.topology.Host host = topology.getHostByMac(mac);
+            net.onrc.onos.core.topology.Host host = mutableTopology.getHostByMac(mac);
 
             for (Port switchPort : host.getAttachmentPoints()) {
                 // We don't handle vlan now and multiple attachment points.
@@ -295,7 +295,7 @@
                 break; // NOPMD
             }
         } finally {
-            topology.releaseReadLock();
+            mutableTopology.releaseReadLock();
         }
 
         if (deleteHost != null) {