Remove IndexedLambdaCriterion deprecated in Emu

Change-Id: If1976963b49d28139d0002d9cd44414e4a8d9d50
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
index cb153a8..b942132 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
@@ -24,7 +24,6 @@
 import org.onlab.packet.TpPort;
 import org.onlab.packet.VlanId;
 import org.onosproject.net.DeviceId;
-import org.onosproject.net.IndexedLambda;
 import org.onosproject.net.Lambda;
 import org.onosproject.net.OchSignal;
 import org.onosproject.net.OchSignalType;
@@ -460,9 +459,7 @@
      * @return match criterion
      */
     public static Criterion matchLambda(Lambda lambda) {
-        if (lambda instanceof IndexedLambda) {
-            return new IndexedLambdaCriterion((IndexedLambda) lambda);
-        } else if (lambda instanceof OchSignal) {
+        if (lambda instanceof OchSignal) {
             return new OchSignalCriterion((OchSignal) lambda);
         } else {
             throw new UnsupportedOperationException(String.format("Unsupported type of Lambda: %s", lambda));
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/IndexedLambdaCriterion.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/IndexedLambdaCriterion.java
deleted file mode 100644
index 3311544..0000000
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/IndexedLambdaCriterion.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2015 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.net.flow.criteria;
-
-import org.onosproject.net.IndexedLambda;
-
-import java.util.Objects;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Implementation of indexed lambda criterion.
- *
- * @deprecated in Emu (ONOS 1.4).
- */
-@Deprecated
-public class IndexedLambdaCriterion implements Criterion {
-
-    private final IndexedLambda lambda;
-
-    /**
-     * Creates a criterion with the specified value.
-     *
-     * @param lambda lambda index number
-     */
-    IndexedLambdaCriterion(IndexedLambda lambda) {
-        this.lambda = checkNotNull(lambda);
-    }
-
-    @Override
-    public Type type() {
-        // TODO: consider defining a new specific type
-        // Now OCH_SIGID is used due to compatibility concerns
-        return Type.OCH_SIGID;
-    }
-
-    /**
-     * Returns the indexed lambda to match.
-     *
-     * @return the indexed lambda to match
-     */
-    public IndexedLambda lambda() {
-        return lambda;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(type().ordinal(), lambda);
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof IndexedLambdaCriterion)) {
-            return false;
-        }
-        final IndexedLambdaCriterion that = (IndexedLambdaCriterion) obj;
-        return Objects.equals(this.lambda, that.lambda);
-    }
-
-    @Override
-    public String toString() {
-        return type().toString() + SEPARATOR + lambda;
-    }
-}
diff --git a/core/api/src/test/java/org/onosproject/net/flow/DefaultTrafficSelectorTest.java b/core/api/src/test/java/org/onosproject/net/flow/DefaultTrafficSelectorTest.java
index 10c5a63..b6f3fa9 100644
--- a/core/api/src/test/java/org/onosproject/net/flow/DefaultTrafficSelectorTest.java
+++ b/core/api/src/test/java/org/onosproject/net/flow/DefaultTrafficSelectorTest.java
@@ -28,7 +28,9 @@
 import org.onlab.packet.MplsLabel;
 import org.onlab.packet.TpPort;
 import org.onlab.packet.VlanId;
-import org.onosproject.net.IndexedLambda;
+import org.onosproject.net.ChannelSpacing;
+import org.onosproject.net.GridType;
+import org.onosproject.net.OchSignal;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.flow.criteria.Criteria;
 import org.onosproject.net.flow.criteria.Criterion;
@@ -59,17 +61,14 @@
      */
     @Test
     public void testEquals() {
-        final short one = 1;
-        final short two = 2;
-
         final TrafficSelector selector1 = DefaultTrafficSelector.builder()
-                .add(Criteria.matchLambda(new IndexedLambda(one)))
+                .add(Criteria.matchLambda(new OchSignal(GridType.FLEX, ChannelSpacing.CHL_100GHZ, 1, 1)))
                 .build();
         final TrafficSelector sameAsSelector1 = DefaultTrafficSelector.builder()
-                .add(Criteria.matchLambda(new IndexedLambda(one)))
+                .add(Criteria.matchLambda(new OchSignal(GridType.FLEX, ChannelSpacing.CHL_100GHZ, 1, 1)))
                 .build();
         final TrafficSelector selector2 = DefaultTrafficSelector.builder()
-                .add(Criteria.matchLambda(new IndexedLambda(two)))
+                .add(Criteria.matchLambda(new OchSignal(GridType.FLEX, ChannelSpacing.CHL_50GHZ, 1, 1)))
                 .build();
 
         new EqualsTester()
@@ -265,7 +264,7 @@
         assertThat(selector, hasCriterionWithType(Type.IPV6_EXTHDR));
 
         selector = DefaultTrafficSelector.builder()
-                .add(Criteria.matchLambda(new IndexedLambda(shortValue))).build();
+                .add(Criteria.matchLambda(new OchSignal(GridType.DWDM, ChannelSpacing.CHL_100GHZ, 1, 1))).build();
         assertThat(selector, hasCriterionWithType(Type.OCH_SIGID));
     }
 }
diff --git a/core/api/src/test/java/org/onosproject/net/flow/criteria/CriteriaTest.java b/core/api/src/test/java/org/onosproject/net/flow/criteria/CriteriaTest.java
index 8b18ae6..40940fa 100644
--- a/core/api/src/test/java/org/onosproject/net/flow/criteria/CriteriaTest.java
+++ b/core/api/src/test/java/org/onosproject/net/flow/criteria/CriteriaTest.java
@@ -256,10 +256,6 @@
     Criterion sameAsMatchOchSignalType1 = Criteria.matchOchSignalType(OchSignalType.FIXED_GRID);
     Criterion matchOchSignalType2 = Criteria.matchOchSignalType(OchSignalType.FLEX_GRID);
 
-    Criterion matchIndexedLambda1 = Criteria.matchLambda(Lambda.indexedLambda(1));
-    Criterion sameAsMatchIndexedLambda1 = Criteria.matchLambda(Lambda.indexedLambda(1));
-    Criterion matchIndexedLambda2 = Criteria.matchLambda(Lambda.indexedLambda(2));
-
     Criterion matchOchSignal1 =
             Criteria.matchLambda(Lambda.ochSignal(GridType.DWDM, ChannelSpacing.CHL_100GHZ, 4, 8));
     Criterion sameAsMatchOchSignal1 =
@@ -1147,14 +1143,6 @@
     }
 
     @Test
-    public void testIndexedLambdaCriterionEquals() {
-        new EqualsTester()
-                .addEqualityGroup(matchIndexedLambda1, sameAsMatchIndexedLambda1)
-                .addEqualityGroup(matchIndexedLambda2)
-                .testEquals();
-    }
-
-    @Test
     public void testOchSignalCriterionEquals() {
         new EqualsTester()
                 .addEqualityGroup(matchOchSignal1, sameAsMatchOchSignal1)
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/FlowRuleCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/FlowRuleCodecTest.java
index ae1abf1..515a69e 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/FlowRuleCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/FlowRuleCodecTest.java
@@ -51,7 +51,6 @@
 import org.onosproject.net.flow.criteria.IcmpTypeCriterion;
 import org.onosproject.net.flow.criteria.Icmpv6CodeCriterion;
 import org.onosproject.net.flow.criteria.Icmpv6TypeCriterion;
-import org.onosproject.net.flow.criteria.IndexedLambdaCriterion;
 import org.onosproject.net.flow.criteria.MplsCriterion;
 import org.onosproject.net.flow.criteria.OchSignalCriterion;
 import org.onosproject.net.flow.criteria.OchSignalTypeCriterion;
@@ -387,7 +386,7 @@
 
         checkCommonData(rule);
 
-        assertThat(rule.selector().criteria().size(), is(36));
+        assertThat(rule.selector().criteria().size(), is(35));
 
         rule.selector().criteria()
                 .stream()
@@ -516,10 +515,6 @@
         assertThat(((IPv6ExthdrFlagsCriterion) criterion).exthdrFlags(),
                 is(99));
 
-        criterion = getCriterion(Criterion.Type.OCH_SIGID);
-        assertThat(((IndexedLambdaCriterion) criterion).lambda(),
-                is(Lambda.indexedLambda(122)));
-
         criterion = getCriterion(Criterion.Type.TUNNEL_ID);
         assertThat(((TunnelIdCriterion) criterion).tunnelId(),
                 is(100L));
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/criteria-flow.json b/core/common/src/test/resources/org/onosproject/codec/impl/criteria-flow.json
index 0e8cfbc..1dab68c 100644
--- a/core/common/src/test/resources/org/onosproject/codec/impl/criteria-flow.json
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/criteria-flow.json
@@ -38,7 +38,6 @@
             {"type":"IPV6_ND_TLL", "mac":"00:11:22:33:44:57"},
             {"type":"MPLS_LABEL", "label":123},
             {"type":"IPV6_EXTHDR", "exthdrFlags":99},
-            {"type":"OCH_SIGID", "lambda":122},
             {"type":"TUNNEL_ID", "tunnelId":100},
             {"type":"OCH_SIGTYPE", "ochSignalType":"FIXED_GRID"},
             {"type":"ODU_SIGTYPE", "oduSignalType":"ODU4"},
diff --git a/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java b/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
index 01d4592..7c556cd 100644
--- a/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
+++ b/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
@@ -126,7 +126,6 @@
 import org.onosproject.net.flow.criteria.IcmpTypeCriterion;
 import org.onosproject.net.flow.criteria.Icmpv6CodeCriterion;
 import org.onosproject.net.flow.criteria.Icmpv6TypeCriterion;
-import org.onosproject.net.flow.criteria.IndexedLambdaCriterion;
 import org.onosproject.net.flow.criteria.LambdaCriterion;
 import org.onosproject.net.flow.criteria.MetadataCriterion;
 import org.onosproject.net.flow.criteria.MplsBosCriterion;
@@ -356,7 +355,6 @@
                     TunnelIdCriterion.class,
                     IPv6ExthdrFlagsCriterion.class,
                     LambdaCriterion.class,
-                    IndexedLambdaCriterion.class,
                     OchSignalCriterion.class,
                     OchSignalTypeCriterion.class,
                     OduSignalIdCriterion.class,