Refactor style b/c of service models 10.1 update 34/99834/15
authorguillaume.lambert <guillaume.lambert@orange.com>
Mon, 21 Feb 2022 13:15:16 +0000 (14:15 +0100)
committerGilles Thouenon <gilles.thouenon@orange.com>
Wed, 30 Mar 2022 14:08:04 +0000 (16:08 +0200)
Some pieces of the current code do not follow any coherent coding style
pattern.
Some others still use old Java coding style patterns,
mainly old patterns used before builders and setters could be cascaded.

A coherent and clean coding style matters because
- it eases the code maintenance and evolution
- it also helps detect errors or possible optimizations

For this reason, coding style issues should preferably be adressed
before any in-depth modifications such as API migrations.
And if not possible, at least afterwards.
This is particularly true with the YANG models API used here.
They generate long namespaces and long builders/setters structures
that can quickly burden the code and complicate its reading or analysis.

As a consequence, the style of some pieces of code was reviewed here to
- correct indentations
- rework LF positions
- fix split NS and revision dates
- add ternary operator where it makes senses
- rearrange and cascade builders and setters

Once that done, some optimizations have been proposed on the fly to:
- remove some intermediate variables that are not needed
- remove related imports no more used
- add imports to avoid to use long NS in code blocks
- etc

Finally add TODO comments on few places that might need to be reworked.

https://en.wikipedia.org/wiki/Programming_style

JIRA: TRNSPRTPCE-586 TRNSPRTPCE-205
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I14f5f40dfdf97fa0f32139d384db878e2932fc04

pce/src/main/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImpl.java
pce/src/test/java/org/opendaylight/transportpce/pce/utils/PceTestData.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceListenerImpl.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/utils/ModelMappingUtils.java

index 34595a9706b59d82e8f301e8b4c34ba04192b888..aa598c73160be1438d207c56a28317d1a6bc0308 100644 (file)
@@ -35,12 +35,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev22
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.ServicePathRpcResultBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.GnpyResponse;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.GnpyResponseBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.gnpy.response.ResponseType;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.gnpy.response.response.type.NoPathCase;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.gnpy.response.response.type.NoPathCaseBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.gnpy.response.response.type.PathCase;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.gnpy.gnpy.response.response.type.PathCaseBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.performance.PathProperties;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.performance.PathPropertiesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.performance.path.properties.PathMetric;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.performance.path.properties.PathMetricBuilder;
@@ -86,11 +82,18 @@ public class PathComputationServiceImpl implements PathComputationService {
     @SuppressFBWarnings(
         value = "UPM_UNCALLED_PRIVATE_METHOD",
         justification = "false positive, this method is used by public method cancelResourceReserve")
-    private void sendNotifications(ServicePathNotificationTypes servicePathNotificationTypes, String serviceName,
-            RpcStatusEx rpcStatusEx, String message, PathDescription pathDescription) {
+    private void sendNotifications(
+            ServicePathNotificationTypes servicePathNotificationTypes,
+            String serviceName,
+            RpcStatusEx rpcStatusEx,
+            String message,
+            PathDescription pathDescription) {
         ServicePathRpcResultBuilder servicePathRpcResultBuilder =
-                new ServicePathRpcResultBuilder().setNotificationType(servicePathNotificationTypes)
-                        .setServiceName(serviceName).setStatus(rpcStatusEx).setStatusMessage(message);
+            new ServicePathRpcResultBuilder()
+                .setNotificationType(servicePathNotificationTypes)
+                .setServiceName(serviceName)
+                .setStatus(rpcStatusEx)
+                .setStatusMessage(message);
         if (pathDescription != null) {
             servicePathRpcResultBuilder.setPathDescription(pathDescription);
         }
@@ -109,27 +112,33 @@ public class PathComputationServiceImpl implements PathComputationService {
 
             @Override
             public CancelResourceReserveOutput call() throws Exception {
-                String message = "";
-                sendNotifications(ServicePathNotificationTypes.CancelResourceReserve, input.getServiceName(),
-                        RpcStatusEx.Pending, "Service compliant, submitting cancelResourceReserve Request ...", null);
+                sendNotifications(
+                        ServicePathNotificationTypes.CancelResourceReserve,
+                        input.getServiceName(),
+                        RpcStatusEx.Pending,
+                        "Service compliant, submitting cancelResourceReserve Request ...",
+                        null);
                 PceSendingPceRPCs sendingPCE = new PceSendingPceRPCs(gnpyConsumer);
                 sendingPCE.cancelResourceReserve();
-                if (Boolean.TRUE.equals(sendingPCE.getSuccess())) {
-                    message = "ResourceReserve cancelled !";
-                } else {
-                    message = "Cancelling ResourceReserve failed !";
-                }
-                LOG.info("in PathComputationServiceImpl : {}",message);
-                sendNotifications(ServicePathNotificationTypes.CancelResourceReserve, input.getServiceName(),
-                        RpcStatusEx.Successful, "cancel Resource Reserve successful!", null);
-                ConfigurationResponseCommonBuilder configurationResponseCommon =
-                        new ConfigurationResponseCommonBuilder();
-                configurationResponseCommon.setAckFinalIndicator("Yes")
-                        .setRequestId(input.getServiceHandlerHeader().getRequestId()).setResponseCode("200")
-                        .setResponseMessage("");
-                CancelResourceReserveOutputBuilder output = new CancelResourceReserveOutputBuilder();
-                output.setConfigurationResponseCommon(configurationResponseCommon.build());
-                return output.build();
+                LOG.info("in PathComputationServiceImpl : {}",
+                        Boolean.TRUE.equals(sendingPCE.getSuccess())
+                            ? "ResourceReserve cancelled !"
+                            : "Cancelling ResourceReserve failed !");
+                sendNotifications(
+                        ServicePathNotificationTypes.CancelResourceReserve,
+                        input.getServiceName(),
+                        RpcStatusEx.Successful,
+                        "cancel Resource Reserve successful!",
+                        null);
+                return new CancelResourceReserveOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator("Yes")
+                            .setRequestId(input.getServiceHandlerHeader().getRequestId())
+                            .setResponseCode("200")
+                            .setResponseMessage("")
+                            .build())
+                    .build();
             }
         });
     }
@@ -147,26 +156,33 @@ public class PathComputationServiceImpl implements PathComputationService {
                 PceComplianceCheckResult check = PceComplianceCheck.check(input);
                 if (!check.hasPassed()) {
                     LOG.error("Path not calculated, service not compliant : {}", check.getMessage());
-                    sendNotifications(ServicePathNotificationTypes.PathComputationRequest, input.getServiceName(),
-                            RpcStatusEx.Failed, "Path not calculated, service not compliant", null);
-                    configurationResponseCommon.setAckFinalIndicator("Yes")
+                    sendNotifications(
+                        ServicePathNotificationTypes.PathComputationRequest,
+                        input.getServiceName(),
+                        RpcStatusEx.Failed,
+                        "Path not calculated, service not compliant",
+                        null);
+                    configurationResponseCommon
+                            .setAckFinalIndicator("Yes")
                             .setRequestId(input.getServiceHandlerHeader().getRequestId())
-                            .setResponseCode("Path not calculated").setResponseMessage(check.getMessage());
-                    output.setConfigurationResponseCommon(configurationResponseCommon.build())
-                            .setResponseParameters(null);
-                    return output.build();
+                            .setResponseCode("Path not calculated")
+                            .setResponseMessage(check.getMessage());
+                    return output
+                        .setConfigurationResponseCommon(configurationResponseCommon.build())
+                        .setResponseParameters(null)
+                        .build();
                 }
-                sendNotifications(ServicePathNotificationTypes.PathComputationRequest, input.getServiceName(),
-                        RpcStatusEx.Pending, "Service compliant, submitting pathComputation Request ...", null);
-                String message = "";
-                String responseCode = "";
-                PceSendingPceRPCs sendingPCE = new PceSendingPceRPCs(input, networkTransactionService,
-                        gnpyConsumer, portMapping);
+                sendNotifications(
+                    ServicePathNotificationTypes.PathComputationRequest,
+                    input.getServiceName(),
+                    RpcStatusEx.Pending,
+                    "Service compliant, submitting pathComputation Request ...",
+                    null);
+                PceSendingPceRPCs sendingPCE =
+                    new PceSendingPceRPCs(input, networkTransactionService, gnpyConsumer, portMapping);
                 sendingPCE.pathComputation();
-                message = sendingPCE.getMessage();
-                responseCode = sendingPCE.getResponseCode();
-                PathDescriptionBuilder path = null;
-                path = sendingPCE.getPathDescription();
+                String message = sendingPCE.getMessage();
+                String responseCode = sendingPCE.getResponseCode();
                 LOG.info("PCE response: {} {}", message, responseCode);
 
                 //add the GNPy result
@@ -181,41 +197,59 @@ public class PathComputationServiceImpl implements PathComputationService {
                     GnpyResponse respZtoA = generateGnpyResponse(gnpyZtoA.getResponse(),"Z-to-A");
                     listResponse.add(respZtoA);
                 }
-                output.setGnpyResponse(listResponse.stream()
-                        .collect(Collectors.toMap(GnpyResponse::key, gnpyResponse -> gnpyResponse)));
+                output
+                    .setGnpyResponse(
+                        listResponse.stream()
+                            .collect(Collectors.toMap(GnpyResponse::key, gnpyResponse -> gnpyResponse)));
 
+                PathDescriptionBuilder path = sendingPCE.getPathDescription();
                 if (Boolean.FALSE.equals(sendingPCE.getSuccess()) || (path == null)) {
-                    configurationResponseCommon.setAckFinalIndicator("Yes")
-                            .setRequestId(input.getServiceHandlerHeader().getRequestId()).setResponseCode(responseCode)
-                            .setResponseMessage(message);
-                    output.setConfigurationResponseCommon(configurationResponseCommon.build());
-                    sendNotifications(ServicePathNotificationTypes.PathComputationRequest, input.getServiceName(),
-                            RpcStatusEx.Failed, "Path not calculated", null);
-                    return output.build();
+                    sendNotifications(
+                        ServicePathNotificationTypes.PathComputationRequest,
+                        input.getServiceName(),
+                        RpcStatusEx.Failed,
+                        "Path not calculated",
+                        null);
+                    return output
+                        .setConfigurationResponseCommon(
+                            configurationResponseCommon
+                                .setAckFinalIndicator("Yes")
+                                .setRequestId(input.getServiceHandlerHeader().getRequestId())
+                                .setResponseCode(responseCode)
+                                .setResponseMessage(message)
+                                .build())
+                        .build();
                 }
                 // Path calculator returned Success
-                configurationResponseCommon.setAckFinalIndicator("Yes")
-                        .setRequestId(input.getServiceHandlerHeader().getRequestId()).setResponseCode(responseCode)
-                        .setResponseMessage(message);
                 PathDescription pathDescription =
-                    new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.service.path.rpc
-                            .result.PathDescriptionBuilder()
+                    new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118
+                            .service.path.rpc.result.PathDescriptionBuilder()
                         .setAToZDirection(path.getAToZDirection())
                         .setZToADirection(path.getZToADirection())
                         .build();
-                sendNotifications(ServicePathNotificationTypes.PathComputationRequest, input.getServiceName(),
-                        RpcStatusEx.Successful, message, pathDescription);
-                org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response
-                    .parameters.sp.response.parameters.PathDescription pathDescription1 =
+                sendNotifications(
+                    ServicePathNotificationTypes.PathComputationRequest,
+                    input.getServiceName(),
+                    RpcStatusEx.Successful,
+                    message,
+                    pathDescription);
+                org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                        .response.parameters.sp.response.parameters.PathDescription pathDescription1 =
                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
                             .response.parameters.sp.response.parameters.PathDescriptionBuilder()
                         .setAToZDirection(path.getAToZDirection())
                         .setZToADirection(path.getZToADirection())
                         .build();
-                ResponseParametersBuilder rpb = new ResponseParametersBuilder().setPathDescription(pathDescription1);
-                output.setConfigurationResponseCommon(configurationResponseCommon.build())
-                        .setResponseParameters(rpb.build());
-
+                output
+                    .setConfigurationResponseCommon(
+                        configurationResponseCommon
+                            .setAckFinalIndicator("Yes")
+                            .setRequestId(input.getServiceHandlerHeader().getRequestId())
+                            .setResponseCode(responseCode)
+                            .setResponseMessage(message)
+                            .build())
+                    .setResponseParameters(
+                        new ResponseParametersBuilder().setPathDescription(pathDescription1).build());
                 //debug prints
                 AToZDirection atoz = pathDescription.getAToZDirection();
                 if ((atoz != null) && (atoz.getAToZ() != null)) {
@@ -239,44 +273,66 @@ public class PathComputationServiceImpl implements PathComputationService {
     }
 
     public GnpyResponse generateGnpyResponse(Response responseGnpy, String pathDir) {
-        ResponseType respType = null;
-        boolean feasible = true;
-        if (responseGnpy != null) {
-            if (responseGnpy.getResponseType() instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result
-                    .response.response.type.NoPathCase) {
-                LOG.info("GNPy : path is not feasible");
-                org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase
-                    noPathGnpy = (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type
-                    .NoPathCase) responseGnpy.getResponseType();
-                NoPathCase noPathCase = new NoPathCaseBuilder().setNoPath(noPathGnpy.getNoPath()).build();
-                respType = noPathCase;
-                feasible = false;
-            } else if (responseGnpy.getResponseType() instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result
-                    .response.response.type.PathCase) {
-                LOG.info("GNPy : path is feasible");
-                org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase pathCase =
-                        (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase)
-                        responseGnpy.getResponseType();
-                List<org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties
-                    .PathMetric> pathMetricList =
-                    new ArrayList<>(pathCase.getPathProperties().getPathMetric().values());
-                List<PathMetric> gnpyPathMetricList = new ArrayList<>();
-                for (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric
-                        pathMetricGnpy : pathMetricList) {
-                    PathMetric pathMetric = new PathMetricBuilder().setMetricType(pathMetricGnpy.getMetricType())
-                            .setAccumulativeValue(pathMetricGnpy.getAccumulativeValue()).build();
-                    gnpyPathMetricList.add(pathMetric);
-                }
-                PathProperties pathProperties = new PathPropertiesBuilder()
-                        .setPathMetric(gnpyPathMetricList.stream()
-                                .collect(Collectors.toMap(PathMetric::key, pathMetric -> pathMetric)))
-                        .build();
-                PathCase gnpyPathCase = new PathCaseBuilder().setPathProperties(pathProperties).build();
-                respType = gnpyPathCase;
-                feasible = true;
+        if (responseGnpy == null) {
+            return new GnpyResponseBuilder()
+                .setPathDir(pathDir)
+                .setResponseType(null)
+                .setFeasibility(true)
+                .build();
+        }
+        if (responseGnpy.getResponseType()
+                instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase) {
+            LOG.info("GNPy : path is not feasible");
+            org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase
+                    noPathGnpy =
+                (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase)
+                    responseGnpy.getResponseType();
+            return new GnpyResponseBuilder()
+                .setPathDir(pathDir)
+                .setResponseType(
+                    new NoPathCaseBuilder()
+                        .setNoPath(noPathGnpy.getNoPath())
+                        .build())
+                .setFeasibility(false)
+                .build();
+        }
+        if (responseGnpy.getResponseType()
+                instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase) {
+            LOG.info("GNPy : path is feasible");
+            org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase
+                    pathCase =
+                (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase)
+                    responseGnpy.getResponseType();
+            List<org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric>
+                    pathMetricList =
+                new ArrayList<>(pathCase.getPathProperties().getPathMetric().values());
+            List<PathMetric> gnpyPathMetricList = new ArrayList<>();
+            for (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric
+                    pathMetricGnpy : pathMetricList) {
+                gnpyPathMetricList.add(
+                    new PathMetricBuilder()
+                        .setMetricType(pathMetricGnpy.getMetricType())
+                        .setAccumulativeValue(pathMetricGnpy.getAccumulativeValue())
+                        .build());
             }
+            return new GnpyResponseBuilder()
+                .setPathDir(pathDir)
+                .setResponseType(
+                    new PathCaseBuilder()
+                        .setPathProperties(
+                            new PathPropertiesBuilder()
+                                .setPathMetric(gnpyPathMetricList.stream()
+                                    .collect(Collectors.toMap(PathMetric::key, pathMetric -> pathMetric)))
+                                .build())
+                        .build())
+                .setFeasibility(true)
+                .build();
         }
-        return new GnpyResponseBuilder().setPathDir(pathDir).setResponseType(respType).setFeasibility(feasible).build();
+        return new GnpyResponseBuilder()
+            .setPathDir(pathDir)
+            .setResponseType(null)
+            .setFeasibility(true)
+            .build();
     }
 
 }
index 6ace2982a7f2cca7d9f4b67b30f9b7c83b773e6c..5008ca2c49c656ea379ebb6b3fc8b8dcd0be5e55 100644 (file)
@@ -15,9 +15,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev22
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceAEnd;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceAEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceZEnd;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.path.computation.request.input.ServiceZEndBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ConnectionType;
@@ -43,124 +41,116 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.Service
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirectionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParameters;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescription;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeader;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint8;
 
-
 public final class PceTestData {
 
     private PceTestData() {
     }
 
     public static PathComputationRequestInput getEmptyPCERequest() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
-                .setRequestId("request1")
-                .build();
         return new PathComputationRequestInputBuilder()
-            .setServiceHandlerHeader(serviceHandlerHeader)
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder()
+                    .setRequestId("request1")
+                    .build())
             .build();
     }
 
     public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
-                .setRequestId("request1")
-                .build();
         return new PathComputationRequestInputBuilder()
             .setServiceName("serviceName")
-            .setServiceHandlerHeader(serviceHandlerHeader)
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder()
+                    .setRequestId("request1")
+                    .build())
             .build();
     }
 
     public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
-                .build();
         return new PathComputationRequestInputBuilder()
             .setServiceName("serviceName")
