Adding @Beta to TunnelService and associated API classes

Change-Id: I58ea6b5ef63ed9a6f7c45a3f27ed08fc70683acd
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java
index f80dfac..ae0f514 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultOpticalTunnelEndPoint.java
@@ -20,6 +20,7 @@
 import java.util.Objects;
 import java.util.Optional;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.net.AbstractModel;
 import org.onosproject.net.Annotations;
 import org.onosproject.net.ElementId;
@@ -29,6 +30,7 @@
 /**
  * Default optical tunnel point model implementation.
  */
+@Beta
 public class DefaultOpticalTunnelEndPoint extends AbstractModel implements OpticalTunnelEndPoint {
     private final Optional<ElementId> elementId;
     private final Optional<PortNumber> portNumber;
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java
index 5f448e0..86a790f 100755
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnel.java
@@ -19,6 +19,7 @@
 
 import java.util.Objects;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.DefaultGroupId;
 import org.onosproject.net.AbstractModel;
 import org.onosproject.net.Annotations;
@@ -30,6 +31,7 @@
  * The default implementation of an network tunnel. supports for creating a
  * tunnel by connect point ,IP address, MAC address, device and so on.
  */
+@Beta
 public final class DefaultTunnel extends AbstractModel implements Tunnel {
 
     private final TunnelEndPoint src; // a source point of tunnel.
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java
index 347021d..055934a 100755
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DefaultTunnelDescription.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.DefaultGroupId;
 import org.onosproject.net.AbstractDescription;
 import org.onosproject.net.Path;
@@ -26,6 +27,7 @@
 /**
  * Default implementation of immutable tunnel description entity.
  */
+@Beta
 public class DefaultTunnelDescription extends AbstractDescription
         implements TunnelDescription {
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java
index a9278fc..7c5247a 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/IpTunnelEndPoint.java
@@ -18,12 +18,15 @@
 
 import java.util.Objects;
 
+import com.google.common.annotations.Beta;
 import org.onlab.packet.IpAddress;
 
 import com.google.common.base.MoreObjects;
+
 /**
  * Represent for a tunnel point using ip address.
  */
+@Beta
 public final class IpTunnelEndPoint implements TunnelEndPoint {
 
     private final IpAddress ip;
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java
index fee5542..90f5eab 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalLogicId.java
@@ -17,11 +17,14 @@
 package org.onosproject.incubator.net.tunnel;
 
 import java.util.Objects;
+
+import com.google.common.annotations.Beta;
 import com.google.common.primitives.UnsignedLongs;
 
 /**
  * Representation of a label Id, a logical port identifier.
  */
+@Beta
 public final class OpticalLogicId {
         /**
          * Represents a logical Id.
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java
index 7f0ab4b..7d72398 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/OpticalTunnelEndPoint.java
@@ -18,6 +18,7 @@
 
 import java.util.Optional;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.net.Annotated;
 import org.onosproject.net.ElementId;
 import org.onosproject.net.NetworkResource;
@@ -29,6 +30,7 @@
  * it is used to identify e.g., ODUk timeSlot, WDM lambda, etc.
  * It supports nested case.
  */
+@Beta
 public interface OpticalTunnelEndPoint extends TunnelEndPoint, Annotated, Provided, NetworkResource {
 
     /** Represents coarse tunnel point type classification. */
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java
index edbbe1b..33af106 100755
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/Tunnel.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.DefaultGroupId;
 import org.onosproject.net.Annotated;
 import org.onosproject.net.NetworkResource;
@@ -28,6 +29,7 @@
  * least two tunnel end point objects that model the logical ports essentially.
  * Note that it supports nested case.
  */
+@Beta
 public interface Tunnel extends Annotated, Provided, NetworkResource {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java
index 3c6cf3f..5165a68 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelAdminService.java
@@ -16,12 +16,14 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.net.Path;
 import org.onosproject.net.provider.ProviderId;
 
 /**
  * Service for administering the inventory of provisioned tunnels.
  */
+@Beta
 public interface TunnelAdminService {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java
index dbcbc63..a8408be 100755
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelDescription.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.DefaultGroupId;
 import org.onosproject.incubator.net.tunnel.Tunnel.Type;
 import org.onosproject.net.Annotated;
@@ -25,6 +26,7 @@
 /**
  * Describes a tunnel.
  */
+@Beta
 public interface TunnelDescription extends Description, Annotated {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java
index 3265a4e..5589028 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEndPoint.java
@@ -16,10 +16,13 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
+
 /**
  * Represents for source end point or destination end point of a tunnel. Maybe a tunnel
  * based on ConnectPoint, IpAddress, MacAddress and so on is built.
  */
+@Beta
 public interface TunnelEndPoint {
 
 }
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java
index 16c5ec3..18044ee 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelEvent.java
@@ -16,11 +16,13 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.event.AbstractEvent;
 
 /**
  * Describes tunnel events.
  */
+@Beta
 public final class TunnelEvent extends AbstractEvent<TunnelEvent.Type, Tunnel> {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java
index 0cbad8c..5a3f97f 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelId.java
@@ -16,10 +16,12 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 
 /**
  * Representation of a Tunnel Id.
  */
+@Beta
 public final class TunnelId {
     private final long value;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java
index 41011be..b3a69fd 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelListener.java
@@ -16,10 +16,12 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.event.EventListener;
 
 /**
  * Entity capable of receiving tunnel related events.
  */
+@Beta
 public interface TunnelListener extends EventListener<TunnelEvent> {
 }
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java
index 7e32137..77a8c8e 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelName.java
@@ -16,6 +16,8 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
+
 import java.util.Objects;
 
 /**
@@ -23,6 +25,7 @@
  * TunnelName is given by producer. The consumer can borrow tunnels with
  * TunnelId or TunnelName.
  */
+@Beta
 public final class TunnelName {
     private final String str;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java
index 1107fc1..5677901 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProvider.java
@@ -16,6 +16,7 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.net.ElementId;
 import org.onosproject.net.Path;
 import org.onosproject.net.provider.Provider;
@@ -23,6 +24,7 @@
 /**
  * Abstraction of an entity providing tunnel setup/release services to the core.
  */
+@Beta
 public interface TunnelProvider extends Provider {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java
index 33ff21c..069455a 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderRegistry.java
@@ -16,11 +16,13 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.net.provider.ProviderRegistry;
 
 /**
  * Abstraction of an tunnel provider registry.
  */
+@Beta
 public interface TunnelProviderRegistry
         extends ProviderRegistry<TunnelProvider, TunnelProviderService> {
 }
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java
index 84f8f24..bb158bf 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelProviderService.java
@@ -16,11 +16,13 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.net.provider.ProviderService;
 
 /**
  * APIs for tunnel provider to notify the tunnel subSystem.
  */
+@Beta
 public interface TunnelProviderService extends ProviderService<TunnelProvider> {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java
index 1216cc6..a495955 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelService.java
@@ -17,6 +17,7 @@
 
 import java.util.Collection;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.incubator.net.tunnel.Tunnel.Type;
 import org.onosproject.net.Annotations;
@@ -25,6 +26,7 @@
 /**
  * Service for interacting with the inventory of tunnels.
  */
+@Beta
 public interface TunnelService {
 
     /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java
index b773611..00ed577 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStore.java
@@ -17,6 +17,7 @@
 
 import java.util.Collection;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.incubator.net.tunnel.Tunnel.Type;
 import org.onosproject.net.Annotations;
@@ -26,6 +27,7 @@
 /**
  * Manages inventory of tunnel; not intended for direct use.
  */
+@Beta
 public interface TunnelStore extends Store<TunnelEvent, TunnelStoreDelegate> {
     /**
      * Creates or updates a tunnel.
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java
index cf8a998..dfbc6ec 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelStoreDelegate.java
@@ -16,10 +16,12 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.store.StoreDelegate;
 
 /**
  * Tunnel store delegate abstraction.
  */
+@Beta
 public interface TunnelStoreDelegate extends StoreDelegate<TunnelEvent> {
 }
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java
index 9dd8e62..336789b 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/TunnelSubscription.java
@@ -20,6 +20,7 @@
 
 import java.util.Objects;
 
+import com.google.common.annotations.Beta;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.AbstractAnnotated;
 import org.onosproject.net.Annotations;
@@ -33,6 +34,7 @@
  * ONOS. Although there is no a tunnel that consumer want to use, when producer
  * creates a new tunnel, ONOS will notify the consumers that want to use it.
  */
+@Beta
 public final class TunnelSubscription extends AbstractAnnotated {
     private final ApplicationId consumerId;
     private final TunnelEndPoint src;