import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import org.opendaylight.transportpce.renderer.provisiondevice.tasks.RollbackProcessor;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.Action;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.OtnServicePathInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.OtnLinkType;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.GetPmInputBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.GetPmOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerSetupInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.LinkBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.Services;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.ServicePathList;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.PmGranularity;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.link.tp.LinkTp;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.olm.get.pm.input.ResourceIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.optical.renderer.nodes.Nodes;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.Notification;
import org.opendaylight.yangtools.yang.common.Uint32;
"Service compliant, submitting service implementation Request ...");
Uint32 serviceRate = getServiceRate(input);
LOG.info("Using {}G rate", serviceRate);
- org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114
+ org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316
.network.Nodes mappingNode =
portMapping.isNodeExist(input.getServiceAEnd().getNodeId())
? portMapping.getNode(input.getServiceAEnd().getNodeId())
}
String serviceName =
ServiceFormat.OTU.getName().equals(input.getServiceAEnd().getServiceFormat().getName())
- ? input.getServiceAEnd().getOtuServiceRate().getSimpleName()
- : input.getServiceAEnd().getOduServiceRate().getSimpleName();
+ ? input.getServiceAEnd().getOtuServiceRate().toString().split("\\{")[0]
+ : input.getServiceAEnd().getOduServiceRate().toString().split("\\{")[0];
if (!formatRateMap.get(input.getServiceAEnd().getServiceFormat()).containsKey(serviceName)) {
LOG.warn("Unable to get service-rate for service {} - unsupported service name {}",
input.getServiceName(), serviceName);
String message,
PathDescription pathDescription,
Link notifLink,
- List<String> supportedLinks,
+ Set<String> supportedLinks,
String serviceType) {
send(
buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
String message,
PathDescription pathDescription,
Link notifLink,
- List<String> supportedLinks,
+ Set<String> supportedLinks,
String serviceType) {
RendererRpcResultSpBuilder builder =
new RendererRpcResultSpBuilder()
* Send renderer notification.
* @param notification Notification
*/
- private void send(Notification notification) {
+ private void send(Notification<?> notification) {
try {
LOG.info("Sending notification {}", notification);
notificationPublishService.putNotification(notification);
.build();
}
- private List<String> getSupportedLinks(List<String> allSupportLinks, String serviceType) {
+ private Set<String> getSupportedLinks(Set<String> allSupportLinks, String serviceType) {
//TODO a Map might be more indicated here
switch (serviceType) {
case StringConstants.SERVICE_TYPE_10GE:
case StringConstants.SERVICE_TYPE_1GE:
return allSupportLinks.stream()
- .filter(lk -> lk.startsWith(OtnLinkType.ODTU4.getName())).collect(Collectors.toList());
+ .filter(lk -> lk.startsWith(OtnLinkType.ODTU4.getName())).collect(Collectors.toSet());
case StringConstants.SERVICE_TYPE_100GE_M:
return allSupportLinks.stream()
- .filter(lk -> lk.startsWith(OtnLinkType.ODUC4.getName())).collect(Collectors.toList());
+ .filter(lk -> lk.startsWith(OtnLinkType.ODUC4.getName())).collect(Collectors.toSet());
case StringConstants.SERVICE_TYPE_ODU4:
case StringConstants.SERVICE_TYPE_100GE_S:
return allSupportLinks.stream()
- .filter(lk -> lk.startsWith(OtnLinkType.OTU4.getName())).collect(Collectors.toList());
+ .filter(lk -> lk.startsWith(OtnLinkType.OTU4.getName())).collect(Collectors.toSet());
case StringConstants.SERVICE_TYPE_ODUC4:
return allSupportLinks.stream()
- .filter(lk -> lk.startsWith(OtnLinkType.OTUC4.getName())).collect(Collectors.toList());
+ .filter(lk -> lk.startsWith(OtnLinkType.OTUC4.getName())).collect(Collectors.toSet());
default:
return null;
}