From a13d7bfaed4f8ff837508eddf90231910e1bc285 Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Tue, 30 Jan 2018 15:04:47 +0100 Subject: [PATCH] Fixed sonar errors to line 463 Change-Id: Ib3c5a2e872fd47585dca1df49237206e968760e0 Issue-ID: SDNC-242 Signed-off-by: Jakub Dudycz --- .../{vnfapiProvider.java => VnfApiProvider.java} | 256 ++++++++++++--------- .../opendaylight/blueprint/vnfapi-blueprint.xml | 2 +- .../org/onap/sdnc/vnfapi/VnfApiProviderTest.java | 6 +- .../onap/sdnc/vnfapi/VnfapiProviderTestBase.java | 5 +- 4 files changed, 150 insertions(+), 119 deletions(-) rename vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/{vnfapiProvider.java => VnfApiProvider.java} (95%) diff --git a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java similarity index 95% rename from vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java rename to vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java index 30f85859..129f2a4e 100644 --- a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java +++ b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/VnfApiProvider.java @@ -152,32 +152,33 @@ import java.util.concurrent.Future; * which provides storage for the most commonly used components of the MD-SAL. Additionally the * base class provides some basic logging and initialization / clean up methods. */ -public class vnfapiProvider implements AutoCloseable, VNFAPIService, DataChangeListener { +public class VnfApiProvider implements AutoCloseable, VNFAPIService, DataChangeListener { + + private final Logger log = LoggerFactory.getLogger(VnfApiProvider.class); + + private static final String APP_NAME = "vnfapi"; + + private VNFSDNSvcLogicServiceClient svcLogicClient; + private final ExecutorService executor; + protected DataBroker dataBroker; protected NotificationPublishService notificationService; protected RpcProviderRegistry rpcRegistry; protected BindingAwareBroker.RpcRegistration rpcRegistration; - private final Logger log = LoggerFactory.getLogger(vnfapiProvider.class); - private final String appName = "vnfapi"; - private final ExecutorService executor; - - private VNFSDNSvcLogicServiceClient svcLogicClient; - private ListenerRegistration dclServices; - - public vnfapiProvider(DataBroker dataBroker2, NotificationPublishService notificationPublishService, + public VnfApiProvider(DataBroker dataBroker2, NotificationPublishService notificationPublishService, RpcProviderRegistry rpcProviderRegistry, VNFSDNSvcLogicServiceClient client) { - this.log.info("Creating provider for " + appName); + log.info("Creating provider for " + APP_NAME); executor = Executors.newFixedThreadPool(1); dataBroker = dataBroker2; notificationService = notificationPublishService; rpcRegistry = rpcProviderRegistry; - this.svcLogicClient = client; + svcLogicClient = client; initialize(); } - public void initialize() { - log.info("Initializing provider for " + appName); + private void initialize() { + log.info("Initializing provider for " + APP_NAME); // Create the top level containers createContainers(); try { @@ -186,7 +187,7 @@ public class vnfapiProvider implements AutoCloseable, VNFAPIService, DataChangeL log.error("Caught Exception while trying to load properties file: ", e); } - log.info("Initialization complete for " + appName); + log.info("Initialization complete for " + APP_NAME); } private void createContainers() { @@ -236,19 +237,22 @@ public class vnfapiProvider implements AutoCloseable, VNFAPIService, DataChangeL } } - @Override public void close() throws Exception { - log.info("Closing provider for " + appName); + @Override + public void close() throws Exception { + log.info("Closing provider for " + APP_NAME); executor.shutdown(); rpcRegistration.close(); - log.info("Successfully closed provider for " + appName); + log.info("Successfully closed provider for " + APP_NAME); } // On data change not used - @Override public void onDataChanged(AsyncDataChangeEvent, DataObject> change) { - boolean changed = false; + @Override + public void onDataChanged(AsyncDataChangeEvent, DataObject> change) { + log.info(" IN ON DATA CHANGE: "); - WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction(); + boolean changed = false; + WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction(); DataObject updatedSubTree = change.getUpdatedSubtree(); if (updatedSubTree != null) { @@ -256,131 +260,159 @@ public class vnfapiProvider implements AutoCloseable, VNFAPIService, DataChangeL log.debug("updatedSubTree was non-null:" + updatedSubTree); } if (updatedSubTree instanceof Vnfs) { - ArrayList vnfList = (ArrayList) ((Vnfs) updatedSubTree).getVnfList(); - if (vnfList != null) { - for (VnfList entry : vnfList) { - ServiceData serviceData = entry.getServiceData(); - ServiceStatus serviceStatus = entry.getServiceStatus(); - if (serviceData != null && serviceStatus != null) { - // - // ServiceData change detected, check the AckFinal indicator and request-status to see if we need to proceed. - // - if ((!"Y".equals(serviceStatus.getFinalIndicator())) && (RequestStatus.Synccomplete - .equals(serviceStatus.getRequestStatus()))) { - if (log.isDebugEnabled()) { - log.debug("Final Indicator is not Y, calling handleServiceDataUpdated"); - } - //handleServiceDataUpdated(serviceData, serviceStatus, writeTransaction); - changed = true; - } - } - } - } + changed = isChanged(changed, (Vnfs) updatedSubTree); } if (updatedSubTree instanceof PreloadVnfs) { - ArrayList vnfList = - (ArrayList) ((PreloadVnfs) updatedSubTree).getVnfPreloadList(); - if (vnfList != null) { - for (VnfPreloadList entry : vnfList) { - PreloadData preloadData = entry.getPreloadData(); - if (preloadData != null) { - changed = true; - } - } - } + changed = isChanged(changed, (PreloadVnfs) updatedSubTree); } //1610 if (updatedSubTree instanceof PreloadVnfInstances) { - ArrayList vnfInstanceList = - (ArrayList) ((PreloadVnfInstances) updatedSubTree) - .getVnfInstancePreloadList(); - if (vnfInstanceList != null) { - for (VnfInstancePreloadList entry : vnfInstanceList) { - VnfInstancePreloadData vnfInstancePreloadData = entry.getVnfInstancePreloadData(); - if (vnfInstancePreloadData != null) { - changed = true; - } - } - } + changed = isChanged(changed, (PreloadVnfInstances) updatedSubTree); } //1610 if (updatedSubTree instanceof VnfInstances) { - ArrayList vnfInstanceList = - (ArrayList) ((VnfInstances) updatedSubTree).getVnfInstanceList(); - if (vnfInstanceList != null) { - for (VnfInstanceList entry : vnfInstanceList) { - VnfInstanceServiceData vnfInstanceServiceData = entry.getVnfInstanceServiceData(); - ServiceStatus serviceStatus = entry.getServiceStatus(); - if (vnfInstanceServiceData != null && serviceStatus != null) { - // VnfInstanceServiceData change detected, check the AckFinal indicator and request-status - // to see if we need to proceed. - if ((!"Y".equals(serviceStatus.getFinalIndicator())) && (RequestStatus.Synccomplete - .equals(serviceStatus.getRequestStatus()))) { - if (log.isDebugEnabled()) { - log.debug("Final Indicator is not Y, calling handleServiceDataUpdated"); - } - changed = true; - } - } - } - } + changed = isChanged(changed, (VnfInstances) updatedSubTree); } //1610 if (updatedSubTree instanceof PreloadVfModules) { - ArrayList vnfInstanceList = - (ArrayList) ((PreloadVfModules) updatedSubTree).getVfModulePreloadList(); - if (vnfInstanceList != null) { - for (VfModulePreloadList entry : vnfInstanceList) { - VfModulePreloadData vnfInstancePreloadData = entry.getVfModulePreloadData(); - if (vnfInstancePreloadData != null) { - changed = true; - } - } - } + changed = isChanged(changed, (PreloadVfModules) updatedSubTree); } //1610 if (updatedSubTree instanceof VfModules) { - ArrayList vfModuleList = - (ArrayList) ((VfModules) updatedSubTree).getVfModuleList(); - if (vfModuleList != null) { - for (VfModuleList entry : vfModuleList) { - VfModuleServiceData vfModuleServiceData = entry.getVfModuleServiceData(); - ServiceStatus serviceStatus = entry.getServiceStatus(); - if (vfModuleServiceData != null && serviceStatus != null) { - // VfModuleServiceData change detected, check the AckFinal indicator and request-status to - // see if we need to proceed. - if ((!"Y".equals(serviceStatus.getFinalIndicator())) && (RequestStatus.Synccomplete - .equals(serviceStatus.getRequestStatus()))) { - if (log.isDebugEnabled()) { - log.debug("Final Indicator is not Y, calling handleServiceDataUpdated"); - } - changed = true; - } - } - } - } + changed = isChanged(changed, (VfModules) updatedSubTree); } } + // Do the write transaction only if something changed. if (changed) { CheckedFuture checkedFuture = writeTransaction.submit(); Futures.addCallback(checkedFuture, new FutureCallback() { - @Override public void onSuccess(Void arg0) { + @Override + public void onSuccess(Void arg0) { log.debug("Successfully updated Service Status"); } - @Override public void onFailure(Throwable ex) { - log.debug("Failed updating Service Status", ex); + @Override + public void onFailure(Throwable e) { + log.debug("Failed updating Service Status", e); } }, executor); } } + private boolean isChanged(boolean changed, VfModules updatedSubTree) { + ArrayList vfModuleList = + (ArrayList) updatedSubTree.getVfModuleList(); + if (vfModuleList != null) { + for (VfModuleList entry : vfModuleList) { + VfModuleServiceData vfModuleServiceData = entry.getVfModuleServiceData(); + ServiceStatus serviceStatus = entry.getServiceStatus(); + if (vfModuleServiceData != null && serviceStatus != null) { + // VfModuleServiceData change detected, check the AckFinal indicator and request-status to + // see if we need to proceed. + return isChanged(changed, serviceStatus); + } + } + } + return changed; + } + + private boolean isChanged(boolean changed, PreloadVfModules updatedSubTree) { + ArrayList vnfInstanceList = + (ArrayList) updatedSubTree.getVfModulePreloadList(); + if (vnfInstanceList != null) { + for (VfModulePreloadList entry : vnfInstanceList) { + VfModulePreloadData vnfInstancePreloadData = entry.getVfModulePreloadData(); + if (vnfInstancePreloadData != null) { + return true; + } + } + } + return changed; + } + + private boolean isChanged(boolean changed, VnfInstances updatedSubTree) { + ArrayList vnfInstanceList = + (ArrayList) updatedSubTree.getVnfInstanceList(); + if (vnfInstanceList != null) { + for (VnfInstanceList entry : vnfInstanceList) { + VnfInstanceServiceData vnfInstanceServiceData = entry.getVnfInstanceServiceData(); + ServiceStatus serviceStatus = entry.getServiceStatus(); + if (vnfInstanceServiceData != null && serviceStatus != null) { + // VnfInstanceServiceData change detected, check the AckFinal indicator and request-status + // to see if we need to proceed. + return isChanged(changed, serviceStatus); + } + } + } + return changed; + } + + private boolean isChanged(boolean changed, PreloadVnfInstances updatedSubTree) { + ArrayList vnfInstanceList = + (ArrayList) updatedSubTree + .getVnfInstancePreloadList(); + if (vnfInstanceList != null) { + for (VnfInstancePreloadList entry : vnfInstanceList) { + VnfInstancePreloadData vnfInstancePreloadData = entry.getVnfInstancePreloadData(); + if (vnfInstancePreloadData != null) { + return true; + } + } + } + return changed; + } + + private boolean isChanged(boolean changed, PreloadVnfs updatedSubTree) { + ArrayList vnfList = + (ArrayList) updatedSubTree.getVnfPreloadList(); + if (vnfList != null) { + for (VnfPreloadList entry : vnfList) { + PreloadData preloadData = entry.getPreloadData(); + if (preloadData != null) { + return true; + } + } + } + return changed; + } + + private boolean isChanged(boolean changed, Vnfs updatedSubTree) { + ArrayList vnfList = (ArrayList) updatedSubTree.getVnfList(); + if (vnfList != null) { + for (VnfList entry : vnfList) { + ServiceData serviceData = entry.getServiceData(); + ServiceStatus serviceStatus = entry.getServiceStatus(); + if (serviceData != null && serviceStatus != null) { + // + // ServiceData change detected, check the AckFinal indicator and request-status to see if we need to proceed. + // + return isChanged(changed, serviceStatus); + } + } + } + return changed; + } + + private boolean isChanged(boolean changed, ServiceStatus serviceStatus) { + if ((!"Y".equals(serviceStatus.getFinalIndicator())) && (RequestStatus.Synccomplete + .equals(serviceStatus.getRequestStatus()))) { + if (log.isDebugEnabled()) { + log.debug("Final Indicator is not Y, calling handleServiceDataUpdated"); + } + return true; + } + return changed; + } + private static class Iso8601Util { + private static TimeZone tz = TimeZone.getTimeZone("UTC"); private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + private Iso8601Util() {} + static { df.setTimeZone(tz); } diff --git a/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml b/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml index 8741a09f..1afd1a65 100644 --- a/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml +++ b/vnfapi/provider/src/main/resources/org/opendaylight/blueprint/vnfapi-blueprint.xml @@ -22,7 +22,7 @@ interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" odl:type="default" /> - + diff --git a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java index c74ce534..b5b85f6e 100644 --- a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java +++ b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfApiProviderTest.java @@ -36,12 +36,12 @@ import org.slf4j.LoggerFactory; public class VnfApiProviderTest extends AbstractConcurrentDataBrokerTest { - protected vnfapiProvider vnfapiProvider; + protected VnfApiProvider vnfapiProvider; protected DataBroker dataBroker; protected @Mock NotificationPublishService mockNotificationPublishService; protected @Mock RpcProviderRegistry mockRpcProviderRegistry; protected @Mock VNFSDNSvcLogicServiceClient mockVNFSDNSvcLogicServiceClient; - protected static final Logger LOG = LoggerFactory.getLogger(vnfapiProvider.class); + protected static final Logger LOG = LoggerFactory.getLogger(VnfApiProvider.class); protected DataBrokerUtil db; @@ -54,7 +54,7 @@ public class VnfApiProviderTest extends AbstractConcurrentDataBrokerTest { dataBroker = getDataBroker(); db = new DataBrokerUtil(dataBroker); try { - vnfapiProvider = new vnfapiProvider( + vnfapiProvider = new VnfApiProvider( dataBroker, mockNotificationPublishService, mockRpcProviderRegistry, diff --git a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java index f174f7fa..0c025523 100644 --- a/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java +++ b/vnfapi/provider/src/test/java/org/onap/sdnc/vnfapi/VnfapiProviderTestBase.java @@ -105,7 +105,6 @@ import org.opendaylight.yangtools.yang.common.RpcResult; import org.powermock.reflect.Whitebox; import java.util.ArrayList; -import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -128,7 +127,7 @@ public class VnfapiProviderTestBase { @Mock private ReadWriteTransaction readWriteTransactionInDataChanged; @Mock private CheckedFuture checkedFuture; - private vnfapiProvider vnfapiProvider; + private VnfApiProvider vnfapiProvider; private String vfModuleName; private String vfModuleModelId; private String vnfInstanceId; @@ -152,7 +151,7 @@ public class VnfapiProviderTestBase { doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction(); doReturn(checkedFuture).when(writeTransaction).submit(); - vnfapiProvider = spy(new vnfapiProvider(dataBroker, notificationPublishService, rpcProviderRegistry, + vnfapiProvider = spy(new VnfApiProvider(dataBroker, notificationPublishService, rpcProviderRegistry, vnfsdnSvcLogicServiceClient)); } -- 2.16.6