-            .setServiceHandlerHeader(serviceHandlerHeader)
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().build())
             .build();
     }
 
     public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceName("service1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
                 .setRequestId("request1")
-                .build();
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .build())
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceFormat(ServiceFormat.ODU)
                 .setServiceRate(Uint32.valueOf(100))
                 .setClli("clli11")
                 .setNodeId("XPONDER-2-2")
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceFormat(ServiceFormat.ODU)
                 .setServiceRate(Uint32.valueOf(0))
                 .setClli("Some clli11")
                 .setNodeId("XPONDER-1-2")
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceName("service1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setCustomerCode(Arrays.asList("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
-                        new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints
-                                .co.routing.ServiceIdentifierListKey("Some existing-service"),
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
+                                .routing.ServiceIdentifierListKey("Some existing-service"),
                         new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
                     .build())
                 .build())
@@ -168,8 +158,8 @@ public final class PceTestData {
                 .setCustomerCode(Arrays.asList("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
-                        new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints
-                                .co.routing.ServiceIdentifierListKey("Some existing-service"),
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
+                                .routing.ServiceIdentifierListKey("Some existing-service"),
                         new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
                     .build())
                 .build())
@@ -177,72 +167,69 @@ public final class PceTestData {
     }
 
     public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceName("service1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
                 .setRequestId("request1")
-                .build();
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .build())
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setServiceRate(Uint32.valueOf(100))
                 .setClli("clli11")
                 .setNodeId("XPONDER-2-2")
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setServiceRate(Uint32.valueOf(0))
                 .setClli("Some clli11")
                 .setNodeId("XPONDER-1-2")
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceName("service1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setCustomerCode(Arrays.asList("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
@@ -261,76 +248,73 @@ public final class PceTestData {
                         new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
                     .build())
                 .build())
-                .build();
+            .build();
     }
 
     public static PathComputationRequestInput getPCERequest() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceName("service1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
                 .setRequestId("request1")
-                .build();
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .build())
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setServiceRate(Uint32.valueOf(100))
                 .setClli("clli11")
                 .setNodeId("XPONDER-2-2")
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setServiceRate(Uint32.valueOf(0))
                 .setClli("Some clli11")
                 .setNodeId("XPONDER-1-2")
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceName("service1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setCustomerCode(Arrays.asList("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
@@ -353,25 +337,26 @@ public final class PceTestData {
     }
 
     public static PathComputationRequestOutput getFailedPCEResultYes() {
-        PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-                .setAckFinalIndicator("Yes")
-                .setRequestId("request1")
-                .setResponseCode("Path not calculated")
-                .setResponseMessage("Service Name is not set");
-        outputBuilder.setConfigurationResponseCommon(configurationResponseCommon.build())
-                .setResponseParameters(null);
-        return outputBuilder.build();
+        return new PathComputationRequestOutputBuilder()
+            .setConfigurationResponseCommon(
+                new ConfigurationResponseCommonBuilder()
+                    .setAckFinalIndicator("Yes")
+                    .setRequestId("request1")
+                    .setResponseCode("Path not calculated")
+                    .setResponseMessage("Service Name is not set")
+                    .build())
+            .setResponseParameters(null)
+            .build();
     }
 
     public static PathComputationRequestOutput getPCEResultOk(Long wl) {
-        PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
-        ResponseParameters responseParameters = new ResponseParametersBuilder()
-                .setPathDescription(createPathDescription(0L, wl, 0L, wl))
-                .build();
-        outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
-                .setResponseParameters(responseParameters);
-        return outputBuilder.build();
+        return new PathComputationRequestOutputBuilder()
+            .setConfigurationResponseCommon(createCommonSuccessResponse())
+            .setResponseParameters(
+                new ResponseParametersBuilder()
+                    .setPathDescription(createPathDescription(0L, wl, 0L, wl))
+                    .build())
+            .build();
     }
 
     /**
@@ -394,45 +379,40 @@ public final class PceTestData {
      * "pce:pce-metric": "hop-count"
      * }
      * }</code>
-     *
      * @return input PathComputationRequestInput data
      */
     public static PathComputationRequestInput getPCE_test1_request_54() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
                 .setRequestId("request 1")
-                .build();
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .build())
+            .setServiceName("service 1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-2")
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-2")
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceName("service 1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .build())
             .build();
     }
 
     /**
      * Generate Data for Test 1 result 5-4.
-     *
-     * @param wl WaveLength
-     * @return output PathComputationRequestOutput data
+     * @param  wl WaveLength
+     * @return    output PathComputationRequestOutput data
      */
     public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
-        PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
-        ResponseParameters responseParameters = new ResponseParametersBuilder()
-                .setPathDescription(createPathDescription(0L, wl, 0L, wl))
-                .build();
-        outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
-                .setResponseParameters(responseParameters);
-        return outputBuilder.build();
+        return new PathComputationRequestOutputBuilder()
+            .setConfigurationResponseCommon(createCommonSuccessResponse())
+            .setResponseParameters(
+                new ResponseParametersBuilder()
+                    .setPathDescription(createPathDescription(0L, wl, 0L, wl))
+                    .build())
+            .build();
     }
 
     /**
@@ -460,28 +440,24 @@ public final class PceTestData {
      * "pce:pce-metric": "hop-count"
      * }
      * }</code>
-     *
      * @return input PathComputationRequestInput data
      */
     public static PathComputationRequestInput getPCE_test2_request_54() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
                 .setRequestId("request 1")
-                .build();
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .build())
+            .setServiceName("service 1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-1-2")
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceRate(Uint32.valueOf(0))
                 .setNodeId("XPONDER-3-2")
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceName("service 1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setExclude(new ExcludeBuilder()
                     .setNodeId(Arrays.asList(new NodeIdType("OpenROADM-2-2")))
@@ -498,15 +474,15 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 2 result 5-4.
-     *
      * @return output PathComputationRequestOutput data
      */
     public static PathComputationRequestOutput getPCE_test2_result_54() {
         return new PathComputationRequestOutputBuilder()
             .setConfigurationResponseCommon(createCommonSuccessResponse())
-            .setResponseParameters(new ResponseParametersBuilder()
-                .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
-                .build())
+            .setResponseParameters(
+                new ResponseParametersBuilder()
+                    .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
+                    .build())
             .build();
     }
 
@@ -535,34 +511,31 @@ public final class PceTestData {
      * "pce:pce-metric": "hop-count"
      * }
      * }</code>
-     *
      * @return input PathComputationRequestInput data
      */
     public static PathComputationRequestInput getPCE_test3_request_54() {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
                 .setRequestId("request 1")
-                .build();
-
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .build())
+            .setServiceName("service 1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceRate(Uint32.valueOf(100))
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setNodeId("XPONDER-1-2")
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceRate(Uint32.valueOf(0))
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setNodeId("XPONDER-3-2")
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceName("service 1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setExclude(new ExcludeBuilder()
-                    .setNodeId(Arrays.asList(new NodeIdType("OpenROADM-2-1"), new NodeIdType("OpenROADM-2-2")))
+                    .setNodeId(Arrays.asList(
+                        new NodeIdType("OpenROADM-2-1"),
+                        new NodeIdType("OpenROADM-2-2")))
                     .build())
                 .build())
             .build();
@@ -570,38 +543,36 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 3 result 5-4.
-     *
      * @return output PathComputationRequestOutput data
      */
     public static PathComputationRequestOutput getPCE_test3_result_54() {
-        PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
-        ResponseParameters responseParameters = new ResponseParametersBuilder()
+        return new PathComputationRequestOutputBuilder()
+            .setConfigurationResponseCommon(createCommonSuccessResponse())
+            .setResponseParameters(new ResponseParametersBuilder()
                 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
-                .build();
-        outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
-                .setResponseParameters(responseParameters);
-        return outputBuilder.build();
+                .build())
+            .build();
     }
 
     public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
         return new PathComputationRequestInputBuilder()
-                .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
-                    .setRequestId("request 1")
-                    .build())
-                .setServiceName("service 1")
-                .setResourceReserve(true)
-                .setPceRoutingMetric(PceMetric.HopCount)
-                .setServiceAEnd(new ServiceAEndBuilder()
-                    .setServiceRate(Uint32.valueOf(0))
-                    .setNodeId("XPONDER-1-2")
-                    .build())
-                .setServiceZEnd(new ServiceZEndBuilder()
-                    .setServiceRate(Uint32.valueOf(0))
-                    .setNodeId("XPONDER-3-2")
-                    .build())
-                .setHardConstraints(new HardConstraintsBuilder().build())
-                .setSoftConstraints(new SoftConstraintsBuilder().build())
-                .build();
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
+                .setRequestId("request 1")
+                .build())
+            .setServiceName("service 1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceAEnd(new ServiceAEndBuilder()
+                .setServiceRate(Uint32.valueOf(0))
+                .setNodeId("XPONDER-1-2")
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
+                .setServiceRate(Uint32.valueOf(0))
+                .setNodeId("XPONDER-3-2")
+                .build())
+            .setHardConstraints(new HardConstraintsBuilder().build())
+            .setSoftConstraints(new SoftConstraintsBuilder().build())
+            .build();
     }
 
     public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
@@ -624,36 +595,35 @@ public final class PceTestData {
     }
 
     public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
-        PathComputationRequestOutputBuilder outputBuilder = new PathComputationRequestOutputBuilder();
-        ResponseParameters responseParameters = new ResponseParametersBuilder()
+        return new PathComputationRequestOutputBuilder()
+            .setConfigurationResponseCommon(createCommonSuccessResponse())
+            .setResponseParameters(new ResponseParametersBuilder()
                 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
-                .build();
-        outputBuilder.setConfigurationResponseCommon(createCommonSuccessResponse())
-                .setResponseParameters(responseParameters);
-        return outputBuilder.build();
+                .build())
+            .build();
     }
 
     private static ConfigurationResponseCommon createCommonSuccessResponse() {
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-                .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
-                .setRequestId("request 1")
-                .setResponseCode(ResponseCodes.RESPONSE_OK)
-                .setResponseMessage("Path is calculated");
-        return configurationResponseCommon.build();
+        return new ConfigurationResponseCommonBuilder()
+            .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
+            .setRequestId("request 1")
+            .setResponseCode(ResponseCodes.RESPONSE_OK)
+            .setResponseMessage("Path is calculated")
+            .build();
     }
 
     private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
                                                          long zaWaveLength) {
         return new PathDescriptionBuilder()
-                .setAToZDirection(new AToZDirectionBuilder()
-                    .setRate(Uint32.valueOf(azRate))
-                    .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
-                    .build())
-                .setZToADirection(new ZToADirectionBuilder()
-                    .setRate(Uint32.valueOf(zaRate))
-                    .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
-                    .build())
-                .build();
+            .setAToZDirection(new AToZDirectionBuilder()
+                .setRate(Uint32.valueOf(azRate))
+                .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
+                .build())
+            .setZToADirection(new ZToADirectionBuilder()
+                .setRate(Uint32.valueOf(zaRate))
+                .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
+                .build())
+            .build();
     }
 
     /**
@@ -684,9 +654,8 @@ public final class PceTestData {
      * "pce:pce-metric": "hop-count"
      * }
      * }</code>
-     *
-     * @param base Path Computation Request Input base
-     * @return input PathComputationRequestInput data
+     * @param  base Path Computation Request Input base
+     * @return      input PathComputationRequestInput data
      */
     public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
         return new PathComputationRequestInputBuilder(base)
@@ -719,127 +688,118 @@ public final class PceTestData {
     }
 
     public static ServiceCreateInput buildServiceCreateInput() {
-
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceAEnd serviceAEnd =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
-                    .ServiceAEndBuilder()
-                .setClli("clli")
-                .setServiceRate(Uint32.valueOf(0))
-                .setNodeId(new NodeIdType("XPONDER-1-2"))
-                .setTxDirection(Map.of(
-                    new TxDirectionKey(Uint8.ZERO),
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint
-                            .TxDirectionBuilder()
-                        .setPort(new PortBuilder().build())
-                        .build()))
-                .setRxDirection(Map.of(
-                    new RxDirectionKey(Uint8.ZERO),
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint
-                            .RxDirectionBuilder()
-                        .setPort(new PortBuilder().build())
-                        .build()))
-                .build();
-
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceZEnd serviceZEnd =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
-                    .ServiceZEndBuilder()
-                .setClli("clli")
-                .setServiceRate(Uint32.valueOf(0))
-                .setNodeId(new NodeIdType("XPONDER-3-2"))
-                .setTxDirection(Map.of(
-                    new TxDirectionKey(Uint8.ZERO),
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint
-                            .TxDirectionBuilder()
-                        .setPort(new PortBuilder().build())
-                        .build()))
-                .setRxDirection(Map.of(
-                    new RxDirectionKey(Uint8.ZERO),
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint
-                            .RxDirectionBuilder()
-                        .setPort(new PortBuilder().build())
-                        .build()))
-                .build();
-
         return new ServiceCreateInputBuilder()
             .setCommonId("commonId")
             .setConnectionType(ConnectionType.Service)
             .setCustomer("Customer")
             .setServiceName("service 1")
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
-            .setSdncRequestHeader(new SdncRequestHeaderBuilder()
-                .setRequestId("request 1")
-                .build())
+            .setServiceAEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
+                        .ServiceAEndBuilder()
+                    .setClli("clli")
+                    .setServiceRate(Uint32.valueOf(0))
+                    .setNodeId(new NodeIdType("XPONDER-1-2"))
+                    .setTxDirection(Map.of(
+                        new TxDirectionKey(Uint8.ZERO),
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
+                                .endpoint.TxDirectionBuilder()
+                            .setPort(new PortBuilder().build())
+                            .build()))
+                    .setRxDirection(Map.of(
+                        new RxDirectionKey(Uint8.ZERO),
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
+                                .endpoint.RxDirectionBuilder()
+                            .setPort(new PortBuilder().build())
+                            .build()))
+                    .build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
+                        .ServiceZEndBuilder()
+                    .setClli("clli")
+                    .setServiceRate(Uint32.valueOf(0))
+                    .setNodeId(new NodeIdType("XPONDER-3-2"))
+                    .setTxDirection(Map.of(
+                        new TxDirectionKey(Uint8.ZERO),
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
+                                .endpoint.TxDirectionBuilder()
+                            .setPort(new PortBuilder().build())
+                            .build()))
+                    .setRxDirection(Map.of(
+                        new RxDirectionKey(Uint8.ZERO),
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
+                                .endpoint.RxDirectionBuilder()
+                            .setPort(new PortBuilder().build())
+                            .build()))
+                    .build())
+            .setSdncRequestHeader(
+                new SdncRequestHeaderBuilder()
+                    .setRequestId("request 1")
+                    .build())
             .build();
     }
 
     public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
-        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
-                .setRequestId("request1")
-                .build();
-        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+        return new PathComputationRequestInputBuilder()
+            .setServiceName("service1")
+            .setResourceReserve(true)
+            .setPceRoutingMetric(PceMetric.HopCount)
+            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("request1").build())
+            .setServiceAEnd(new ServiceAEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setServiceRate(Uint32.valueOf(100))
                 .setClli("clli11")
                 .setNodeId(nodeA)
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
+            .setServiceZEnd(new ServiceZEndBuilder()
                 .setServiceFormat(ServiceFormat.Ethernet)
                 .setServiceRate(Uint32.valueOf(0))
                 .setClli("Some clli11")
                 .setNodeId(nodeZ)
-                .setTxDirection(new TxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .setRxDirection(new RxDirectionBuilder().setPort(
-                        new PortBuilder()
-                                .setPortDeviceName("Some port-device-name")
-                                .setPortType("Some port-type")
-                                .setPortName("Some port-name")
-                                .setPortRack("Some port-rack")
-                                .setPortShelf("Some port-shelf")
-                                .setPortSlot("Some port-slot")
-                                .setPortSubSlot("Some port-sub-slot")
-                                .build()
-                ).build())
-                .build();
-        return new PathComputationRequestInputBuilder()
-            .setServiceName("service1")
-            .setResourceReserve(true)
-            .setPceRoutingMetric(PceMetric.HopCount)
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
+                .setTxDirection(new TxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .setRxDirection(new RxDirectionBuilder()
+                    .setPort(new PortBuilder()
+                        .setPortDeviceName("Some port-device-name")
+                        .setPortType("Some port-type")
+                        .setPortName("Some port-name")
+                        .setPortRack("Some port-rack")
+                        .setPortShelf("Some port-shelf")
+                        .setPortSlot("Some port-slot")
+                        .setPortSubSlot("Some port-sub-slot")
+                        .build())
+                    .build())
+                .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setCustomerCode(Arrays.asList("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
index 54b45f2f9693b0e96ee8c0d15e1a2380e765f297..de4bbd9ce36b409bd4d908e064a24dc6ec62725f 100644 (file)
@@ -18,13 +18,11 @@ import java.util.Optional;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
-import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.ResponseCodes;
 import org.opendaylight.transportpce.common.StringConstants;
@@ -76,7 +74,6 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930
 import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.OtnLinkType;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.Notification;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -84,6 +81,7 @@ import org.slf4j.LoggerFactory;
 
 public class RendererServiceOperationsImpl implements RendererServiceOperations {
 
+    private static final Logger LOG = LoggerFactory.getLogger(RendererServiceOperationsImpl.class);
     private static final String DEVICE_RENDERING_ROLL_BACK_MSG =
             "Device rendering was not successful! Rendering will be rolled back.";
     private static final String OLM_ROLL_BACK_MSG =
@@ -91,7 +89,6 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     private static final String RENDERING_DEVICES_A_Z_MSG = "Rendering devices A-Z";
     private static final String RENDERING_DEVICES_Z_A_MSG = "Rendering device Z-A";
     private static final String TURNING_DOWN_POWER_ON_A_TO_Z_PATH_MSG = "Turning down power on A-to-Z path";
-    private static final Logger LOG = LoggerFactory.getLogger(RendererServiceOperationsImpl.class);
     private static final String FAILED = "Failed";
     private static final String OPERATION_FAILED = "Operation Failed";
     private static final String OPERATION_SUCCESSFUL = "Operation Successful";
@@ -125,26 +122,30 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
 
             @Override
             public ServiceImplementationRequestOutput call() throws Exception {
-                sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest, input.getServiceName(),
-                        RpcStatusEx.Pending, "Service compliant, submitting service implementation Request ...");
+                sendNotifications(
+                    ServicePathNotificationTypes.ServiceImplementationRequest,
+                    input.getServiceName(),
+                    RpcStatusEx.Pending,
+                    "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.network.Nodes
-                    mappingNode = portMapping.isNodeExist(input.getServiceAEnd().getNodeId())
+                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114
+                        .network.Nodes mappingNode =
+                    portMapping.isNodeExist(input.getServiceAEnd().getNodeId())
                         ? portMapping.getNode(input.getServiceAEnd().getNodeId())
                         : null;
                 String serviceType = ServiceTypes.getServiceType(
                     input.getServiceAEnd().getServiceFormat().getName(),
                     serviceRate,
-                    (mappingNode != null
+                    mappingNode != null
                         && NodeTypes.Xpdr.equals(mappingNode.getNodeInfo().getNodeType())
                             && input.getServiceAEnd().getTxDirection() != null
                             && input.getServiceAEnd().getTxDirection().getPort() != null
-                            && input.getServiceAEnd().getTxDirection().getPort().getPortName() != null)
+                            && input.getServiceAEnd().getTxDirection().getPort().getPortName() != null
                         ? portMapping.getMapping(input.getServiceAEnd().getNodeId(),
                                 input.getServiceAEnd().getTxDirection().getPort().getPortName())
                         : null);
-
+                //TODO a Map might be more indicated here
                 switch (serviceType) {
                     case StringConstants.SERVICE_TYPE_100GE_T:
                     case StringConstants.SERVICE_TYPE_400GE:
@@ -153,8 +154,8 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                     case StringConstants.SERVICE_TYPE_OTUC3:
                     case StringConstants.SERVICE_TYPE_OTUC4:
                         if (!manageServicePathCreation(input, serviceType)) {
-                            return ModelMappingUtils.createServiceImplResponse(ResponseCodes.RESPONSE_FAILED,
-                                OPERATION_FAILED);
+                            return ModelMappingUtils
+                                .createServiceImplResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                         }
                         break;
                     case StringConstants.SERVICE_TYPE_1GE:
@@ -166,17 +167,17 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                     case StringConstants.SERVICE_TYPE_ODUC3:
                     case StringConstants.SERVICE_TYPE_ODUC4:
                         if (!manageOtnServicePathCreation(input, serviceType, serviceRate)) {
-                            return ModelMappingUtils.createServiceImplResponse(ResponseCodes.RESPONSE_FAILED,
-                                OPERATION_FAILED);
+                            return ModelMappingUtils
+                                .createServiceImplResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                         }
                         break;
                     default:
                         LOG.error("unsupported service-type");
-                        return ModelMappingUtils.createServiceImplResponse(ResponseCodes.RESPONSE_FAILED,
-                            OPERATION_FAILED);
+                        return ModelMappingUtils
+                            .createServiceImplResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                 }
-                return ModelMappingUtils.createServiceImplResponse(ResponseCodes.RESPONSE_OK,
-                    OPERATION_SUCCESSFUL);
+                return ModelMappingUtils
+                    .createServiceImplResponse(ResponseCodes.RESPONSE_OK, OPERATION_SUCCESSFUL);
             }
         });
     }
@@ -189,18 +190,25 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
 
             @Override
             public ServiceDeleteOutput call() throws Exception {
-                sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName,
-                        RpcStatusEx.Pending, "Service compliant, submitting service delete Request ...");
+                sendNotifications(
+                    ServicePathNotificationTypes.ServiceDelete,
+                    serviceName,
+                    RpcStatusEx.Pending,
+                    "Service compliant, submitting service delete Request ...");
                 // Obtain path description
                 Optional<
-                    org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service
-                    .path.PathDescription> pathDescriptionOpt = getPathDescriptionFromDatastore(serviceName);
+                    org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                        .service.path.PathDescription> pathDescriptionOpt =
+                    getPathDescriptionFromDatastore(serviceName);
                 if (pathDescriptionOpt.isEmpty()) {
                     LOG.error("Unable to get path description for service {}!", serviceName);
-                    sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName,
-                            RpcStatusEx.Failed, "Unable to get path description for service");
-                    return ModelMappingUtils.createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED,
-                            OPERATION_FAILED);
+                    sendNotifications(
+                        ServicePathNotificationTypes.ServiceDelete,
+                        serviceName,
+                        RpcStatusEx.Failed,
+                        "Unable to get path description for service");
+                    return ModelMappingUtils
+                        .createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                 }
                 PathDescription pathDescription = pathDescriptionOpt.get();
                 String serviceType =
@@ -225,8 +233,8 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                     case StringConstants.SERVICE_TYPE_OTUC3:
                     case StringConstants.SERVICE_TYPE_OTUC4:
                         if (!manageServicePathDeletion(serviceName, pathDescription, serviceType)) {
-                            return ModelMappingUtils.createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED,
-                                OPERATION_FAILED);
+                            return ModelMappingUtils
+                                .createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                         }
                         break;
                     case StringConstants.SERVICE_TYPE_1GE:
@@ -238,16 +246,17 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                     case StringConstants.SERVICE_TYPE_ODUC3:
                     case StringConstants.SERVICE_TYPE_ODUC4:
                         if (!manageOtnServicePathDeletion(serviceName, pathDescription, service, serviceType)) {
-                            return ModelMappingUtils.createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED,
-                                OPERATION_FAILED);
+                            return ModelMappingUtils
+                                .createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                         }
                         break;
                     default:
                         LOG.error("unsupported service-type");
-                        return ModelMappingUtils.createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED,
-                            OPERATION_FAILED);
+                        return ModelMappingUtils
+                            .createServiceDeleteResponse(ResponseCodes.RESPONSE_FAILED, OPERATION_FAILED);
                 }
-                return ModelMappingUtils.createServiceDeleteResponse(ResponseCodes.RESPONSE_OK, OPERATION_SUCCESSFUL);
+                return ModelMappingUtils
+                    .createServiceDeleteResponse(ResponseCodes.RESPONSE_OK, OPERATION_SUCCESSFUL);
             }
         });
     }
@@ -291,7 +300,9 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                 input.getServiceName(), serviceName);
             return Uint32.ZERO;
         }
-        return formatRateMap.get(input.getServiceAEnd().getServiceFormat()).get(serviceName);
+        return formatRateMap
+            .get(input.getServiceAEnd().getServiceFormat())
+            .get(serviceName);
     }
 
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
@@ -300,29 +311,32 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     private ServicePowerTurndownOutput olmPowerTurndown(ServicePathInputData servicePathInputData)
             throws InterruptedException, ExecutionException, TimeoutException {
         LOG.debug(TURNING_DOWN_POWER_ON_A_TO_Z_PATH_MSG);
-        Future<RpcResult<ServicePowerTurndownOutput>> powerTurndownFuture = this.olmService.servicePowerTurndown(
-                new ServicePowerTurndownInputBuilder(servicePathInputData.getServicePathInput()).build());
-        return powerTurndownFuture.get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS).getResult();
+        return this.olmService
+            .servicePowerTurndown(
+                new ServicePowerTurndownInputBuilder(servicePathInputData.getServicePathInput()).build())
+            .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS)
+            .getResult();
     }
 
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
             value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "call in call() method")
     private Optional<org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-        .service.path.PathDescription> getPathDescriptionFromDatastore(String serviceName) {
+            .service.path.PathDescription> getPathDescriptionFromDatastore(String serviceName) {
         InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-            .service.path.PathDescription> pathDescriptionIID = InstanceIdentifier.create(ServicePathList.class)
+                .service.path.PathDescription> pathDescriptionIID =
+            InstanceIdentifier.create(ServicePathList.class)
                 .child(ServicePaths.class, new ServicePathsKey(serviceName))
                 .child(org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
                     .service.path.PathDescription.class);
-        ReadTransaction pathDescReadTx = this.dataBroker.newReadOnlyTransaction();
         try {
             LOG.debug("Getting path description for service {}", serviceName);
-            return pathDescReadTx.read(LogicalDatastoreType.OPERATIONAL, pathDescriptionIID)
+            return this.dataBroker.newReadOnlyTransaction()
+                    .read(LogicalDatastoreType.OPERATIONAL, pathDescriptionIID)
                     .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS);
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
-            LOG.warn("Exception while getting path description from datastore {} for service {}!", pathDescriptionIID,
-                    serviceName, e);
+            LOG.warn("Exception while getting path description from datastore {} for service {}!",
+                    pathDescriptionIID, serviceName, e);
             return Optional.empty();
         }
     }
@@ -330,25 +344,35 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
             value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "call in call() method")
-    private List<DeviceRenderingResult> deviceRendering(RollbackProcessor rollbackProcessor,
-            ServicePathInputData servicePathDataAtoZ, ServicePathInputData servicePathDataZtoA) {
+    private List<DeviceRenderingResult> deviceRendering(
+            RollbackProcessor rollbackProcessor,
+            ServicePathInputData servicePathDataAtoZ,
+            ServicePathInputData servicePathDataZtoA) {
+
+        //TODO atozrenderingFuture & ztoarenderingFuture & renderingCombinedFuture used only once
+        //     Do notifications & LOG.info deserve this ?
         LOG.info(RENDERING_DEVICES_A_Z_MSG);
-        sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                servicePathDataAtoZ.getServicePathInput().getServiceName(), RpcStatusEx.Pending,
-                RENDERING_DEVICES_A_Z_MSG);
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            servicePathDataAtoZ.getServicePathInput().getServiceName(),
+            RpcStatusEx.Pending,
+            RENDERING_DEVICES_A_Z_MSG);
         ListenableFuture<DeviceRenderingResult> atozrenderingFuture =
-                this.executor.submit(new DeviceRenderingTask(this.deviceRenderer, servicePathDataAtoZ,
-                        ServicePathDirection.A_TO_Z));
+            this.executor.submit(
+                new DeviceRenderingTask(this.deviceRenderer, servicePathDataAtoZ, ServicePathDirection.A_TO_Z));
 
-        LOG.info("Rendering devices Z-A");
-        sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                servicePathDataZtoA.getServicePathInput().getServiceName(), RpcStatusEx.Pending,
-                RENDERING_DEVICES_Z_A_MSG);
+        LOG.info(RENDERING_DEVICES_Z_A_MSG);
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            servicePathDataZtoA.getServicePathInput().getServiceName(),
+            RpcStatusEx.Pending,
+            RENDERING_DEVICES_Z_A_MSG);
         ListenableFuture<DeviceRenderingResult> ztoarenderingFuture =
-                this.executor.submit(new DeviceRenderingTask(this.deviceRenderer, servicePathDataZtoA,
-                        ServicePathDirection.Z_TO_A));
+            this.executor.submit(
+                new DeviceRenderingTask(this.deviceRenderer, servicePathDataZtoA, ServicePathDirection.Z_TO_A));
+
         ListenableFuture<List<DeviceRenderingResult>> renderingCombinedFuture =
-                Futures.allAsList(atozrenderingFuture, ztoarenderingFuture);
+            Futures.allAsList(atozrenderingFuture, ztoarenderingFuture);
 
         List<DeviceRenderingResult> renderingResults = new ArrayList<>(2);
         try {
@@ -356,18 +380,25 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
             renderingResults = renderingCombinedFuture.get(Timeouts.RENDERING_TIMEOUT, TimeUnit.MILLISECONDS);
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
             LOG.warn(DEVICE_RENDERING_ROLL_BACK_MSG, e);
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                    servicePathDataAtoZ.getServicePathInput().getServiceName(), RpcStatusEx.Pending,
-                    DEVICE_RENDERING_ROLL_BACK_MSG);
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                servicePathDataAtoZ.getServicePathInput().getServiceName(),
+                RpcStatusEx.Pending,
+                DEVICE_RENDERING_ROLL_BACK_MSG);
             //FIXME we can't do rollback here, because we don't have rendering results.
             return renderingResults;
         }
 
-        rollbackProcessor.addTask(new DeviceRenderingRollbackTask("AtoZDeviceTask",
-                ! renderingResults.get(0).isSuccess(), renderingResults.get(0).getRenderedNodeInterfaces(),
+        rollbackProcessor.addTask(
+            new DeviceRenderingRollbackTask(
+                "AtoZDeviceTask",
+                ! renderingResults.get(0).isSuccess(),
+                renderingResults.get(0).getRenderedNodeInterfaces(),
                 this.deviceRenderer));
-        rollbackProcessor.addTask(new DeviceRenderingRollbackTask("ZtoADeviceTask",
-                ! renderingResults.get(1).isSuccess(), renderingResults.get(1).getRenderedNodeInterfaces(),
+        rollbackProcessor.addTask(
+                new DeviceRenderingRollbackTask("ZtoADeviceTask",
+                ! renderingResults.get(1).isSuccess(),
+                renderingResults.get(1).getRenderedNodeInterfaces(),
                 this.deviceRenderer));
         return renderingResults;
     }
@@ -375,20 +406,34 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
         value = "UPM_UNCALLED_PRIVATE_METHOD",
         justification = "call in call() method")
-    private List<OtnDeviceRenderingResult> otnDeviceRendering(RollbackProcessor rollbackProcessor,
-        OtnServicePathInput otnServicePathAtoZ, OtnServicePathInput otnServicePathZtoA, String serviceType) {
+    private List<OtnDeviceRenderingResult> otnDeviceRendering(
+            RollbackProcessor rollbackProcessor,
+            OtnServicePathInput otnServicePathAtoZ,
+            OtnServicePathInput otnServicePathZtoA,
+            String serviceType) {
+
+        //TODO atozrenderingFuture & ztoarenderingFuture & renderingCombinedFuture used only once
+        //     Do notifications & LOG.info deserve this ?
         LOG.info(RENDERING_DEVICES_A_Z_MSG);
-        sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-            otnServicePathAtoZ.getServiceName(), RpcStatusEx.Pending,
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            otnServicePathAtoZ.getServiceName(),
+            RpcStatusEx.Pending,
             RENDERING_DEVICES_A_Z_MSG);
         ListenableFuture<OtnDeviceRenderingResult> atozrenderingFuture =
-            this.executor.submit(new OtnDeviceRenderingTask(this.otnDeviceRenderer, otnServicePathAtoZ, serviceType));
+            this.executor.submit(
+                new OtnDeviceRenderingTask(this.otnDeviceRenderer, otnServicePathAtoZ, serviceType));
+
         LOG.info(RENDERING_DEVICES_Z_A_MSG);
-        sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-            otnServicePathZtoA.getServiceName(), RpcStatusEx.Pending,
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            otnServicePathZtoA.getServiceName(),
+            RpcStatusEx.Pending,
             RENDERING_DEVICES_Z_A_MSG);
         ListenableFuture<OtnDeviceRenderingResult> ztoarenderingFuture =
-            this.executor.submit(new OtnDeviceRenderingTask(this.otnDeviceRenderer, otnServicePathZtoA, serviceType));
+            this.executor.submit(
+                new OtnDeviceRenderingTask(this.otnDeviceRenderer, otnServicePathZtoA, serviceType));
+
         ListenableFuture<List<OtnDeviceRenderingResult>> renderingCombinedFuture =
             Futures.allAsList(atozrenderingFuture, ztoarenderingFuture);
         List<OtnDeviceRenderingResult> otnRenderingResults = new ArrayList<>(2);
@@ -397,16 +442,21 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
             otnRenderingResults = renderingCombinedFuture.get(Timeouts.RENDERING_TIMEOUT, TimeUnit.MILLISECONDS);
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
             LOG.warn(DEVICE_RENDERING_ROLL_BACK_MSG, e);
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                otnServicePathAtoZ.getServiceName(), RpcStatusEx.Pending,
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                otnServicePathAtoZ.getServiceName(),
+                RpcStatusEx.Pending,
                 DEVICE_RENDERING_ROLL_BACK_MSG);
             //FIXME we can't do rollback here, because we don't have rendering results.
             return otnRenderingResults;
         }
         for (int i = 0; i < otnRenderingResults.size(); i++) {
-            rollbackProcessor.addTask(new DeviceRenderingRollbackTask("DeviceTask n° " + i + 1,
-                ! otnRenderingResults.get(i).isSuccess(), otnRenderingResults.get(i).getRenderedNodeInterfaces(),
-                this.deviceRenderer));
+            rollbackProcessor.addTask(
+                new DeviceRenderingRollbackTask(
+                    "DeviceTask n° " + i + 1,
+                    ! otnRenderingResults.get(i).isSuccess(),
+                    otnRenderingResults.get(i).getRenderedNodeInterfaces(),
+                    this.deviceRenderer));
         }
         return otnRenderingResults;
     }
@@ -414,21 +464,34 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
             value = "UPM_UNCALLED_PRIVATE_METHOD",
             justification = "call in call() method")
-    private void olmPowerSetup(RollbackProcessor rollbackProcessor, ServicePowerSetupInput powerSetupInputAtoZ,
+    private void olmPowerSetup(
+            RollbackProcessor rollbackProcessor,
+            ServicePowerSetupInput powerSetupInputAtoZ,
             ServicePowerSetupInput powerSetupInputZtoA) {
+
+        //TODO olmPowerSetupFutureAtoZ & olmPowerSetupFutureZtoA & olmFutures used only once
+        //     Do notifications & LOG.info deserve this ?
+        //TODO use constants for LOG.info & notifications common messages
         LOG.info("Olm power setup A-Z");
-        sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                powerSetupInputAtoZ.getServiceName(), RpcStatusEx.Pending, "Olm power setup A-Z");
-        ListenableFuture<OLMRenderingResult> olmPowerSetupFutureAtoZ
-                = this.executor.submit(new OlmPowerSetupTask(this.olmService, powerSetupInputAtoZ));
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            powerSetupInputAtoZ.getServiceName(),
+            RpcStatusEx.Pending,
+            "Olm power setup A-Z");
+        ListenableFuture<OLMRenderingResult> olmPowerSetupFutureAtoZ =
+            this.executor.submit(new OlmPowerSetupTask(this.olmService, powerSetupInputAtoZ));
 
         LOG.info("OLM power setup Z-A");
-        sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                powerSetupInputAtoZ.getServiceName(), RpcStatusEx.Pending, "Olm power setup Z-A");
-        ListenableFuture<OLMRenderingResult> olmPowerSetupFutureZtoA
-                = this.executor.submit(new OlmPowerSetupTask(this.olmService, powerSetupInputZtoA));
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            powerSetupInputAtoZ.getServiceName(),
+            RpcStatusEx.Pending,
+            "Olm power setup Z-A");
+        ListenableFuture<OLMRenderingResult> olmPowerSetupFutureZtoA =
+            this.executor.submit(new OlmPowerSetupTask(this.olmService, powerSetupInputZtoA));
+
         ListenableFuture<List<OLMRenderingResult>> olmFutures =
-                Futures.allAsList(olmPowerSetupFutureAtoZ, olmPowerSetupFutureZtoA);
+            Futures.allAsList(olmPowerSetupFutureAtoZ, olmPowerSetupFutureZtoA);
 
         List<OLMRenderingResult> olmResults;
         try {
@@ -436,20 +499,30 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
             olmResults = olmFutures.get(Timeouts.OLM_TIMEOUT, TimeUnit.MILLISECONDS);
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
             LOG.warn(OLM_ROLL_BACK_MSG, e);
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                    powerSetupInputAtoZ.getServiceName(), RpcStatusEx.Pending,
-                    OLM_ROLL_BACK_MSG);
-            rollbackProcessor.addTask(new OlmPowerSetupRollbackTask("AtoZOLMTask", true,
-                    this.olmService, powerSetupInputAtoZ));
-            rollbackProcessor.addTask(new OlmPowerSetupRollbackTask("ZtoAOLMTask", true,
-                    this.olmService, powerSetupInputZtoA));
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                powerSetupInputAtoZ.getServiceName(),
+                RpcStatusEx.Pending,
+                OLM_ROLL_BACK_MSG);
+            rollbackProcessor.addTask(
+                new OlmPowerSetupRollbackTask("AtoZOLMTask", true, this.olmService, powerSetupInputAtoZ));
+            rollbackProcessor.addTask(
+                new OlmPowerSetupRollbackTask("ZtoAOLMTask", true, this.olmService, powerSetupInputZtoA));
             return;
         }
 
-        rollbackProcessor.addTask(new OlmPowerSetupRollbackTask("AtoZOLMTask", ! olmResults.get(0).isSuccess(),
-                this.olmService, powerSetupInputAtoZ));
-        rollbackProcessor.addTask(new OlmPowerSetupRollbackTask("ZtoAOLMTask", ! olmResults.get(1).isSuccess(),
-                this.olmService, powerSetupInputZtoA));
+        rollbackProcessor.addTask(
+            new OlmPowerSetupRollbackTask(
+                "AtoZOLMTask",
+                ! olmResults.get(0).isSuccess(),
+                this.olmService,
+                powerSetupInputAtoZ));
+        rollbackProcessor.addTask(
+            new OlmPowerSetupRollbackTask(
+                "ZtoAOLMTask",
+                ! olmResults.get(1).isSuccess(),
+                this.olmService,
+                powerSetupInputZtoA));
     }
 
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
@@ -477,22 +550,24 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     }
 
     private List<Measurements> getMeasurements(String nodeId, String tp) {
-        GetPmInputBuilder getPmIpBldr = new GetPmInputBuilder()
-            .setNodeId(nodeId)
-            .setGranularity(PmGranularity._15min)
-            .setResourceIdentifier(new ResourceIdentifierBuilder().setResourceName(tp + "-OTU").build())
-            .setResourceType(ResourceTypeEnum.Interface);
-
         try {
-            Future<RpcResult<GetPmOutput>> getPmFuture = this.olmService.getPm(getPmIpBldr.build());
-            RpcResult<GetPmOutput> getPmRpcResult = getPmFuture.get();
-            GetPmOutput getPmOutput = getPmRpcResult.getResult();
-            if ((getPmOutput != null) && (getPmOutput.getNodeId() != null)) {
+            GetPmOutput getPmOutput =
+                this.olmService
+                    .getPm(
+                        new GetPmInputBuilder()
+                            .setNodeId(nodeId)
+                            .setGranularity(PmGranularity._15min)
+                            .setResourceIdentifier(new ResourceIdentifierBuilder().setResourceName(tp + "-OTU").build())
+                            .setResourceType(ResourceTypeEnum.Interface)
+                            .build())
+                    .get()
+                    .getResult();
+            if ((getPmOutput == null) || (getPmOutput.getNodeId() == null)) {
+                LOG.warn("OLM's get PM failed for node {} and tp {}", nodeId, tp);
+            } else {
                 LOG.info("successfully finished calling OLM's get PM");
                 return getPmOutput.getMeasurements();
                 // may return null
-            } else {
-                LOG.warn("OLM's get PM failed for node {} and tp {}", nodeId, tp);
             }
 
         } catch (ExecutionException | InterruptedException e) {
@@ -518,8 +593,8 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
             }
         }
 
-        LOG.info("Measurements: preFECCorrectedErrors = {}; FECUncorrectableBlocks = {}", preFecCorrectedErrors,
-                fecUncorrectableBlocks);
+        LOG.info("Measurements: preFECCorrectedErrors = {}; FECUncorrectableBlocks = {}",
+                preFecCorrectedErrors, fecUncorrectableBlocks);
 
         if (fecUncorrectableBlocks > Double.MIN_VALUE) {
             LOG.error("Data has uncorrectable errors, BER test failed");
@@ -537,27 +612,36 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         value = "UPM_UNCALLED_PRIVATE_METHOD",
         justification = "call in call() method")
     private boolean manageServicePathCreation(ServiceImplementationRequestInput input, String serviceType) {
-        ServicePathInputData servicePathInputDataAtoZ = ModelMappingUtils
-            .rendererCreateServiceInputAToZ(input.getServiceName(), input.getPathDescription(), Action.Create);
-        ServicePathInputData servicePathInputDataZtoA = ModelMappingUtils
-            .rendererCreateServiceInputZToA(input.getServiceName(), input.getPathDescription(), Action.Create);
+        ServicePathInputData servicePathInputDataAtoZ =
+            ModelMappingUtils
+                .rendererCreateServiceInputAToZ(input.getServiceName(), input.getPathDescription(), Action.Create);
+        ServicePathInputData servicePathInputDataZtoA =
+            ModelMappingUtils
+                .rendererCreateServiceInputZToA(input.getServiceName(), input.getPathDescription(), Action.Create);
         // Rollback should be same for all conditions, so creating a new one
         RollbackProcessor rollbackProcessor = new RollbackProcessor();
         List<DeviceRenderingResult> renderingResults =
             deviceRendering(rollbackProcessor, servicePathInputDataAtoZ, servicePathInputDataZtoA);
         if (rollbackProcessor.rollbackAllIfNecessary() > 0 || renderingResults.isEmpty()) {
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                input.getServiceName(), RpcStatusEx.Failed, DEVICE_RENDERING_ROLL_BACK_MSG);
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                input.getServiceName(),
+                RpcStatusEx.Failed,
+                DEVICE_RENDERING_ROLL_BACK_MSG);
             return false;
         }
-        ServicePowerSetupInput olmPowerSetupInputAtoZ =
-            ModelMappingUtils.createServicePowerSetupInput(renderingResults.get(0).getOlmList(), input);
-        ServicePowerSetupInput olmPowerSetupInputZtoA =
-            ModelMappingUtils.createServicePowerSetupInput(renderingResults.get(1).getOlmList(), input);
-        olmPowerSetup(rollbackProcessor, olmPowerSetupInputAtoZ, olmPowerSetupInputZtoA);
+        olmPowerSetup(
+            rollbackProcessor,
+            //olmPowerSetupInputAtoZ,
+            ModelMappingUtils.createServicePowerSetupInput(renderingResults.get(0).getOlmList(), input),
+            //olmPowerSetupInputZtoA
+            ModelMappingUtils.createServicePowerSetupInput(renderingResults.get(1).getOlmList(), input));
         if (rollbackProcessor.rollbackAllIfNecessary() > 0) {
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                input.getServiceName(), RpcStatusEx.Failed, OLM_ROLL_BACK_MSG);
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                input.getServiceName(),
+                RpcStatusEx.Failed,
+                OLM_ROLL_BACK_MSG);
             return false;
         }
         // run service activation test twice - once on source node and once on
@@ -579,20 +663,27 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                 : destNode.getSrcTp();
 
         if (!isServiceActivated(sourceNode.getNodeId(), srcNetworkTp)
-            || !isServiceActivated(destNode.getNodeId(), dstNetowrkTp)) {
+                || !isServiceActivated(destNode.getNodeId(), dstNetowrkTp)) {
             rollbackProcessor.rollbackAll();
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                input.getServiceName(), RpcStatusEx.Failed,
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                input.getServiceName(),
+                RpcStatusEx.Failed,
                 "Service activation test failed.");
             return false;
         }
-        List<LinkTp> otnLinkTerminationPoints = new ArrayList<>();
-        renderingResults.forEach(rr -> otnLinkTerminationPoints.addAll(rr.getOtnLinkTps()));
-        Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
-
-        sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceImplementationRequest,
-            input.getServiceName(), RpcStatusEx.Successful, OPERATION_SUCCESSFUL, input.getPathDescription(),
-            notifLink, null, serviceType);
+        sendNotificationsWithPathDescription(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            input.getServiceName(),
+            RpcStatusEx.Successful,
+            OPERATION_SUCCESSFUL,
+            input.getPathDescription(),
+            createLinkForNotif(
+                renderingResults.stream()
+                    .flatMap(rr -> rr.getOtnLinkTps().stream())
+                    .collect(Collectors.toList())),
+            null,
+            serviceType);
         return true;
     }
 
@@ -608,25 +699,39 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         // OLM turn down power
         try {
             LOG.debug(TURNING_DOWN_POWER_ON_A_TO_Z_PATH_MSG);
-            sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName,
-                RpcStatusEx.Pending, TURNING_DOWN_POWER_ON_A_TO_Z_PATH_MSG);
-            ServicePowerTurndownOutput atozPowerTurndownOutput = olmPowerTurndown(servicePathInputDataAtoZ);
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceDelete,
+                serviceName,
+                RpcStatusEx.Pending,
+                TURNING_DOWN_POWER_ON_A_TO_Z_PATH_MSG);
             // TODO add some flag rather than string
-            if (FAILED.equals(atozPowerTurndownOutput.getResult())) {
+            if (FAILED.equals(
+                    olmPowerTurndown(servicePathInputDataAtoZ)
+                        .getResult())) {
                 LOG.error("Service power turndown failed on A-to-Z path for service {}!", serviceName);
-                sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName, RpcStatusEx.Failed,
-                        "Service power turndown failed on A-to-Z path for service");
+                sendNotifications(
+                    ServicePathNotificationTypes.ServiceDelete,
+                    serviceName,
+                    RpcStatusEx.Failed,
+                    "Service power turndown failed on A-to-Z path for service");
                 return false;
             }
             LOG.debug("Turning down power on Z-to-A path");
-            sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName, RpcStatusEx.Pending,
-                    "Turning down power on Z-to-A path");
-            ServicePowerTurndownOutput ztoaPowerTurndownOutput = olmPowerTurndown(servicePathInputDataZtoA);
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceDelete,
+                serviceName,
+                RpcStatusEx.Pending,
+                "Turning down power on Z-to-A path");
             // TODO add some flag rather than string
-            if (FAILED.equals(ztoaPowerTurndownOutput.getResult())) {
+            if (FAILED.equals(
+                    olmPowerTurndown(servicePathInputDataZtoA)
+                        .getResult())) {
                 LOG.error("Service power turndown failed on Z-to-A path for service {}!", serviceName);
-                sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName, RpcStatusEx.Failed,
-                        "Service power turndown failed on Z-to-A path for service");
+                sendNotifications(
+                    ServicePathNotificationTypes.ServiceDelete,
+                    serviceName,
+                    RpcStatusEx.Failed,
+                    "Service power turndown failed on Z-to-A path for service");
                 return false;
             }
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
@@ -635,93 +740,136 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         }
         // delete service path with renderer
         LOG.info("Deleting service path via renderer");
-        sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName, RpcStatusEx.Pending,
-                "Deleting service path via renderer");
-        RollbackProcessor rollbackProcessor = new RollbackProcessor();
-        List<DeviceRenderingResult> renderingResults =
-            deviceRendering(rollbackProcessor, servicePathInputDataAtoZ, servicePathInputDataZtoA);
-        List<LinkTp> otnLinkTerminationPoints = new ArrayList<>();
-        renderingResults.forEach(rr -> otnLinkTerminationPoints.addAll(rr.getOtnLinkTps()));
-        Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
-
-        sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceDelete,
-            serviceName, RpcStatusEx.Successful, OPERATION_SUCCESSFUL, pathDescription, notifLink, null, serviceType);
+        sendNotifications(
+            ServicePathNotificationTypes.ServiceDelete,
+            serviceName,
+            RpcStatusEx.Pending,
+            "Deleting service path via renderer");
+        sendNotificationsWithPathDescription(
+            ServicePathNotificationTypes.ServiceDelete,
+            serviceName,
+            RpcStatusEx.Successful,
+            OPERATION_SUCCESSFUL,
+            pathDescription,
+            createLinkForNotif(
+                deviceRendering(
+                        new RollbackProcessor(),
+                        servicePathInputDataAtoZ,
+                        servicePathInputDataZtoA)
+                    .stream()
+                    .flatMap(rr -> rr.getOtnLinkTps().stream())
+                    .collect(Collectors.toList())),
+            null,
+            serviceType);
         return true;
     }
 
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
         value = "UPM_UNCALLED_PRIVATE_METHOD",
         justification = "call in call() method")
-    private boolean manageOtnServicePathCreation(ServiceImplementationRequestInput input, String serviceType,
+    private boolean manageOtnServicePathCreation(
+            ServiceImplementationRequestInput input,
+            String serviceType,
             Uint32 serviceRate) {
-        // This is A-Z side
-        OtnServicePathInput otnServicePathInputAtoZ = ModelMappingUtils
-            .rendererCreateOtnServiceInput(input.getServiceName(), Action.Create,
-                input.getServiceAEnd().getServiceFormat().getName(),
-                serviceRate,
-                input.getPathDescription(), true);
-        // This is Z-A side
-        OtnServicePathInput otnServicePathInputZtoA = ModelMappingUtils
-            .rendererCreateOtnServiceInput(input.getServiceName(), Action.Create,
-                input.getServiceZEnd().getServiceFormat().getName(),
-                serviceRate,
-                input.getPathDescription(), false);
         // Rollback should be same for all conditions, so creating a new one
         RollbackProcessor rollbackProcessor = new RollbackProcessor();
         List<OtnDeviceRenderingResult> renderingResults =
-            otnDeviceRendering(rollbackProcessor, otnServicePathInputAtoZ, otnServicePathInputZtoA, serviceType);
+            otnDeviceRendering(
+                rollbackProcessor,
+                // This is A-Z side
+                ModelMappingUtils
+                    .rendererCreateOtnServiceInput(
+                        input.getServiceName(),
+                        Action.Create,
+                        input.getServiceAEnd().getServiceFormat().getName(),
+                        serviceRate,
+                        input.getPathDescription(),
+                        true),
+                // This is Z-A side
+                ModelMappingUtils
+                    .rendererCreateOtnServiceInput(
+                        input.getServiceName(),
+                        Action.Create,
+                        input.getServiceZEnd().getServiceFormat().getName(),
+                        serviceRate,
+                        input.getPathDescription(),
+                        false),
+                serviceType);
         if (rollbackProcessor.rollbackAllIfNecessary() > 0) {
             rollbackProcessor.rollbackAll();
-            sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
-                input.getServiceName(), RpcStatusEx.Failed, DEVICE_RENDERING_ROLL_BACK_MSG);
+            sendNotifications(
+                ServicePathNotificationTypes.ServiceImplementationRequest,
+                input.getServiceName(),
+                RpcStatusEx.Failed,
+                DEVICE_RENDERING_ROLL_BACK_MSG);
             return false;
         }
-        List<LinkTp> otnLinkTerminationPoints = new ArrayList<>();
-        renderingResults.forEach(rr -> otnLinkTerminationPoints.addAll(rr.getOtnLinkTps()));
-        Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
-        List<String> allSupportLinks = ModelMappingUtils.getLinksFromServicePathDescription(input.getPathDescription());
-        List<String> supportedLinks = getSupportedLinks(allSupportLinks, serviceType);
-
-        sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceImplementationRequest,
-            input.getServiceName(), RpcStatusEx.Successful, OPERATION_SUCCESSFUL, input.getPathDescription(),
-            notifLink, supportedLinks, serviceType);
+        sendNotificationsWithPathDescription(
+            ServicePathNotificationTypes.ServiceImplementationRequest,
+            input.getServiceName(),
+            RpcStatusEx.Successful, OPERATION_SUCCESSFUL,
+            input.getPathDescription(),
+            createLinkForNotif(
+                renderingResults.stream()
+                    .flatMap(rr -> rr.getOtnLinkTps().stream())
+                    .collect(Collectors.toList())),
+            getSupportedLinks(
+                ModelMappingUtils.getLinksFromServicePathDescription(input.getPathDescription()),
+                serviceType),
+            serviceType);
         return true;
     }
 
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
         value = "UPM_UNCALLED_PRIVATE_METHOD",
         justification = "call in call() method")
-    private boolean manageOtnServicePathDeletion(String serviceName, PathDescription pathDescription,
-            Services service, String serviceType) {
-        // This is A-Z side
-        OtnServicePathInput otnServicePathInputAtoZ = ModelMappingUtils
-            .rendererCreateOtnServiceInput(serviceName, Action.Delete,
-                service.getServiceAEnd().getServiceFormat().getName(),
-                service.getServiceAEnd().getServiceRate(),
-                pathDescription, true);
-        // This is Z-A side
-        OtnServicePathInput otnServicePathInputZtoA = ModelMappingUtils
-            .rendererCreateOtnServiceInput(serviceName, Action.Delete,
-                service.getServiceZEnd().getServiceFormat().getName(),
-                service.getServiceAEnd().getServiceRate(),
-                pathDescription, false);
+    private boolean manageOtnServicePathDeletion(
+            String serviceName,
+            PathDescription pathDescription,
+            Services service,
+            String serviceType) {
         LOG.info("Deleting otn-service path {} via renderer", serviceName);
-        sendNotifications(ServicePathNotificationTypes.ServiceDelete, serviceName, RpcStatusEx.Pending,
+        sendNotifications(
+                ServicePathNotificationTypes.ServiceDelete,
+                serviceName,
+                RpcStatusEx.Pending,
                 "Deleting otn-service path via renderer");
-
-        RollbackProcessor rollbackProcessor = new RollbackProcessor();
         List<OtnDeviceRenderingResult> renderingResults =
-            otnDeviceRendering(rollbackProcessor, otnServicePathInputAtoZ, otnServicePathInputZtoA, serviceType);
-
-        List<LinkTp> otnLinkTerminationPoints = new ArrayList<>();
-        renderingResults.forEach(rr -> otnLinkTerminationPoints.addAll(rr.getOtnLinkTps()));
-        Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
-        List<String> allSupportLinks = ModelMappingUtils.getLinksFromServicePathDescription(pathDescription);
-        List<String> supportedLinks = getSupportedLinks(allSupportLinks, serviceType);
-
-        sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceDelete,
-                serviceName, RpcStatusEx.Successful, OPERATION_SUCCESSFUL, pathDescription, notifLink, supportedLinks,
+            otnDeviceRendering(
+                new RollbackProcessor(),
+                // This is A-Z side
+                ModelMappingUtils
+                    .rendererCreateOtnServiceInput(
+                        serviceName,
+                        Action.Delete,
+                        service.getServiceAEnd().getServiceFormat().getName(),
+                        service.getServiceAEnd().getServiceRate(),
+                        pathDescription,
+                        true),
+                // This is Z-A side
+                ModelMappingUtils
+                    .rendererCreateOtnServiceInput(
+                        serviceName,
+                        Action.Delete,
+                        service.getServiceZEnd().getServiceFormat().getName(),
+                        service.getServiceAEnd().getServiceRate(),
+                        pathDescription,
+                        false),
                 serviceType);
+        sendNotificationsWithPathDescription(
+            ServicePathNotificationTypes.ServiceDelete,
+            serviceName,
+            RpcStatusEx.Successful,
+            OPERATION_SUCCESSFUL,
+            pathDescription,
+            createLinkForNotif(
+                renderingResults.stream()
+                    .flatMap(rr -> rr.getOtnLinkTps().stream())
+                    .collect(Collectors.toList())),
+            getSupportedLinks(
+                ModelMappingUtils.getLinksFromServicePathDescription(pathDescription),
+                serviceType),
+            serviceType);
         return true;
     }
 
@@ -732,11 +880,14 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
      * @param rpcStatusEx RpcStatusEx
      * @param message String
      */
-    private void sendNotifications(ServicePathNotificationTypes servicePathNotificationTypes, String serviceName,
-            RpcStatusEx rpcStatusEx, String message) {
-        Notification notification = buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
-                null, null, null, null);
-        send(notification);
+    private void sendNotifications(
+            ServicePathNotificationTypes servicePathNotificationTypes,
+            String serviceName,
+            RpcStatusEx rpcStatusEx,
+            String message) {
+        send(
+            buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
+                null, null, null, null));
     }
 
     /**
@@ -747,12 +898,18 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
      * @param message String
      * @param pathDescription PathDescription
      */
-    private void sendNotificationsWithPathDescription(ServicePathNotificationTypes servicePathNotificationTypes,
-            String serviceName, RpcStatusEx rpcStatusEx, String message, PathDescription pathDescription,
-            Link notifLink, List<String> supportedLinks, String serviceType) {
-        Notification notification = buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
-                pathDescription, notifLink, supportedLinks, serviceType);
-        send(notification);
+    private void sendNotificationsWithPathDescription(
+            ServicePathNotificationTypes servicePathNotificationTypes,
+            String serviceName,
+            RpcStatusEx rpcStatusEx,
+            String message,
+            PathDescription pathDescription,
+            Link notifLink,
+            List<String> supportedLinks,
+            String serviceType) {
+        send(
+            buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
+                pathDescription, notifLink, supportedLinks, serviceType));
     }
 
     /**
@@ -764,15 +921,23 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
      * @param pathDescription PathDescription
      * @return notification with RendererRpcResultSp type.
      */
