X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=generic-resource-api%2Fprovider%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fsdnc%2Fnorthbound%2Futil%2FMDSALUtil.java;h=a6300d6adaceb7e4ada8982de86b4390484fe2f6;hb=163008c4770de406175e1ebe9f049beee7ba7cd2;hp=6586c8e340bccc746d0ac5853765c03b72563250;hpb=107951a4b13c1a4c725b9df201a1af7595ef4dec;p=sdnc%2Fnorthbound.git diff --git a/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java b/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java index 6586c8e3..a6300d6a 100644 --- a/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java +++ b/generic-resource-api/provider/src/test/java/org/onap/sdnc/northbound/util/MDSALUtil.java @@ -21,29 +21,68 @@ package org.onap.sdnc.northbound.util; -import com.google.common.base.Optional; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import java.util.concurrent.Future; +import java.util.function.Consumer; +import java.util.function.Function; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ConnectionAttachmentTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ContrailRouteTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadNetworkTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PreloadVfModuleTopologyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.GenericConfigurationTopologyOperationOutputBuilder; + +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.SecurityZoneTopologyOperationOutputBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInputBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutputBuilder; -import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.Services; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VfModuleTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.VnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.PnfTopologyOperationOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.brg.response.information.BrgResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.connection.attachment.response.information.ConnectionAttachmentResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.contrail.route.response.information.ContrailRouteResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.information.NetworkInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.response.information.NetworkResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.topology.identifier.structure.NetworkTopologyIdentifierStructureBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.network.topology.information.PreloadNetworkTopologyInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.vf.module.topology.information.PreloadVfModuleTopologyInformationBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformationBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeaderBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.security.zone.response.information.SecurityZoneResponseInformationBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.data.ServiceDataBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder; -import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.Service; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.level.oper.status.ServiceLevelOperStatusBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceBuilder; -import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.model.infrastructure.ServiceKey; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.response.information.ServiceResponseInformationBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatusBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.tunnelxconn.response.information.TunnelxconnResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.information.VfModuleInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.response.information.VfModuleResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.VfModuleTopologyBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vf.module.topology.identifier.VfModuleTopologyIdentifierBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.information.VnfInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.response.information.VnfResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.vnf.topology.identifier.structure.VnfTopologyIdentifierStructureBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.details.PnfDetailsBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.response.information.PnfResponseInformationBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.pnf.topology.identifier.structure.PnfTopologyIdentifierStructureBuilder; import org.opendaylight.yangtools.concepts.Builder; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; -import java.util.concurrent.Future; -import java.util.function.Function; - /** * This uill class provides utility to build yang objects using a recursive syntax that resembles the tree structure @@ -72,12 +111,87 @@ import java.util.function.Function; */ public class MDSALUtil { + public static PreloadVfModuleTopologyOperationInputBuilder preloadVfModuleTopologyOperationInput() { + return new PreloadVfModuleTopologyOperationInputBuilder(); + } + + public static GenericConfigurationTopologyOperationInputBuilder GenericConfigurationTopologyOperationInput() { + return new GenericConfigurationTopologyOperationInputBuilder(); + } + + public static PreloadVfModuleTopologyOperationOutputBuilder preloadVfModuleTopologyOperationOutput() { + return new PreloadVfModuleTopologyOperationOutputBuilder(); + } + + public static PreloadNetworkTopologyOperationInputBuilder preloadNetworkTopologyOperationInput() { + return new PreloadNetworkTopologyOperationInputBuilder(); + } + + public static PreloadNetworkTopologyOperationOutputBuilder preloadNetworkTopologyOperationOutput() { + return new PreloadNetworkTopologyOperationOutputBuilder(); + } + + public static BrgTopologyOperationInputBuilder brgTopologyOperationInput() { + return new BrgTopologyOperationInputBuilder(); + } + + public static BrgTopologyOperationOutputBuilder brgTopologyOperationOutput() { + return new BrgTopologyOperationOutputBuilder(); + } + + public static TunnelxconnTopologyOperationInputBuilder tunnelxconnTopologyOperationInput() { + return new TunnelxconnTopologyOperationInputBuilder(); + } + + public static TunnelxconnTopologyOperationOutputBuilder tunnelxconnTopologyOperationOutput() { + return new TunnelxconnTopologyOperationOutputBuilder(); + } + + public static SecurityZoneTopologyOperationInputBuilder securityZoneTopologyOperationInput() { + return new SecurityZoneTopologyOperationInputBuilder(); + } + + public static SecurityZoneTopologyOperationOutputBuilder securityZoneTopologyOperationOutput() { + return new SecurityZoneTopologyOperationOutputBuilder(); + } + + public static ContrailRouteTopologyOperationInputBuilder contrailRouteTopologyOperationInput() { + return new ContrailRouteTopologyOperationInputBuilder(); + } + + public static ContrailRouteTopologyOperationOutputBuilder contrailRouteTopologyOperationOutput() { + return new ContrailRouteTopologyOperationOutputBuilder(); + } + + public static VfModuleTopologyOperationInputBuilder vfModuleTopologyOperationInput() { + return new VfModuleTopologyOperationInputBuilder(); + } + + public static VfModuleTopologyOperationOutputBuilder vfModuleTopologyOperationOutput() { + return new VfModuleTopologyOperationOutputBuilder(); + } + + public static PnfTopologyOperationInputBuilder pnfTopologyOperationInput() { + return new PnfTopologyOperationInputBuilder(); + } + + public static PnfTopologyOperationOutputBuilder pnfTopologyOperationOutput() { + return new PnfTopologyOperationOutputBuilder(); + } + + public static VnfTopologyOperationInputBuilder vnfTopologyOperationInput() { + return new VnfTopologyOperationInputBuilder(); + } + + public static VnfTopologyOperationOutputBuilder vnfTopologyOperationOutput() { + return new VnfTopologyOperationOutputBuilder(); + } + public static ServiceTopologyOperationInputBuilder serviceTopologyOperationInput() { return new ServiceTopologyOperationInputBuilder(); } - - public static ServiceTopologyOperationOutputBuilder serviceTopologyOperationOutput(){ + public static ServiceTopologyOperationOutputBuilder serviceTopologyOperationOutput() { return new ServiceTopologyOperationOutputBuilder(); } @@ -91,68 +205,152 @@ public class MDSALUtil { return new RequestInformationBuilder(); } - public static ServiceResponseInformationBuilder serviceResponseInformation(){ - return new ServiceResponseInformationBuilder(); + public static ServiceResponseInformationBuilder serviceResponseInformation() { + return new ServiceResponseInformationBuilder(); + } + + public static SecurityZoneResponseInformationBuilder securityZoneResponseInformation() { + return new SecurityZoneResponseInformationBuilder(); + } + + public static TunnelxconnResponseInformationBuilder tunnelxconnResponseInformation() { + return new TunnelxconnResponseInformationBuilder(); + } + + public static BrgResponseInformationBuilder brgResponseInformation() { + return new BrgResponseInformationBuilder(); + } + + public static ContrailRouteResponseInformationBuilder contrailRouteResponseInformation() { + return new ContrailRouteResponseInformationBuilder(); + } + + public static PnfResponseInformationBuilder pnfResponseInformation() { + return new PnfResponseInformationBuilder(); + } + + public static VnfResponseInformationBuilder vnfResponseInformation() { + return new VnfResponseInformationBuilder(); + } + + public static VfModuleResponseInformationBuilder vfModuleResponseInformation() { + return new VfModuleResponseInformationBuilder(); } public static ServiceInformationBuilder serviceInformationBuilder() { - return new ServiceInformationBuilder(); + return new ServiceInformationBuilder(); } + public static PreloadNetworkTopologyInformationBuilder preloadNetworkTopologyInformationBuilder() { + return new PreloadNetworkTopologyInformationBuilder(); + } - public static ServiceBuilder service(){return new ServiceBuilder();} + public static NetworkTopologyIdentifierStructureBuilder networkTopologyIdentifierStructureBuilder(){ + return new NetworkTopologyIdentifierStructureBuilder(); + } + public static PnfDetailsBuilder pnfDetailsBuilder() { + return new PnfDetailsBuilder(); + } - public static ServiceDataBuilder serviceData(){return new ServiceDataBuilder();} + public static VnfInformationBuilder vnfInformationBuilder() { + return new VnfInformationBuilder(); + } + public static VfModuleInformationBuilder vfModuleInformationBuilder() { + return new VfModuleInformationBuilder(); + } - public static ServiceStatusBuilder serviceStatus(){return new ServiceStatusBuilder();} + public static ServiceBuilder service() { + return new ServiceBuilder(); + } - public static

P build(Builder

b) { - return b == null? null :b.build(); + public static ServiceDataBuilder serviceData() { + return new ServiceDataBuilder(); } - public static O result(Future> future, Function,O> function) throws Exception { - return function.apply(future.get()); + public static ServiceStatusBuilder serviceStatus() { + return new ServiceStatusBuilder(); } - public static O rpc(Function>> rpc,Function,O> function,I input) throws Exception { - Future> future = rpc.apply(input); - return function.apply(future.get()); + public static NetworkInformationBuilder networkInformation() { + return new NetworkInformationBuilder(); } + public static NetworkTopologyOperationInputBuilder networkTopologyOperationInput() { + return new NetworkTopologyOperationInputBuilder(); + } + public static NetworkTopologyOperationOutputBuilder networkTopologyOperationOutput() { + return new NetworkTopologyOperationOutputBuilder(); + } - /** @return Service - the Service object read from the DataBroker or null if none was found */ - public static Service read(DataBroker dataBroker,String serviceKey, LogicalDatastoreType logicalDatastoreType) throws Exception { - InstanceIdentifier serviceInstanceIdentifier = InstanceIdentifier.builder(Services.class) - .child(Service.class, new ServiceKey(serviceKey)).build(); - ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction(); - Optional data = (Optional) readTx.read(logicalDatastoreType, serviceInstanceIdentifier).get(); - if(!data.isPresent()){ - return null; - } + public static PnfTopologyIdentifierStructureBuilder pnfTopologyIdentifierStructureBuilder() { + return new PnfTopologyIdentifierStructureBuilder(); + } + + public static VnfTopologyIdentifierStructureBuilder vnfTopologyIdentifierStructureBuilder() { + return new VnfTopologyIdentifierStructureBuilder(); + } + + public static PreloadVfModuleTopologyInformationBuilder preloadVfModuleTopologyInformationBuilder() { + return new PreloadVfModuleTopologyInformationBuilder(); + } + public static VfModuleTopologyBuilder vfModuleTopologyBuilder() { + return new VfModuleTopologyBuilder(); + } + + public static VfModuleTopologyIdentifierBuilder vfModuleTopologyIdentifierBuilder() { + return new VfModuleTopologyIdentifierBuilder(); + } + + public static NetworkResponseInformationBuilder networkResponseInformation() { + return new NetworkResponseInformationBuilder(); + } + + public static ConnectionAttachmentTopologyOperationInputBuilder connectionAttachmentTopologyOperationInput() { + return new ConnectionAttachmentTopologyOperationInputBuilder(); + } - //The toString() value from a Service object returned form data.get() is different than the toString() value - //from a Service Object constructed from a Builder. This makes it difficult to compare deltas when doing a - // assertEquals. That why we rebuild it her to solve that problem. - Service service = data.get(); - return build( - (new ServiceBuilder(service)) - .setServiceStatus(build( - service.getServiceStatus() == null ? null : new ServiceStatusBuilder(service.getServiceStatus()) - )) - .setServiceData(build( - service.getServiceData() == null ? null : new ServiceDataBuilder(service.getServiceData()) - )) - ); + public static ConnectionAttachmentTopologyOperationOutputBuilder connectionAttachmentTopologyOperationOutput() { + return new ConnectionAttachmentTopologyOperationOutputBuilder(); } + public static ConnectionAttachmentResponseInformationBuilder connectionAttachmentResponseInformation() { + return new ConnectionAttachmentResponseInformationBuilder(); + } + public static ServiceLevelOperStatusBuilder serviceLevelOperStatus() { + return new ServiceLevelOperStatusBuilder(); + } + public static

P build(Builder

b) { + return b == null ? null : b.build(); + } + public static > P build(Function builderConstructor, P sourceDataObject) { + if (sourceDataObject == null) { + return null; + } + B bp = builderConstructor.apply(sourceDataObject); + return bp.build(); + } + public static > P build(Function builderConstructor, P sourceDataObject, + Consumer builder) { + if (sourceDataObject == null) { + return null; + } + B bp = builderConstructor.apply(sourceDataObject); + builder.accept(bp); + return bp.build(); + } + public static O exec(Function>> rpc, I rpcParameter, + Function, O> rpcResult) throws Exception { + Future> future = rpc.apply(rpcParameter); + return rpcResult.apply(future.get()); + } }