Add channel parameter to optical connectivity intent (ONOS-6670)

Change-Id: I3d61e28b82f845db025d21cc65e9240b6ee2b6cc
diff --git a/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalConnectivityIntentCompiler.java b/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalConnectivityIntentCompiler.java
index 2609cf4..cbf670f 100644
--- a/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalConnectivityIntentCompiler.java
+++ b/apps/optical-model/src/main/java/org/onosproject/net/optical/intent/impl/compiler/OpticalConnectivityIntentCompiler.java
@@ -133,7 +133,7 @@
         Stream<Path> paths = getOpticalPaths(intent);
         Optional<Map.Entry<Path, List<OchSignal>>> found = paths
                 .map(path ->
-                        Maps.immutableEntry(path, findFirstAvailableLambda(path)))
+                        Maps.immutableEntry(path, findFirstAvailableLambda(intent, path)))
                 .filter(entry -> !entry.getValue().isEmpty())
                 .filter(entry -> convertToResources(entry.getKey(),
                         entry.getValue()).stream().allMatch(resourceService::isAvailable))
@@ -220,7 +220,11 @@
      * @param path the path
      * @return list of consecutive and available OChSignals
      */
-    private List<OchSignal> findFirstAvailableLambda(Path path) {
+    private List<OchSignal> findFirstAvailableLambda(OpticalConnectivityIntent intent, Path path) {
+        if (intent.ochSignal().isPresent()) {
+            return Collections.singletonList(intent.ochSignal().get());
+        }
+
         Set<OchSignal> lambdas = findCommonLambdas(path);
         if (lambdas.isEmpty()) {
             return Collections.emptyList();