X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=generic-resource-api%2Fprovider%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fsdnc%2Fnorthbound%2FGenericResourceApiProvider.java;h=a0b0862140016105b033e9a995810359f50887c1;hb=8f5add1d3381538caae220d65497bdb8a66bc848;hp=702e4b87b458462607651a637348ac1a62c9dc5c;hpb=c3342a09a1bec20195a9617ad5b31f5bd9ac7e00;p=sdnc%2Fnorthbound.git diff --git a/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java b/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java index 702e4b87..a0b08621 100644 --- a/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java +++ b/generic-resource-api/provider/src/main/java/org/onap/sdnc/northbound/GenericResourceApiProvider.java @@ -11,14 +11,18 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.controller.sal.binding.api.NotificationProviderService; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.BrgTopologyOperationInput; +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.BrgTopologyOperationOutput; +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.ContrailRouteTopologyOperationInput; 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.ContrailRouteTopologyOperationOutput; @@ -48,6 +52,10 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.re 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.ServicesBuilder; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.TunnelxconnTopologyOperationInput; +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.TunnelxconnTopologyOperationOutput; +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.VfModuleTopologyOperationInput; 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.VfModuleTopologyOperationOutput; @@ -56,6 +64,7 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.re 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.VnfTopologyOperationOutput; 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.brg.response.information.BrgResponseInformationBuilder; 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.response.information.NetworkResponseInformationBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.preload.data.PreloadData; @@ -76,6 +85,7 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.re import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatus.RequestStatus; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.status.ServiceStatus.RpcAction; 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.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; @@ -131,24 +141,24 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC private final ExecutorService executor; protected DataBroker dataBroker; - protected NotificationProviderService notificationService; + protected NotificationPublishService notificationService; protected RpcProviderRegistry rpcRegistry; protected BindingAwareBroker.RpcRegistration rpcRegistration; public GenericResourceApiProvider(DataBroker dataBroker2, - NotificationProviderService notificationProviderService, + NotificationPublishService notificationPublishService, RpcProviderRegistry rpcProviderRegistry) { - this.log.info( "Creating provider for " + appName ); + log.info( "Creating provider for {}", appName); executor = Executors.newFixedThreadPool(1); dataBroker = dataBroker2; - notificationService = notificationProviderService; + notificationService = notificationPublishService; rpcRegistry = rpcProviderRegistry; initialize(); } public void initialize(){ - log.info( "Initializing provider for " + appName ); + log.info("Initializing provider for {}", appName); // Create the top level containers createContainers(); try { @@ -158,7 +168,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } rpcRegistration = rpcRegistry.addRpcImplementation(GENERICRESOURCEAPIService.class, this); - log.info( "Initialization complete for " + appName ); + log.info("Initialization complete for {}", appName); } @@ -169,10 +179,10 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC @Override public void close() throws Exception { - log.info( "Closing provider for " + appName ); + log.info("Closing provider for {}", appName); executor.shutdown(); rpcRegistration.close(); - log.info( "Successfully closed provider for " + appName ); + log.info("Successfully closed provider for {}", appName); } private static class Iso8601Util @@ -191,22 +201,21 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC public void setDataBroker(DataBroker dataBroker) { this.dataBroker = dataBroker; if( log.isDebugEnabled() ){ - log.debug( "DataBroker set to " + (dataBroker==null?"null":"non-null") + "." ); + log.debug("DataBroker set to {}", (dataBroker==null?"null":"non-null")); } } - public void setNotificationService( - NotificationProviderService notificationService) { + public void setNotificationService(NotificationPublishService notificationService) { this.notificationService = notificationService; if( log.isDebugEnabled() ){ - log.debug( "Notification Service set to " + (notificationService==null?"null":"non-null") + "." ); + log.debug("Notification Service set to {}", (notificationService==null?"null":"non-null")); } } public void setRpcRegistry(RpcProviderRegistry rpcRegistry) { this.rpcRegistry = rpcRegistry; if( log.isDebugEnabled() ){ - log.debug( "RpcRegistry set to " + (rpcRegistry==null?"null":"non-null") + "." ); + log.debug("RpcRegistry set to {}", (rpcRegistry==null?"null":"non-null")); } } @@ -229,11 +238,10 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC try { CheckedFuture checkedFuture = t.submit(); checkedFuture.get(); - log.info("Create Containers succeeded!: "); + log.info("Create containers succeeded!"); } catch (InterruptedException | ExecutionException e) { - log.error("Create Containers Failed: " + e); - e.printStackTrace(); + log.error("Create containers failed: ", e); } } @@ -290,16 +298,16 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC serviceStatusBuilder.setRpcAction(RpcAction.Delete); break; default: - log.error("Unknown SvcAction: " + requestHeader.getSvcAction() ); + log.error("Unknown SvcAction: {}", requestHeader.getSvcAction() ); break; - }; + } } } private void getServiceData(String siid, ServiceDataBuilder serviceDataBuilder) { // default to config - getServiceData(siid,serviceDataBuilder,LogicalDatastoreType.CONFIGURATION); + getServiceData(siid,serviceDataBuilder, LogicalDatastoreType.CONFIGURATION); } @@ -308,19 +316,19 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // See if any data exists yet for this siid, if so grab it. InstanceIdentifier serviceInstanceIdentifier = InstanceIdentifier.builder(Services.class) - .child(Service.class, new ServiceKey(siid)).toInstance(); + .child(Service.class, new ServiceKey(siid)).build(); ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction(); Optional data = null; try { data = (Optional) readTx.read(type, serviceInstanceIdentifier).get(); } catch (InterruptedException | ExecutionException e) { - log.error("Caught Exception reading MD-SAL ("+type+") for ["+siid+"] " ,e); + log.error("Caught Exception reading MD-SAL ({}) data for [{}] ", type, siid, e); } - if (data.isPresent()) { - ServiceData serviceData = (ServiceData) data.get().getServiceData(); + if (data != null && data.isPresent()) { + ServiceData serviceData = data.get().getServiceData(); if (serviceData != null) { - log.info("Read MD-SAL ("+type+") data for ["+siid+"] ServiceData: " + serviceData); + log.info("Read MD-SAL ({}) data for [{}] ServiceData: {}", type, siid, serviceData); serviceDataBuilder.setSdncRequestHeader(serviceData.getSdncRequestHeader()); serviceDataBuilder.setRequestInformation(serviceData.getRequestInformation()); serviceDataBuilder.setServiceInformation(serviceData.getServiceInformation()); @@ -333,54 +341,54 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC serviceDataBuilder.setConsumedAllottedResources(serviceData.getConsumedAllottedResources()); // service-instance-id needs to be set } else { - log.info("No service-data found in MD-SAL ("+type+") for ["+siid+"] "); + log.info("No service-data found in MD-SAL ({}) for [{}]", type, siid); } } else { - log.info("No data found in MD-SAL ("+type+") for ["+siid+"] "); + log.info("No data found in MD-SAL ({}) for [{}]", type, siid); } } private void getPreloadData(String vnf_name, String vnf_type, PreloadDataBuilder preloadDataBuilder) { // default to config - getPreloadData(vnf_name, vnf_type ,preloadDataBuilder,LogicalDatastoreType.CONFIGURATION); + getPreloadData(vnf_name, vnf_type ,preloadDataBuilder, LogicalDatastoreType.CONFIGURATION); } private void getPreloadData(String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type) { // See if any data exists yet for this name/type, if so grab it. - InstanceIdentifier preloadInstanceIdentifier = - InstanceIdentifier.builder(PreloadVnfs.class) - .child(VnfPreloadList.class, new VnfPreloadListKey(preload_name, preload_type)).toInstance(); + InstanceIdentifier preloadInstanceIdentifier = InstanceIdentifier.builder(PreloadVnfs.class) + .child(VnfPreloadList.class, new VnfPreloadListKey(preload_name, preload_type)).build(); ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction(); Optional data = null; try { data = (Optional) readTx.read(type, preloadInstanceIdentifier).get(); } catch (InterruptedException | ExecutionException e) { - log.error("Caught Exception reading MD-SAL ("+type+") for ["+preload_name+","+preload_type+"] " ,e); + log.error("Caught Exception reading MD-SAL ({}) for [{},{}] ", type, preload_name, preload_type, e); } - if ( data.isPresent()) { - PreloadData preloadData = (PreloadData) data.get().getPreloadData(); + if (data != null && data.isPresent()) { + PreloadData preloadData = data.get().getPreloadData(); if (preloadData != null) { - log.info("Read MD-SAL ("+type+") data for ["+preload_name+","+preload_type+"] PreloadData: " + preloadData); + log.info("Read MD-SAL ({}) data for [{},{}] PreloadData: {}", + type, preload_name, preload_type, preloadData); preloadDataBuilder.setVnfTopologyInformation(preloadData.getVnfTopologyInformation()); preloadDataBuilder.setNetworkTopologyInformation(preloadData.getNetworkTopologyInformation()); preloadDataBuilder.setOperStatus(preloadData.getOperStatus()); } else { - log.info("No preload-data found in MD-SAL ("+type+") for ["+preload_name+","+preload_type+"] "); + log.info("No preload-data found in MD-SAL ({}) for [{},{}] ", type, preload_name, preload_type); } } else { - log.info("No data found in MD-SAL ("+type+") for ["+preload_name+","+preload_type+"] "); + log.info("No data found in MD-SAL ({}) for [{},{}] ", type, preload_name, preload_type); } } - private void SaveService (final Service entry, boolean merge, LogicalDatastoreType storeType) throws IllegalStateException { + private void saveService(final Service entry, boolean merge, LogicalDatastoreType storeType) throws IllegalStateException { // Each entry will be identifiable by a unique key, we have to create that identifier InstanceIdentifier.InstanceIdentifierBuilder serviceBuilder = InstanceIdentifier.builder(Services.class) .child(Service.class, entry.getKey()); - InstanceIdentifier path = serviceBuilder.toInstance(); + InstanceIdentifier path = serviceBuilder.build(); int tries = 2; while(true) { @@ -409,11 +417,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } } - private void DeleteService(final Service entry, LogicalDatastoreType storeType) throws IllegalStateException { + private void deleteService(final Service entry, LogicalDatastoreType storeType) throws IllegalStateException { // Each entry will be identifiable by a unique key, we have to create // that identifier InstanceIdentifier.InstanceIdentifierBuilder serviceListIdBuilder = InstanceIdentifier. builder(Services.class).child(Service.class, entry.getKey()); - InstanceIdentifier path = serviceListIdBuilder.toInstance(); + InstanceIdentifier path = serviceListIdBuilder.build(); int tries = 2; while (true) { @@ -438,13 +446,13 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } } - private void SavePreloadList(final VnfPreloadList entry, boolean merge, LogicalDatastoreType storeType) throws IllegalStateException{ + private void savePreloadList(final VnfPreloadList entry, boolean merge, LogicalDatastoreType storeType) throws IllegalStateException{ // Each entry will be identifiable by a unique key, we have to create that identifier InstanceIdentifier.InstanceIdentifierBuilder vnfPreloadListBuilder = InstanceIdentifier.builder(PreloadVnfs.class) .child(VnfPreloadList.class, entry.getKey()); - InstanceIdentifier path = vnfPreloadListBuilder.toInstance(); + InstanceIdentifier path = vnfPreloadListBuilder.build(); int tries = 2; while(true) { try { @@ -477,11 +485,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC ServiceTopologyOperationInput input) { final String SVC_OPERATION = "service-topology-operation"; - ServiceData serviceData = null; + ServiceData serviceData; ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.",SVC_OPERATION); // create a new response object ServiceTopologyOperationOutputBuilder responseBuilder = new ServiceTopologyOperationOutputBuilder(); @@ -490,7 +498,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getServiceInformation().getServiceInstanceId() == null || input.getServiceInformation().getServiceInstanceId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty service-instance-id"); + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -526,11 +534,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // uses service-response-information; */ - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+siid+"] input: " + input); + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); ServiceTopologyOperationInputBuilder inputBuilder = new ServiceTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); - log.info("Adding OPERATIONAL data for "+SVC_OPERATION+" ["+siid+"] operational-data: " + operDataBuilder.build()); + log.info("Adding OPERATIONAL data for {} [{}] operational-data: {}", SVC_OPERATION, siid, operDataBuilder.build()); GenericResourceApiUtil.toProperties(parms, "operational-data", operDataBuilder); // Call SLI sync method @@ -555,7 +563,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {} ", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -594,11 +602,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); try { - SaveService (serviceBuilder.build(), true,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); } - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -607,14 +615,14 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Got success from SLI try { serviceData = serviceDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] ServiceData: " + serviceData); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); // service object ServiceBuilder serviceBuilder = new ServiceBuilder(); serviceBuilder.setServiceData(serviceData); serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); - SaveService (serviceBuilder.build(), false,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { @@ -622,8 +630,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Delete)) { log.info("Delete from both CONFIGURATION and OPERATIONAL tree."); - DeleteService(serviceBuilder.build(), LogicalDatastoreType.OPERATIONAL); - DeleteService(serviceBuilder.build(), LogicalDatastoreType.CONFIGURATION); + deleteService(serviceBuilder.build(), LogicalDatastoreType.OPERATIONAL); + deleteService(serviceBuilder.build(), LogicalDatastoreType.CONFIGURATION); } } @@ -633,11 +641,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n",SVC_OPERATION, siid, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -650,8 +658,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+siid+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -663,11 +671,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC VnfTopologyOperationInput input) { final String SVC_OPERATION = "vnf-topology-operation"; - ServiceData serviceData = null; + ServiceData serviceData; ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION); // create a new response object VnfTopologyOperationOutputBuilder responseBuilder = new VnfTopologyOperationOutputBuilder(); @@ -676,7 +684,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getServiceInformation().getServiceInstanceId() == null || input.getServiceInformation().getServiceInstanceId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty service-instance-id"); + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -697,7 +705,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getVnfInformation().getVnfId() == null || input.getVnfInformation().getVnfId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty vnf-id"); + log.debug("exiting {} because of null or empty vnf-id", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input, null or empty vnf-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -755,11 +763,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // uses vnf-configuration-information; // uses oper-status; - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+siid+"] input: " + input); + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); VnfTopologyOperationInputBuilder inputBuilder = new VnfTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); - log.info("Adding OPERATIONAL data for "+SVC_OPERATION+" ["+siid+"] operational-data: " + operDataBuilder.build()); + log.info("Adding OPERATIONAL data for {} [{}] operational-data: {}", SVC_OPERATION, siid, operDataBuilder.build()); GenericResourceApiUtil.toProperties(parms, "operational-data", operDataBuilder); /* @@ -789,7 +797,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {} ", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -827,7 +835,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); try { - SaveService (serviceBuilder.build(), true,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { // Only update operational tree on activate or delete @@ -835,13 +843,13 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { log.info("Updating OPERATIONAL tree."); - SaveService (serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } } } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); } - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); // return error @@ -851,14 +859,14 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Got success from SLI try { serviceData = serviceDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] ServiceData: " + serviceData); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); // service object ServiceBuilder serviceBuilder = new ServiceBuilder(); serviceBuilder.setServiceData(serviceData); serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); - SaveService (serviceBuilder.build(), false,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { @@ -866,7 +874,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { log.info("Updating OPERATIONAL tree."); - SaveService (serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } } @@ -876,11 +884,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -893,8 +901,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+siid+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -907,11 +915,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC VfModuleTopologyOperationInput input) { final String SVC_OPERATION = "vf-module-topology-operation"; - ServiceData serviceData = null; + ServiceData serviceData; ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION); // create a new response object VfModuleTopologyOperationOutputBuilder responseBuilder = new VfModuleTopologyOperationOutputBuilder(); @@ -920,7 +928,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getServiceInformation().getServiceInstanceId() == null || input.getServiceInformation().getServiceInstanceId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty service-instance-id"); + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -934,7 +942,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getVnfInformation().getVnfId() == null || input.getVnfInformation().getVnfId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty vnf-id"); + log.debug("exiting {} because of null or empty vnf-id", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("invalid input, null or empty vnf-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -947,7 +955,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getVfModuleInformation().getVfModuleId() == null || input.getVfModuleInformation().getVfModuleId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty vf-module-id"); + log.debug("exiting {} because of null or empty vf-module-id", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("invalid input, vf-module-id is null or empty"); responseBuilder.setAckFinalIndicator("Y"); @@ -1010,11 +1018,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // uses vnf-configuration-information; // uses oper-status; - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+siid+"] input: " + input); + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); VfModuleTopologyOperationInputBuilder inputBuilder = new VfModuleTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); - log.info("Adding OPERATIONAL data for "+SVC_OPERATION+" ["+siid+"] operational-data: " + operDataBuilder.build()); + log.info("Adding OPERATIONAL data for {} [{}] operational-data: {}", SVC_OPERATION, siid, operDataBuilder.build()); GenericResourceApiUtil.toProperties(parms, "operational-data", operDataBuilder); /* @@ -1081,11 +1089,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); try { - SaveService (serviceBuilder.build(), true,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); } - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); // return error @@ -1095,7 +1103,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Got success from SLI try { serviceData = serviceDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] ServiceData: " + serviceData); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); // service object ServiceBuilder serviceBuilder = new ServiceBuilder(); @@ -1103,7 +1111,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC //serviceBuilder.setServiceInstanceId(serviceData.getServiceTopology().getServiceTopologyIdentifier().getServiceInstanceId()); serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); - SaveService (serviceBuilder.build(), false,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { @@ -1112,7 +1120,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { log.info("Updating OPERATIONAL tree."); - SaveService (serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } } @@ -1122,11 +1130,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -1139,8 +1147,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+siid+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1153,11 +1161,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC NetworkTopologyOperationInput input) { final String SVC_OPERATION = "network-topology-operation"; - ServiceData serviceData = null; + ServiceData serviceData; ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION ); // create a new response object NetworkTopologyOperationOutputBuilder responseBuilder = new NetworkTopologyOperationOutputBuilder(); @@ -1166,7 +1174,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getServiceInformation().getServiceInstanceId() == null || input.getServiceInformation().getServiceInstanceId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty service-instance-id"); + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -1188,7 +1196,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC ServiceData sd = serviceDataBuilder.build(); if (sd == null || sd.getServiceLevelOperStatus() == null) { - log.debug("exiting " +SVC_OPERATION+ " because the service-instance does not have any service data in SDNC"); + log.debug("exiting {} because the service-instance does not have any service data in SDNC", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input: the service-instance does not have any service data in SDNC"); responseBuilder.setAckFinalIndicator("Y"); @@ -1222,7 +1230,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } */ - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+siid+"] input: " + input); + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); NetworkTopologyOperationInputBuilder inputBuilder = new NetworkTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); @@ -1250,7 +1258,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -1282,7 +1290,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setResponseMessage(errorMessage); responseBuilder.setAckFinalIndicator(ackFinal); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1293,14 +1301,14 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC try { serviceData = serviceDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] ServiceData: " + serviceData); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); // service object ServiceBuilder serviceBuilder = new ServiceBuilder(); serviceBuilder.setServiceData(serviceData); serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); - SaveService (serviceBuilder.build(), false,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { @@ -1308,7 +1316,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { log.info("Updating OPERATIONAL tree."); - SaveService (serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } } @@ -1323,11 +1331,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); } catch (IllegalStateException e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -1340,8 +1348,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+siid+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1353,11 +1361,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC ContrailRouteTopologyOperationInput input) { final String SVC_OPERATION = "contrail-route-topology-operation"; - ServiceData serviceData = null; + ServiceData serviceData; ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION); // create a new response object ContrailRouteTopologyOperationOutputBuilder responseBuilder = new ContrailRouteTopologyOperationOutputBuilder(); @@ -1366,7 +1374,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getServiceInformation().getServiceInstanceId() == null || input.getServiceInformation().getServiceInstanceId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty service-instance-id"); + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -1388,7 +1396,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC ServiceData sd = serviceDataBuilder.build(); if (sd == null || sd.getServiceLevelOperStatus() == null) { - log.debug("exiting " +SVC_OPERATION+ " because the service-instance does not have any service data in SDNC"); + log.debug("exiting {} because the service-instance does not have any service data in SDNC", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input: the service-instance does not have any service data in SDNC"); responseBuilder.setAckFinalIndicator("Y"); @@ -1425,7 +1433,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -1457,7 +1465,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setResponseMessage(errorMessage); responseBuilder.setAckFinalIndicator(ackFinal); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1468,14 +1476,14 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC try { serviceData = serviceDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] ServiceData: " + serviceData); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); // service object ServiceBuilder serviceBuilder = new ServiceBuilder(); serviceBuilder.setServiceData(serviceData); serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); - SaveService (serviceBuilder.build(), false,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { @@ -1484,7 +1492,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { log.info("Updating OPERATIONAL tree."); - SaveService (serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } } @@ -1499,11 +1507,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); } catch (IllegalStateException e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -1516,8 +1524,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+siid+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1529,11 +1537,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC SecurityZoneTopologyOperationInput input) { final String SVC_OPERATION = "security-zone-topology-operation"; - ServiceData serviceData = null; + ServiceData serviceData; ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION); // create a new response object SecurityZoneTopologyOperationOutputBuilder responseBuilder = new SecurityZoneTopologyOperationOutputBuilder(); @@ -1542,7 +1550,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getServiceInformation().getServiceInstanceId() == null || input.getServiceInformation().getServiceInstanceId().length() == 0) { - log.debug("exiting " +SVC_OPERATION+ " because of null or empty service-instance-id"); + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); responseBuilder.setAckFinalIndicator("Y"); @@ -1564,7 +1572,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC ServiceData sd = serviceDataBuilder.build(); if (sd == null || sd.getServiceLevelOperStatus() == null) { - log.debug("exiting " +SVC_OPERATION+ " because the service-instance does not have any service data in SDNC"); + log.debug("exiting {} because the service-instance does not have any service data in SDNC", SVC_OPERATION); responseBuilder.setResponseCode("404"); responseBuilder.setResponseMessage("invalid input: the service-instance does not have any service data in SDNC"); responseBuilder.setAckFinalIndicator("Y"); @@ -1573,7 +1581,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC return Futures.immediateFuture(rpcResult); } - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+siid+"] input: " + input); + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); SecurityZoneTopologyOperationInputBuilder inputBuilder = new SecurityZoneTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); @@ -1601,7 +1609,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -1633,7 +1641,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setResponseMessage(errorMessage); responseBuilder.setAckFinalIndicator(ackFinal); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1644,14 +1652,14 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC try { serviceData = serviceDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] ServiceData: " + serviceData); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); // service object ServiceBuilder serviceBuilder = new ServiceBuilder(); serviceBuilder.setServiceData(serviceData); serviceBuilder.setServiceInstanceId(siid); serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); - SaveService (serviceBuilder.build(), false,LogicalDatastoreType.CONFIGURATION); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) { @@ -1660,7 +1668,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) { log.info("Updating OPERATIONAL tree."); - SaveService (serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } } @@ -1675,11 +1683,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); } catch (IllegalStateException e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+siid+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -1692,23 +1700,373 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+siid+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+siid+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } + @Override + public Future> tunnelxconnTopologyOperation( + TunnelxconnTopologyOperationInput input) { + + final String SVC_OPERATION = "tunnelxconn-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info("{} called.", SVC_OPERATION); + // create a new response object + TunnelxconnTopologyOperationOutputBuilder responseBuilder = new TunnelxconnTopologyOperationOutputBuilder(); + + if(input == null || + input.getServiceInformation() == null || + input.getServiceInformation().getServiceInstanceId() == null || + input.getServiceInformation().getServiceInstanceId().length() == 0) + { + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + String siid = input.getServiceInformation().getServiceInstanceId(); + + // Get the service-instance service data from MD-SAL + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid,serviceDataBuilder); + + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + + ServiceData sd = serviceDataBuilder.build(); + if (sd == null || sd.getServiceLevelOperStatus() == null) + { + log.debug("exiting {} because the service-instance does not have any service data in SDNC", SVC_OPERATION); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input: the service-instance does not have any service data in SDNC"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); + TunnelxconnTopologyOperationInputBuilder inputBuilder = new TunnelxconnTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + // Get SvcLogicService reference + + GenericResourceApiSvcLogicServiceClient svcLogicClient = new GenericResourceApiSvcLogicServiceClient(); + Properties respProps = null; + + String errorCode = "200"; + String errorMessage = null; + String ackFinal = "Y"; + String allottedResourceId = "error"; + String serviceObjectPath = null; + String tunnelxconnObjectPath = null; + + try + { + if (svcLogicClient.hasGraph(appName, SVC_OPERATION , null, "sync")) + { + + try + { + respProps = svcLogicClient.execute(appName, SVC_OPERATION, null, "sync", serviceDataBuilder, parms); + } + catch (Exception e) + { + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); + errorMessage = e.getMessage(); + errorCode = "500"; + } + } else { + errorMessage = "No service logic active for "+ appName +": '" + SVC_OPERATION + "'"; + errorCode = "503"; + } + } + catch (Exception e) + { + errorCode = "500"; + errorMessage = e.getMessage(); + log.error("Caught exception looking for service logic", e); + } + + + if (respProps != null) + { + errorCode = respProps.getProperty("error-code"); + errorMessage = respProps.getProperty("error-message"); + ackFinal = respProps.getProperty("ack-final", "Y"); + allottedResourceId = respProps.getProperty("allotted-resource-id"); + serviceObjectPath = respProps.getProperty("service-object-path"); + tunnelxconnObjectPath = respProps.getProperty("tunnelxconn-object-path"); + } + + if ( errorCode != null && errorCode.length() != 0 && !( errorCode.equals("0")|| errorCode.equals("200"))) { + responseBuilder.setResponseCode(errorCode); + responseBuilder.setResponseMessage(errorMessage); + responseBuilder.setAckFinalIndicator(ackFinal); + + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); + + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + + serviceData = serviceDataBuilder.build(); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) + { + // Only update operational tree on activate or delete + if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) || + input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) + { + log.info("Updating OPERATIONAL tree."); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + TunnelxconnResponseInformationBuilder tunnelxconnResponseInformationBuilder = new TunnelxconnResponseInformationBuilder(); + tunnelxconnResponseInformationBuilder.setInstanceId(allottedResourceId); + tunnelxconnResponseInformationBuilder.setObjectPath(tunnelxconnObjectPath); + responseBuilder.setTunnelxconnResponseInformation(tunnelxconnResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.toString()); + responseBuilder.setAckFinalIndicator("Y"); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(errorCode); + responseBuilder.setAckFinalIndicator(ackFinal); + if (errorMessage != null) + { + responseBuilder.setResponseMessage(errorMessage); + } + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); + + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + @Override + public Future> brgTopologyOperation(BrgTopologyOperationInput input) { + final String SVC_OPERATION = "brg-topology-operation"; + ServiceData serviceData; + ServiceStatusBuilder serviceStatusBuilder = new ServiceStatusBuilder(); + Properties parms = new Properties(); + + log.info("{} called.", SVC_OPERATION); + // create a new response object + BrgTopologyOperationOutputBuilder responseBuilder = new BrgTopologyOperationOutputBuilder(); + + if(input == null || + input.getServiceInformation() == null || + input.getServiceInformation().getServiceInstanceId() == null || + input.getServiceInformation().getServiceInstanceId().length() == 0) + { + log.debug("exiting {} because of null or empty service-instance-id", SVC_OPERATION); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input, null or empty service-instance-id"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + String siid = input.getServiceInformation().getServiceInstanceId(); + + // Get the service-instance service data from MD-SAL + ServiceDataBuilder serviceDataBuilder = new ServiceDataBuilder(); + getServiceData(siid,serviceDataBuilder); + + if (input.getSdncRequestHeader() != null) { + responseBuilder.setSvcRequestId(input.getSdncRequestHeader().getSvcRequestId()); + } + + ServiceData sd = serviceDataBuilder.build(); + if (sd == null || sd.getServiceLevelOperStatus() == null) + { + log.debug("exiting {} because the service-instance does not have any service data in SDNC", SVC_OPERATION); + responseBuilder.setResponseCode("404"); + responseBuilder.setResponseMessage("invalid input: the service-instance does not have any service data in SDNC"); + responseBuilder.setAckFinalIndicator("Y"); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + log.info("Adding INPUT data for {} [{}] input: {}", SVC_OPERATION, siid, input); + BrgTopologyOperationInputBuilder inputBuilder = new BrgTopologyOperationInputBuilder(input); + GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); + + // Call SLI sync method + // Get SvcLogicService reference + + GenericResourceApiSvcLogicServiceClient svcLogicClient = new GenericResourceApiSvcLogicServiceClient(); + Properties respProps = null; + + String errorCode = "200"; + String errorMessage = null; + String ackFinal = "Y"; + String allottedResourceId = "error"; + String serviceObjectPath = null; + String brgObjectPath = null; + + try + { + if (svcLogicClient.hasGraph(appName, SVC_OPERATION , null, "sync")) + { + + try + { + respProps = svcLogicClient.execute(appName, SVC_OPERATION, null, "sync", serviceDataBuilder, parms); + } + catch (Exception e) + { + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); + errorMessage = e.getMessage(); + errorCode = "500"; + } + } else { + errorMessage = "No service logic active for "+ appName +": '" + SVC_OPERATION + "'"; + errorCode = "503"; + } + } + catch (Exception e) + { + errorCode = "500"; + errorMessage = e.getMessage(); + log.error("Caught exception looking for service logic", e); + } + + + if (respProps != null) + { + errorCode = respProps.getProperty("error-code"); + errorMessage = respProps.getProperty("error-message"); + ackFinal = respProps.getProperty("ack-final", "Y"); + allottedResourceId = respProps.getProperty("allotted-resource-id"); + serviceObjectPath = respProps.getProperty("service-object-path"); + brgObjectPath = respProps.getProperty("brg-object-path"); + } + + if ( errorCode != null && errorCode.length() != 0 && !( errorCode.equals("0")|| errorCode.equals("200"))) { + responseBuilder.setResponseCode(errorCode); + responseBuilder.setResponseMessage(errorMessage); + responseBuilder.setAckFinalIndicator(ackFinal); + + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); + + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Got success from SLI + try { + + serviceData = serviceDataBuilder.build(); + log.info("Updating MD-SAL for {} [{}] ServiceData: {}", SVC_OPERATION, siid, serviceData); + + // service object + ServiceBuilder serviceBuilder = new ServiceBuilder(); + serviceBuilder.setServiceData(serviceData); + serviceBuilder.setServiceInstanceId(siid); + serviceBuilder.setServiceStatus(serviceStatusBuilder.build()); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + + if (input.getSdncRequestHeader() != null && input.getSdncRequestHeader().getSvcAction() != null) + { + // Only update operational tree on activate or delete + if (input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Unassign) || + input.getSdncRequestHeader().getSvcAction().equals(SvcAction.Activate)) + { + log.info("Updating OPERATIONAL tree."); + saveService(serviceBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + } + } + + BrgResponseInformationBuilder brgResponseInformationBuilder = new BrgResponseInformationBuilder(); + brgResponseInformationBuilder.setInstanceId(allottedResourceId); + brgResponseInformationBuilder.setObjectPath(brgObjectPath); + responseBuilder.setBrgResponseInformation(brgResponseInformationBuilder.build()); + + ServiceResponseInformationBuilder serviceResponseInformationBuilder = new ServiceResponseInformationBuilder(); + serviceResponseInformationBuilder.setInstanceId(siid); + serviceResponseInformationBuilder.setObjectPath(serviceObjectPath); + responseBuilder.setServiceResponseInformation(serviceResponseInformationBuilder.build()); + + } catch (IllegalStateException e) { + log.error("Caught Exception updating MD-SAL for {} [{}] \n", SVC_OPERATION, siid, e); + responseBuilder.setResponseCode("500"); + responseBuilder.setResponseMessage(e.toString()); + responseBuilder.setAckFinalIndicator("Y"); + log.error("Returned FAILED for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + + // Update succeeded + responseBuilder.setResponseCode(errorCode); + responseBuilder.setAckFinalIndicator(ackFinal); + if (errorMessage != null) + { + responseBuilder.setResponseMessage(errorMessage); + } + log.info("Updated MD-SAL for {} [{}]", SVC_OPERATION, siid); + log.info("Returned SUCCESS for {} [{}] {}", SVC_OPERATION, siid, responseBuilder.build()); + + RpcResult rpcResult = + RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); + return Futures.immediateFuture(rpcResult); + } + @Override public Future> preloadVnfTopologyOperation( PreloadVnfTopologyOperationInput input) { final String SVC_OPERATION = "preload-vnf-topology-operation"; - PreloadData preloadData = null; + PreloadData preloadData; Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION); // create a new response object PreloadVnfTopologyOperationOutputBuilder responseBuilder = new PreloadVnfTopologyOperationOutputBuilder(); @@ -1717,7 +2075,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC if(input == null || input.getVnfTopologyInformation() == null || input.getVnfTopologyInformation().getVnfTopologyIdentifier() == null) { - log.debug("exiting " +SVC_OPERATION+ " because of null input"); + log.debug("exiting {} because of null input", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("invalid input: input is null"); responseBuilder.setAckFinalIndicator("Y"); @@ -1732,7 +2090,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Make sure we have a preload_name and preload_type if(preload_name == null || preload_name.length() == 0 || preload_type == null || preload_type.length() == 0 ) { - log.debug("exiting "+ SVC_OPERATION + " vnf-name or vnf-type is null or empty"); + log.debug("exiting {} vnf-name or vnf-type is null or empty", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("invalid input: vnf-name or vnf-type is null or empty"); responseBuilder.setAckFinalIndicator("Y"); @@ -1765,10 +2123,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // uses network-topology-information; // uses oper-status; - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] input: " + input); + log.info("Adding INPUT data for {} [{},{}] input: {}", SVC_OPERATION, preload_name, preload_type, input); PreloadVnfTopologyOperationInputBuilder inputBuilder = new PreloadVnfTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); - log.info("Adding OPERATIONAL data for "+SVC_OPERATION+" ["+preload_name+","+preload_type +"] operational-data: " + operDataBuilder.build()); + log.info("Adding OPERATIONAL data for {} [{},{}] operational-data: {}", + SVC_OPERATION, preload_name, preload_type, operDataBuilder.build()); GenericResourceApiUtil.toProperties(parms, "operational-data", operDataBuilder); // Call SLI sync method @@ -1793,7 +2152,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -1828,11 +2187,13 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC preloadVnfListBuilder.setVnfName(preload_name); preloadVnfListBuilder.setVnfType(preload_type); preloadVnfListBuilder.setPreloadData(preloadDataBuilder.build()); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] error code: '" + errorCode + "', Reason: '" + errorMessage + "'"); + log.error("Returned FAILED for {} [{},{}] error code: '{}', Reason: '{}'", + SVC_OPERATION, preload_name, preload_type, errorCode, errorMessage); try { - SavePreloadList (preloadVnfListBuilder.build(), true,LogicalDatastoreType.CONFIGURATION); + savePreloadList(preloadVnfListBuilder.build(), true, LogicalDatastoreType.CONFIGURATION); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{},{}] \n", + SVC_OPERATION, preload_name, preload_type, e); } log.debug("Sending Success rpc result due to external error"); RpcResult rpcResult = @@ -1843,7 +2204,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Got success from SLI try { preloadData = preloadDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] preloadData: " + preloadData); + log.info("Updating MD-SAL for {} [{},{}] preloadData: {}", + SVC_OPERATION, preload_name, preload_type, preloadData); // svc-configuration-list VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder(); preloadVnfListBuilder.setVnfName(preload_name); @@ -1851,15 +2213,17 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC preloadVnfListBuilder.setPreloadData(preloadData); // merge flag sets to false to allow it to be overwritten (not appended) - SavePreloadList (preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); log.info("Updating OPERATIONAL tree."); - SavePreloadList (preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{},{}] \n", + SVC_OPERATION, preload_name, preload_type, e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{},{}] {}", + SVC_OPERATION, preload_name, preload_type, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(false).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -1872,8 +2236,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{},{}]", SVC_OPERATION, preload_name, preload_type); + log.info("Returned SUCCESS for {} [{},{}] {}", SVC_OPERATION, preload_name, preload_type, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); @@ -1886,10 +2250,10 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC PreloadNetworkTopologyOperationInput input) { final String SVC_OPERATION = "preload-network-topology-operation"; - PreloadData preloadData = null; + PreloadData preloadData; Properties parms = new Properties(); - log.info( SVC_OPERATION +" called." ); + log.info("{} called.", SVC_OPERATION); // create a new response object PreloadNetworkTopologyOperationOutputBuilder responseBuilder = new PreloadNetworkTopologyOperationOutputBuilder(); @@ -1899,7 +2263,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC if(input == null || input.getNetworkTopologyInformation() == null || input.getNetworkTopologyInformation().getNetworkTopologyIdentifier() == null) { - log.debug("exiting " +SVC_OPERATION+ " because of null input"); + log.debug("exiting {} because of null input", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("input is null"); responseBuilder.setAckFinalIndicator("Y"); @@ -1914,7 +2278,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Make sure we have a preload_name and preload_type if(preload_name == null || preload_name.length() == 0 || preload_type == null || preload_type.length() == 0 ) { - log.debug("exiting "+SVC_OPERATION+" because of invalid preload-name"); + log.debug("exiting {} because of invalid preload-name", SVC_OPERATION); responseBuilder.setResponseCode("403"); responseBuilder.setResponseMessage("input, invalid preload-name"); responseBuilder.setAckFinalIndicator("Y"); @@ -1949,10 +2313,11 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // uses oper-status; - log.info("Adding INPUT data for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] input: " + input); + log.info("Adding INPUT data for {} [{},{}] input: {}", SVC_OPERATION, preload_name, preload_type, input); PreloadNetworkTopologyOperationInputBuilder inputBuilder = new PreloadNetworkTopologyOperationInputBuilder(input); GenericResourceApiUtil.toProperties(parms, inputBuilder.build()); - log.info("Adding OPERATIONAL data for "+SVC_OPERATION+" ["+preload_name+","+preload_type +"] operational-data: " + operDataBuilder.build()); + log.info("Adding OPERATIONAL data for {} [{},{}] operational-data: {}", + SVC_OPERATION, preload_name, preload_type, operDataBuilder.build()); GenericResourceApiUtil.toProperties(parms, "operational-data", operDataBuilder); // Call SLI sync method @@ -1977,7 +2342,7 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC } catch (Exception e) { - log.error("Caught exception executing service logic for "+ SVC_OPERATION, e); + log.error("Caught exception executing service logic for {}", SVC_OPERATION, e); errorMessage = e.getMessage(); errorCode = "500"; } @@ -2012,11 +2377,13 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC preloadVnfListBuilder.setVnfName(preload_name); preloadVnfListBuilder.setVnfType(preload_type); preloadVnfListBuilder.setPreloadData(preloadDataBuilder.build()); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] error code: '" + errorCode + "', Reason: '" + errorMessage + "'"); + log.error("Returned FAILED for {} [{},{}] error code: '{}', Reason: '{}'", + SVC_OPERATION, preload_name, preload_type, errorCode, errorMessage); try { - SavePreloadList (preloadVnfListBuilder.build(),true,LogicalDatastoreType.CONFIGURATION); + savePreloadList(preloadVnfListBuilder.build(),true, LogicalDatastoreType.CONFIGURATION); } catch (Exception e) { - log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] \n",e); + log.error("Caught Exception updating MD-SAL for {} [{},{}] \n", + SVC_OPERATION, preload_name, preload_type, e); } log.debug("Sending Success rpc result due to external error"); @@ -2028,7 +2395,8 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC // Got success from SLI try { preloadData = preloadDataBuilder.build(); - log.info("Updating MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] preloadData: " + preloadData); + log.info("Updating MD-SAL for {} [{},{}] preloadData: {}", + SVC_OPERATION, preload_name, preload_type, preloadData); // svc-configuration-list VnfPreloadListBuilder preloadVnfListBuilder = new VnfPreloadListBuilder(); preloadVnfListBuilder.setVnfName(preload_name); @@ -2036,15 +2404,16 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC preloadVnfListBuilder.setPreloadData(preloadData); // merge flag sets to false to allow it to be overwritten (not appended) - SavePreloadList (preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); + savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.CONFIGURATION); log.info("Updating OPERATIONAL tree."); - SavePreloadList (preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); + savePreloadList(preloadVnfListBuilder.build(), false, LogicalDatastoreType.OPERATIONAL); } catch (Exception e) { log.error("Caught Exception updating MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] \n",e); responseBuilder.setResponseCode("500"); responseBuilder.setResponseMessage(e.toString()); responseBuilder.setAckFinalIndicator("Y"); - log.error("Returned FAILED for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] " + responseBuilder.build()); + log.error("Returned FAILED for {} [{},{}] {}", + SVC_OPERATION, preload_name, preload_type, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(false).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -2057,11 +2426,14 @@ public class GenericResourceApiProvider implements AutoCloseable, GENERICRESOURC { responseBuilder.setResponseMessage(errorMessage); } - log.info("Updated MD-SAL for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] "); - log.info("Returned SUCCESS for "+SVC_OPERATION+" ["+preload_name+","+preload_type+"] " + responseBuilder.build()); + log.info("Updated MD-SAL for {} [{},{}]", SVC_OPERATION, preload_name, preload_type); + log.info("Returned SUCCESS for {} [{},{}] {}", + SVC_OPERATION, preload_name, preload_type, responseBuilder.build()); RpcResult rpcResult = RpcResultBuilder. status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } + + }