Brian O'Connor

Adding @Beta to TunnelService and associated API classes

Change-Id: I58ea6b5ef63ed9a6f7c45a3f27ed08fc70683acd
Showing 21 changed files with 46 additions and 0 deletions
...@@ -20,6 +20,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; ...@@ -20,6 +20,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
20 import java.util.Objects; 20 import java.util.Objects;
21 import java.util.Optional; 21 import java.util.Optional;
22 22
23 +import com.google.common.annotations.Beta;
23 import org.onosproject.net.AbstractModel; 24 import org.onosproject.net.AbstractModel;
24 import org.onosproject.net.Annotations; 25 import org.onosproject.net.Annotations;
25 import org.onosproject.net.ElementId; 26 import org.onosproject.net.ElementId;
...@@ -29,6 +30,7 @@ import org.onosproject.net.provider.ProviderId; ...@@ -29,6 +30,7 @@ import org.onosproject.net.provider.ProviderId;
29 /** 30 /**
30 * Default optical tunnel point model implementation. 31 * Default optical tunnel point model implementation.
31 */ 32 */
33 +@Beta
32 public class DefaultOpticalTunnelEndPoint extends AbstractModel implements OpticalTunnelEndPoint { 34 public class DefaultOpticalTunnelEndPoint extends AbstractModel implements OpticalTunnelEndPoint {
33 private final Optional<ElementId> elementId; 35 private final Optional<ElementId> elementId;
34 private final Optional<PortNumber> portNumber; 36 private final Optional<PortNumber> portNumber;
......
...@@ -19,6 +19,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; ...@@ -19,6 +19,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
19 19
20 import java.util.Objects; 20 import java.util.Objects;
21 21
22 +import com.google.common.annotations.Beta;
22 import org.onosproject.core.DefaultGroupId; 23 import org.onosproject.core.DefaultGroupId;
23 import org.onosproject.net.AbstractModel; 24 import org.onosproject.net.AbstractModel;
24 import org.onosproject.net.Annotations; 25 import org.onosproject.net.Annotations;
...@@ -30,6 +31,7 @@ import org.onosproject.net.provider.ProviderId; ...@@ -30,6 +31,7 @@ import org.onosproject.net.provider.ProviderId;
30 * The default implementation of an network tunnel. supports for creating a 31 * The default implementation of an network tunnel. supports for creating a
31 * tunnel by connect point ,IP address, MAC address, device and so on. 32 * tunnel by connect point ,IP address, MAC address, device and so on.
32 */ 33 */
34 +@Beta
33 public final class DefaultTunnel extends AbstractModel implements Tunnel { 35 public final class DefaultTunnel extends AbstractModel implements Tunnel {
34 36
35 private final TunnelEndPoint src; // a source point of tunnel. 37 private final TunnelEndPoint src; // a source point of tunnel.
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.incubator.net.tunnel; 16 package org.onosproject.incubator.net.tunnel;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.DefaultGroupId; 19 import org.onosproject.core.DefaultGroupId;
19 import org.onosproject.net.AbstractDescription; 20 import org.onosproject.net.AbstractDescription;
20 import org.onosproject.net.Path; 21 import org.onosproject.net.Path;
...@@ -26,6 +27,7 @@ import com.google.common.base.MoreObjects; ...@@ -26,6 +27,7 @@ import com.google.common.base.MoreObjects;
26 /** 27 /**
27 * Default implementation of immutable tunnel description entity. 28 * Default implementation of immutable tunnel description entity.
28 */ 29 */
30 +@Beta
29 public class DefaultTunnelDescription extends AbstractDescription 31 public class DefaultTunnelDescription extends AbstractDescription
30 implements TunnelDescription { 32 implements TunnelDescription {
31 33
......
...@@ -18,12 +18,15 @@ package org.onosproject.incubator.net.tunnel; ...@@ -18,12 +18,15 @@ package org.onosproject.incubator.net.tunnel;
18 18
19 import java.util.Objects; 19 import java.util.Objects;
20 20
21 +import com.google.common.annotations.Beta;
21 import org.onlab.packet.IpAddress; 22 import org.onlab.packet.IpAddress;
22 23
23 import com.google.common.base.MoreObjects; 24 import com.google.common.base.MoreObjects;
25 +
24 /** 26 /**
25 * Represent for a tunnel point using ip address. 27 * Represent for a tunnel point using ip address.
26 */ 28 */
29 +@Beta
27 public final class IpTunnelEndPoint implements TunnelEndPoint { 30 public final class IpTunnelEndPoint implements TunnelEndPoint {
28 31
29 private final IpAddress ip; 32 private final IpAddress ip;
......
...@@ -17,11 +17,14 @@ ...@@ -17,11 +17,14 @@
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 import java.util.Objects; 19 import java.util.Objects;
20 +
21 +import com.google.common.annotations.Beta;
20 import com.google.common.primitives.UnsignedLongs; 22 import com.google.common.primitives.UnsignedLongs;
21 23
22 /** 24 /**
23 * Representation of a label Id, a logical port identifier. 25 * Representation of a label Id, a logical port identifier.
24 */ 26 */
27 +@Beta
25 public final class OpticalLogicId { 28 public final class OpticalLogicId {
26 /** 29 /**
27 * Represents a logical Id. 30 * Represents a logical Id.
......
...@@ -18,6 +18,7 @@ package org.onosproject.incubator.net.tunnel; ...@@ -18,6 +18,7 @@ package org.onosproject.incubator.net.tunnel;
18 18
19 import java.util.Optional; 19 import java.util.Optional;
20 20
21 +import com.google.common.annotations.Beta;
21 import org.onosproject.net.Annotated; 22 import org.onosproject.net.Annotated;
22 import org.onosproject.net.ElementId; 23 import org.onosproject.net.ElementId;
23 import org.onosproject.net.NetworkResource; 24 import org.onosproject.net.NetworkResource;
...@@ -29,6 +30,7 @@ import org.onosproject.net.Provided; ...@@ -29,6 +30,7 @@ import org.onosproject.net.Provided;
29 * it is used to identify e.g., ODUk timeSlot, WDM lambda, etc. 30 * it is used to identify e.g., ODUk timeSlot, WDM lambda, etc.
30 * It supports nested case. 31 * It supports nested case.
31 */ 32 */
33 +@Beta
32 public interface OpticalTunnelEndPoint extends TunnelEndPoint, Annotated, Provided, NetworkResource { 34 public interface OpticalTunnelEndPoint extends TunnelEndPoint, Annotated, Provided, NetworkResource {
33 35
34 /** Represents coarse tunnel point type classification. */ 36 /** Represents coarse tunnel point type classification. */
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.incubator.net.tunnel; 16 package org.onosproject.incubator.net.tunnel;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.DefaultGroupId; 19 import org.onosproject.core.DefaultGroupId;
19 import org.onosproject.net.Annotated; 20 import org.onosproject.net.Annotated;
20 import org.onosproject.net.NetworkResource; 21 import org.onosproject.net.NetworkResource;
...@@ -28,6 +29,7 @@ import org.onosproject.net.Provided; ...@@ -28,6 +29,7 @@ import org.onosproject.net.Provided;
28 * least two tunnel end point objects that model the logical ports essentially. 29 * least two tunnel end point objects that model the logical ports essentially.
29 * Note that it supports nested case. 30 * Note that it supports nested case.
30 */ 31 */
32 +@Beta
31 public interface Tunnel extends Annotated, Provided, NetworkResource { 33 public interface Tunnel extends Annotated, Provided, NetworkResource {
32 34
33 /** 35 /**
......
...@@ -16,12 +16,14 @@ ...@@ -16,12 +16,14 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.net.Path; 20 import org.onosproject.net.Path;
20 import org.onosproject.net.provider.ProviderId; 21 import org.onosproject.net.provider.ProviderId;
21 22
22 /** 23 /**
23 * Service for administering the inventory of provisioned tunnels. 24 * Service for administering the inventory of provisioned tunnels.
24 */ 25 */
26 +@Beta
25 public interface TunnelAdminService { 27 public interface TunnelAdminService {
26 28
27 /** 29 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.incubator.net.tunnel; 16 package org.onosproject.incubator.net.tunnel;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.DefaultGroupId; 19 import org.onosproject.core.DefaultGroupId;
19 import org.onosproject.incubator.net.tunnel.Tunnel.Type; 20 import org.onosproject.incubator.net.tunnel.Tunnel.Type;
20 import org.onosproject.net.Annotated; 21 import org.onosproject.net.Annotated;
...@@ -25,6 +26,7 @@ import org.onosproject.net.provider.ProviderId; ...@@ -25,6 +26,7 @@ import org.onosproject.net.provider.ProviderId;
25 /** 26 /**
26 * Describes a tunnel. 27 * Describes a tunnel.
27 */ 28 */
29 +@Beta
28 public interface TunnelDescription extends Description, Annotated { 30 public interface TunnelDescription extends Description, Annotated {
29 31
30 /** 32 /**
......
...@@ -16,10 +16,13 @@ ...@@ -16,10 +16,13 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
20 +
19 /** 21 /**
20 * Represents for source end point or destination end point of a tunnel. Maybe a tunnel 22 * Represents for source end point or destination end point of a tunnel. Maybe a tunnel
21 * based on ConnectPoint, IpAddress, MacAddress and so on is built. 23 * based on ConnectPoint, IpAddress, MacAddress and so on is built.
22 */ 24 */
25 +@Beta
23 public interface TunnelEndPoint { 26 public interface TunnelEndPoint {
24 27
25 } 28 }
......
...@@ -16,11 +16,13 @@ ...@@ -16,11 +16,13 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.event.AbstractEvent; 20 import org.onosproject.event.AbstractEvent;
20 21
21 /** 22 /**
22 * Describes tunnel events. 23 * Describes tunnel events.
23 */ 24 */
25 +@Beta
24 public final class TunnelEvent extends AbstractEvent<TunnelEvent.Type, Tunnel> { 26 public final class TunnelEvent extends AbstractEvent<TunnelEvent.Type, Tunnel> {
25 27
26 /** 28 /**
......
...@@ -16,10 +16,12 @@ ...@@ -16,10 +16,12 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 20
20 /** 21 /**
21 * Representation of a Tunnel Id. 22 * Representation of a Tunnel Id.
22 */ 23 */
24 +@Beta
23 public final class TunnelId { 25 public final class TunnelId {
24 private final long value; 26 private final long value;
25 27
......
...@@ -16,10 +16,12 @@ ...@@ -16,10 +16,12 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.event.EventListener; 20 import org.onosproject.event.EventListener;
20 21
21 /** 22 /**
22 * Entity capable of receiving tunnel related events. 23 * Entity capable of receiving tunnel related events.
23 */ 24 */
25 +@Beta
24 public interface TunnelListener extends EventListener<TunnelEvent> { 26 public interface TunnelListener extends EventListener<TunnelEvent> {
25 } 27 }
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
20 +
19 import java.util.Objects; 21 import java.util.Objects;
20 22
21 /** 23 /**
...@@ -23,6 +25,7 @@ import java.util.Objects; ...@@ -23,6 +25,7 @@ import java.util.Objects;
23 * TunnelName is given by producer. The consumer can borrow tunnels with 25 * TunnelName is given by producer. The consumer can borrow tunnels with
24 * TunnelId or TunnelName. 26 * TunnelId or TunnelName.
25 */ 27 */
28 +@Beta
26 public final class TunnelName { 29 public final class TunnelName {
27 private final String str; 30 private final String str;
28 31
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.net.ElementId; 20 import org.onosproject.net.ElementId;
20 import org.onosproject.net.Path; 21 import org.onosproject.net.Path;
21 import org.onosproject.net.provider.Provider; 22 import org.onosproject.net.provider.Provider;
...@@ -23,6 +24,7 @@ import org.onosproject.net.provider.Provider; ...@@ -23,6 +24,7 @@ import org.onosproject.net.provider.Provider;
23 /** 24 /**
24 * Abstraction of an entity providing tunnel setup/release services to the core. 25 * Abstraction of an entity providing tunnel setup/release services to the core.
25 */ 26 */
27 +@Beta
26 public interface TunnelProvider extends Provider { 28 public interface TunnelProvider extends Provider {
27 29
28 /** 30 /**
......
...@@ -16,11 +16,13 @@ ...@@ -16,11 +16,13 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.net.provider.ProviderRegistry; 20 import org.onosproject.net.provider.ProviderRegistry;
20 21
21 /** 22 /**
22 * Abstraction of an tunnel provider registry. 23 * Abstraction of an tunnel provider registry.
23 */ 24 */
25 +@Beta
24 public interface TunnelProviderRegistry 26 public interface TunnelProviderRegistry
25 extends ProviderRegistry<TunnelProvider, TunnelProviderService> { 27 extends ProviderRegistry<TunnelProvider, TunnelProviderService> {
26 } 28 }
......
...@@ -16,11 +16,13 @@ ...@@ -16,11 +16,13 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.net.provider.ProviderService; 20 import org.onosproject.net.provider.ProviderService;
20 21
21 /** 22 /**
22 * APIs for tunnel provider to notify the tunnel subSystem. 23 * APIs for tunnel provider to notify the tunnel subSystem.
23 */ 24 */
25 +@Beta
24 public interface TunnelProviderService extends ProviderService<TunnelProvider> { 26 public interface TunnelProviderService extends ProviderService<TunnelProvider> {
25 27
26 /** 28 /**
......
...@@ -17,6 +17,7 @@ package org.onosproject.incubator.net.tunnel; ...@@ -17,6 +17,7 @@ package org.onosproject.incubator.net.tunnel;
17 17
18 import java.util.Collection; 18 import java.util.Collection;
19 19
20 +import com.google.common.annotations.Beta;
20 import org.onosproject.core.ApplicationId; 21 import org.onosproject.core.ApplicationId;
21 import org.onosproject.incubator.net.tunnel.Tunnel.Type; 22 import org.onosproject.incubator.net.tunnel.Tunnel.Type;
22 import org.onosproject.net.Annotations; 23 import org.onosproject.net.Annotations;
...@@ -25,6 +26,7 @@ import org.onosproject.net.DeviceId; ...@@ -25,6 +26,7 @@ import org.onosproject.net.DeviceId;
25 /** 26 /**
26 * Service for interacting with the inventory of tunnels. 27 * Service for interacting with the inventory of tunnels.
27 */ 28 */
29 +@Beta
28 public interface TunnelService { 30 public interface TunnelService {
29 31
30 /** 32 /**
......
...@@ -17,6 +17,7 @@ package org.onosproject.incubator.net.tunnel; ...@@ -17,6 +17,7 @@ package org.onosproject.incubator.net.tunnel;
17 17
18 import java.util.Collection; 18 import java.util.Collection;
19 19
20 +import com.google.common.annotations.Beta;
20 import org.onosproject.core.ApplicationId; 21 import org.onosproject.core.ApplicationId;
21 import org.onosproject.incubator.net.tunnel.Tunnel.Type; 22 import org.onosproject.incubator.net.tunnel.Tunnel.Type;
22 import org.onosproject.net.Annotations; 23 import org.onosproject.net.Annotations;
...@@ -26,6 +27,7 @@ import org.onosproject.store.Store; ...@@ -26,6 +27,7 @@ import org.onosproject.store.Store;
26 /** 27 /**
27 * Manages inventory of tunnel; not intended for direct use. 28 * Manages inventory of tunnel; not intended for direct use.
28 */ 29 */
30 +@Beta
29 public interface TunnelStore extends Store<TunnelEvent, TunnelStoreDelegate> { 31 public interface TunnelStore extends Store<TunnelEvent, TunnelStoreDelegate> {
30 /** 32 /**
31 * Creates or updates a tunnel. 33 * Creates or updates a tunnel.
......
...@@ -16,10 +16,12 @@ ...@@ -16,10 +16,12 @@
16 16
17 package org.onosproject.incubator.net.tunnel; 17 package org.onosproject.incubator.net.tunnel;
18 18
19 +import com.google.common.annotations.Beta;
19 import org.onosproject.store.StoreDelegate; 20 import org.onosproject.store.StoreDelegate;
20 21
21 /** 22 /**
22 * Tunnel store delegate abstraction. 23 * Tunnel store delegate abstraction.
23 */ 24 */
25 +@Beta
24 public interface TunnelStoreDelegate extends StoreDelegate<TunnelEvent> { 26 public interface TunnelStoreDelegate extends StoreDelegate<TunnelEvent> {
25 } 27 }
......
...@@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
20 20
21 import java.util.Objects; 21 import java.util.Objects;
22 22
23 +import com.google.common.annotations.Beta;
23 import org.onosproject.core.ApplicationId; 24 import org.onosproject.core.ApplicationId;
24 import org.onosproject.net.AbstractAnnotated; 25 import org.onosproject.net.AbstractAnnotated;
25 import org.onosproject.net.Annotations; 26 import org.onosproject.net.Annotations;
...@@ -33,6 +34,7 @@ import com.google.common.base.MoreObjects; ...@@ -33,6 +34,7 @@ import com.google.common.base.MoreObjects;
33 * ONOS. Although there is no a tunnel that consumer want to use, when producer 34 * ONOS. Although there is no a tunnel that consumer want to use, when producer
34 * creates a new tunnel, ONOS will notify the consumers that want to use it. 35 * creates a new tunnel, ONOS will notify the consumers that want to use it.
35 */ 36 */
37 +@Beta
36 public final class TunnelSubscription extends AbstractAnnotated { 38 public final class TunnelSubscription extends AbstractAnnotated {
37 private final ApplicationId consumerId; 39 private final ApplicationId consumerId;
38 private final TunnelEndPoint src; 40 private final TunnelEndPoint src;
......