X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=servicehandler%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fservicehandler%2FMappingAndSendingSIRequest.java;h=8d88587f2c9f2c7119cf3decd72b49e268569ce0;hb=240583a8f543bf9092584ca3608a96edf5b7e308;hp=3e91980e21896454804bba417b8ae450a6fc835e;hpb=96a25ab4d2588960ceadf60e3d97f849a8d62cbe;p=transportpce.git diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/MappingAndSendingSIRequest.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/MappingAndSendingSIRequest.java index 3e91980e2..8d88587f2 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/MappingAndSendingSIRequest.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/MappingAndSendingSIRequest.java @@ -11,8 +11,6 @@ package org.opendaylight.transportpce.servicehandler; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; -import java.util.ArrayList; -import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; @@ -20,40 +18,24 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014.ServiceCreateInput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014.ServiceReconfigureInput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubpce.rev170426.PathComputationRequestOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceDeleteInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceDeleteInputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceDeleteOutput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceDeleteOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceImplementationRequestInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceImplementationRequestInputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceImplementationRequestOutput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.ServiceImplementationRequestOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.StubrendererService; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.service.implementation.request.input.PathDescription; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.service.implementation.request.input.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.service.implementation.request.input.ServiceAEnd; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.service.implementation.request.input.ServiceAEndBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.service.implementation.request.input.ServiceZEnd; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.stubrenderer.rev170426.service.implementation.request.input.ServiceZEndBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.ServiceFormat; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.Port; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.port.PortBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirection; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.AToZDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirection; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ZToADirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZ; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.atoz.direction.AToZKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToA; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToABuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.path.description.ztoa.direction.ZToAKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.Resource; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev170426.pce.resource.ResourceBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.sdnc.request.header.SdncRequestHeader; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceReconfigureInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.RxDirection; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.RxDirectionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.endpoint.sp.TxDirection; @@ -74,15 +56,15 @@ import org.slf4j.LoggerFactory; * */ public class MappingAndSendingSIRequest { - /* Logging. */ + /** Logging. */ private static final Logger LOG = LoggerFactory.getLogger(MappingAndSendingSIRequest.class); - /* Permit to call Renderer RPCs. */ + /** Permit to call Renderer RPCs. */ private StubrendererService service; - /* define procedure success (or not ). */ + /** define procedure success (or not ). */ private Boolean success = false; - /* permit to call bundle service (PCE, Renderer, Servicehandler. */ + /** permit to call bundle service (PCE, Renderer, Servicehandler. */ private RpcProviderRegistry rpcRegistry; - /* store all error messages. */ + /** store all error messages. */ private String error; ServiceImplementationRequestInput serviceImplementationRequestInput = null; ServiceDeleteInput serviceDeleteInput = null; @@ -100,21 +82,22 @@ public class MappingAndSendingSIRequest { */ public MappingAndSendingSIRequest(RpcProviderRegistry rpcRegistry, ServiceCreateInput serviceCreateInput,PathComputationRequestOutput pathComputationOutput) { - this.rpcRegistry = rpcRegistry; + this.setRpcRegistry(rpcRegistry); if (rpcRegistry != null) { service = rpcRegistry.getRpcService(StubrendererService.class); } setSuccess(false); setError(""); - /* Building ServiceImplementationRequestInput / ServiceDeleteInput serviceDeleteInput. */ + /** Building ServiceImplementationRequestInput / ServiceDeleteInput serviceDeleteInput. */ ServiceHandlerHeaderBuilder serviceHandlerHeader = new ServiceHandlerHeaderBuilder(); if (serviceCreateInput.getSdncRequestHeader() != null) { serviceHandlerHeader.setRequestId(serviceCreateInput.getSdncRequestHeader().getRequestId()); } - //.build(); + mappingSIRequest(pathComputationOutput, serviceHandlerHeader, serviceCreateInput.getServiceAEnd(), + serviceCreateInput.getServiceZEnd(), serviceCreateInput.getServiceName()); + /* - /*ServiceAEnd Build */ org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014 .service.create.input.ServiceAEnd tempA = serviceCreateInput.getServiceAEnd(); @@ -126,34 +109,6 @@ public class MappingAndSendingSIRequest { .service.types.rev161014.service.port.Port tempAPortTx = serviceCreateInput.getServiceAEnd().getTxDirection().getPort(); - /*Port portARx = new PortBuilder() - .setPortDeviceName(tempAPortRx.getPortDeviceName()) - .setPortName(tempAPortRx.getPortName()) - .setPortRack(tempAPortRx.getPortRack()) - .setPortShelf(tempAPortRx.getPortShelf()) - .setPortSlot(tempAPortRx.getPortSlot()) - .setPortSubSlot(tempAPortRx.getPortSubSlot()) - .setPortType(tempAPortRx.getPortType()) - .build(); - - Port portATx = new PortBuilder() - .setPortDeviceName(tempAPortTx.getPortDeviceName()) - .setPortName(tempAPortTx.getPortName()) - .setPortRack(tempAPortTx.getPortRack()) - .setPortShelf(tempAPortTx.getPortShelf()) - .setPortSlot(tempAPortTx.getPortSlot()) - .setPortSubSlot(tempAPortTx.getPortSubSlot()) - .setPortType(tempAPortTx.getPortType()) - .build(); - - RxDirection rxDirectionAEnd = new RxDirectionBuilder() - .setPort(portARx ) - .build(); - - TxDirection txDirectionAEnd = new TxDirectionBuilder() - .setPort(portATx ) - .build();*/ - RxDirection rxDirectionAEnd = getRxDirection(tempAPortRx); TxDirection txDirectionAEnd = getTxDirection(tempAPortTx); @@ -167,7 +122,6 @@ public class MappingAndSendingSIRequest { .setTxDirection(txDirectionAEnd) .build(); - /* ServiceZEnd Build */ org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014 .service.create.input.ServiceZEnd tempZ = serviceCreateInput.getServiceZEnd(); @@ -179,34 +133,6 @@ public class MappingAndSendingSIRequest { .service.types.rev161014.service.port.Port tempZPortTx = serviceCreateInput.getServiceZEnd().getTxDirection().getPort(); - /*Port portZRx = new PortBuilder() - .setPortDeviceName(tempZPortRx.getPortDeviceName()) - .setPortName(tempZPortRx.getPortName()) - .setPortRack(tempZPortRx.getPortRack()) - .setPortShelf(tempZPortRx.getPortShelf()) - .setPortSlot(tempZPortRx.getPortSlot()) - .setPortSubSlot(tempZPortRx.getPortSubSlot()) - .setPortType(tempZPortRx.getPortType()) - .build(); - - Port portZTx = new PortBuilder() - .setPortDeviceName(tempZPortTx.getPortDeviceName()) - .setPortName(tempZPortTx.getPortName()) - .setPortRack(tempZPortTx.getPortRack()) - .setPortShelf(tempZPortTx.getPortShelf()) - .setPortSlot(tempZPortTx.getPortSlot()) - .setPortSubSlot(tempZPortTx.getPortSubSlot()) - .setPortType(tempZPortTx.getPortType()) - .build(); - - RxDirection rxDirectionZEnd = new RxDirectionBuilder() - .setPort(portZRx ) - .build(); - - TxDirection txDirectionZEnd = new TxDirectionBuilder() - .setPort(portZTx ) - .build();*/ - RxDirection rxDirectionZEnd = getRxDirection(tempZPortRx); TxDirection txDirectionZEnd = getTxDirection(tempZPortTx); @@ -220,14 +146,12 @@ public class MappingAndSendingSIRequest { .setTxDirection(txDirectionZEnd) .build(); - - /* ServiceImplementationRequestInput Build*/ org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types .rev170426.response.parameters.sp.response.parameters.PathDescription tmp = null; try { tmp = pathComputationOutput.getResponseParameters().getPathDescription(); } catch (NullPointerException e) { - LOG.error("PathDescription is null : " + e.toString()); + LOG.error("PathDescription is null : {}", e.toString()); } PathDescriptionBuilder pathDescription = new PathDescriptionBuilder(); if (tmp != null) { @@ -239,7 +163,10 @@ public class MappingAndSendingSIRequest { .setServiceName(serviceCreateInput.getServiceName()) .setServiceAEnd(serviceAEnd) .setServiceZEnd(serviceZEnd) - .build(); + .build();*/ + + mappingSIRequest(pathComputationOutput, serviceHandlerHeader, serviceCreateInput.getServiceAEnd(), + serviceCreateInput.getServiceZEnd(), serviceCreateInput.getServiceName()); } /** @@ -253,17 +180,20 @@ public class MappingAndSendingSIRequest { public MappingAndSendingSIRequest(RpcProviderRegistry rpcRegistry, ServiceReconfigureInput serviceReconfigureInput,PathComputationRequestOutput pathComputationOutput) { - this.rpcRegistry = rpcRegistry; + this.setRpcRegistry(rpcRegistry); if (rpcRegistry != null) { service = rpcRegistry.getRpcService(StubrendererService.class); } setSuccess(false); setError(""); - /* Building ServiceImplementationRequestInput / ServiceDeleteInput serviceDeleteInput .*/ - ServiceHandlerHeaderBuilder serviceHandlerHeader = new ServiceHandlerHeaderBuilder(); + /** Building ServiceImplementationRequestInput / ServiceDeleteInput serviceDeleteInput .*/ + ServiceHandlerHeaderBuilder serviceHandlerHeader = new ServiceHandlerHeaderBuilder() + .setRequestId("reconfigure_" + serviceReconfigureInput.getNewServiceName()); + mappingSIRequest(pathComputationOutput, serviceHandlerHeader, serviceReconfigureInput.getServiceAEnd(), + serviceReconfigureInput.getServiceZEnd(), serviceReconfigureInput.getNewServiceName()); - /*ServiceAEnd Build .*/ + /* org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014 .service.reconfigure.input.ServiceAEnd tempA = serviceReconfigureInput.getServiceAEnd(); @@ -275,34 +205,6 @@ public class MappingAndSendingSIRequest { .service.types.rev161014.service.port.Port tempAPortTx = serviceReconfigureInput.getServiceAEnd().getTxDirection().getPort(); - /*Port portARx = new PortBuilder() - .setPortDeviceName(tempAPortRx.getPortDeviceName()) - .setPortName(tempAPortRx.getPortName()) - .setPortRack(tempAPortRx.getPortRack()) - .setPortShelf(tempAPortRx.getPortShelf()) - .setPortSlot(tempAPortRx.getPortSlot()) - .setPortSubSlot(tempAPortRx.getPortSubSlot()) - .setPortType(tempAPortRx.getPortType()) - .build(); - - Port portATx = new PortBuilder() - .setPortDeviceName(tempAPortTx.getPortDeviceName()) - .setPortName(tempAPortTx.getPortName()) - .setPortRack(tempAPortTx.getPortRack()) - .setPortShelf(tempAPortTx.getPortShelf()) - .setPortSlot(tempAPortTx.getPortSlot()) - .setPortSubSlot(tempAPortTx.getPortSubSlot()) - .setPortType(tempAPortTx.getPortType()) - .build(); - - RxDirection rxDirectionAEnd = new RxDirectionBuilder() - .setPort(portARx ) - .build(); - - TxDirection txDirectionAEnd = new TxDirectionBuilder() - .setPort(portATx ) - .build();*/ - RxDirection rxDirectionAEnd = getRxDirection(tempAPortRx); TxDirection txDirectionAEnd = getTxDirection(tempAPortTx); @@ -316,7 +218,6 @@ public class MappingAndSendingSIRequest { .setTxDirection(txDirectionAEnd) .build(); - /* ServiceZEnd Build .*/ org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev161014 .service.reconfigure.input.ServiceZEnd tempZ = serviceReconfigureInput.getServiceZEnd(); @@ -328,33 +229,6 @@ public class MappingAndSendingSIRequest { .service.types.rev161014.service.port.Port tempZPortTx = serviceReconfigureInput.getServiceZEnd().getTxDirection().getPort(); - /*Port portZRx = new PortBuilder() - .setPortDeviceName(tempZPortRx.getPortDeviceName()) - .setPortName(tempZPortRx.getPortName()) - .setPortRack(tempZPortRx.getPortRack()) - .setPortShelf(tempZPortRx.getPortShelf()) - .setPortSlot(tempZPortRx.getPortSlot()) - .setPortSubSlot(tempZPortRx.getPortSubSlot()) - .setPortType(tempZPortRx.getPortType()) - .build(); - - Port portZTx = new PortBuilder() - .setPortDeviceName(tempZPortTx.getPortDeviceName()) - .setPortName(tempZPortTx.getPortName()) - .setPortRack(tempZPortTx.getPortRack()) - .setPortShelf(tempZPortTx.getPortShelf()) - .setPortSlot(tempZPortTx.getPortSlot()) - .setPortSubSlot(tempZPortTx.getPortSubSlot()) - .setPortType(tempZPortTx.getPortType()) - .build(); - - RxDirection rxDirectionZEnd = new RxDirectionBuilder() - .setPort(portZRx ) - .build(); - - TxDirection txDirectionZEnd = new TxDirectionBuilder() - .setPort(portZTx ) - .build();*/ RxDirection rxDirectionZEnd = getRxDirection(tempZPortRx); TxDirection txDirectionZEnd = getTxDirection(tempZPortTx); @@ -368,15 +242,12 @@ public class MappingAndSendingSIRequest { .setTxDirection(txDirectionZEnd) .build(); - - /* ServiceImplementationRequestInput Build.*/ - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types .rev170426.response.parameters.sp.response.parameters.PathDescription tmp = null; try { tmp = pathComputationOutput.getResponseParameters().getPathDescription(); } catch (NullPointerException e) { - LOG.error("PathDescription is null : " + e.toString()); + LOG.error("PathDescription is null : {}", e.toString()); } PathDescriptionBuilder pathDescription = new PathDescriptionBuilder(); if (tmp != null) { @@ -389,7 +260,7 @@ public class MappingAndSendingSIRequest { .setServiceAEnd(serviceAEnd) .setServiceZEnd(serviceZEnd) .build(); - LOG.info("ServiceImplementationRequestInput : " + serviceImplementationRequestInput.toString()); + LOG.info("ServiceImplementationRequestInput : {}", serviceImplementationRequestInput.toString());*/ } @@ -402,45 +273,54 @@ public class MappingAndSendingSIRequest { * @param serviceName Service name */ public MappingAndSendingSIRequest(RpcProviderRegistry rpcRegistry,String requestId, String serviceName) { - this.rpcRegistry = rpcRegistry; + this.setRpcRegistry(rpcRegistry); if (rpcRegistry != null) { service = rpcRegistry.getRpcService(StubrendererService.class); } setSuccess(false); setError(""); - /* ServiceDeleteInput Build .*/ + /** ServiceDeleteInput Build .*/ ServiceHandlerHeaderBuilder serviceHandlerHeader = new ServiceHandlerHeaderBuilder(); if (requestId != null) { serviceHandlerHeader.setRequestId(requestId); } serviceDeleteInput = new ServiceDeleteInputBuilder() - .setServiceHandlerHeader(serviceHandlerHeader.build()) - .setServiceName(serviceName) - .build(); + .setServiceHandlerHeader(serviceHandlerHeader.build()) + .setServiceName(serviceName) + .build(); } - /* + /** * MappingAndSendingSIRequest Class constructor * for modify Service in ODL Datastore. * * @param rpcRegistry RpcProviderRegistry * @param services Services + * @param pathComputationOutput PathComputationRequestOutput */ - public MappingAndSendingSIRequest(RpcProviderRegistry rpcRegistry,Services services) { - this.rpcRegistry = rpcRegistry; + public MappingAndSendingSIRequest(RpcProviderRegistry rpcRegistry,Services services, + PathComputationRequestOutput pathComputationOutput) { + this.setRpcRegistry(rpcRegistry); if (rpcRegistry != null) { service = rpcRegistry.getRpcService(StubrendererService.class); } setSuccess(false); setError(""); - /* Building ServiceImplementationRequestInput / ServiceDeleteInput serviceDeleteInput .*/ + /** Building ServiceImplementationRequestInput / ServiceDeleteInput serviceDeleteInput .*/ ServiceHandlerHeaderBuilder serviceHandlerHeader = new ServiceHandlerHeaderBuilder(); - - /*ServiceAEnd Build .*/ - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service + SdncRequestHeader sdnc = services.getSdncRequestHeader(); + if (sdnc != null) { + String requestId = services.getSdncRequestHeader().getRequestId(); + if (requestId != null) { + serviceHandlerHeader.setRequestId(requestId); + } + } + mappingSIRequest(pathComputationOutput, serviceHandlerHeader, services.getServiceAEnd(), + services.getServiceZEnd(), services.getServiceName()); + /*org.opendaylight.yang.gen.v1.http.org.openroadm.common.service .types.rev161014.service.ServiceAEnd tempA = services.getServiceAEnd(); org.opendaylight.yang.gen.v1.http.org.openroadm.common @@ -462,8 +342,6 @@ public class MappingAndSendingSIRequest { .setRxDirection(rxDirectionAEnd) .setTxDirection(txDirectionAEnd) .build(); - - /* ServiceZEnd Build .*/ org.opendaylight.yang.gen.v1.http.org.openroadm.common.service .types.rev161014.service.ServiceZEnd tempZ = services.getServiceZEnd(); @@ -484,115 +362,100 @@ public class MappingAndSendingSIRequest { .setRxDirection(rxDirectionZEnd) .setTxDirection(txDirectionZEnd) .build(); - - - /* ServiceImplementationRequestInput Build.*/ - - - List atozList = new ArrayList(); - List ztoaList = new ArrayList(); - - for (org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.topology.AToZ - tmp : services.getTopology().getAToZ()) { - - AToZKey key = new AToZKey(tmp.getKey().getId()); - Resource atozresource = new ResourceBuilder() - .build(); - AToZ atoz = new AToZBuilder() - .setId(tmp.getId()) - .setKey(key) - .setResource(atozresource) - .build(); - atozList.add(atoz); + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types + .rev170426.response.parameters.sp.response.parameters.PathDescription tmp = null; + try { + tmp = pathComputationOutput.getResponseParameters().getPathDescription(); + } catch (NullPointerException e) { + LOG.error("PathDescription is null : {}", e); } - - for (org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.topology.ZToA - tmp : services.getTopology().getZToA()) { - ZToAKey key = new ZToAKey(tmp.getKey().getId()); - Resource ztoaresource = new ResourceBuilder() - .build(); - ZToA ztoa = new ZToABuilder() - .setId(tmp.getId()) - .setKey(key) - .setResource(ztoaresource) - .build(); - ztoaList.add(ztoa); + PathDescriptionBuilder pathDescription = new PathDescriptionBuilder(); + if (tmp != null) { + pathDescription = new PathDescriptionBuilder(tmp); } - AToZDirection atozdirection = new AToZDirectionBuilder() - .setAToZ(atozList) - .build(); - - ZToADirection ztoadirection = new ZToADirectionBuilder() - .setZToA(ztoaList) - .build(); - - - PathDescription pathDescription = new PathDescriptionBuilder() - .setAToZDirection(atozdirection) - .setZToADirection(ztoadirection) - .build(); - serviceImplementationRequestInput = new ServiceImplementationRequestInputBuilder() - .setPathDescription(pathDescription) + .setPathDescription(pathDescription.build()) .setServiceHandlerHeader(serviceHandlerHeader.build()) .setServiceName(services.getServiceName()) .setServiceAEnd(serviceAEnd) .setServiceZEnd(serviceZEnd) .build(); - LOG.info("ServiceImplementationRequestInput : " + serviceImplementationRequestInput.toString()); + LOG.info("ServiceImplementationRequestInput : {}", serviceImplementationRequestInput.toString());*/ } /** - * Create RxDirection with Port - * information. + *Build serviceImplementationRequestInput with + *input parameters from ServiceCreateInput or + *Services or serviceReconfigureInput. * - * @param tempPort Port - * @return RxDirection + * @param pathComputationOutput PathComputationRequestOutput + * @param serviceHandlerHeader ServiceHandlerHeaderBuilder + * @param aend Beginning ServiceEndpoint + * @param zend Ending ServiceEndpoint + * @param serviceName Service Name */ - public RxDirection getRxDirection(org.opendaylight.yang.gen.v1.http.org.openroadm.common - .service.types.rev161014.service.port.Port tempPort) { - Port port = new PortBuilder() - .setPortDeviceName(tempPort.getPortDeviceName()) - .setPortName(tempPort.getPortName()) - .setPortRack(tempPort.getPortRack()) - .setPortShelf(tempPort.getPortShelf()) - .setPortSlot(tempPort.getPortSlot()) - .setPortSubSlot(tempPort.getPortSubSlot()) - .setPortType(tempPort.getPortType()) - .build(); + private void mappingSIRequest(PathComputationRequestOutput pathComputationOutput, + ServiceHandlerHeaderBuilder serviceHandlerHeader, org.opendaylight.yang.gen .v1.http.org.openroadm.common + .service.types.rev161014.ServiceEndpoint aend , org.opendaylight.yang.gen.v1.http.org.openroadm.common + .service.types.rev161014.ServiceEndpoint zend, String serviceName) { + LOG.info("Mapping ServiceCreateInput or Services or serviceReconfigureInput to SIR requests"); + /** ServiceAEnd Build. */ + RxDirection rxDirectionAEnd = new RxDirectionBuilder() + .setPort(aend.getRxDirection().getPort()) + .build(); + TxDirection txDirectionAEnd = new TxDirectionBuilder() + .setPort(aend.getTxDirection().getPort()) + .build(); - RxDirection result = new RxDirectionBuilder() - .setPort(port) - .build(); + ServiceAEnd serviceAEnd = new ServiceAEndBuilder() + .setClli(aend.getClli()) + .setNodeId(aend.getNodeId()) + .setServiceFormat(ServiceFormat.valueOf(aend.getServiceFormat().getName())) + .setServiceRate(aend.getServiceRate()) + .setRxDirection(rxDirectionAEnd) + .setTxDirection(txDirectionAEnd) + .build(); - return result; - } + /** ServiceZEnd Build. */ + RxDirection rxDirectionZEnd = new RxDirectionBuilder() + .setPort(zend.getRxDirection().getPort()) + .build(); - /* - * Create TxDirection with Port - * information. - * - * @param tempPort Port - * @return TxDirection TxDirection - */ - public TxDirection getTxDirection(org.opendaylight.yang.gen.v1.http.org.openroadm.common - .service.types.rev161014.service.port.Port tempPort) { - Port port = new PortBuilder() - .setPortDeviceName(tempPort.getPortDeviceName()) - .setPortName(tempPort.getPortName()) - .setPortRack(tempPort.getPortRack()) - .setPortShelf(tempPort.getPortShelf()) - .setPortSlot(tempPort.getPortSlot()) - .setPortSubSlot(tempPort.getPortSubSlot()) - .setPortType(tempPort.getPortType()) - .build(); + TxDirection txDirectionZEnd = new TxDirectionBuilder() + .setPort(zend.getTxDirection().getPort()) + .build(); - TxDirection result = new TxDirectionBuilder() - .setPort(port) - .build(); + ServiceZEnd serviceZEnd = new ServiceZEndBuilder() + .setClli(zend.getClli()) + .setNodeId(zend.getNodeId()) + .setServiceFormat(ServiceFormat.valueOf(zend.getServiceFormat().getName())) + .setServiceRate(zend.getServiceRate()) + .setRxDirection(rxDirectionZEnd) + .setTxDirection(txDirectionZEnd) + .build(); + + + /** ServiceImplementationRequestInput Build. */ + org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types + .rev170426.response.parameters.sp.response.parameters.PathDescription tmp = null; + try { + tmp = pathComputationOutput.getResponseParameters().getPathDescription(); + } catch (NullPointerException e) { + LOG.error("PathDescription is null : {}", e.toString()); + } + PathDescriptionBuilder pathDescription = new PathDescriptionBuilder(); + if (tmp != null) { + pathDescription = new PathDescriptionBuilder(tmp); + } + serviceImplementationRequestInput = new ServiceImplementationRequestInputBuilder() + .setPathDescription(pathDescription.build()) + .setServiceHandlerHeader(serviceHandlerHeader.build()) + .setServiceName(serviceName) + .setServiceAEnd(serviceAEnd) + .setServiceZEnd(serviceZEnd) + .build(); - return result; } /** @@ -600,13 +463,12 @@ public class MappingAndSendingSIRequest { * * @return ServiceImplementationRequestOutput data response from Renderer */ - public ListenableFuture serviceImplementation() { + public ListenableFuture serviceImplementation() { setSuccess(false); - return executor.submit(new Callable() { - + return executor.submit(new Callable() { @Override - public ServiceImplementationRequestOutput call() throws Exception { - ServiceImplementationRequestOutput output = null; + public Boolean call() throws Exception { + Boolean output = null; if (serviceImplementationRequestInput != null) { RpcResult rendererOutputResult = null; Future> rendererOutputFuture = @@ -623,10 +485,7 @@ public class MappingAndSendingSIRequest { if (rendererOutputResult != null && rendererOutputResult.isSuccessful()) { LOG.info("Renderer replied to serviceImplementation Request !"); setSuccess(true); - ServiceImplementationRequestOutput rendererOutput = rendererOutputResult.getResult(); - output = new ServiceImplementationRequestOutputBuilder() - .setConfigurationResponseCommon(rendererOutput.getConfigurationResponseCommon()) - .build(); + output = true; setSuccess(true); } } else { @@ -644,18 +503,16 @@ public class MappingAndSendingSIRequest { * * @return ServiceDeleteOutput data response from Renderer */ - public ListenableFuture serviceDelete() { + public ListenableFuture serviceDelete() { setSuccess(false); - return executor.submit(new Callable() { - + return executor.submit(new Callable() { @Override - public ServiceDeleteOutput call() throws Exception { - ServiceDeleteOutput output = null; + public Boolean call() throws Exception { + Boolean output = null; if (serviceDeleteInput != null) { RpcResult rendererOutputResult = null; Future> rendererOutputFuture = service.serviceDelete(serviceDeleteInput); - try { rendererOutputResult = rendererOutputFuture.get();//wait to get the result } catch (InterruptedException | CancellationException | ExecutionException e) { @@ -668,11 +525,7 @@ public class MappingAndSendingSIRequest { if (rendererOutputResult != null && rendererOutputResult.isSuccessful()) { LOG.info("Renderer replied to serviceDelete Request!"); setSuccess(true); - ServiceDeleteOutput rendererOutput = rendererOutputResult.getResult(); - output = new ServiceDeleteOutputBuilder() - .setConfigurationResponseCommon(rendererOutput.getConfigurationResponseCommon()) - .build(); - setSuccess(true); + output = true; } } return output; @@ -698,4 +551,12 @@ public class MappingAndSendingSIRequest { this.error = error; } + public RpcProviderRegistry getRpcRegistry() { + return rpcRegistry; + } + + public void setRpcRegistry(RpcProviderRegistry rpcRegistry) { + this.rpcRegistry = rpcRegistry; + } + }