Converted UiSharedTopologyModel to be a @Service.
Change-Id: Idc8df1b9c0a52db01ac545567dacc0e1c770f84a
diff --git a/core/api/src/main/java/org/onosproject/net/region/RegionService.java b/core/api/src/main/java/org/onosproject/net/region/RegionService.java
index 7591e72..259c8b0 100644
--- a/core/api/src/main/java/org/onosproject/net/region/RegionService.java
+++ b/core/api/src/main/java/org/onosproject/net/region/RegionService.java
@@ -16,6 +16,7 @@
package org.onosproject.net.region;
+import org.onosproject.event.ListenerService;
import org.onosproject.net.DeviceId;
import java.util.Set;
@@ -23,7 +24,7 @@
/**
* Service for interacting with inventory of network control regions.
*/
-public interface RegionService {
+public interface RegionService extends ListenerService<RegionEvent, RegionListener> {
/**
* Returns set of all regions.
diff --git a/core/api/src/main/java/org/onosproject/ui/model/topo/UiCluster.java b/core/api/src/main/java/org/onosproject/ui/model/topo/UiCluster.java
index 2ec0444..87afc56b 100644
--- a/core/api/src/main/java/org/onosproject/ui/model/topo/UiCluster.java
+++ b/core/api/src/main/java/org/onosproject/ui/model/topo/UiCluster.java
@@ -19,5 +19,5 @@
/**
* Encapsulates the notion of the ONOS cluster.
*/
-public class UiCluster {
+public class UiCluster extends UiElement {
}
diff --git a/core/api/src/main/java/org/onosproject/ui/model/topo/UiClusterMember.java b/core/api/src/main/java/org/onosproject/ui/model/topo/UiClusterMember.java
index 7a6ad02..71bba93 100644
--- a/core/api/src/main/java/org/onosproject/ui/model/topo/UiClusterMember.java
+++ b/core/api/src/main/java/org/onosproject/ui/model/topo/UiClusterMember.java
@@ -19,5 +19,5 @@
/**
* Represents an individual member of the cluster (ONOS instance).
*/
-public class UiClusterMember {
+public class UiClusterMember extends UiElement {
}
diff --git a/core/api/src/main/java/org/onosproject/ui/model/topo/UiElement.java b/core/api/src/main/java/org/onosproject/ui/model/topo/UiElement.java
new file mode 100644
index 0000000..4f2f9cb
--- /dev/null
+++ b/core/api/src/main/java/org/onosproject/ui/model/topo/UiElement.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2016 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.ui.model.topo;
+
+/**
+ * Abstract base class of all elements in the UI topology model.
+ */
+public class UiElement {
+}
diff --git a/core/api/src/main/java/org/onosproject/ui/model/topo/UiLink.java b/core/api/src/main/java/org/onosproject/ui/model/topo/UiLink.java
index 15b3996..fe1842e 100644
--- a/core/api/src/main/java/org/onosproject/ui/model/topo/UiLink.java
+++ b/core/api/src/main/java/org/onosproject/ui/model/topo/UiLink.java
@@ -19,5 +19,5 @@
/**
* Represents a bi-directional link backed by two uni-directional links.
*/
-public class UiLink {
+public class UiLink extends UiElement {
}
diff --git a/core/api/src/main/java/org/onosproject/ui/model/topo/UiNode.java b/core/api/src/main/java/org/onosproject/ui/model/topo/UiNode.java
index 09b1791..53bdfde 100644
--- a/core/api/src/main/java/org/onosproject/ui/model/topo/UiNode.java
+++ b/core/api/src/main/java/org/onosproject/ui/model/topo/UiNode.java
@@ -19,5 +19,5 @@
/**
* Represents a node drawn on the topology view (region, device, host).
*/
-public abstract class UiNode {
+public abstract class UiNode extends UiElement {
}
diff --git a/core/api/src/main/java/org/onosproject/ui/model/topo/UiTopology.java b/core/api/src/main/java/org/onosproject/ui/model/topo/UiTopology.java
index e54ac66..5f4195e 100644
--- a/core/api/src/main/java/org/onosproject/ui/model/topo/UiTopology.java
+++ b/core/api/src/main/java/org/onosproject/ui/model/topo/UiTopology.java
@@ -19,5 +19,5 @@
/**
* Represents the overall network topology.
*/
-public class UiTopology {
+public class UiTopology extends UiElement {
}