X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=servicehandler%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fservicehandler%2FModelMappingUtils.java;h=faf6d8ec6a8f2440cee1be52e9fd5e385aefc890;hb=5e3f7dd89cb088ef4957f5559a82b8c6436afa17;hp=124eed52a6e3033a038617390bc76727176c7810;hpb=522fc9216b5c490c7877b24181236f13f15c8d11;p=transportpce.git diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java index 124eed52a..faf6d8ec6 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java @@ -8,63 +8,86 @@ package org.opendaylight.transportpce.servicehandler; import com.google.common.util.concurrent.ListenableFuture; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEnd; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceAEndBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEnd; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.path.computation.request.input.ServiceZEndBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.service.path.rpc.result.PathDescription; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceImplementationRequestInput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceImplementationRequestInputBuilder; +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.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.opendaylight.transportpce.pce.rev220118.service.path.rpc.result.PathDescription; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder; +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.rev190531.configuration.response.common.ConfigurationResponseCommon; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.response.parameters.ResponseParametersBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.LifecycleState; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev190531.RpcStatus; -import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceFeasibilityCheckInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceFeasibilityCheckOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceFeasibilityCheckOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceReconfigureInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceReconfigureOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceReconfigureOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRestorationInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRestorationOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRestorationOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraintsBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirection; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirection; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescriptionBuilder; +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; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; +import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU0; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU2; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU3; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODUCn; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODUflexCbr; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODUflexFlexe; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODUflexGfp; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODUflexImp; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU0; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU2; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU3; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTUCn; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTUflex; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OduRateIdentity; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OtuRateIdentity; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRestorationInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRestorationOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRestorationOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceDeleteOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.Services; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.ServicesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.ServicesKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirection; +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.TxDirection; +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.ServiceHandlerHeaderBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.path.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public final class ModelMappingUtils { + private static final Logger LOG = LoggerFactory.getLogger(ModelMappingUtils.class); private ModelMappingUtils() { } @@ -78,45 +101,41 @@ public final class ModelMappingUtils { } else { serviceImplementationRequestInputBuilder.setServiceName(input.getServiceName()); } - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.service.implementation + 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.rev200520.service.implementation.request.input.ServiceAEndBuilder(); + .transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder(); serviceAEnd.setServiceFormat(input.getServiceAEnd().getServiceFormat()) .setServiceRate(input.getServiceAEnd().getServiceRate()) - .setOtuServiceRate(input.getServiceAEnd().getOtuServiceRate()) - .setOduServiceRate(input.getServiceAEnd().getOduServiceRate()) - .setClli(input.getServiceAEnd().getClli()) - // set otu and odu - .setOtuServiceRate(input.getServiceAEnd().getOtuServiceRate()) - .setOduServiceRate(input.getServiceZEnd().getOduServiceRate()) + .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.rev200128.service.endpoint.sp.TxDirectionBuilder() - .setPort(input.getServiceAEnd().getTxDirection().getPort()).build()) + .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.rev200128.service.endpoint.sp.RxDirectionBuilder() - .setPort(input.getServiceAEnd().getRxDirection().getPort()).build()); - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.service.implementation + .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.rev200520.service.implementation.request.input.ServiceZEndBuilder(); + .transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder(); serviceZEnd.setServiceFormat(input.getServiceZEnd().getServiceFormat()) .setServiceRate(input.getServiceZEnd().getServiceRate()) - .setOtuServiceRate(input.getServiceZEnd().getOtuServiceRate()) - .setOduServiceRate(input.getServiceZEnd().getOduServiceRate()) - .setClli(input.getServiceZEnd().getClli()) - // set otu and odu - .setOtuServiceRate(input.getServiceAEnd().getOtuServiceRate()) - .setOduServiceRate(input.getServiceZEnd().getOduServiceRate()) + .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.rev200128.service.endpoint.sp.TxDirectionBuilder() - .setPort(input.getServiceZEnd().getTxDirection().getPort()).build()) + .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.rev200128.service.endpoint.sp.RxDirectionBuilder() - .setPort(input.getServiceZEnd().getRxDirection().getPort()).build()); + .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()) @@ -124,9 +143,9 @@ public final class ModelMappingUtils { .setConnectionType(input.getConnectionType()) .setServiceHandlerHeader( new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build()); - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.service.implementation + 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.rev200520.service.implementation.request.input + .opendaylight.transportpce.renderer.rev210915.service.implementation.request.input .PathDescriptionBuilder(); pathDescBuilder .setAToZDirection(pathDescription.getAToZDirection()) @@ -135,7 +154,75 @@ public final class ModelMappingUtils { return serviceImplementationRequestInputBuilder.build(); } - public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520 + private static Class getOduServiceRate( + Class + oduServiceRate) { + if (oduServiceRate == null) { + return null; + } + String oduRate = oduServiceRate.getSimpleName(); + LOG.info("ODU rate = {}", oduRate); + switch (oduRate) { + case "ODU0": + return ODU0.class; + case "ODU1": + return ODU1.class; + case "ODU2": + return ODU2.class; + case "ODU2e": + return ODU2e.class; + case "ODU3": + return ODU3.class; + case "ODU4": + return ODU4.class; + case "ODUCn": + return ODUCn.class; + case "ODUflexCbr": + return ODUflexCbr.class; + case "ODUflexFlexe": + return ODUflexFlexe.class; + case "ODUflexGfp": + return ODUflexGfp.class; + case "ODUflexImp": + return ODUflexImp.class; + default: + LOG.error("OTU rate {} not recognized", oduRate); + } + return null; + } + + private static Class getOtuServiceRate( + Class + otuServiceRate) { + if (otuServiceRate == null) { + return null; + } + String otuRate = otuServiceRate.getSimpleName(); + LOG.info("OTU rate = {}", otuRate); + switch (otuRate) { + case "OTU0": + return OTU0.class; + case "OTU1": + return OTU1.class; + case "OTU2": + return OTU2.class; + case "OTU2e": + return OTU2e.class; + case "OTU3": + return OTU3.class; + case "OTU4": + return OTU4.class; + case "OTUCn": + return OTUCn.class; + case "OTUflex": + return OTUflex.class; + default: + LOG.error("OTU rate {} not recognized", otuRate); + } + return null; + } + + public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915 .ServiceDeleteInput createServiceDeleteInput(ServiceInput serviceInput) { ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder() .setServiceName(serviceInput.getServiceName()) @@ -144,7 +231,7 @@ public final class ModelMappingUtils { return builder.build(); } - public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520 + public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915 .ServiceDeleteInput createServiceDeleteInput(ServiceRerouteInput serviceRerouteinput, Services services) { ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder() .setServiceName(serviceRerouteinput.getServiceName()) @@ -153,7 +240,7 @@ public final class ModelMappingUtils { return builder.build(); } - public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520 + public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915 .ServiceDeleteInput createServiceDeleteInput(ServiceRestorationInput serviceRestorationInput, Services services) { ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder() @@ -163,7 +250,7 @@ public final class ModelMappingUtils { return builder.build(); } - public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInput + 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() @@ -174,37 +261,37 @@ public final class ModelMappingUtils { } public static ServiceAEnd createServiceAEnd(org.opendaylight.yang.gen.v1 - .http.org.openroadm.common.service.types.rev190531.ServiceEndpoint serviceAEnd) { + .http.org.openroadm.common.service.types.rev211210.ServiceEndpoint serviceAEnd) { ServiceAEndBuilder serviceAEndBuilder = new ServiceAEndBuilder() .setClli(serviceAEnd.getClli()) .setNodeId(serviceAEnd.getNodeId().getValue()) - .setRxDirection(createRxDirection(serviceAEnd.getRxDirection())) + .setRxDirection(createRxDirection(serviceAEnd.getRxDirection().values().stream().findFirst().get())) .setServiceFormat(serviceAEnd.getServiceFormat()) .setServiceRate(serviceAEnd.getServiceRate()) - .setTxDirection(createTxDirection(serviceAEnd.getTxDirection())); + .setTxDirection(createTxDirection(serviceAEnd.getTxDirection().values().stream().findFirst().get())); return serviceAEndBuilder.build(); } public static ServiceZEnd createServiceZEnd(org.opendaylight.yang.gen.v1 - .http.org.openroadm.common.service.types.rev190531.ServiceEndpoint serviceZEnd) { + .http.org.openroadm.common.service.types.rev211210.ServiceEndpoint serviceZEnd) { ServiceZEndBuilder serviceZEndBuilder = new ServiceZEndBuilder() .setClli(serviceZEnd.getClli()) .setNodeId(serviceZEnd.getNodeId().getValue()) - .setRxDirection(createRxDirection(serviceZEnd.getRxDirection())) + .setRxDirection(createRxDirection(serviceZEnd.getRxDirection().values().stream().findFirst().get())) .setServiceFormat(serviceZEnd.getServiceFormat()) .setServiceRate(serviceZEnd.getServiceRate()) - .setTxDirection(createTxDirection(serviceZEnd.getTxDirection())); + .setTxDirection(createTxDirection(serviceZEnd.getTxDirection().values().stream().findFirst().get())); return serviceZEndBuilder.build(); } public static RxDirection createRxDirection(org.opendaylight.yang.gen.v1 - .http.org.openroadm.common.service.types.rev190531.service.endpoint.RxDirection rxDirection) { + .http.org.openroadm.common.service.types.rev211210.service.endpoint.RxDirection rxDirection) { RxDirectionBuilder rxDirectionBuilder = new RxDirectionBuilder().setPort(rxDirection.getPort()); return rxDirectionBuilder.build(); } public static TxDirection createTxDirection(org.opendaylight.yang.gen.v1 - .http.org.openroadm.common.service.types.rev190531.service.endpoint.TxDirection txDirection) { + .http.org.openroadm.common.service.types.rev211210.service.endpoint.TxDirection txDirection) { TxDirectionBuilder txDirectionBuilder = new TxDirectionBuilder().setPort(txDirection.getPort()); return txDirectionBuilder.build(); } @@ -286,40 +373,42 @@ public final class ModelMappingUtils { } public static ListenableFuture> createCreateServiceReply( - ServiceReconfigureInput input, String message, RpcStatus rpcStatus) { + ServiceReconfigureInput input, String message) { ServiceReconfigureOutputBuilder output = new ServiceReconfigureOutputBuilder() - .setStatus(rpcStatus) - .setStatusMessage(message); + .setConfigurationResponseCommon(new ConfigurationResponseCommonBuilder() + .setResponseMessage(message) + .build()); return RpcResultBuilder.success(output.build()).buildFuture(); } public static ListenableFuture> createRerouteServiceReply(ServiceRerouteInput input, - String finalAckYes, String message, RpcStatus status) { + String finalAckYes, String message) { ServiceRerouteOutputBuilder output = new ServiceRerouteOutputBuilder() + .setConfigurationResponseCommon(new ConfigurationResponseCommonBuilder() + .setResponseMessage(message) + .build()) .setHardConstraints(null) - .setSoftConstraints(null) - .setStatus(status) - .setStatusMessage(message); + .setSoftConstraints(null); return RpcResultBuilder.success(output.build()).buildFuture(); } - public static ListenableFuture> createRestoreServiceReply(String message, - RpcStatus status) { + public static ListenableFuture> createRestoreServiceReply(String message) { ServiceRestorationOutputBuilder output = new ServiceRestorationOutputBuilder() - .setStatus(status) - .setStatusMessage(message); + .setConfigurationResponseCommon(new ConfigurationResponseCommonBuilder() + .setResponseMessage(message) + .build()); return RpcResultBuilder.success(output.build()).buildFuture(); } public static Services mappingServices(ServiceCreateInput serviceCreateInput, ServiceReconfigureInput serviceReconfigureInput) { - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd aend = null; - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd zend = null; + 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.rev190531.service + 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.rev190531.service + 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()) @@ -331,9 +420,9 @@ public final class ModelMappingUtils { .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.rev190531.service + 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.rev190531.service + 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) @@ -344,20 +433,27 @@ public final class ModelMappingUtils { .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")); } return service.build(); } - public static org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list.Services + 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.rev190531.service.ServiceAEnd aend = null; - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd zend = null; - org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list - .ServicesBuilder service = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp + 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.rev190531.service + 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.rev190531.service + 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()) @@ -374,50 +470,49 @@ public final class ModelMappingUtils { 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.rev200128 + 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.rev200128 + 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()) + .setNodeId(new NodeIdType(serviceInput.getServiceAEnd().getNodeId().getValue()).getValue()) .setTxDirection(new org.opendaylight.yang.gen.v1.http.org - .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder() - .setPort(serviceInput.getServiceAEnd().getTxDirection().getPort()).build()) + .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.rev200128.service.endpoint.sp.RxDirectionBuilder() - .setPort(serviceInput.getServiceAEnd().getRxDirection().getPort()).build()); - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128 + .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.rev200128 + 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()) + .setNodeId(new NodeIdType(serviceInput.getServiceZEnd().getNodeId().getValue()).getValue()) .setTxDirection(new org.opendaylight.yang.gen.v1.http.org - .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder() - .setPort(serviceInput.getServiceZEnd().getTxDirection().getPort()).build()) + .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.rev200128.service.endpoint.sp.RxDirectionBuilder() - .setPort(serviceInput.getServiceZEnd().getRxDirection().getPort()).build()); + .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()); - MappingConstraints mapConstraints = new MappingConstraints(serviceInput.getHardConstraints(), - serviceInput.getSoftConstraints()); - mapConstraints.serviceToServicePathConstarints(); - if (mapConstraints.getServicePathHardConstraints() != null) { - HardConstraintsBuilder hardConstraintBuilder = new HardConstraintsBuilder() - .setCustomerCode(serviceInput.getHardConstraints().getCustomerCode()) - .setCoRoutingOrGeneral(mapConstraints.getServicePathHardConstraints().getCoRoutingOrGeneral()); - servicePathBuilder.setHardConstraints(hardConstraintBuilder.build()); + if (serviceInput.getHardConstraints() != null) { + servicePathBuilder.setHardConstraints(serviceInput.getHardConstraints()); } - if (mapConstraints.getServicePathSoftConstraints() != null) { - SoftConstraintsBuilder softConstraintBuilder = new SoftConstraintsBuilder() - .setCustomerCode(mapConstraints.getServicePathSoftConstraints().getCustomerCode()) - .setCoRoutingOrGeneral(mapConstraints.getServicePathSoftConstraints().getCoRoutingOrGeneral()); - servicePathBuilder.setSoftConstraints(softConstraintBuilder.build()); + if (serviceInput.getSoftConstraints() != null) { + servicePathBuilder.setSoftConstraints(serviceInput.getSoftConstraints()); } servicePathBuilder.setServicePathName(serviceInput.getServiceName()); servicePathBuilder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder() @@ -427,6 +522,13 @@ public final class ModelMappingUtils { new PathDescriptionBuilder(output.getResponseParameters().getPathDescription()); servicePathBuilder.setPathDescription(pathDescBuilder.build()); } + } 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("ServiceInput is null"); + servicePathBuilder.withKey(new ServicePathsKey("unknown")); } return servicePathBuilder.build();