Refactored the HostStore to allow multiple MAC addresses bound to a single port

Change-Id: Icd3b2e483b15486251ac1cca107478a012d1a3e7
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
index f421fd8..c51a847 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
@@ -34,11 +34,7 @@
      * Binds IP and MAC addresses to the given connection point.
      * <p>
      * The addresses are added to the set of addresses already bound to the
-     * connection point. If any of the fields in addresses is null, no change
-     * is made to the corresponding addresses in the store.
-     * {@link #unbindAddressesFromPort(PortAddresses)} must be use to unbind
-     * addresses that have previously been bound.
-     * </p>
+     * connection point.
      *
      * @param addresses address object containing addresses to add and the port
      * to add them to
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
index aa31459..7f7be50 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
@@ -135,7 +135,7 @@
      * @param connectPoint the connection point to retrieve address bindings for
      * @return addresses bound to the port
      */
-    PortAddresses getAddressBindingsForPort(ConnectPoint connectPoint);
+    Set<PortAddresses> getAddressBindingsForPort(ConnectPoint connectPoint);
 
     /**
      * Adds the specified host listener.
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostStore.java b/core/api/src/main/java/org/onlab/onos/net/host/HostStore.java
index a6bf96d..0316dcf 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostStore.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostStore.java
@@ -15,6 +15,8 @@
  */
 package org.onlab.onos.net.host;
 
+import java.util.Set;
+
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.DeviceId;
 import org.onlab.onos.net.Host;
@@ -25,8 +27,6 @@
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 
-import java.util.Set;
-
 /**
  * Manages inventory of end-station hosts; not intended for direct use.
  */
@@ -153,5 +153,5 @@
      *                     for
      * @return address information for the connection point
      */
-    PortAddresses getAddressBindingsForPort(ConnectPoint connectPoint);
+    Set<PortAddresses> getAddressBindingsForPort(ConnectPoint connectPoint);
 }