Avoid double wrap of IndexedLambda

Change-Id: I2acaa255529949e8443542904df465e6b0fbb72a
diff --git a/core/api/src/main/java/org/onosproject/net/intent/constraint/LambdaConstraint.java b/core/api/src/main/java/org/onosproject/net/intent/constraint/LambdaConstraint.java
index 7811a00..eba2898 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/constraint/LambdaConstraint.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/constraint/LambdaConstraint.java
@@ -16,8 +16,8 @@
 package org.onosproject.net.intent.constraint;
 
 import com.google.common.annotations.Beta;
+import org.onosproject.net.IndexedLambda;
 import org.onosproject.net.Link;
-import org.onosproject.net.resource.link.LambdaResource;
 import org.onosproject.net.resource.link.LinkResourceService;
 import org.onosproject.net.resource.ResourceRequest;
 import org.onosproject.net.resource.ResourceType;
@@ -32,14 +32,14 @@
 @Beta
 public class LambdaConstraint extends BooleanConstraint {
 
-    private final LambdaResource lambda;
+    private final IndexedLambda lambda;
 
     /**
      * Creates a new optical lambda constraint.
      *
      * @param lambda optional lambda to indicate a specific lambda
      */
-    public LambdaConstraint(LambdaResource lambda) {
+    public LambdaConstraint(IndexedLambda lambda) {
         this.lambda = lambda;
     }
 
@@ -63,7 +63,7 @@
      *
      * @return required lambda
      */
-    public LambdaResource lambda() {
+    public IndexedLambda lambda() {
         return lambda;
     }
 
diff --git a/core/api/src/test/java/org/onosproject/net/intent/LinkCollectionIntentTest.java b/core/api/src/test/java/org/onosproject/net/intent/LinkCollectionIntentTest.java
index 88fa7f4..dd371c1 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/LinkCollectionIntentTest.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/LinkCollectionIntentTest.java
@@ -22,11 +22,11 @@
 
 import org.junit.Test;
 import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.IndexedLambda;
 import org.onosproject.net.Link;
 import org.onosproject.net.NetTestTools;
 import org.onosproject.net.flow.TrafficSelector;
 import org.onosproject.net.intent.constraint.LambdaConstraint;
-import org.onosproject.net.resource.link.LambdaResource;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.testing.EqualsTester;
@@ -132,7 +132,7 @@
         final LinkedList<Constraint> constraints = new LinkedList<>();
 
         links1.add(link("src", 1, "dst", 2));
-        constraints.add(new LambdaConstraint(LambdaResource.valueOf(23)));
+        constraints.add(new LambdaConstraint(new IndexedLambda(23)));
         final LinkCollectionIntent collectionIntent =
                 LinkCollectionIntent.builder()
                         .appId(APP_ID)
diff --git a/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java b/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java
index 4f86add..d2e9940 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java
@@ -17,8 +17,8 @@
 
 import org.junit.Test;
 import org.onlab.util.Bandwidth;
+import org.onosproject.net.IndexedLambda;
 import org.onosproject.net.Link;
-import org.onosproject.net.resource.link.LambdaResource;
 
 import com.google.common.testing.EqualsTester;
 
@@ -66,20 +66,20 @@
     // Lambda Constraint
 
     final LambdaConstraint lambdaConstraint1 =
-            new LambdaConstraint(LambdaResource.valueOf(100));
+            new LambdaConstraint(new IndexedLambda(100));
     final LambdaConstraint lambdaConstraintSameAs1 =
-            new LambdaConstraint(LambdaResource.valueOf(100));
+            new LambdaConstraint(new IndexedLambda(100));
     final LambdaConstraint lambdaConstraint2 =
-            new LambdaConstraint(LambdaResource.valueOf(200));
+            new LambdaConstraint(new IndexedLambda(200));
 
     /**
      * Checks that the objects were created properly.
      */
     @Test
     public void testLambdaConstraintCreation() {
-        assertThat(lambdaConstraint1.lambda().toInt(), is(equalTo(100)));
-        assertThat(lambdaConstraintSameAs1.lambda().toInt(), is(equalTo(100)));
-        assertThat(lambdaConstraint2.lambda().toInt(), is(equalTo(200)));
+        assertThat(lambdaConstraint1.lambda().index(), is(equalTo(100L)));
+        assertThat(lambdaConstraintSameAs1.lambda().index(), is(equalTo(100L)));
+        assertThat(lambdaConstraint2.lambda().index(), is(equalTo(200L)));
     }
 
     /**
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
index 91a7576..40c553d 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
@@ -32,7 +32,6 @@
 import org.onosproject.net.intent.constraint.LinkTypeConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
 import org.onosproject.net.intent.constraint.WaypointConstraint;
-import org.onosproject.net.resource.link.LambdaResource;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -105,7 +104,7 @@
                 ConstraintCodec.LAMBDA + ConstraintCodec.MISSING_MEMBER_MESSAGE)
                 .asLong();
 
-        return new LambdaConstraint(LambdaResource.valueOf(new IndexedLambda(lambda)));
+        return new LambdaConstraint(new IndexedLambda(lambda));
     }
 
     /**
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java
index bd6ab7d..ec4ee44 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java
@@ -142,7 +142,7 @@
                 (LambdaConstraint) constraint;
 
         return context.mapper().createObjectNode()
-                .put("lambda", lambdaConstraint.lambda().toInt());
+                .put("lambda", lambdaConstraint.lambda().index());
     }
 
     /**
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
index 48c4817..a84dab4 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
@@ -146,7 +146,7 @@
         assertThat(constraint, instanceOf(LambdaConstraint.class));
 
         LambdaConstraint lambdaConstraint = (LambdaConstraint) constraint;
-        assertThat(lambdaConstraint.lambda().toInt(), is(444));
+        assertThat(lambdaConstraint.lambda().index(), is(444L));
     }
 
     /**
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java
index 0c2f097..596c7ef 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java
@@ -63,7 +63,6 @@
 import org.onosproject.net.intent.constraint.LatencyConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
 import org.onosproject.net.intent.constraint.WaypointConstraint;
-import org.onosproject.net.resource.link.LambdaResource;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -181,7 +180,7 @@
         final List<Constraint> constraints =
                 ImmutableList.of(
                         new BandwidthConstraint(Bandwidth.bps(1.0)),
-                        new LambdaConstraint(LambdaResource.valueOf(3)),
+                        new LambdaConstraint(new IndexedLambda(3)),
                         new AnnotationConstraint("key", 33.0),
                         new AsymmetricPathConstraint(),
                         new LatencyConstraint(Duration.ofSeconds(2)),
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java b/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java
index 3adfcff..acc1f0e 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java
@@ -157,7 +157,7 @@
         final JsonNode lambdaJson = constraintJson.get("lambda");
         return lambdaJson != null
                 && constraintJson.get("lambda").asInt()
-                == lambdaConstraint.lambda().toInt();
+                == lambdaConstraint.lambda().index();
     }
 
     /**
diff --git a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java
index 8f12a1c..5d7b5c8 100644
--- a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java
+++ b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java
@@ -21,6 +21,7 @@
 import org.onosproject.TestApplicationId;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.IndexedLambda;
 import org.onosproject.net.Link;
 import org.onosproject.net.Path;
 import org.onosproject.net.flow.TrafficSelector;
@@ -34,7 +35,6 @@
 import org.onosproject.net.intent.constraint.BandwidthConstraint;
 import org.onosproject.net.intent.constraint.LambdaConstraint;
 import org.onosproject.net.intent.impl.PathNotFoundException;
-import org.onosproject.net.resource.link.LambdaResource;
 import org.onosproject.net.resource.link.LinkResourceService;
 
 import java.util.Collections;
@@ -274,7 +274,7 @@
     public void testLambdaConstrainedIntentSuccess() {
 
         final List<Constraint> constraints =
-                Collections.singletonList(new LambdaConstraint(LambdaResource.valueOf(1)));
+                Collections.singletonList(new LambdaConstraint(new IndexedLambda(1)));
         final LinkResourceService resourceService =
                 IntentTestsMocks.MockResourceService.makeLambdaResourceService(1);
 
@@ -298,7 +298,7 @@
     public void testLambdaConstrainedIntentFailure() {
 
         final List<Constraint> constraints =
-                Collections.singletonList(new LambdaConstraint(LambdaResource.valueOf(1)));
+                Collections.singletonList(new LambdaConstraint(new IndexedLambda(1)));
         final LinkResourceService resourceService =
                 IntentTestsMocks.MockResourceService.makeBandwidthResourceService(10.0);
         try {
diff --git a/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java b/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java
index 0961119..45b4da1 100644
--- a/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java
+++ b/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java
@@ -43,6 +43,7 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.GridType;
 import org.onosproject.net.HostLocation;
+import org.onosproject.net.IndexedLambda;
 import org.onosproject.net.Link;
 import org.onosproject.net.Link.Type;
 import org.onosproject.net.LinkKey;
@@ -395,7 +396,7 @@
 
     @Test
     public void testLambdaConstraint() {
-        testSerializable(new LambdaConstraint(LambdaResource.valueOf(1)));
+        testSerializable(new LambdaConstraint(new IndexedLambda(1)));
     }
 
     @Test