-    private RendererRpcResultSp buildNotification(ServicePathNotificationTypes servicePathNotificationTypes,
-            String serviceName, RpcStatusEx rpcStatusEx, String message, PathDescription pathDescription,
-            Link notifLink, List<String> supportedLinks, String serviceType) {
-        RendererRpcResultSpBuilder builder = new RendererRpcResultSpBuilder()
+    private RendererRpcResultSp buildNotification(
+            ServicePathNotificationTypes servicePathNotificationTypes,
+            String serviceName,
+            RpcStatusEx rpcStatusEx,
+            String message,
+            PathDescription pathDescription,
+            Link notifLink,
+            List<String> supportedLinks,
+            String serviceType) {
+        RendererRpcResultSpBuilder builder =
+            new RendererRpcResultSpBuilder()
                 .setNotificationType(servicePathNotificationTypes).setServiceName(serviceName).setStatus(rpcStatusEx)
                 .setStatusMessage(message)
                 .setServiceType(serviceType);
         if (pathDescription != null) {
-            builder.setAToZDirection(pathDescription.getAToZDirection())
+            builder
+                .setAToZDirection(pathDescription.getAToZDirection())
                 .setZToADirection(pathDescription.getZToADirection());
         }
         if (notifLink != null) {
@@ -799,22 +964,25 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     }
 
     private Link createLinkForNotif(List<LinkTp> otnLinkTerminationPoints) {
-        if (otnLinkTerminationPoints == null || otnLinkTerminationPoints.size() != 2) {
-            return null;
-        }
-        return new LinkBuilder()
-                .setATermination(new ATerminationBuilder()
-                    .setNodeId(otnLinkTerminationPoints.get(0).getNodeId())
-                    .setTpId(otnLinkTerminationPoints.get(0).getTpId())
-                    .build())
-                .setZTermination(new ZTerminationBuilder()
-                    .setNodeId(otnLinkTerminationPoints.get(1).getNodeId())
-                    .setTpId(otnLinkTerminationPoints.get(1).getTpId())
-                    .build())
-                .build();
+        return
+            otnLinkTerminationPoints == null || otnLinkTerminationPoints.size() != 2
+                ? null
+                : new LinkBuilder()
+                    .setATermination(
+                        new ATerminationBuilder()
+                            .setNodeId(otnLinkTerminationPoints.get(0).getNodeId())
+                            .setTpId(otnLinkTerminationPoints.get(0).getTpId())
+                            .build())
+                    .setZTermination(
+                        new ZTerminationBuilder()
+                            .setNodeId(otnLinkTerminationPoints.get(1).getNodeId())
+                            .setTpId(otnLinkTerminationPoints.get(1).getTpId())
+                            .build())
+                    .build();
     }
 
     private List<String> getSupportedLinks(List<String> allSupportLinks, String serviceType) {
+        //TODO a Map might be more indicated here
         switch (serviceType) {
             case StringConstants.SERVICE_TYPE_10GE:
             case StringConstants.SERVICE_TYPE_1GE:
index faf6d8ec6a8f2440cee1be52e9fd5e385aefc890..11be1f1b5b31102d00a5bf9541feacf4f2670ead 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ServiceEndpoint;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommonBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.response.parameters.ResponseParametersBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.LifecycleState;
@@ -92,66 +92,69 @@ public final class ModelMappingUtils {
     private ModelMappingUtils() {
     }
 
-    public static ServiceImplementationRequestInput createServiceImplementationRequest(ServiceInput input,
+    public static ServiceImplementationRequestInput createServiceImplementationRequest(
+            ServiceInput input,
             PathDescription pathDescription) {
-        ServiceImplementationRequestInputBuilder serviceImplementationRequestInputBuilder =
-            new ServiceImplementationRequestInputBuilder().setConnectionType(input.getConnectionType());
-        if (input.isServiceReconfigure()) {
-            serviceImplementationRequestInputBuilder.setServiceName(input.getNewServiceName());
-        } else {
-            serviceImplementationRequestInputBuilder.setServiceName(input.getServiceName());
-        }
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
-            .request.input.ServiceAEndBuilder serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight
-            .transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder();
-
-        serviceAEnd.setServiceFormat(input.getServiceAEnd().getServiceFormat())
-            .setServiceRate(input.getServiceAEnd().getServiceRate())
-            .setOtuServiceRate(getOtuServiceRate(input.getServiceAEnd().getOtuServiceRate()))
-            .setOduServiceRate(getOduServiceRate(input.getServiceAEnd().getOduServiceRate()))
-            .setClli(input.getServiceAEnd().getClli())
-            .setNodeId(new NodeIdType(input.getServiceAEnd().getNodeId().getValue()).getValue())
-            .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                .setPort(input.getServiceAEnd().getTxDirection().values().stream().findFirst().get().getPort())
-                .build())
-            .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                .setPort(input.getServiceAEnd().getRxDirection().values().stream().findFirst().get().getPort())
-                .build());
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
-            .request.input.ServiceZEndBuilder serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight
-            .transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder();
-        serviceZEnd.setServiceFormat(input.getServiceZEnd().getServiceFormat())
-            .setServiceRate(input.getServiceZEnd().getServiceRate())
-            .setOtuServiceRate(getOtuServiceRate(input.getServiceZEnd().getOtuServiceRate()))
-            .setOduServiceRate(getOduServiceRate(input.getServiceZEnd().getOduServiceRate()))
-            .setClli(input.getServiceZEnd().getClli())
-            .setNodeId(new NodeIdType(input.getServiceZEnd().getNodeId().getValue()).getValue())
-            .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                .setPort(input.getServiceZEnd().getTxDirection().values().stream().findFirst().get().getPort())
-                .build())
-            .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                .setPort(input.getServiceZEnd().getRxDirection().values().stream().findFirst().get().getPort())
-                .build());
-
-        serviceImplementationRequestInputBuilder
-            .setServiceAEnd(serviceAEnd.build())
-            .setServiceZEnd(serviceZEnd.build())
+        return new ServiceImplementationRequestInputBuilder()
+            .setConnectionType(input.getConnectionType())
+            .setServiceName(
+                input.isServiceReconfigure()
+                    ? input.getNewServiceName()
+                    : input.getServiceName())
+            .setServiceAEnd(
+                new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                        .service.implementation.request.input.ServiceAEndBuilder()
+                    .setServiceFormat(input.getServiceAEnd().getServiceFormat())
+                    .setServiceRate(input.getServiceAEnd().getServiceRate())
+                    .setOtuServiceRate(getOtuServiceRate(input.getServiceAEnd().getOtuServiceRate()))
+                    .setOduServiceRate(getOduServiceRate(input.getServiceAEnd().getOduServiceRate()))
+                    .setClli(input.getServiceAEnd().getClli())
+                    .setNodeId(new NodeIdType(input.getServiceAEnd().getNodeId().getValue()).getValue())
+                    .setTxDirection(
+                        new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                                .service.endpoint.sp.TxDirectionBuilder()
+                            .setPort(
+                                input.getServiceAEnd().getTxDirection().values().stream().findFirst().get().getPort())
+                            .build())
+                    .setRxDirection(
+                        new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                                .service.endpoint.sp.RxDirectionBuilder()
+                            .setPort(
+                                input.getServiceAEnd().getRxDirection().values().stream().findFirst().get().getPort())
+                            .build())
+                    .build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                        .service.implementation.request.input.ServiceZEndBuilder()
+                    .setServiceFormat(input.getServiceZEnd().getServiceFormat())
+                    .setServiceRate(input.getServiceZEnd().getServiceRate())
+                    .setOtuServiceRate(getOtuServiceRate(input.getServiceZEnd().getOtuServiceRate()))
+                    .setOduServiceRate(getOduServiceRate(input.getServiceZEnd().getOduServiceRate()))
+                    .setClli(input.getServiceZEnd().getClli())
+                    .setNodeId(new NodeIdType(input.getServiceZEnd().getNodeId().getValue()).getValue())
+                    .setTxDirection(
+                        new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                                .service.endpoint.sp.TxDirectionBuilder()
+                            .setPort(
+                                input.getServiceZEnd().getTxDirection().values().stream().findFirst().get().getPort())
+                            .build())
+                    .setRxDirection(
+                        new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                                .service.endpoint.sp.RxDirectionBuilder()
+                            .setPort(
+                                input.getServiceZEnd().getRxDirection().values().stream().findFirst().get().getPort())
+                            .build())
+                    .build())
             .setConnectionType(input.getConnectionType())
             .setServiceHandlerHeader(
-                new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build());
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
-            .request.input.PathDescriptionBuilder pathDescBuilder = new org.opendaylight.yang.gen.v1.http.org
-            .opendaylight.transportpce.renderer.rev210915.service.implementation.request.input
-            .PathDescriptionBuilder();
-        pathDescBuilder
-            .setAToZDirection(pathDescription.getAToZDirection())
-            .setZToADirection(pathDescription.getZToADirection());
-        serviceImplementationRequestInputBuilder.setPathDescription(pathDescBuilder.build());
-        return serviceImplementationRequestInputBuilder.build();
+                new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build())
+            .setPathDescription(
+                new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                        .service.implementation.request.input.PathDescriptionBuilder()
+                    .setAToZDirection(pathDescription.getAToZDirection())
+                    .setZToADirection(pathDescription.getZToADirection())
+                    .build())
+            .build();
     }
 
     private static Class<? extends OduRateIdentity> getOduServiceRate(
@@ -162,6 +165,7 @@ public final class ModelMappingUtils {
         }
         String oduRate = oduServiceRate.getSimpleName();
         LOG.info("ODU rate = {}", oduRate);
+        //TODO a Map would probably be more indicated here
         switch (oduRate) {
             case "ODU0":
                 return ODU0.class;
@@ -199,6 +203,7 @@ public final class ModelMappingUtils {
         }
         String otuRate = otuServiceRate.getSimpleName();
         LOG.info("OTU rate = {}", otuRate);
+        //TODO a Map would probably be more indicated here
         switch (otuRate) {
             case "OTU0":
                 return OTU0.class;
@@ -224,313 +229,377 @@ public final class ModelMappingUtils {
 
     public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteInput createServiceDeleteInput(ServiceInput serviceInput) {
-        ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
+        return new ServiceDeleteInputBuilder()
             .setServiceName(serviceInput.getServiceName())
-            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
-                .setRequestId(serviceInput.getSdncRequestHeader().getRequestId()).build());
-        return builder.build();
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder()
+                    .setRequestId(serviceInput.getSdncRequestHeader().getRequestId())
+                    .build())
+            .build();
     }
 
     public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
-            .ServiceDeleteInput createServiceDeleteInput(ServiceRerouteInput serviceRerouteinput, Services services) {
-        ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
+            .ServiceDeleteInput createServiceDeleteInput(
+                ServiceRerouteInput serviceRerouteinput,
+                Services services) {
+        return new ServiceDeleteInputBuilder()
             .setServiceName(serviceRerouteinput.getServiceName())
-            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId(
-                services.getSdncRequestHeader().getRequestId()).build());
-        return builder.build();
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder()
+                    .setRequestId(services.getSdncRequestHeader().getRequestId())
+                    .build())
+            .build();
     }
 
     public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
-            .ServiceDeleteInput createServiceDeleteInput(ServiceRestorationInput serviceRestorationInput,
-            Services services) {
-        ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
+            .ServiceDeleteInput createServiceDeleteInput(
+                ServiceRestorationInput serviceRestorationInput,
+                Services services) {
+        return new ServiceDeleteInputBuilder()
             .setServiceName(serviceRestorationInput.getServiceName())
-            .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId(
-                services.getSdncRequestHeader().getRequestId()).build());
-        return builder.build();
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder()
+                    .setRequestId(services.getSdncRequestHeader().getRequestId())
+                    .build())
+            .build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
-            createServiceDeleteInput(ServiceReconfigureInput serviceReconfigureInput) {
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+            .ServiceDeleteInput createServiceDeleteInput(ServiceReconfigureInput serviceReconfigureInput) {
         String serviceName = serviceReconfigureInput.getServiceName();
-        ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
-            .setServiceName(serviceReconfigureInput.getServiceName())
+        return new ServiceDeleteInputBuilder()
+            .setServiceName(serviceName)
             .setServiceHandlerHeader(
-                new ServiceHandlerHeaderBuilder().setRequestId(serviceName + "-reconfigure").build());
-        return builder.build();
+                new ServiceHandlerHeaderBuilder().setRequestId(serviceName + "-reconfigure").build())
+            .build();
     }
 
-    public static ServiceAEnd createServiceAEnd(org.opendaylight.yang.gen.v1
-            .http.org.openroadm.common.service.types.rev211210.ServiceEndpoint serviceAEnd) {
-        ServiceAEndBuilder serviceAEndBuilder = new ServiceAEndBuilder()
+    public static ServiceAEnd createServiceAEnd(ServiceEndpoint serviceAEnd) {
+        return new ServiceAEndBuilder()
             .setClli(serviceAEnd.getClli())
             .setNodeId(serviceAEnd.getNodeId().getValue())
             .setRxDirection(createRxDirection(serviceAEnd.getRxDirection().values().stream().findFirst().get()))
             .setServiceFormat(serviceAEnd.getServiceFormat())
             .setServiceRate(serviceAEnd.getServiceRate())
-            .setTxDirection(createTxDirection(serviceAEnd.getTxDirection().values().stream().findFirst().get()));
-        return serviceAEndBuilder.build();
+            .setTxDirection(createTxDirection(serviceAEnd.getTxDirection().values().stream().findFirst().get()))
+            .build();
     }
 
-    public static ServiceZEnd createServiceZEnd(org.opendaylight.yang.gen.v1
-            .http.org.openroadm.common.service.types.rev211210.ServiceEndpoint serviceZEnd) {
-        ServiceZEndBuilder serviceZEndBuilder = new ServiceZEndBuilder()
+    public static ServiceZEnd createServiceZEnd(ServiceEndpoint serviceZEnd) {
+        return new ServiceZEndBuilder()
             .setClli(serviceZEnd.getClli())
             .setNodeId(serviceZEnd.getNodeId().getValue())
             .setRxDirection(createRxDirection(serviceZEnd.getRxDirection().values().stream().findFirst().get()))
             .setServiceFormat(serviceZEnd.getServiceFormat())
             .setServiceRate(serviceZEnd.getServiceRate())
-            .setTxDirection(createTxDirection(serviceZEnd.getTxDirection().values().stream().findFirst().get()));
-        return serviceZEndBuilder.build();
+            .setTxDirection(createTxDirection(serviceZEnd.getTxDirection().values().stream().findFirst().get()))
+            .build();
     }
 
-    public static RxDirection createRxDirection(org.opendaylight.yang.gen.v1
-            .http.org.openroadm.common.service.types.rev211210.service.endpoint.RxDirection rxDirection) {
-        RxDirectionBuilder rxDirectionBuilder = new RxDirectionBuilder().setPort(rxDirection.getPort());
-        return rxDirectionBuilder.build();
+    public static RxDirection createRxDirection(
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                .service.endpoint.RxDirection rxDirection) {
+        return new RxDirectionBuilder().setPort(rxDirection.getPort()).build();
     }
 
-    public static TxDirection createTxDirection(org.opendaylight.yang.gen.v1
-            .http.org.openroadm.common.service.types.rev211210.service.endpoint.TxDirection txDirection) {
-        TxDirectionBuilder txDirectionBuilder = new TxDirectionBuilder().setPort(txDirection.getPort());
-        return txDirectionBuilder.build();
+    public static TxDirection createTxDirection(
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                .service.endpoint.TxDirection txDirection) {
+        return new TxDirectionBuilder().setPort(txDirection.getPort()).build();
     }
 
-    public static ListenableFuture<RpcResult<ServiceDeleteOutput>> createDeleteServiceReply(ServiceDeleteInput input,
-            String finalAck, String message, String responseCode) {
-        ConfigurationResponseCommonBuilder builder = new ConfigurationResponseCommonBuilder()
-            .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            builder.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            builder.setRequestId(null);
-        }
-        ConfigurationResponseCommon configurationResponseCommon = builder.build();
-        ServiceDeleteOutput output =
-            new ServiceDeleteOutputBuilder().setConfigurationResponseCommon(configurationResponseCommon).build();
-        return RpcResultBuilder.success(output).buildFuture();
+    public static ListenableFuture<RpcResult<ServiceDeleteOutput>> createDeleteServiceReply(
+            ServiceDeleteInput input, String finalAck, String message, String responseCode) {
+        return RpcResultBuilder
+            .success(
+                new ServiceDeleteOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<TempServiceDeleteOutput>> createDeleteServiceReply(
             TempServiceDeleteInput input, String finalAck, String message, String responseCode) {
-        ConfigurationResponseCommonBuilder builder = new ConfigurationResponseCommonBuilder()
-            .setAckFinalIndicator(finalAck)
-            .setResponseMessage(message)
-            .setResponseCode(responseCode)
-            .setRequestId(null);
-        ConfigurationResponseCommon configurationResponseCommon = builder.build();
-        TempServiceDeleteOutput output = new TempServiceDeleteOutputBuilder()
-            .setConfigurationResponseCommon(configurationResponseCommon).build();
-        return RpcResultBuilder.success(output).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new TempServiceDeleteOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(null)
+                            .build())
+                    .build())
+            .buildFuture();
     }
 
-    public static ListenableFuture<RpcResult<ServiceCreateOutput>> createCreateServiceReply(ServiceCreateInput input,
-            String finalAck, String message, String responseCode) {
-        ResponseParametersBuilder responseParameters = new ResponseParametersBuilder();
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-            .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            configurationResponseCommon.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            configurationResponseCommon.setRequestId(null);
-        }
-        ServiceCreateOutputBuilder output =
-            new ServiceCreateOutputBuilder().setConfigurationResponseCommon(configurationResponseCommon.build())
-                .setResponseParameters(responseParameters.build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+    public static ListenableFuture<RpcResult<ServiceCreateOutput>> createCreateServiceReply(
+            ServiceCreateInput input, String finalAck, String message, String responseCode) {
+        return RpcResultBuilder
+            .success(
+                new ServiceCreateOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .setResponseParameters(new ResponseParametersBuilder().build())
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<TempServiceCreateOutput>> createCreateServiceReply(
             TempServiceCreateInput input, String finalAck, String message, String responseCode) {
-        ResponseParametersBuilder responseParameters = new ResponseParametersBuilder();
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-            .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            configurationResponseCommon.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            configurationResponseCommon.setRequestId(null);
-        }
-        TempServiceCreateOutputBuilder output =
-            new TempServiceCreateOutputBuilder().setConfigurationResponseCommon(configurationResponseCommon.build())
-                .setResponseParameters(responseParameters.build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new TempServiceCreateOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                             .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .setResponseParameters(new ResponseParametersBuilder().build())
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<ServiceFeasibilityCheckOutput>> createCreateServiceReply(
             ServiceFeasibilityCheckInput input, String finalAck, String message, String responseCode) {
-        ResponseParametersBuilder responseParameters = new ResponseParametersBuilder();
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-            .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            configurationResponseCommon.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            configurationResponseCommon.setRequestId(null);
-        }
-        ServiceFeasibilityCheckOutputBuilder output = new ServiceFeasibilityCheckOutputBuilder()
-            .setConfigurationResponseCommon(configurationResponseCommon.build())
-            .setResponseParameters(responseParameters.build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new ServiceFeasibilityCheckOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .setResponseParameters(new ResponseParametersBuilder().build())
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<ServiceReconfigureOutput>> createCreateServiceReply(
             ServiceReconfigureInput input, String message) {
-        ServiceReconfigureOutputBuilder output = new ServiceReconfigureOutputBuilder()
-            .setConfigurationResponseCommon(new ConfigurationResponseCommonBuilder()
-                    .setResponseMessage(message)
-                    .build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new ServiceReconfigureOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setResponseMessage(message)
+                            .build())
+                    .build())
+            .buildFuture();
     }
 
-    public static ListenableFuture<RpcResult<ServiceRerouteOutput>> createRerouteServiceReply(ServiceRerouteInput input,
-            String finalAckYes, String message) {
-        ServiceRerouteOutputBuilder output = new ServiceRerouteOutputBuilder()
-            .setConfigurationResponseCommon(new ConfigurationResponseCommonBuilder()
-                .setResponseMessage(message)
-                .build())
-            .setHardConstraints(null)
-            .setSoftConstraints(null);
-        return RpcResultBuilder.success(output.build()).buildFuture();
+    public static ListenableFuture<RpcResult<ServiceRerouteOutput>> createRerouteServiceReply(
+            ServiceRerouteInput input, String finalAckYes, String message) {
+        return RpcResultBuilder
+            .success(
+                new ServiceRerouteOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setResponseMessage(message)
+                            .build())
+                    .setHardConstraints(null)
+                    .setSoftConstraints(null)
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<ServiceRestorationOutput>> createRestoreServiceReply(String message) {
-        ServiceRestorationOutputBuilder output = new ServiceRestorationOutputBuilder()
-            .setConfigurationResponseCommon(new ConfigurationResponseCommonBuilder()
-                .setResponseMessage(message)
-                .build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new ServiceRestorationOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setResponseMessage(message)
+                            .build())
+                    .build())
+            .buildFuture();
     }
 
-    public static Services mappingServices(ServiceCreateInput serviceCreateInput,
+    public static Services mappingServices(
+            ServiceCreateInput serviceCreateInput,
             ServiceReconfigureInput serviceReconfigureInput) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd aend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd zend = null;
-        ServicesBuilder service = new ServicesBuilder();
         if (serviceCreateInput != null) {
-            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                .ServiceAEndBuilder(serviceCreateInput.getServiceAEnd()).build();
-            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                .ServiceZEndBuilder(serviceCreateInput.getServiceZEnd()).build();
-            service.setServiceName(serviceCreateInput.getServiceName()).setAdministrativeState(AdminStates.OutOfService)
-                .setOperationalState(State.OutOfService).setCommonId(serviceCreateInput.getCommonId())
+            return new ServicesBuilder()
+                .setServiceName(serviceCreateInput.getServiceName())
+                .setAdministrativeState(AdminStates.OutOfService)
+                .setOperationalState(State.OutOfService)
+                .setCommonId(serviceCreateInput.getCommonId())
                 .setConnectionType(serviceCreateInput.getConnectionType())
                 .setCustomer(serviceCreateInput.getCustomer())
                 .setCustomerContact(serviceCreateInput.getCustomerContact())
                 .setHardConstraints(serviceCreateInput.getHardConstraints())
                 .setSoftConstraints(serviceCreateInput.getSoftConstraints())
                 .setSdncRequestHeader(serviceCreateInput.getSdncRequestHeader())
-                .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
-        } else if (serviceReconfigureInput != null) {
-            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                .ServiceAEndBuilder(serviceReconfigureInput.getServiceAEnd()).build();
-            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                .ServiceZEndBuilder(serviceReconfigureInput.getServiceZEnd()).build();
-            service.setServiceName(serviceReconfigureInput.getServiceName())
+                .setLifecycleState(LifecycleState.Planned)
+                .setServiceAEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceAEndBuilder(serviceCreateInput.getServiceAEnd())
+                        .build())
+                .setServiceZEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceZEndBuilder(serviceCreateInput.getServiceZEnd())
+                        .build())
+                .build();
+        }
+        if (serviceReconfigureInput != null) {
+            return new ServicesBuilder()
+                .setServiceName(serviceReconfigureInput.getServiceName())
                 .setAdministrativeState(AdminStates.OutOfService)
-                .setOperationalState(State.OutOfService).setCommonId(serviceReconfigureInput.getCommonId())
+                .setOperationalState(State.OutOfService)
+                .setCommonId(serviceReconfigureInput.getCommonId())
                 .setConnectionType(serviceReconfigureInput.getConnectionType())
                 .setCustomer(serviceReconfigureInput.getCustomer())
                 .setCustomerContact(serviceReconfigureInput.getCustomerContact())
                 .setHardConstraints(serviceReconfigureInput.getHardConstraints())
                 .setSoftConstraints(serviceReconfigureInput.getSoftConstraints())
-                .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
-        } else {
-            //FIXME: Because of Silicon, we cannot have empty key.
-            //it's this case possible ? There is a Junit test covering null
-            //temporary workaround as now there is a null key check done by yangtools.
-            //Functional review is needed
-            LOG.warn("ServiceCreateInput and ServiceReconfigureInput are null");
-            service.withKey(new ServicesKey("unknown"));
+                .setLifecycleState(LifecycleState.Planned)
+                .setServiceAEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceAEndBuilder(serviceReconfigureInput.getServiceAEnd())
+                        .build())
+                .setServiceZEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceZEndBuilder(serviceReconfigureInput.getServiceZEnd())
+                        .build())
+                .build();
         }
-        return service.build();
+        //FIXME: Because of Silicon, we cannot have empty key.
+        //it's this case possible ? There is a Junit test covering null
+        //temporary workaround as now there is a null key check done by yangtools.
+        //Functional review is needed
+        LOG.warn("ServiceCreateInput and ServiceReconfigureInput are null");
+        return new ServicesBuilder().withKey(new ServicesKey("unknown")).build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list.Services
-            mappingServices(TempServiceCreateInput tempServiceCreateInput) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd aend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd zend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list
-            .ServicesBuilder service = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp
-            .service.list.ServicesBuilder();
-        aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-            .ServiceAEndBuilder(tempServiceCreateInput.getServiceAEnd()).build();
-        zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-            .ServiceZEndBuilder(tempServiceCreateInput.getServiceZEnd()).build();
-        service.setServiceName(tempServiceCreateInput.getCommonId()).setAdministrativeState(AdminStates.OutOfService)
-            .setOperationalState(State.OutOfService).setCommonId(tempServiceCreateInput.getCommonId())
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210
+            .temp.service.list.Services mappingServices(TempServiceCreateInput tempServiceCreateInput) {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210
+                .temp.service.list.ServicesBuilder()
+            .setServiceName(tempServiceCreateInput.getCommonId())
+            .setAdministrativeState(AdminStates.OutOfService)
+            .setOperationalState(State.OutOfService)
+            .setCommonId(tempServiceCreateInput.getCommonId())
             .setConnectionType(tempServiceCreateInput.getConnectionType())
             .setCustomer(tempServiceCreateInput.getCustomer())
             .setCustomerContact(tempServiceCreateInput.getCustomerContact())
             .setHardConstraints(tempServiceCreateInput.getHardConstraints())
             .setSoftConstraints(tempServiceCreateInput.getSoftConstraints())
             .setSdncRequestHeader(tempServiceCreateInput.getSdncRequestHeader())
-            .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
-        return service.build();
+            .setLifecycleState(LifecycleState.Planned)
+            .setServiceAEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                    .service.ServiceAEndBuilder(tempServiceCreateInput.getServiceAEnd()).build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                    .service.ServiceZEndBuilder(tempServiceCreateInput.getServiceZEnd()).build())
+            .build();
     }
 
     public static ServicePaths mappingServicePaths(ServiceInput serviceInput, PathComputationRequestOutput output) {
-        ServicePathsBuilder servicePathBuilder = new ServicePathsBuilder();
-        if (serviceInput != null) {
-            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                .service.path.ServiceAEndBuilder serviceAEnd =
-                new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                    .service.path.ServiceAEndBuilder();
-            serviceAEnd.setServiceFormat(serviceInput.getServiceAEnd().getServiceFormat())
-                .setServiceRate(serviceInput.getServiceAEnd().getServiceRate())
-                .setClli(serviceInput.getServiceAEnd().getClli())
-                .setNodeId(new NodeIdType(serviceInput.getServiceAEnd().getNodeId().getValue()).getValue())
-                .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                    .setPort(serviceInput.getServiceAEnd().getTxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build())
-                .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                    .setPort(serviceInput.getServiceAEnd().getRxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build());
-            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                .service.path.ServiceZEndBuilder serviceZEnd =
-                new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                    .service.path.ServiceZEndBuilder();
-            serviceZEnd.setServiceFormat(serviceInput.getServiceZEnd().getServiceFormat())
-                .setServiceRate(serviceInput.getServiceZEnd().getServiceRate())
-                .setClli(serviceInput.getServiceZEnd().getClli())
-                .setNodeId(new NodeIdType(serviceInput.getServiceZEnd().getNodeId().getValue()).getValue())
-                .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                    .setPort(serviceInput.getServiceZEnd().getTxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build())
-                .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                    .setPort(serviceInput.getServiceZEnd().getRxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build());
-            servicePathBuilder.setServiceAEnd(serviceAEnd.build());
-            servicePathBuilder.setServiceZEnd(serviceZEnd.build());
-            if (serviceInput.getHardConstraints() != null) {
-                servicePathBuilder.setHardConstraints(serviceInput.getHardConstraints());
-            }
-            if (serviceInput.getSoftConstraints() != null) {
-                servicePathBuilder.setSoftConstraints(serviceInput.getSoftConstraints());
-            }
-            servicePathBuilder.setServicePathName(serviceInput.getServiceName());
-            servicePathBuilder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
-                .setRequestId(serviceInput.getSdncRequestHeader().getRequestId()).build());
-            if (output.getResponseParameters().getPathDescription() != null) {
-                PathDescriptionBuilder pathDescBuilder =
-                    new PathDescriptionBuilder(output.getResponseParameters().getPathDescription());
-                servicePathBuilder.setPathDescription(pathDescBuilder.build());
-            }
-        } else {
+        if (serviceInput == null) {
             //FIXME: Because of Silicon, we cannot have empty key.
             //it's this case possible ? There is a Junit test covering null
             //temporary workaround as now there is a null key check done by yangtools.
             //Functional review is needed
             LOG.warn("ServiceInput is null");
-            servicePathBuilder.withKey(new ServicePathsKey("unknown"));
+            return new ServicePathsBuilder().withKey(new ServicePathsKey("unknown")).build();
         }
 
+        ServicePathsBuilder servicePathBuilder =
+            new ServicePathsBuilder()
+                .setServiceAEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                            .service.path.ServiceAEndBuilder()
+                        .setServiceFormat(serviceInput.getServiceAEnd().getServiceFormat())
+                        .setServiceRate(serviceInput.getServiceAEnd().getServiceRate())
+                        .setClli(serviceInput.getServiceAEnd().getClli())
+                        .setNodeId(new NodeIdType(serviceInput.getServiceAEnd().getNodeId().getValue()).getValue())
+                        .setTxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.TxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceAEnd().getTxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .setRxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.RxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceAEnd().getRxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .build())
+                .setServiceZEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                            .service.path.ServiceZEndBuilder()
+                        .setServiceFormat(serviceInput.getServiceZEnd().getServiceFormat())
+                        .setServiceRate(serviceInput.getServiceZEnd().getServiceRate())
+                        .setClli(serviceInput.getServiceZEnd().getClli())
+                        .setNodeId(new NodeIdType(serviceInput.getServiceZEnd().getNodeId().getValue()).getValue())
+                        .setTxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.TxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceZEnd().getTxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .setRxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.RxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceZEnd().getRxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .build())
+                .setServicePathName(serviceInput.getServiceName())
+                .setServiceHandlerHeader(
+                    new ServiceHandlerHeaderBuilder()
+                        .setRequestId(serviceInput.getSdncRequestHeader()
+                        .getRequestId())
+                        .build());
+        if (serviceInput.getHardConstraints() != null) {
+            servicePathBuilder.setHardConstraints(serviceInput.getHardConstraints());
+        }
+        if (serviceInput.getSoftConstraints() != null) {
+            servicePathBuilder.setSoftConstraints(serviceInput.getSoftConstraints());
+        }
+
+        if (output.getResponseParameters().getPathDescription() != null) {
+            servicePathBuilder.setPathDescription(
+                new PathDescriptionBuilder(output.getResponseParameters().getPathDescription()).build());
+        }
         return servicePathBuilder.build();
     }
 
index b94dd49e96ac21628b64456be21ade46c5a6756d..e936ea3ea41d0c3dcb7e2964f8134602d1b2b375 100644 (file)
@@ -16,7 +16,6 @@ import org.opendaylight.transportpce.servicehandler.ModelMappingUtils;
 import org.opendaylight.transportpce.servicehandler.ServiceInput;
 import org.opendaylight.transportpce.servicehandler.service.PCEServiceWrapper;
 import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.ServicePathRpcResult;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.TransportpcePceListener;
@@ -26,7 +25,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
 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.service.types.rev220118.RpcStatusEx;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParameters;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
 import org.opendaylight.yang.gen.v1.nbi.notifications.rev210813.PublishNotificationProcessService;
 import org.opendaylight.yang.gen.v1.nbi.notifications.rev210813.PublishNotificationProcessServiceBuilder;
@@ -50,8 +48,10 @@ public class PceListenerImpl implements TransportpcePceListener {
     private Boolean serviceFeasiblity;
     private NotificationPublishService notificationPublishService;
 
-    public PceListenerImpl(RendererServiceOperations rendererServiceOperations,
-            PathComputationService pathComputationService, NotificationPublishService notificationPublishService,
+    public PceListenerImpl(
+            RendererServiceOperations rendererServiceOperations,
+            PathComputationService pathComputationService,
+            NotificationPublishService notificationPublishService,
             ServiceDataStoreOperations serviceDataStoreOperations) {
         this.rendererServiceOperations = rendererServiceOperations;
         this.pceServiceWrapper = new PCEServiceWrapper(pathComputationService, notificationPublishService);
@@ -98,7 +98,8 @@ public class PceListenerImpl implements TransportpcePceListener {
             LOG.error("'PathDescription' parameter is null ");
             return;
         }
-        PathDescription pathDescription = new PathDescriptionBuilder()
+        PathDescription pathDescription =
+            new PathDescriptionBuilder()
                 .setAToZDirection(servicePathRpcResult.getPathDescription().getAToZDirection())
                 .setZToADirection(servicePathRpcResult.getPathDescription().getZToADirection())
                 .build();
@@ -123,20 +124,26 @@ public class PceListenerImpl implements TransportpcePceListener {
                 LOG.error("Service not created in datastore !");
             }
         }
-        ResponseParameters responseParameters = new ResponseParametersBuilder()
-                .setPathDescription(new org.opendaylight.yang.gen.v1.http
-                        .org.transportpce.b.c._interface.service.types.rev220118
-                        .response.parameters.sp.response.parameters.PathDescriptionBuilder(pathDescription).build())
-                .build();
-        PathComputationRequestOutput pceResponse = new PathComputationRequestOutputBuilder()
-                .setResponseParameters(responseParameters).build();
-        OperationResult operationServicePathSaveResult = this.serviceDataStoreOperations
-                .createServicePath(input, pceResponse);
-        if (!operationServicePathSaveResult.isSuccess()) {
+        if (!this.serviceDataStoreOperations
+                .createServicePath(
+                    input,
+                    //pceResponse
+                    new PathComputationRequestOutputBuilder()
+                        .setResponseParameters(
+                            new ResponseParametersBuilder()
+                                .setPathDescription(
+                                    new org.opendaylight.yang.gen.v1
+                                            .http.org.transportpce.b.c._interface.service.types.rev220118
+                                                .response.parameters.sp.response.parameters
+                                                    .PathDescriptionBuilder(pathDescription)
+                                        .build())
+                                .build())
+                        .build())
+                .isSuccess()) {
             LOG.error("Service Path not created in datastore !");
         }
-        ServiceImplementationRequestInput serviceImplementationRequest = ModelMappingUtils
-                .createServiceImplementationRequest(input, pathDescription);
+        ServiceImplementationRequestInput serviceImplementationRequest =
+            ModelMappingUtils.createServiceImplementationRequest(input, pathDescription);
         LOG.info("Sending serviceImplementation request : {}", serviceImplementationRequest);
         this.rendererServiceOperations.serviceImplementation(serviceImplementationRequest);
     }
@@ -150,6 +157,7 @@ public class PceListenerImpl implements TransportpcePceListener {
         PublishNotificationProcessService nbiNotification = getPublishNotificationProcessService(notification);
         PublishNotificationProcessServiceBuilder publishNotificationProcessServiceBuilder =
                 new PublishNotificationProcessServiceBuilder(nbiNotification);
+        //TODO is it worth to instantiate the 2 variables above if status is 'Pending' or 'Successful' ?
         switch (servicePathRpcResult.getStatus()) {
             case Failed:
                 LOG.error("PCE path computation failed !");
@@ -178,19 +186,20 @@ public class PceListenerImpl implements TransportpcePceListener {
     }
 
     private PublishNotificationProcessService getPublishNotificationProcessService(ServicePathRpcResult notification) {
-        PublishNotificationProcessServiceBuilder nbiNotificationBuilder =
-                new PublishNotificationProcessServiceBuilder();
-        if (input != null) {
-            nbiNotificationBuilder.setServiceName(input.getServiceName())
-                    .setServiceAEnd(new ServiceAEndBuilder(input.getServiceAEnd()).build())
-                    .setServiceZEnd(new ServiceZEndBuilder(input.getServiceZEnd()).build())
-                    .setCommonId(input.getCommonId())
-                    .setConnectionType(input.getConnectionType());
-        } else {
-            nbiNotificationBuilder.setServiceName(notification.getServiceName());
+        if (input == null) {
+            return new PublishNotificationProcessServiceBuilder()
+                .setServiceName(notification.getServiceName())
+                .setPublisherName(PUBLISHER)
+                .build();
         }
-        nbiNotificationBuilder.setPublisherName(PUBLISHER);
-        return nbiNotificationBuilder.build();
+        return new PublishNotificationProcessServiceBuilder()
+            .setServiceName(input.getServiceName())
+            .setServiceAEnd(new ServiceAEndBuilder(input.getServiceAEnd()).build())
+            .setServiceZEnd(new ServiceZEndBuilder(input.getServiceZEnd()).build())
+            .setCommonId(input.getCommonId())
+            .setConnectionType(input.getConnectionType())
+            .setPublisherName(PUBLISHER)
+            .build();
     }
 
     /**
@@ -206,7 +215,8 @@ public class PceListenerImpl implements TransportpcePceListener {
             return;
         }
         Services service = serviceDataStoreOperations.getService(input.getServiceName()).get();
-        PublishNotificationProcessServiceBuilder nbiNotificationBuilder = new PublishNotificationProcessServiceBuilder()
+        PublishNotificationProcessServiceBuilder nbiNotificationBuilder =
+            new PublishNotificationProcessServiceBuilder()
                 .setServiceName(service.getServiceName())
                 .setServiceAEnd(new ServiceAEndBuilder(service.getServiceAEnd()).build())
                 .setServiceZEnd(new ServiceZEndBuilder(service.getServiceZEnd()).build())
@@ -215,7 +225,8 @@ public class PceListenerImpl implements TransportpcePceListener {
                 .setPublisherName(PUBLISHER);
         if (servicePathRpcResult.getStatus() == RpcStatusEx.Failed) {
             LOG.info("PCE cancel resource failed !");
-            sendNbiNotification(nbiNotificationBuilder
+            sendNbiNotification(
+                nbiNotificationBuilder
                     .setResponseFailed("PCE cancel resource failed !")
                     .setMessage("ServiceDelete request failed ...")
                     .setOperationalState(service.getOperationalState())
@@ -237,14 +248,16 @@ public class PceListenerImpl implements TransportpcePceListener {
             deleteServiceOperationResult = this.serviceDataStoreOperations.deleteService(input.getServiceName());
         }
         if (deleteServiceOperationResult.isSuccess()) {
-            sendNbiNotification(nbiNotificationBuilder
+            sendNbiNotification(
+                nbiNotificationBuilder
                     .setResponseFailed("")
                     .setMessage("Service deleted !")
                     .setOperationalState(State.Degraded)
                     .build());
         } else {
             LOG.warn("{}Service was not removed from datastore !", serviceType);
-            sendNbiNotification(nbiNotificationBuilder
+            sendNbiNotification(
+                nbiNotificationBuilder
                     .setResponseFailed(serviceType + "Service was not removed from datastore !")
                     .setMessage("ServiceDelete request failed ...")
                     .setOperationalState(service.getOperationalState())
index fc33b6d7b68b761a1d00289c4d28977105bb7d3e..0604a6c95492a25c181a9cf1619181a816de6257 100644 (file)
@@ -20,7 +20,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ServiceEndpoint;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommonBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.response.parameters.ResponseParametersBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.LifecycleState;
@@ -60,294 +59,349 @@ public final class ModelMappingUtils {
     private ModelMappingUtils() {
     }
 
-    public static ServiceImplementationRequestInput createServiceImplementationRequest(ServiceInput input,
+    public static ServiceImplementationRequestInput createServiceImplementationRequest(
+            ServiceInput input,
             PathDescription pathDescription) {
         ServiceImplementationRequestInputBuilder serviceImplementationRequestInputBuilder =
-                new ServiceImplementationRequestInputBuilder();
-        serviceImplementationRequestInputBuilder.setServiceName(input.getServiceName());
-        org.opendaylight.yang.gen.v1.http
-            .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder
-            serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
-            .service.implementation.request.input.ServiceAEndBuilder();
-        serviceAEnd.setServiceFormat(input.getServiceAEnd().getServiceFormat())
-            .setServiceRate(input.getServiceAEnd().getServiceRate()).setClli(input.getServiceAEnd().getClli())
-            .setNodeId(input.getServiceAEnd().getNodeId().getValue())
-            .setTxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                .setPort(input.getServiceAEnd().getTxDirection().values().stream().findFirst().get().getPort())
-                .build())
-            .setRxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                .setPort(input.getServiceAEnd().getRxDirection().values().stream().findFirst().get().getPort())
-                .build());
-        org.opendaylight.yang.gen.v1.http
-            .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder
-            serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
-            .service.implementation.request.input.ServiceZEndBuilder();
-        serviceZEnd.setServiceFormat(input.getServiceZEnd().getServiceFormat())
-            .setServiceRate(input.getServiceZEnd().getServiceRate()).setClli(input.getServiceZEnd().getClli())
-            .setNodeId(input.getServiceZEnd().getNodeId().getValue())
-            .setTxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                .setPort(input.getServiceZEnd().getTxDirection().values().stream().findFirst().get().getPort())
-                .build())
-            .setRxDirection(new org.opendaylight.yang.gen.v1.http
-                    .org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                .setPort(input.getServiceZEnd().getRxDirection().values().stream().findFirst().get().getPort())
-                .build());
-        serviceImplementationRequestInputBuilder.setServiceAEnd(serviceAEnd.build());
-        serviceImplementationRequestInputBuilder.setServiceZEnd(serviceZEnd.build());
-        serviceImplementationRequestInputBuilder.setServiceHandlerHeader(
-            new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build());
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
-            .request.input.PathDescriptionBuilder pathDescBuilder = new org.opendaylight.yang.gen.v1.http
-            .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input
-                    .PathDescriptionBuilder();
-        pathDescBuilder.setAToZDirection(pathDescription.getAToZDirection());
-        pathDescBuilder.setZToADirection(pathDescription.getZToADirection());
-        serviceImplementationRequestInputBuilder.setPathDescription(pathDescBuilder.build());
-        return serviceImplementationRequestInputBuilder.build();
+                new ServiceImplementationRequestInputBuilder().setServiceName(input.getServiceName());
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                .service.implementation.request.input.ServiceAEndBuilder serviceAEnd =
+            new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                    .service.implementation.request.input.ServiceAEndBuilder()
+                .setServiceFormat(input.getServiceAEnd().getServiceFormat())
+                .setServiceRate(input.getServiceAEnd().getServiceRate()).setClli(input.getServiceAEnd().getClli())
+                .setNodeId(input.getServiceAEnd().getNodeId().getValue())
+                .setTxDirection(
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                            .service.endpoint.sp.TxDirectionBuilder()
+                        .setPort(input.getServiceAEnd().getTxDirection().values().stream().findFirst().get().getPort())
+                        .build())
+                .setRxDirection(
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                            .service.endpoint.sp.RxDirectionBuilder()
+                        .setPort(input.getServiceAEnd().getRxDirection().values().stream().findFirst().get().getPort())
+                        .build());
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                .service.implementation.request.input.ServiceZEndBuilder serviceZEnd =
+            new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                    .service.implementation.request.input.ServiceZEndBuilder()
+                .setServiceFormat(input.getServiceZEnd().getServiceFormat())
+                .setServiceRate(input.getServiceZEnd().getServiceRate()).setClli(input.getServiceZEnd().getClli())
+                .setNodeId(input.getServiceZEnd().getNodeId().getValue())
+                .setTxDirection(
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                            .service.endpoint.sp.TxDirectionBuilder()
+                        .setPort(input.getServiceZEnd().getTxDirection().values().stream().findFirst().get().getPort())
+                        .build())
+                .setRxDirection(
+                    new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
+                            .service.endpoint.sp.RxDirectionBuilder()
+                        .setPort(input.getServiceZEnd().getRxDirection().values().stream().findFirst().get().getPort())
+                        .build());
+        return serviceImplementationRequestInputBuilder
+            .setServiceAEnd(serviceAEnd.build())
+            .setServiceZEnd(serviceZEnd.build())
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build())
+            .setPathDescription(
+                new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
+                        .service.implementation.request.input.PathDescriptionBuilder()
+                    .setAToZDirection(pathDescription.getAToZDirection())
+                    .setZToADirection(pathDescription.getZToADirection())
+                    .build())
+            .build();
     }
 
     public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
-        .ServiceDeleteInput createServiceDeleteInput(ServiceInput serviceInput) {
-        ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder();
-        builder.setServiceName(serviceInput.getServiceName());
-        builder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
-                .setRequestId(serviceInput.getSdncRequestHeader().getRequestId()).build());
-        return builder.build();
+            .ServiceDeleteInput createServiceDeleteInput(ServiceInput serviceInput) {
+        return new ServiceDeleteInputBuilder()
+            .setServiceName(serviceInput.getServiceName())
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder()
+                    .setRequestId(serviceInput.getSdncRequestHeader().getRequestId())
+                    .build())
+            .build();
     }
 
     public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
-        .ServiceDeleteInput createServiceDeleteInput(ServiceRerouteInput serviceRerouteinput, Services services) {
-        ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder();
-        builder.setServiceName(serviceRerouteinput.getServiceName());
-        builder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId(
-                services.getSdncRequestHeader().getRequestId()).build());
-        return builder.build();
+            .ServiceDeleteInput createServiceDeleteInput(
+                ServiceRerouteInput serviceRerouteinput,
+                Services services) {
+        return new ServiceDeleteInputBuilder()
+            .setServiceName(serviceRerouteinput.getServiceName())
+            .setServiceHandlerHeader(
+                new ServiceHandlerHeaderBuilder().setRequestId(services.getSdncRequestHeader().getRequestId()).build())
+            .build();
     }
 
     public static ServiceAEnd createServiceAEnd(ServiceEndpoint serviceAEnd) {
-        ServiceAEndBuilder serviceAEndBuilder = new ServiceAEndBuilder();
-        serviceAEndBuilder.setClli(serviceAEnd.getClli());
-        serviceAEndBuilder.setNodeId(new NodeIdType(serviceAEnd.getNodeId().getValue()).getValue());
-        serviceAEndBuilder.setRxDirection(
-            createRxDirection(serviceAEnd.getRxDirection().values().stream().findFirst().get()));
-        serviceAEndBuilder.setServiceFormat(serviceAEnd.getServiceFormat());
-        serviceAEndBuilder.setServiceRate(serviceAEnd.getServiceRate());
-        serviceAEndBuilder.setTxDirection(
-            createTxDirection(serviceAEnd.getTxDirection().values().stream().findFirst().get()));
-        return serviceAEndBuilder.build();
+        return new ServiceAEndBuilder()
+            .setClli(serviceAEnd.getClli())
+            .setNodeId(new NodeIdType(serviceAEnd.getNodeId().getValue()).getValue())
+            .setRxDirection(
+                createRxDirection(serviceAEnd.getRxDirection().values().stream().findFirst().get()))
+            .setServiceFormat(serviceAEnd.getServiceFormat())
+            .setServiceRate(serviceAEnd.getServiceRate())
+            .setTxDirection(
+                createTxDirection(serviceAEnd.getTxDirection().values().stream().findFirst().get()))
+            .build();
     }
 
     public static ServiceZEnd createServiceZEnd(ServiceEndpoint serviceZEnd) {
-        ServiceZEndBuilder serviceZEndBuilder = new ServiceZEndBuilder();
-        serviceZEndBuilder.setClli(serviceZEnd.getClli());
-        serviceZEndBuilder.setNodeId(new NodeIdType(serviceZEnd.getNodeId().getValue()).getValue());
-        serviceZEndBuilder.setRxDirection(
-            createRxDirection(serviceZEnd.getRxDirection().values().stream().findFirst().get()));
-        serviceZEndBuilder.setServiceFormat(serviceZEnd.getServiceFormat());
-        serviceZEndBuilder.setServiceRate(serviceZEnd.getServiceRate());
-        serviceZEndBuilder.setTxDirection(
-            createTxDirection(serviceZEnd.getTxDirection().values().stream().findFirst().get()));
-        return serviceZEndBuilder.build();
+        return new ServiceZEndBuilder()
+            .setClli(serviceZEnd.getClli())
+            .setNodeId(new NodeIdType(serviceZEnd.getNodeId().getValue()).getValue())
+            .setRxDirection(
+                createRxDirection(serviceZEnd.getRxDirection().values().stream().findFirst().get()))
+            .setServiceFormat(serviceZEnd.getServiceFormat())
+            .setServiceRate(serviceZEnd.getServiceRate())
+            .setTxDirection(
+                createTxDirection(serviceZEnd.getTxDirection().values().stream().findFirst().get()))
+        .build();
     }
 
-    public static RxDirection createRxDirection(org.opendaylight.yang.gen.v1.http
-            .org.openroadm.common.service.types.rev211210.service.endpoint.RxDirection rxDirection) {
-        RxDirectionBuilder rxDirectionBuilder = new RxDirectionBuilder();
-        rxDirectionBuilder.setPort(rxDirection.getPort());
-        return rxDirectionBuilder.build();
+    public static RxDirection createRxDirection(
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                .service.endpoint.RxDirection rxDirection) {
+        return new RxDirectionBuilder()
+            .setPort(rxDirection.getPort())
+            .build();
     }
 
-    public static TxDirection createTxDirection(org.opendaylight.yang.gen.v1.http
-            .org.openroadm.common.service.types.rev211210.service.endpoint.TxDirection txDirection) {
-        TxDirectionBuilder txDirectionBuilder = new TxDirectionBuilder();
-        txDirectionBuilder.setPort(txDirection.getPort());
-        return txDirectionBuilder.build();
+    public static TxDirection createTxDirection(
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                .service.endpoint.TxDirection txDirection) {
+        return new TxDirectionBuilder()
+            .setPort(txDirection.getPort())
+            .build();
     }
 
-    public static ListenableFuture<RpcResult<ServiceDeleteOutput>> createDeleteServiceReply(ServiceDeleteInput input,
-            String finalAck, String message, String responseCode) {
-        ConfigurationResponseCommonBuilder builder = new ConfigurationResponseCommonBuilder()
-                .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            builder.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            builder.setRequestId(null);
-        }
-        ConfigurationResponseCommon configurationResponseCommon = builder.build();
-        ServiceDeleteOutput output =
-                new ServiceDeleteOutputBuilder().setConfigurationResponseCommon(configurationResponseCommon).build();
-        return RpcResultBuilder.success(output).buildFuture();
+    public static ListenableFuture<RpcResult<ServiceDeleteOutput>> createDeleteServiceReply(
+            ServiceDeleteInput input, String finalAck, String message, String responseCode) {
+        return RpcResultBuilder
+            .success(
+                new ServiceDeleteOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<TempServiceDeleteOutput>> createDeleteServiceReply(
             TempServiceDeleteInput input, String finalAck, String message, String responseCode) {
-        ConfigurationResponseCommonBuilder builder = new ConfigurationResponseCommonBuilder()
-                .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        builder.setRequestId(null);
-        ConfigurationResponseCommon configurationResponseCommon = builder.build();
-        TempServiceDeleteOutput output = new TempServiceDeleteOutputBuilder()
-                .setConfigurationResponseCommon(configurationResponseCommon).build();
-        return RpcResultBuilder.success(output).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new TempServiceDeleteOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(null)
+                            .build())
+                    .build())
+            .buildFuture();
     }
 
-    public static ListenableFuture<RpcResult<ServiceCreateOutput>> createCreateServiceReply(ServiceCreateInput input,
-            String finalAck, String message, String responseCode) {
-        ResponseParametersBuilder responseParameters = new ResponseParametersBuilder();
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-                .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            configurationResponseCommon.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            configurationResponseCommon.setRequestId(null);
-        }
-        ServiceCreateOutputBuilder output =
-                new ServiceCreateOutputBuilder().setConfigurationResponseCommon(configurationResponseCommon.build())
-                        .setResponseParameters(responseParameters.build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+    public static ListenableFuture<RpcResult<ServiceCreateOutput>> createCreateServiceReply(
+            ServiceCreateInput input, String finalAck, String message, String responseCode) {
+        return RpcResultBuilder
+            .success(
+                new ServiceCreateOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .setResponseParameters(new ResponseParametersBuilder().build())
+                    .build())
+            .buildFuture();
     }
 
     public static ListenableFuture<RpcResult<TempServiceCreateOutput>> createCreateServiceReply(
             TempServiceCreateInput input, String finalAck, String message, String responseCode) {
-        ResponseParametersBuilder responseParameters = new ResponseParametersBuilder();
-        ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
-                .setAckFinalIndicator(finalAck).setResponseMessage(message).setResponseCode(responseCode);
-        if (input.getSdncRequestHeader() != null) {
-            configurationResponseCommon.setRequestId(input.getSdncRequestHeader().getRequestId());
-        } else {
-            configurationResponseCommon.setRequestId(null);
-        }
-        TempServiceCreateOutputBuilder output =
-                new TempServiceCreateOutputBuilder().setConfigurationResponseCommon(configurationResponseCommon.build())
-                        .setResponseParameters(responseParameters.build());
-        return RpcResultBuilder.success(output.build()).buildFuture();
+        return RpcResultBuilder
+            .success(
+                new TempServiceCreateOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder()
+                            .setAckFinalIndicator(finalAck)
+                            .setResponseMessage(message)
+                            .setResponseCode(responseCode)
+                            .setRequestId(
+                                input.getSdncRequestHeader() == null
+                                    ? null
+                                    : input.getSdncRequestHeader().getRequestId())
+                            .build())
+                    .setResponseParameters(new ResponseParametersBuilder().build())
+                    .build())
+            .buildFuture();
     }
 
-    public static ListenableFuture<RpcResult<ServiceRerouteOutput>> createRerouteServiceReply(ServiceRerouteInput input,
-            String finalAckYes, String message) {
-        ServiceRerouteOutputBuilder output = new ServiceRerouteOutputBuilder()
-                .setConfigurationResponseCommon(
-                    new ConfigurationResponseCommonBuilder().setResponseMessage(message).build())
-                .setHardConstraints(null)
-                .setSoftConstraints(null);
-        return RpcResultBuilder.success(output.build()).buildFuture();
+    public static ListenableFuture<RpcResult<ServiceRerouteOutput>> createRerouteServiceReply(
+            ServiceRerouteInput input, String finalAckYes, String message) {
+        return RpcResultBuilder
+            .success(
+                new ServiceRerouteOutputBuilder()
+                    .setConfigurationResponseCommon(
+                        new ConfigurationResponseCommonBuilder().setResponseMessage(message).build())
+                    .setHardConstraints(null)
+                    .setSoftConstraints(null)
+                    .build())
+            .buildFuture();
     }
 
-    public static Services mappingServices(ServiceCreateInput serviceCreateInput,
-            ServiceReconfigureInput serviceReconfigureInput) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd aend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd zend = null;
-        ServicesBuilder service = new ServicesBuilder();
+    public static Services mappingServices(
+            ServiceCreateInput serviceCreateInput, ServiceReconfigureInput serviceReconfigureInput) {
         if (serviceCreateInput != null) {
-            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                    .ServiceAEndBuilder(serviceCreateInput.getServiceAEnd()).build();
-            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                    .ServiceZEndBuilder(serviceCreateInput.getServiceZEnd()).build();
-            service.setServiceName(serviceCreateInput.getServiceName()).setAdministrativeState(AdminStates.OutOfService)
-                    .setOperationalState(State.OutOfService).setCommonId(serviceCreateInput.getCommonId())
-                    .setConnectionType(serviceCreateInput.getConnectionType())
-                    .setCustomer(serviceCreateInput.getCustomer())
-                    .setCustomerContact(serviceCreateInput.getCustomerContact())
-                    .setHardConstraints(serviceCreateInput.getHardConstraints())
-                    .setSoftConstraints(serviceCreateInput.getSoftConstraints())
-                    .setSdncRequestHeader(serviceCreateInput.getSdncRequestHeader())
-                    .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
-        } else if (serviceReconfigureInput != null) {
-            aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                    .ServiceAEndBuilder(serviceReconfigureInput.getServiceAEnd()).build();
-            zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                    .ServiceZEndBuilder(serviceReconfigureInput.getServiceZEnd()).build();
-            service.setServiceName(serviceReconfigureInput.getServiceName())
-            .setAdministrativeState(AdminStates.OutOfService)
-                    .setOperationalState(State.OutOfService).setCommonId(serviceReconfigureInput.getCommonId())
-                    .setConnectionType(serviceReconfigureInput.getConnectionType())
-                    .setCustomer(serviceReconfigureInput.getCustomer())
-                    .setCustomerContact(serviceReconfigureInput.getCustomerContact())
-                    .setHardConstraints(serviceReconfigureInput.getHardConstraints())
-                    .setSoftConstraints(serviceReconfigureInput.getSoftConstraints())
-                    .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
+            return new ServicesBuilder()
+                .setServiceName(serviceCreateInput.getServiceName())
+                .setAdministrativeState(AdminStates.OutOfService)
+                .setOperationalState(State.OutOfService)
+                .setCommonId(serviceCreateInput.getCommonId())
+                .setConnectionType(serviceCreateInput.getConnectionType())
+                .setCustomer(serviceCreateInput.getCustomer())
+                .setCustomerContact(serviceCreateInput.getCustomerContact())
+                .setHardConstraints(serviceCreateInput.getHardConstraints())
+                .setSoftConstraints(serviceCreateInput.getSoftConstraints())
+                .setSdncRequestHeader(serviceCreateInput.getSdncRequestHeader())
+                .setLifecycleState(LifecycleState.Planned)
+                .setServiceAEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceAEndBuilder(serviceCreateInput.getServiceAEnd())
+                        .build())
+                .setServiceZEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceZEndBuilder(serviceCreateInput.getServiceZEnd())
+                        .build())
+                .build();
+        }
+        if (serviceReconfigureInput != null) {
+            return new ServicesBuilder()
+                .setServiceName(serviceReconfigureInput.getServiceName())
+                .setAdministrativeState(AdminStates.OutOfService)
+                .setOperationalState(State.OutOfService)
+                .setCommonId(serviceReconfigureInput.getCommonId())
+                .setConnectionType(serviceReconfigureInput.getConnectionType())
+                .setCustomer(serviceReconfigureInput.getCustomer())
+                .setCustomerContact(serviceReconfigureInput.getCustomerContact())
+                .setHardConstraints(serviceReconfigureInput.getHardConstraints())
+                .setSoftConstraints(serviceReconfigureInput.getSoftConstraints())
+                .setLifecycleState(LifecycleState.Planned)
+                .setServiceAEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceAEndBuilder(serviceReconfigureInput.getServiceAEnd())
+                        .build())
+                .setServiceZEnd(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                            .service.ServiceZEndBuilder(serviceReconfigureInput.getServiceZEnd())
+                        .build())
+                .build();
         }
-        return service.build();
+        return new ServicesBuilder().build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list
-        .Services mappingServices(TempServiceCreateInput tempServiceCreateInput) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd aend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd zend = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list
-            .ServicesBuilder service = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp
-                .service.list.ServicesBuilder();
-        aend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                .ServiceAEndBuilder(tempServiceCreateInput.getServiceAEnd()).build();
-        zend = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
-                .ServiceZEndBuilder(tempServiceCreateInput.getServiceZEnd()).build();
-        service.setServiceName(tempServiceCreateInput.getCommonId()).setAdministrativeState(AdminStates.OutOfService)
-                .setOperationalState(State.OutOfService).setCommonId(tempServiceCreateInput.getCommonId())
-                .setConnectionType(tempServiceCreateInput.getConnectionType())
-                .setCustomer(tempServiceCreateInput.getCustomer())
-                .setCustomerContact(tempServiceCreateInput.getCustomerContact())
-                .setHardConstraints(tempServiceCreateInput.getHardConstraints())
-                .setSoftConstraints(tempServiceCreateInput.getSoftConstraints())
-                .setSdncRequestHeader(tempServiceCreateInput.getSdncRequestHeader())
-                .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend);
-        return service.build();
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210
+            .temp.service.list.Services mappingServices(TempServiceCreateInput tempServiceCreateInput) {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210
+                .temp.service.list.ServicesBuilder()
+            .setServiceName(tempServiceCreateInput.getCommonId())
+            .setAdministrativeState(AdminStates.OutOfService)
+            .setOperationalState(State.OutOfService)
+            .setCommonId(tempServiceCreateInput.getCommonId())
+            .setConnectionType(tempServiceCreateInput.getConnectionType())
+            .setCustomer(tempServiceCreateInput.getCustomer())
+            .setCustomerContact(tempServiceCreateInput.getCustomerContact())
+            .setHardConstraints(tempServiceCreateInput.getHardConstraints())
+            .setSoftConstraints(tempServiceCreateInput.getSoftConstraints())
+            .setSdncRequestHeader(tempServiceCreateInput.getSdncRequestHeader())
+            .setLifecycleState(LifecycleState.Planned)
+            .setServiceAEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                    .service.ServiceAEndBuilder(tempServiceCreateInput.getServiceAEnd()).build())
+            .setServiceZEnd(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210
+                    .service.ServiceZEndBuilder(tempServiceCreateInput.getServiceZEnd()).build())
+            .build();
     }
 
     public static ServicePaths mappingServicePaths(ServiceInput serviceInput, PathComputationRequestOutput output) {
-        ServicePathsBuilder servicePathBuilder = new ServicePathsBuilder();
-        if (serviceInput != null) {
-            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                .service.path.ServiceAEndBuilder serviceAEnd =
+        if (serviceInput == null) {
+            return new ServicePathsBuilder().build();
+        }
+        ServicePathsBuilder servicePathBuilder =
+            new ServicePathsBuilder()
+                .setServiceAEnd(
                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                        .service.path.ServiceAEndBuilder();
-            serviceAEnd.setServiceFormat(serviceInput.getServiceAEnd().getServiceFormat())
-                .setServiceRate(serviceInput.getServiceAEnd().getServiceRate())
-                .setClli(serviceInput.getServiceAEnd().getClli())
-                .setNodeId(new NodeIdType(serviceInput.getServiceAEnd().getNodeId().getValue()).getValue())
-                .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                    .setPort(serviceInput.getServiceAEnd().getTxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build())
-                .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                    .setPort(serviceInput.getServiceAEnd().getRxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build());
-            org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                .service.path.ServiceZEndBuilder serviceZEnd =
+                            .service.path.ServiceAEndBuilder()
+                        .setServiceFormat(serviceInput.getServiceAEnd().getServiceFormat())
+                        .setServiceRate(serviceInput.getServiceAEnd().getServiceRate())
+                        .setClli(serviceInput.getServiceAEnd().getClli())
+                        .setNodeId(new NodeIdType(serviceInput.getServiceAEnd().getNodeId().getValue()).getValue())
+                        .setTxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.TxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceAEnd().getTxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .setRxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.RxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceAEnd().getRxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .build())
+                .setServiceZEnd(
                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
-                        .service.path.ServiceZEndBuilder();
-            serviceZEnd.setServiceFormat(serviceInput.getServiceZEnd().getServiceFormat())
-                .setServiceRate(serviceInput.getServiceZEnd().getServiceRate())
-                .setClli(serviceInput.getServiceZEnd().getClli())
-                .setNodeId(new NodeIdType(serviceInput.getServiceZEnd().getNodeId().getValue()).getValue())
-                .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder()
-                    .setPort(serviceInput.getServiceZEnd().getTxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build())
-                .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
-                    .transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder()
-                    .setPort(serviceInput.getServiceZEnd().getRxDirection().values().stream().findFirst().get()
-                        .getPort())
-                    .build());
-            servicePathBuilder.setServiceAEnd(serviceAEnd.build());
-            servicePathBuilder.setServiceZEnd(serviceZEnd.build());
-            if (serviceInput.getHardConstraints() != null) {
-                servicePathBuilder.setHardConstraints(serviceInput.getHardConstraints());
-            }
-            if (serviceInput.getSoftConstraints() != null) {
-                servicePathBuilder.setSoftConstraints(serviceInput.getSoftConstraints());
-            }
-            servicePathBuilder.setServicePathName(serviceInput.getServiceName());
-            servicePathBuilder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
-                    .setRequestId(serviceInput.getSdncRequestHeader().getRequestId()).build());
-            PathDescriptionBuilder pathDescBuilder =
-                    new PathDescriptionBuilder(output.getResponseParameters().getPathDescription());
-            servicePathBuilder.setPathDescription(pathDescBuilder.build());
+                            .service.path.ServiceZEndBuilder()
+                        .setServiceFormat(serviceInput.getServiceZEnd().getServiceFormat())
+                        .setServiceRate(serviceInput.getServiceZEnd().getServiceRate())
+                        .setClli(serviceInput.getServiceZEnd().getClli())
+                        .setNodeId(new NodeIdType(serviceInput.getServiceZEnd().getNodeId().getValue()).getValue())
+                        .setTxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.TxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceZEnd().getTxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .setRxDirection(
+                            new org.opendaylight.yang.gen.v1
+                                    .http.org.transportpce.b.c._interface.service.types.rev220118
+                                        .service.endpoint.sp.RxDirectionBuilder()
+                                .setPort(
+                                    serviceInput.getServiceZEnd().getRxDirection()
+                                        .values().stream().findFirst().get().getPort())
+                                .build())
+                        .build())
+                .setServicePathName(serviceInput.getServiceName())
+                .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
+                .setRequestId(serviceInput.getSdncRequestHeader().getRequestId()).build())
+                .setPathDescription(
+                    new PathDescriptionBuilder(output.getResponseParameters().getPathDescription()).build());
+        if (serviceInput.getHardConstraints() != null) {
+            servicePathBuilder.setHardConstraints(serviceInput.getHardConstraints());
+        }
+        if (serviceInput.getSoftConstraints() != null) {
+            servicePathBuilder.setSoftConstraints(serviceInput.getSoftConstraints());
         }
         return servicePathBuilder.build();
     }