Refactoring

- Renamed Clock{Service, Provider} -> DeviceClock*
- move from store -> net/device package

Change-Id: Ib4ba5119146bb2df97d3148f48890fb1f47d6a9d
diff --git a/core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
similarity index 85%
rename from core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
rename to core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
index a5f81c7..cfd14c0 100644
--- a/core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
 
 import org.onlab.onos.cluster.MastershipTerm;
 import org.onlab.onos.net.DeviceId;
@@ -8,7 +8,7 @@
 * Interface for feeding term information to a logical clock service
 * that vends per device timestamps.
 */
-public interface ClockProviderService {
+public interface DeviceClockProviderService {
 
     /**
      * Updates the mastership term for the specified deviceId.
diff --git a/core/api/src/main/java/org/onlab/onos/store/ClockService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
similarity index 76%
rename from core/api/src/main/java/org/onlab/onos/store/ClockService.java
rename to core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
index 20549e8..ccdfeb0 100644
--- a/core/api/src/main/java/org/onlab/onos/store/ClockService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
@@ -1,12 +1,13 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
 
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.store.Timestamp;
 
 // TODO: Consider renaming to DeviceClockService?
 /**
  * Interface for a logical clock service that vends per device timestamps.
  */
-public interface ClockService {
+public interface DeviceClockService {
 
     /**
      * Returns a new timestamp for the specified deviceId.
diff --git a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
index 36caafb..d1d9db9 100644
--- a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
@@ -28,6 +28,7 @@
 import org.onlab.onos.net.PortNumber;
 import org.onlab.onos.net.device.DefaultDeviceDescription;
 import org.onlab.onos.net.device.DeviceAdminService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
 import org.onlab.onos.net.device.DeviceDescription;
 import org.onlab.onos.net.device.DeviceEvent;
 import org.onlab.onos.net.device.DeviceListener;
@@ -40,7 +41,6 @@
 import org.onlab.onos.net.device.PortDescription;
 import org.onlab.onos.net.provider.AbstractProviderRegistry;
 import org.onlab.onos.net.provider.AbstractProviderService;
-import org.onlab.onos.store.ClockProviderService;
 import org.slf4j.Logger;
 
 /**
@@ -82,7 +82,7 @@
     protected MastershipTermService termService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected ClockProviderService clockProviderService;
+    protected DeviceClockProviderService deviceClockProviderService;
 
     @Activate
     public void activate() {
@@ -217,7 +217,7 @@
                 return;
             }
             // tell clock provider if this instance is the master
-            clockProviderService.setMastershipTerm(deviceId, term);
+            deviceClockProviderService.setMastershipTerm(deviceId, term);
 
             DeviceEvent event = store.createOrUpdateDevice(provider().id(),
                     deviceId, deviceDescription);
@@ -333,7 +333,7 @@
 
                 if (term.master().equals(myNodeId)) {
                     // only set the new term if I am the master
-                    clockProviderService.setMastershipTerm(did, term);
+                    deviceClockProviderService.setMastershipTerm(did, term);
                 }
 
                 // FIXME: we should check that the device is connected on our end.
diff --git a/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
index e833b4a..95f578b 100644
--- a/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
@@ -25,6 +25,7 @@
 import org.onlab.onos.net.device.DefaultDeviceDescription;
 import org.onlab.onos.net.device.DefaultPortDescription;
 import org.onlab.onos.net.device.DeviceAdminService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
 import org.onlab.onos.net.device.DeviceDescription;
 import org.onlab.onos.net.device.DeviceEvent;
 import org.onlab.onos.net.device.DeviceListener;
@@ -35,7 +36,6 @@
 import org.onlab.onos.net.device.PortDescription;
 import org.onlab.onos.net.provider.AbstractProvider;
 import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.ClockProviderService;
 import org.onlab.onos.store.trivial.impl.SimpleDeviceStore;
 import org.onlab.packet.IpPrefix;
 
@@ -88,7 +88,7 @@
         mgr.eventDispatcher = new TestEventDispatcher();
         mgr.mastershipService = new TestMastershipService();
         mgr.clusterService = new TestClusterService();
-        mgr.clockProviderService = new TestClockProviderService();
+        mgr.deviceClockProviderService = new TestClockProviderService();
         mgr.activate();
 
         service.addListener(listener);
@@ -336,7 +336,7 @@
     }
 
     private final class TestClockProviderService implements
-            ClockProviderService {
+            DeviceClockProviderService {
 
         @Override
         public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) {
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java
index e1e3692..295f31b 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java
@@ -12,8 +12,8 @@
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.onos.cluster.MastershipTerm;
 import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.ClockProviderService;
-import org.onlab.onos.store.ClockService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
+import org.onlab.onos.net.device.DeviceClockService;
 import org.onlab.onos.store.Timestamp;
 import org.onlab.onos.store.common.impl.MastershipBasedTimestamp;
 import org.slf4j.Logger;
@@ -23,7 +23,7 @@
  */
 @Component(immediate = true)
 @Service
-public class DeviceClockManager implements ClockService, ClockProviderService {
+public class DeviceClockManager implements DeviceClockService, DeviceClockProviderService {
 
     private final Logger log = getLogger(getClass());
 
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
index 12ecf74..93ebebf 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
@@ -25,6 +25,7 @@
 import org.onlab.onos.net.DeviceId;
 import org.onlab.onos.net.Port;
 import org.onlab.onos.net.PortNumber;
+import org.onlab.onos.net.device.DeviceClockService;
 import org.onlab.onos.net.device.DeviceDescription;
 import org.onlab.onos.net.device.DeviceEvent;
 import org.onlab.onos.net.device.DeviceStore;
@@ -32,7 +33,6 @@
 import org.onlab.onos.net.device.PortDescription;
 import org.onlab.onos.net.provider.ProviderId;
 import org.onlab.onos.store.AbstractStore;
-import org.onlab.onos.store.ClockService;
 import org.onlab.onos.store.Timestamp;
 import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
 import org.onlab.onos.store.cluster.messaging.ClusterMessage;
@@ -111,7 +111,7 @@
     private final Set<DeviceId> availableDevices = Sets.newConcurrentHashSet();
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected ClockService clockService;
+    protected DeviceClockService deviceClockService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected ClusterCommunicationService clusterCommunicator;
@@ -207,7 +207,7 @@
     public synchronized DeviceEvent createOrUpdateDevice(ProviderId providerId,
                                      DeviceId deviceId,
                                      DeviceDescription deviceDescription) {
-        final Timestamp newTimestamp = clockService.getTimestamp(deviceId);
+        final Timestamp newTimestamp = deviceClockService.getTimestamp(deviceId);
         final Timestamped<DeviceDescription> deltaDesc = new Timestamped<>(deviceDescription, newTimestamp);
         final DeviceEvent event;
         final Timestamped<DeviceDescription> mergedDesc;
@@ -323,7 +323,7 @@
 
     @Override
     public DeviceEvent markOffline(DeviceId deviceId) {
-        final Timestamp timestamp = clockService.getTimestamp(deviceId);
+        final Timestamp timestamp = deviceClockService.getTimestamp(deviceId);
         final DeviceEvent event = markOfflineInternal(deviceId, timestamp);
         if (event != null) {
             log.info("Notifying peers of a device offline topology event for deviceId: {}",
@@ -397,7 +397,7 @@
                                        DeviceId deviceId,
                                        List<PortDescription> portDescriptions) {
 
-        final Timestamp newTimestamp = clockService.getTimestamp(deviceId);
+        final Timestamp newTimestamp = deviceClockService.getTimestamp(deviceId);
 
         final Timestamped<List<PortDescription>> timestampedInput
                 = new Timestamped<>(portDescriptions, newTimestamp);
@@ -553,7 +553,7 @@
                                                      DeviceId deviceId,
                                                      PortDescription portDescription) {
 
-        final Timestamp newTimestamp = clockService.getTimestamp(deviceId);
+        final Timestamp newTimestamp = deviceClockService.getTimestamp(deviceId);
         final Timestamped<PortDescription> deltaDesc
             = new Timestamped<>(portDescription, newTimestamp);
         final DeviceEvent event;
@@ -646,7 +646,7 @@
 
     @Override
     public synchronized DeviceEvent removeDevice(DeviceId deviceId) {
-        Timestamp timestamp = clockService.getTimestamp(deviceId);
+        Timestamp timestamp = deviceClockService.getTimestamp(deviceId);
         DeviceEvent event = removeDeviceInternal(deviceId, timestamp);
         if (event != null) {
             log.info("Notifying peers of a device removed topology event for deviceId: {}",
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/GossipLinkStore.java b/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/GossipLinkStore.java
index 3c3cc5a..4cb936e 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/GossipLinkStore.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/GossipLinkStore.java
@@ -29,6 +29,7 @@
 import org.onlab.onos.net.Link.Type;
 import org.onlab.onos.net.LinkKey;
 import org.onlab.onos.net.Provided;
+import org.onlab.onos.net.device.DeviceClockService;
 import org.onlab.onos.net.link.DefaultLinkDescription;
 import org.onlab.onos.net.link.LinkDescription;
 import org.onlab.onos.net.link.LinkEvent;
@@ -36,7 +37,6 @@
 import org.onlab.onos.net.link.LinkStoreDelegate;
 import org.onlab.onos.net.provider.ProviderId;
 import org.onlab.onos.store.AbstractStore;
-import org.onlab.onos.store.ClockService;
 import org.onlab.onos.store.Timestamp;
 import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
 import org.onlab.onos.store.cluster.messaging.ClusterMessage;
@@ -100,7 +100,7 @@
     private final Map<LinkKey, Timestamp> removedLinks = Maps.newHashMap();
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected ClockService clockService;
+    protected DeviceClockService deviceClockService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected ClusterCommunicationService clusterCommunicator;
@@ -223,7 +223,7 @@
                                         LinkDescription linkDescription) {
 
         DeviceId dstDeviceId = linkDescription.dst().deviceId();
-        Timestamp newTimestamp = clockService.getTimestamp(dstDeviceId);
+        Timestamp newTimestamp = deviceClockService.getTimestamp(dstDeviceId);
 
         final Timestamped<LinkDescription> deltaDesc = new Timestamped<>(linkDescription, newTimestamp);
 
@@ -344,7 +344,7 @@
         final LinkKey key = new LinkKey(src, dst);
 
         DeviceId dstDeviceId = dst.deviceId();
-        Timestamp timestamp = clockService.getTimestamp(dstDeviceId);
+        Timestamp timestamp = deviceClockService.getTimestamp(dstDeviceId);
 
         LinkEvent event = removeLinkInternal(key, timestamp);
 
diff --git a/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java b/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java
index 3c83169..0e842ec 100644
--- a/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java
+++ b/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java
@@ -8,6 +8,7 @@
 import static org.onlab.onos.cluster.ControllerNode.State.*;
 import static org.onlab.onos.net.DefaultAnnotations.union;
 import static java.util.Arrays.asList;
+
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
@@ -41,13 +42,13 @@
 import org.onlab.onos.net.SparseAnnotations;
 import org.onlab.onos.net.device.DefaultDeviceDescription;
 import org.onlab.onos.net.device.DefaultPortDescription;
+import org.onlab.onos.net.device.DeviceClockService;
 import org.onlab.onos.net.device.DeviceDescription;
 import org.onlab.onos.net.device.DeviceEvent;
 import org.onlab.onos.net.device.DeviceStore;
 import org.onlab.onos.net.device.DeviceStoreDelegate;
 import org.onlab.onos.net.device.PortDescription;
 import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.ClockService;
 import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
 import org.onlab.onos.store.cluster.messaging.ClusterMessage;
 import org.onlab.onos.store.cluster.messaging.ClusterMessageHandler;
@@ -112,7 +113,7 @@
     private DeviceStore deviceStore;
 
     private DeviceClockManager deviceClockManager;
-    private ClockService clockService;
+    private DeviceClockService deviceClockService;
     private ClusterCommunicationService clusterCommunicator;
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
@@ -127,7 +128,7 @@
     public void setUp() throws Exception {
         deviceClockManager = new DeviceClockManager();
         deviceClockManager.activate();
-        clockService = deviceClockManager;
+        deviceClockService = deviceClockManager;
 
         deviceClockManager.setMastershipTerm(DID1, MastershipTerm.of(NID1, 1));
         deviceClockManager.setMastershipTerm(DID2, MastershipTerm.of(NID1, 2));
@@ -139,7 +140,7 @@
         replay(clusterCommunicator);
         ClusterService clusterService = new TestClusterService();
 
-        testGossipDeviceStore = new TestGossipDeviceStore(clockService, clusterService, clusterCommunicator);
+        testGossipDeviceStore = new TestGossipDeviceStore(deviceClockService, clusterService, clusterCommunicator);
         gossipDeviceStore = testGossipDeviceStore;
         gossipDeviceStore.activate();
         deviceStore = gossipDeviceStore;
@@ -797,10 +798,10 @@
     private static final class TestGossipDeviceStore extends GossipDeviceStore {
 
         public TestGossipDeviceStore(
-                ClockService clockService,
+                DeviceClockService deviceClockService,
                 ClusterService clusterService,
                 ClusterCommunicationService clusterCommunicator) {
-            this.clockService = clockService;
+            this.deviceClockService = deviceClockService;
             this.clusterService = clusterService;
             this.clusterCommunicator = clusterCommunicator;
         }
diff --git a/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java b/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java
index b68620a..122b59d 100644
--- a/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java
+++ b/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java
@@ -4,15 +4,15 @@
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.onos.cluster.MastershipTerm;
 import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.ClockProviderService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
 
 // FIXME: Code clone in onos-core-trivial, onos-core-hz-net
 /**
- * Dummy implementation of {@link ClockProviderService}.
+ * Dummy implementation of {@link DeviceClockProviderService}.
  */
 @Component(immediate = true)
 @Service
-public class NoOpClockProviderService implements ClockProviderService {
+public class NoOpClockProviderService implements DeviceClockProviderService {
 
     @Override
     public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) {
diff --git a/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java b/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java
index ff4b31a..51d38a0 100644
--- a/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java
+++ b/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java
@@ -4,15 +4,15 @@
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.onos.cluster.MastershipTerm;
 import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.ClockProviderService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
 
 //FIXME: Code clone in onos-core-trivial, onos-core-hz-net
 /**
- * Dummy implementation of {@link ClockProviderService}.
+ * Dummy implementation of {@link DeviceClockProviderService}.
  */
 @Component(immediate = true)
 @Service
-public class NoOpClockProviderService implements ClockProviderService {
+public class NoOpClockProviderService implements DeviceClockProviderService {
 
     @Override
     public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) {