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();