[ONOS-3538] Implement control metrics distribution logic

- Revise getLoad method to getLocalLoad
- Add new getRemoteLoad methods
- Add the capability to query remote control load

CLI and REST will be implemented in a separated patch

Change-Id: I62d4f4ab891d6d3e95cedd5af9e4ab71949c05ec
diff --git a/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java b/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java
index 85b361c..80946bb 100644
--- a/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java
+++ b/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java
@@ -25,6 +25,7 @@
 
 import java.util.Optional;
 import java.util.Set;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * Test adapter control plane monitoring service.
@@ -32,23 +33,38 @@
 public class ControlPlaneMonitorServiceAdaptor implements ControlPlaneMonitorService {
     @Override
     public void updateMetric(ControlMetric controlMetric,
-                             int updateIntervalInMinutes, Optional<DeviceId> deviceId) {
+                             int updateIntervalInMinutes,
+                             Optional<DeviceId> deviceId) {
     }
 
     @Override
     public void updateMetric(ControlMetric controlMetric,
-                             int updateIntervalInMinutes, String resourceName) {
+                             int updateIntervalInMinutes,
+                             String resourceName) {
     }
 
     @Override
-    public ControlLoad getLoad(NodeId nodeId,
-                               ControlMetricType type, Optional<DeviceId> deviceId) {
+    public ControlLoad getLocalLoad(ControlMetricType type,
+                                    Optional<DeviceId> deviceId) {
         return null;
     }
 
     @Override
-    public ControlLoad getLoad(NodeId nodeId,
-                               ControlMetricType type, String resourceName) {
+    public ControlLoad getLocalLoad(ControlMetricType type, String resourceName) {
+        return null;
+    }
+
+    @Override
+    public CompletableFuture<ControlLoad> getRemoteLoad(NodeId nodeId,
+                                                        ControlMetricType type,
+                                                        Optional<DeviceId> deviceId) {
+        return null;
+    }
+
+    @Override
+    public CompletableFuture<ControlLoad> getRemoteLoad(NodeId nodeId,
+                                                        ControlMetricType type,
+                                                        String resourceName) {
         return null;
     }