Brian O'Connor

Adding @Beta to Intent API classes and interfaces

Change-Id: I02a3c1a678cb4e75b5bba9a33117a9dccb6fc0f5
Showing 43 changed files with 96 additions and 1 deletions
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.collect.ImmutableList; 19 import com.google.common.collect.ImmutableList;
19 import com.google.common.collect.ImmutableSet; 20 import com.google.common.collect.ImmutableSet;
20 import org.onosproject.core.ApplicationId; 21 import org.onosproject.core.ApplicationId;
...@@ -34,6 +35,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -34,6 +35,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
34 /** 35 /**
35 * Abstraction of connectivity intent for traffic matching some criteria. 36 * Abstraction of connectivity intent for traffic matching some criteria.
36 */ 37 */
38 +@Beta
37 public abstract class ConnectivityIntent extends Intent { 39 public abstract class ConnectivityIntent extends Intent {
38 40
39 // TODO: other forms of intents should be considered for this family: 41 // TODO: other forms of intents should be considered for this family:
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.Link; 19 import org.onosproject.net.Link;
19 import org.onosproject.net.Path; 20 import org.onosproject.net.Path;
20 import org.onosproject.net.resource.link.LinkResourceService; 21 import org.onosproject.net.resource.link.LinkResourceService;
...@@ -24,6 +25,7 @@ import org.onosproject.net.resource.link.LinkResourceService; ...@@ -24,6 +25,7 @@ import org.onosproject.net.resource.link.LinkResourceService;
24 * and determining the cost of traversing that link in the context of this 25 * and determining the cost of traversing that link in the context of this
25 * constraint. 26 * constraint.
26 */ 27 */
28 +@Beta
27 public interface Constraint { 29 public interface Constraint {
28 30
29 // TODO: Consider separating cost vs viability. 31 // TODO: Consider separating cost vs viability.
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableList; 20 import com.google.common.collect.ImmutableList;
20 import org.onosproject.core.ApplicationId; 21 import org.onosproject.core.ApplicationId;
...@@ -31,6 +32,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -31,6 +32,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
31 * An intent that enables to tell flow level operation. 32 * An intent that enables to tell flow level operation.
32 * This instance holds a collection of flow rules that may be executed in parallel. 33 * This instance holds a collection of flow rules that may be executed in parallel.
33 */ 34 */
35 +@Beta
34 public class FlowRuleIntent extends Intent { 36 public class FlowRuleIntent extends Intent {
35 37
36 private final Collection<FlowRule> flowRules; 38 private final Collection<FlowRule> flowRules;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableSet; 20 import com.google.common.collect.ImmutableSet;
20 import org.onosproject.core.ApplicationId; 21 import org.onosproject.core.ApplicationId;
...@@ -29,6 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -29,6 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
29 /** 30 /**
30 * Abstraction of end-station to end-station bidirectional connectivity. 31 * Abstraction of end-station to end-station bidirectional connectivity.
31 */ 32 */
33 +@Beta
32 public final class HostToHostIntent extends ConnectivityIntent { 34 public final class HostToHostIntent extends ConnectivityIntent {
33 35
34 private final HostId one; 36 private final HostId one;
......
...@@ -18,6 +18,7 @@ package org.onosproject.net.intent; ...@@ -18,6 +18,7 @@ package org.onosproject.net.intent;
18 import java.util.Collection; 18 import java.util.Collection;
19 import java.util.Objects; 19 import java.util.Objects;
20 20
21 +import com.google.common.annotations.Beta;
21 import org.onosproject.core.ApplicationId; 22 import org.onosproject.core.ApplicationId;
22 import org.onosproject.core.IdGenerator; 23 import org.onosproject.core.IdGenerator;
23 import org.onosproject.net.NetworkResource; 24 import org.onosproject.net.NetworkResource;
...@@ -32,6 +33,7 @@ import static com.google.common.base.Preconditions.checkState; ...@@ -32,6 +33,7 @@ import static com.google.common.base.Preconditions.checkState;
32 * Make sure that an Intent should be immutable when a new type is defined. 33 * Make sure that an Intent should be immutable when a new type is defined.
33 * </p> 34 * </p>
34 */ 35 */
36 +@Beta
35 public abstract class Intent { 37 public abstract class Intent {
36 38
37 private final IntentId id; 39 private final IntentId id;
......
...@@ -15,11 +15,14 @@ ...@@ -15,11 +15,14 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 import java.util.Collection; 20 import java.util.Collection;
19 21
20 /** 22 /**
21 * Facade for receiving notifications from the intent batch service. 23 * Facade for receiving notifications from the intent batch service.
22 */ 24 */
25 +@Beta
23 public interface IntentBatchDelegate { 26 public interface IntentBatchDelegate {
24 27
25 /** 28 /**
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.store.Timestamp; 19 import org.onosproject.store.Timestamp;
19 20
20 /** 21 /**
21 * Logical clock service that issues per-intent timestamps. 22 * Logical clock service that issues per-intent timestamps.
22 */ 23 */
24 +@Beta
23 public interface IntentClockService { 25 public interface IntentClockService {
24 26
25 /** 27 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.resource.link.LinkResourceAllocations; 19 import org.onosproject.net.resource.link.LinkResourceAllocations;
19 20
20 import java.util.List; 21 import java.util.List;
...@@ -26,6 +27,7 @@ import java.util.Set; ...@@ -26,6 +27,7 @@ import java.util.Set;
26 * 27 *
27 * @param <T> the type of intent 28 * @param <T> the type of intent
28 */ 29 */
30 +@Beta
29 public interface IntentCompiler<T extends Intent> { 31 public interface IntentCompiler<T extends Intent> {
30 /** 32 /**
31 * Compiles the specified intent into other intents. 33 * Compiles the specified intent into other intents.
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableList; 20 import com.google.common.collect.ImmutableList;
20 import org.onosproject.cluster.NodeId; 21 import org.onosproject.cluster.NodeId;
...@@ -33,6 +34,7 @@ import static org.onosproject.net.intent.IntentState.*; ...@@ -33,6 +34,7 @@ import static org.onosproject.net.intent.IntentState.*;
33 * A wrapper class that contains an intents, its state, and other metadata for 34 * A wrapper class that contains an intents, its state, and other metadata for
34 * internal use. 35 * internal use.
35 */ 36 */
37 +@Beta
36 public class IntentData { //FIXME need to make this "immutable" 38 public class IntentData { //FIXME need to make this "immutable"
37 // manager should be able to mutate a local copy while processing 39 // manager should be able to mutate a local copy while processing
38 40
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.event.AbstractEvent; 19 import org.onosproject.event.AbstractEvent;
19 20
20 /** 21 /**
21 * A class to represent an intent related event. 22 * A class to represent an intent related event.
22 */ 23 */
24 +@Beta
23 public class IntentEvent extends AbstractEvent<IntentEvent.Type, Intent> { 25 public class IntentEvent extends AbstractEvent<IntentEvent.Type, Intent> {
24 26
25 public enum Type { 27 public enum Type {
......
...@@ -15,9 +15,12 @@ ...@@ -15,9 +15,12 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 /** 20 /**
19 * Represents an intent related error. 21 * Represents an intent related error.
20 */ 22 */
23 +@Beta
21 public class IntentException extends RuntimeException { 24 public class IntentException extends RuntimeException {
22 25
23 private static final long serialVersionUID = 1907263634145241319L; 26 private static final long serialVersionUID = 1907263634145241319L;
......
...@@ -15,12 +15,15 @@ ...@@ -15,12 +15,15 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 import java.util.Map; 20 import java.util.Map;
19 21
20 /** 22 /**
21 * Service for extending the capability of intent framework by 23 * Service for extending the capability of intent framework by
22 * adding additional compilers or/and installers. 24 * adding additional compilers or/and installers.
23 */ 25 */
26 +@Beta
24 public interface IntentExtensionService { 27 public interface IntentExtensionService {
25 /** 28 /**
26 * Registers the specified compiler for the given intent class. 29 * Registers the specified compiler for the given intent class.
......
...@@ -15,10 +15,13 @@ ...@@ -15,10 +15,13 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 /** 20 /**
19 * Intent identifier suitable as an external key. 21 * Intent identifier suitable as an external key.
20 * <p>This class is immutable.</p> 22 * <p>This class is immutable.</p>
21 */ 23 */
24 +@Beta
22 public final class IntentId { 25 public final class IntentId {
23 26
24 private final long value; 27 private final long value;
......
...@@ -15,10 +15,12 @@ ...@@ -15,10 +15,12 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.event.EventListener; 19 import org.onosproject.event.EventListener;
19 20
20 /** 21 /**
21 * Listener for {@link IntentEvent intent events}. 22 * Listener for {@link IntentEvent intent events}.
22 */ 23 */
24 +@Beta
23 public interface IntentListener extends EventListener<IntentEvent> { 25 public interface IntentListener extends EventListener<IntentEvent> {
24 } 26 }
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 18
19 +import com.google.common.annotations.Beta;
20 +
19 import java.util.Objects; 21 import java.util.Objects;
20 22
21 import static com.google.common.base.MoreObjects.toStringHelper; 23 import static com.google.common.base.MoreObjects.toStringHelper;
...@@ -24,6 +26,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -24,6 +26,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
24 /** 26 /**
25 * Abstraction of an intent-related operation, e.g. add, remove, replace. 27 * Abstraction of an intent-related operation, e.g. add, remove, replace.
26 */ 28 */
29 +@Beta
27 public final class IntentOperation { 30 public final class IntentOperation {
28 31
29 private final Type type; 32 private final Type type;
......
...@@ -16,11 +16,14 @@ ...@@ -16,11 +16,14 @@
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 18
19 +import com.google.common.annotations.Beta;
20 +
19 import java.util.List; 21 import java.util.List;
20 22
21 /** 23 /**
22 * Service for application submitting or withdrawing their intents. 24 * Service for application submitting or withdrawing their intents.
23 */ 25 */
26 +@Beta
24 public interface IntentService { 27 public interface IntentService {
25 /** 28 /**
26 * Submits an intent into the system. 29 * Submits an intent into the system.
......
...@@ -15,9 +15,12 @@ ...@@ -15,9 +15,12 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
19 +
18 /** 20 /**
19 * Representation of the phases an intent may attain during its lifecycle. 21 * Representation of the phases an intent may attain during its lifecycle.
20 */ 22 */
23 +@Beta
21 public enum IntentState { 24 public enum IntentState {
22 25
23 /** 26 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.store.Store; 19 import org.onosproject.store.Store;
19 20
20 import java.util.List; 21 import java.util.List;
...@@ -22,6 +23,7 @@ import java.util.List; ...@@ -22,6 +23,7 @@ import java.util.List;
22 /** 23 /**
23 * Manages inventory of end-station intents; not intended for direct use. 24 * Manages inventory of end-station intents; not intended for direct use.
24 */ 25 */
26 +@Beta
25 public interface IntentStore extends Store<IntentEvent, IntentStoreDelegate> { 27 public interface IntentStore extends Store<IntentEvent, IntentStoreDelegate> {
26 28
27 /** 29 /**
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.store.StoreDelegate; 19 import org.onosproject.store.StoreDelegate;
19 20
20 /** 21 /**
21 * Intent store delegate abstraction. 22 * Intent store delegate abstraction.
22 */ 23 */
24 +@Beta
23 public interface IntentStoreDelegate extends StoreDelegate<IntentEvent> { 25 public interface IntentStoreDelegate extends StoreDelegate<IntentEvent> {
24 26
25 /** 27 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.hash.HashFunction; 19 import com.google.common.hash.HashFunction;
19 import com.google.common.hash.Hashing; 20 import com.google.common.hash.Hashing;
20 import org.onosproject.core.ApplicationId; 21 import org.onosproject.core.ApplicationId;
...@@ -26,6 +27,7 @@ import java.util.Objects; ...@@ -26,6 +27,7 @@ import java.util.Objects;
26 * Key class for Intents. 27 * Key class for Intents.
27 */ 28 */
28 // TODO maybe pull this up to utils 29 // TODO maybe pull this up to utils
30 +@Beta
29 public abstract class Key { 31 public abstract class Key {
30 32
31 //TODO consider making this a HashCode object (worry about performance) 33 //TODO consider making this a HashCode object (worry about performance)
......
...@@ -18,6 +18,7 @@ package org.onosproject.net.intent; ...@@ -18,6 +18,7 @@ package org.onosproject.net.intent;
18 import java.util.List; 18 import java.util.List;
19 import java.util.Set; 19 import java.util.Set;
20 20
21 +import com.google.common.annotations.Beta;
21 import org.onosproject.core.ApplicationId; 22 import org.onosproject.core.ApplicationId;
22 import org.onosproject.net.ConnectPoint; 23 import org.onosproject.net.ConnectPoint;
23 import org.onosproject.net.Link; 24 import org.onosproject.net.Link;
...@@ -31,6 +32,7 @@ import com.google.common.collect.ImmutableSet; ...@@ -31,6 +32,7 @@ import com.google.common.collect.ImmutableSet;
31 * Abstraction of a connectivity intent that is implemented by a set of path 32 * Abstraction of a connectivity intent that is implemented by a set of path
32 * segments. 33 * segments.
33 */ 34 */
35 +@Beta
34 public final class LinkCollectionIntent extends ConnectivityIntent { 36 public final class LinkCollectionIntent extends ConnectivityIntent {
35 37
36 private final Set<Link> links; 38 private final Set<Link> links;
......
...@@ -4,6 +4,7 @@ import java.util.Collections; ...@@ -4,6 +4,7 @@ import java.util.Collections;
4 import java.util.List; 4 import java.util.List;
5 import java.util.Optional; 5 import java.util.Optional;
6 6
7 +import com.google.common.annotations.Beta;
7 import org.onlab.packet.MplsLabel; 8 import org.onlab.packet.MplsLabel;
8 import org.onosproject.core.ApplicationId; 9 import org.onosproject.core.ApplicationId;
9 import org.onosproject.net.ConnectPoint; 10 import org.onosproject.net.ConnectPoint;
...@@ -19,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -19,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
19 /** 20 /**
20 * Abstraction of MPLS label-switched connectivity. 21 * Abstraction of MPLS label-switched connectivity.
21 */ 22 */
23 +@Beta
22 public final class MplsIntent extends ConnectivityIntent { 24 public final class MplsIntent extends ConnectivityIntent {
23 25
24 private final ConnectPoint ingressPoint; 26 private final ConnectPoint ingressPoint;
......
...@@ -3,6 +3,7 @@ package org.onosproject.net.intent; ...@@ -3,6 +3,7 @@ package org.onosproject.net.intent;
3 import java.util.List; 3 import java.util.List;
4 import java.util.Optional; 4 import java.util.Optional;
5 5
6 +import com.google.common.annotations.Beta;
6 import org.onlab.packet.MplsLabel; 7 import org.onlab.packet.MplsLabel;
7 import org.onosproject.core.ApplicationId; 8 import org.onosproject.core.ApplicationId;
8 import org.onosproject.net.Path; 9 import org.onosproject.net.Path;
...@@ -15,7 +16,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -15,7 +16,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
15 /** 16 /**
16 * Abstraction of explicit MPLS label-switched path. 17 * Abstraction of explicit MPLS label-switched path.
17 */ 18 */
18 - 19 +@Beta
19 public final class MplsPathIntent extends PathIntent { 20 public final class MplsPathIntent extends PathIntent {
20 21
21 private final Optional<MplsLabel> ingressLabel; 22 private final Optional<MplsLabel> ingressLabel;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableSet; 20 import com.google.common.collect.ImmutableSet;
20 import com.google.common.collect.Sets; 21 import com.google.common.collect.Sets;
...@@ -33,6 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -33,6 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
33 /** 34 /**
34 * Abstraction of multiple source to single destination connectivity intent. 35 * Abstraction of multiple source to single destination connectivity intent.
35 */ 36 */
37 +@Beta
36 public final class MultiPointToSinglePointIntent extends ConnectivityIntent { 38 public final class MultiPointToSinglePointIntent extends ConnectivityIntent {
37 39
38 private final Set<ConnectPoint> ingressPoints; 40 private final Set<ConnectPoint> ingressPoints;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import org.onosproject.core.ApplicationId; 20 import org.onosproject.core.ApplicationId;
20 import org.onosproject.net.ConnectPoint; 21 import org.onosproject.net.ConnectPoint;
...@@ -28,6 +29,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -28,6 +29,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
28 * An optical layer intent for circuits between two OduClt ports. 29 * An optical layer intent for circuits between two OduClt ports.
29 * No traffic selector or traffic treatment are needed. 30 * No traffic selector or traffic treatment are needed.
30 */ 31 */
32 +@Beta
31 public class OpticalCircuitIntent extends Intent { 33 public class OpticalCircuitIntent extends Intent {
32 private final ConnectPoint src; 34 private final ConnectPoint src;
33 private final ConnectPoint dst; 35 private final ConnectPoint dst;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import org.onosproject.core.ApplicationId; 20 import org.onosproject.core.ApplicationId;
20 import org.onosproject.net.ConnectPoint; 21 import org.onosproject.net.ConnectPoint;
...@@ -28,6 +29,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -28,6 +29,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
28 * An optical layer intent for connectivity between two OCh ports. 29 * An optical layer intent for connectivity between two OCh ports.
29 * No traffic selector or traffic treatment are needed. 30 * No traffic selector or traffic treatment are needed.
30 */ 31 */
32 +@Beta
31 public final class OpticalConnectivityIntent extends Intent { 33 public final class OpticalConnectivityIntent extends Intent {
32 private final ConnectPoint src; 34 private final ConnectPoint src;
33 private final ConnectPoint dst; 35 private final ConnectPoint dst;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.core.ApplicationId; 19 import org.onosproject.core.ApplicationId;
19 import org.onosproject.net.ConnectPoint; 20 import org.onosproject.net.ConnectPoint;
20 import org.onosproject.net.OchSignal; 21 import org.onosproject.net.OchSignal;
...@@ -26,6 +27,10 @@ import com.google.common.collect.ImmutableSet; ...@@ -26,6 +27,10 @@ import com.google.common.collect.ImmutableSet;
26 27
27 import static com.google.common.base.Preconditions.checkNotNull; 28 import static com.google.common.base.Preconditions.checkNotNull;
28 29
30 +/**
31 + * An optical layer intent with explicitly selected path.
32 + */
33 +@Beta
29 public final class OpticalPathIntent extends Intent { 34 public final class OpticalPathIntent extends Intent {
30 35
31 private final ConnectPoint src; 36 private final ConnectPoint src;
......
...@@ -15,12 +15,14 @@ ...@@ -15,12 +15,14 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.event.AbstractEvent; 19 import org.onosproject.event.AbstractEvent;
19 20
20 /** 21 /**
21 * Partition event. 22 * Partition event.
22 */ 23 */
23 //TODO change String into a proper object type 24 //TODO change String into a proper object type
25 +@Beta
24 public class PartitionEvent extends AbstractEvent<PartitionEvent.Type, String> { 26 public class PartitionEvent extends AbstractEvent<PartitionEvent.Type, String> {
25 27
26 public enum Type { 28 public enum Type {
......
...@@ -15,10 +15,12 @@ ...@@ -15,10 +15,12 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.event.EventListener; 19 import org.onosproject.event.EventListener;
19 20
20 /** 21 /**
21 * Entity capable of receiving device partition-related events. 22 * Entity capable of receiving device partition-related events.
22 */ 23 */
24 +@Beta
23 public interface PartitionEventListener extends EventListener<PartitionEvent> { 25 public interface PartitionEventListener extends EventListener<PartitionEvent> {
24 } 26 }
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.cluster.NodeId; 19 import org.onosproject.cluster.NodeId;
19 20
20 /** 21 /**
21 * Service for interacting with the partition-to-instance assignments. 22 * Service for interacting with the partition-to-instance assignments.
22 */ 23 */
24 +@Beta
23 public interface PartitionService { 25 public interface PartitionService {
24 26
25 /** 27 /**
......
...@@ -17,6 +17,7 @@ package org.onosproject.net.intent; ...@@ -17,6 +17,7 @@ package org.onosproject.net.intent;
17 17
18 import java.util.List; 18 import java.util.List;
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.net.Link; 22 import org.onosproject.net.Link;
22 import org.onosproject.net.Path; 23 import org.onosproject.net.Path;
...@@ -32,6 +33,7 @@ import static com.google.common.base.Preconditions.checkArgument; ...@@ -32,6 +33,7 @@ import static com.google.common.base.Preconditions.checkArgument;
32 /** 33 /**
33 * Abstraction of explicitly path specified connectivity intent. 34 * Abstraction of explicitly path specified connectivity intent.
34 */ 35 */
36 +@Beta
35 public class PathIntent extends ConnectivityIntent { 37 public class PathIntent extends ConnectivityIntent {
36 38
37 private final Path path; 39 private final Path path;
......
...@@ -18,6 +18,7 @@ package org.onosproject.net.intent; ...@@ -18,6 +18,7 @@ package org.onosproject.net.intent;
18 import java.util.Collections; 18 import java.util.Collections;
19 import java.util.List; 19 import java.util.List;
20 20
21 +import com.google.common.annotations.Beta;
21 import org.onosproject.core.ApplicationId; 22 import org.onosproject.core.ApplicationId;
22 import org.onosproject.net.ConnectPoint; 23 import org.onosproject.net.ConnectPoint;
23 import org.onosproject.net.flow.TrafficSelector; 24 import org.onosproject.net.flow.TrafficSelector;
...@@ -31,6 +32,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -31,6 +32,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
31 /** 32 /**
32 * Abstraction of point-to-point connectivity. 33 * Abstraction of point-to-point connectivity.
33 */ 34 */
35 +@Beta
34 public final class PointToPointIntent extends ConnectivityIntent { 36 public final class PointToPointIntent extends ConnectivityIntent {
35 37
36 private final ConnectPoint ingressPoint; 38 private final ConnectPoint ingressPoint;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent; 16 package org.onosproject.net.intent;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableSet; 20 import com.google.common.collect.ImmutableSet;
20 21
...@@ -33,6 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -33,6 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
33 /** 34 /**
34 * Abstraction of single source, multiple destination connectivity intent. 35 * Abstraction of single source, multiple destination connectivity intent.
35 */ 36 */
37 +@Beta
36 public final class SinglePointToMultiPointIntent extends ConnectivityIntent { 38 public final class SinglePointToMultiPointIntent extends ConnectivityIntent {
37 39
38 private final ConnectPoint ingressPoint; 40 private final ConnectPoint ingressPoint;
......
...@@ -18,6 +18,7 @@ package org.onosproject.net.intent; ...@@ -18,6 +18,7 @@ package org.onosproject.net.intent;
18 import java.util.Collections; 18 import java.util.Collections;
19 import java.util.List; 19 import java.util.List;
20 20
21 +import com.google.common.annotations.Beta;
21 import org.onosproject.core.ApplicationId; 22 import org.onosproject.core.ApplicationId;
22 import org.onosproject.net.ConnectPoint; 23 import org.onosproject.net.ConnectPoint;
23 import org.onosproject.net.flow.TrafficSelector; 24 import org.onosproject.net.flow.TrafficSelector;
...@@ -30,6 +31,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -30,6 +31,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
30 /** 31 /**
31 * Abstraction of bidirectional connectivity between two points in the network. 32 * Abstraction of bidirectional connectivity between two points in the network.
32 */ 33 */
34 +@Beta
33 public final class TwoWayP2PIntent extends ConnectivityIntent { 35 public final class TwoWayP2PIntent extends ConnectivityIntent {
34 36
35 private final ConnectPoint one; 37 private final ConnectPoint one;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import org.onosproject.net.Link; 20 import org.onosproject.net.Link;
20 import org.onosproject.net.resource.link.LinkResourceService; 21 import org.onosproject.net.resource.link.LinkResourceService;
...@@ -26,6 +27,7 @@ import static org.onosproject.net.AnnotationKeys.getAnnotatedValue; ...@@ -26,6 +27,7 @@ import static org.onosproject.net.AnnotationKeys.getAnnotatedValue;
26 /** 27 /**
27 * Constraint that evaluates an arbitrary link annotated value is under the specified threshold. 28 * Constraint that evaluates an arbitrary link annotated value is under the specified threshold.
28 */ 29 */
30 +@Beta
29 public class AnnotationConstraint extends BooleanConstraint { 31 public class AnnotationConstraint extends BooleanConstraint {
30 32
31 private final String key; 33 private final String key;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.Link; 19 import org.onosproject.net.Link;
19 import org.onosproject.net.Path; 20 import org.onosproject.net.Path;
20 import org.onosproject.net.intent.Constraint; 21 import org.onosproject.net.intent.Constraint;
...@@ -27,6 +28,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; ...@@ -27,6 +28,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
27 /** 28 /**
28 * Constraint that serves as a request for asymmetric bi-directional path. 29 * Constraint that serves as a request for asymmetric bi-directional path.
29 */ 30 */
31 +@Beta
30 public class AsymmetricPathConstraint implements Constraint { 32 public class AsymmetricPathConstraint implements Constraint {
31 33
32 @Override 34 @Override
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.Link; 19 import org.onosproject.net.Link;
19 import org.onosproject.net.resource.link.BandwidthResource; 20 import org.onosproject.net.resource.link.BandwidthResource;
20 import org.onosproject.net.resource.link.BandwidthResourceRequest; 21 import org.onosproject.net.resource.link.BandwidthResourceRequest;
...@@ -30,6 +31,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -30,6 +31,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
30 /** 31 /**
31 * Constraint that evaluates links based on available bandwidths. 32 * Constraint that evaluates links based on available bandwidths.
32 */ 33 */
34 +@Beta
33 public class BandwidthConstraint extends BooleanConstraint { 35 public class BandwidthConstraint extends BooleanConstraint {
34 36
35 private final BandwidthResource bandwidth; 37 private final BandwidthResource bandwidth;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.Link; 19 import org.onosproject.net.Link;
19 import org.onosproject.net.Path; 20 import org.onosproject.net.Path;
20 import org.onosproject.net.intent.Constraint; 21 import org.onosproject.net.intent.Constraint;
...@@ -24,6 +25,7 @@ import org.onosproject.net.resource.link.LinkResourceService; ...@@ -24,6 +25,7 @@ import org.onosproject.net.resource.link.LinkResourceService;
24 * Abstract base class for various constraints that evaluate link viability 25 * Abstract base class for various constraints that evaluate link viability
25 * in a yes/no fashion. 26 * in a yes/no fashion.
26 */ 27 */
28 +@Beta
27 public abstract class BooleanConstraint implements Constraint { 29 public abstract class BooleanConstraint implements Constraint {
28 30
29 /** 31 /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import org.onosproject.net.Link; 19 import org.onosproject.net.Link;
19 import org.onosproject.net.resource.link.LambdaResource; 20 import org.onosproject.net.resource.link.LambdaResource;
20 import org.onosproject.net.resource.link.LinkResourceService; 21 import org.onosproject.net.resource.link.LinkResourceService;
...@@ -28,6 +29,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; ...@@ -28,6 +29,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
28 /** 29 /**
29 * Constraint that evaluates links based on available lambda. 30 * Constraint that evaluates links based on available lambda.
30 */ 31 */
32 +@Beta
31 public class LambdaConstraint extends BooleanConstraint { 33 public class LambdaConstraint extends BooleanConstraint {
32 34
33 private final LambdaResource lambda; 35 private final LambdaResource lambda;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import org.onosproject.net.Link; 20 import org.onosproject.net.Link;
20 import org.onosproject.net.Path; 21 import org.onosproject.net.Path;
...@@ -31,6 +32,7 @@ import static org.onosproject.net.AnnotationKeys.getAnnotatedValue; ...@@ -31,6 +32,7 @@ import static org.onosproject.net.AnnotationKeys.getAnnotatedValue;
31 /** 32 /**
32 * Constraint that evaluates the latency through a path. 33 * Constraint that evaluates the latency through a path.
33 */ 34 */
35 +@Beta
34 public class LatencyConstraint implements Constraint { 36 public class LatencyConstraint implements Constraint {
35 37
36 private final Duration latency; 38 private final Duration latency;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.collect.ImmutableSet; 19 import com.google.common.collect.ImmutableSet;
19 import org.onosproject.net.Link; 20 import org.onosproject.net.Link;
20 import org.onosproject.net.resource.link.LinkResourceService; 21 import org.onosproject.net.resource.link.LinkResourceService;
...@@ -29,6 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -29,6 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
29 /** 30 /**
30 * Constraint that evaluates links based on their type. 31 * Constraint that evaluates links based on their type.
31 */ 32 */
33 +@Beta
32 public class LinkTypeConstraint extends BooleanConstraint { 34 public class LinkTypeConstraint extends BooleanConstraint {
33 35
34 private final Set<Link.Type> types; 36 private final Set<Link.Type> types;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableSet; 20 import com.google.common.collect.ImmutableSet;
20 import org.onosproject.net.DeviceId; 21 import org.onosproject.net.DeviceId;
...@@ -28,6 +29,7 @@ import java.util.Set; ...@@ -28,6 +29,7 @@ import java.util.Set;
28 /** 29 /**
29 * Constraint that evaluates elements not passed through. 30 * Constraint that evaluates elements not passed through.
30 */ 31 */
32 +@Beta
31 public class ObstacleConstraint extends BooleanConstraint { 33 public class ObstacleConstraint extends BooleanConstraint {
32 34
33 private final Set<DeviceId> obstacles; 35 private final Set<DeviceId> obstacles;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 */ 15 */
16 package org.onosproject.net.intent.constraint; 16 package org.onosproject.net.intent.constraint;
17 17
18 +import com.google.common.annotations.Beta;
18 import com.google.common.base.MoreObjects; 19 import com.google.common.base.MoreObjects;
19 import com.google.common.collect.ImmutableList; 20 import com.google.common.collect.ImmutableList;
20 import org.onosproject.net.DeviceId; 21 import org.onosproject.net.DeviceId;
...@@ -34,6 +35,7 @@ import static com.google.common.base.Preconditions.checkNotNull; ...@@ -34,6 +35,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
34 /** 35 /**
35 * Constraint that evaluates elements passed through in order. 36 * Constraint that evaluates elements passed through in order.
36 */ 37 */
38 +@Beta
37 public class WaypointConstraint implements Constraint { 39 public class WaypointConstraint implements Constraint {
38 40
39 private final List<DeviceId> waypoints; 41 private final List<DeviceId> waypoints;
......