From 9e597b73b7eba2006785034cc49294a21b6f967d Mon Sep 17 00:00:00 2001 From: mpriyank Date: Thu, 23 Jun 2022 15:14:31 +0100 Subject: Remove operation from NcmpEvent - Remove operation field from NcmpEvent schema as it is not required - Code refactoring corresponding to removal of operation field - Fixed test cases around it - UPCOMING: Some sort of state machine to handle the event publishing Issue-ID: CPS-1100 Change-Id: Ib89b86bd1408de2808b01d37a48ee44a2601f83d Signed-off-by: mpriyank --- .../api/impl/NetworkCmProxyDataServiceImpl.java | 6 ----- .../NetworkCmProxyDataServicePropertyHandler.java | 10 -------- .../cps/ncmp/api/impl/event/NcmpEventsCreator.java | 27 +++++++--------------- .../cps/ncmp/api/impl/event/NcmpEventsService.java | 13 ++++------- .../api/inventory/sync/ModuleSyncWatchdog.java | 10 -------- 5 files changed, 12 insertions(+), 54 deletions(-) (limited to 'cps-ncmp-service/src/main/java/org') diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java index 2c7d92ef4..f8cab4f1c 100755 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java @@ -31,7 +31,6 @@ import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NO_TIMES import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum; import static org.onap.cps.spi.CascadeDeleteAllowed.CASCADE_DELETE_ALLOWED; import static org.onap.cps.utils.CmHandleQueryRestParametersValidator.validateCmHandleQueryParameters; -import static org.onap.ncmp.cmhandle.lcm.event.Event.Operation.DELETE; import java.util.ArrayList; import java.util.Collection; @@ -47,7 +46,6 @@ import org.onap.cps.api.CpsDataService; import org.onap.cps.api.CpsModuleService; import org.onap.cps.ncmp.api.NetworkCmProxyCmHandlerQueryService; import org.onap.cps.ncmp.api.NetworkCmProxyDataService; -import org.onap.cps.ncmp.api.impl.event.NcmpEventsService; import org.onap.cps.ncmp.api.impl.operations.DmiDataOperations; import org.onap.cps.ncmp.api.impl.operations.DmiOperations; import org.onap.cps.ncmp.api.impl.utils.YangDataConverter; @@ -95,8 +93,6 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService private final NetworkCmProxyCmHandlerQueryService networkCmProxyCmHandlerQueryService; - private final NcmpEventsService ncmpEventsService; - @Override public DmiPluginRegistrationResponse updateDmiRegistrationAndSyncModule( final DmiPluginRegistration dmiPluginRegistration) { @@ -265,8 +261,6 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService cpsDataService.deleteListOrListElement(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR, "/dmi-registry/cm-handles[@id='" + cmHandle + "']", NO_TIMESTAMP); cmHandleRegistrationResponses.add(CmHandleRegistrationResponse.createSuccessResponse(cmHandle)); - log.debug("Publishing LCM Delete Event for cmHandleId : {}", cmHandle); - ncmpEventsService.publishNcmpEvent(cmHandle, DELETE); } catch (final DataNodeNotFoundException dataNodeNotFoundException) { log.error("Unable to find dataNode for cmHandleId : {} , caused by : {}", cmHandle, dataNodeNotFoundException.getMessage()); diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServicePropertyHandler.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServicePropertyHandler.java index 1eef4c25f..aae2f209a 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServicePropertyHandler.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServicePropertyHandler.java @@ -27,7 +27,6 @@ import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NCMP_DAT import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NCMP_DMI_REGISTRY_ANCHOR; import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NCMP_DMI_REGISTRY_PARENT; import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NO_TIMESTAMP; -import static org.onap.ncmp.cmhandle.lcm.event.Event.Operation.UPDATE; import com.google.common.collect.ImmutableMap; import java.util.ArrayList; @@ -41,7 +40,6 @@ import java.util.regex.Pattern; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.onap.cps.api.CpsDataService; -import org.onap.cps.ncmp.api.impl.event.NcmpEventsService; import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse; import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse.RegistrationError; import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; @@ -64,8 +62,6 @@ public class NetworkCmProxyDataServicePropertyHandler { private final CpsDataService cpsDataService; - private final NcmpEventsService ncmpEventsService; - /** * Iterates over incoming ncmpServiceCmHandles and update the dataNodes based on the updated attributes. * The attributes which are not passed will remain as is. @@ -109,7 +105,6 @@ public class NetworkCmProxyDataServicePropertyHandler { private void processUpdates(final DataNode existingCmHandleDataNode, final NcmpServiceCmHandle incomingCmHandle) { if (!incomingCmHandle.getPublicProperties().isEmpty()) { updateProperties(existingCmHandleDataNode, PUBLIC_PROPERTY, incomingCmHandle.getPublicProperties()); - publishLcmEventOnPublicPropertiesUpdate(incomingCmHandle.getCmHandleId()); } if (!incomingCmHandle.getDmiProperties().isEmpty()) { updateProperties(existingCmHandleDataNode, DMI_PROPERTY, incomingCmHandle.getDmiProperties()); @@ -185,11 +180,6 @@ public class NetworkCmProxyDataServicePropertyHandler { return new DataNodeBuilder().withXpath(xpath).withLeaves(ImmutableMap.copyOf(updatedLeaves)).build(); } - private void publishLcmEventOnPublicPropertiesUpdate(final String cmHandleId) { - log.debug("Publishing LCM Update event for cmHandleId : {}", cmHandleId); - ncmpEventsService.publishNcmpEvent(cmHandleId, UPDATE); - } - enum PropertyType { DMI_PROPERTY("additional-properties"), PUBLIC_PROPERTY("public-properties"); diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsCreator.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsCreator.java index 3fca1bae8..df41eba8b 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsCreator.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsCreator.java @@ -20,8 +20,6 @@ package org.onap.cps.ncmp.api.impl.event; -import static org.onap.ncmp.cmhandle.lcm.event.Event.Operation.DELETE; - import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.List; @@ -29,7 +27,6 @@ import java.util.UUID; import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; import org.onap.ncmp.cmhandle.lcm.event.Event; -import org.onap.ncmp.cmhandle.lcm.event.Event.Operation; import org.onap.ncmp.cmhandle.lcm.event.NcmpEvent; import org.springframework.stereotype.Component; @@ -46,33 +43,25 @@ public class NcmpEventsCreator { * Populate NcmpEvent. * * @param cmHandleId Cm Handle Identifier - * @param operation Relevant Operation * @param ncmpServiceCmHandle Ncmp CmHandle Data * @return Populated NcmpEvent */ - public NcmpEvent populateNcmpEvent(final String cmHandleId, final Operation operation, - final NcmpServiceCmHandle ncmpServiceCmHandle) { - return createNcmpEvent(cmHandleId, operation, ncmpServiceCmHandle); + public NcmpEvent populateNcmpEvent(final String cmHandleId, final NcmpServiceCmHandle ncmpServiceCmHandle) { + return createNcmpEvent(cmHandleId, ncmpServiceCmHandle); } - private NcmpEvent createNcmpEvent(final String cmHandleId, final Operation operation, - final NcmpServiceCmHandle ncmpServiceCmHandle) { + private NcmpEvent createNcmpEvent(final String cmHandleId, final NcmpServiceCmHandle ncmpServiceCmHandle) { final NcmpEvent ncmpEvent = ncmpEventHeader(cmHandleId); - ncmpEvent.setEvent(ncmpEventPayload(cmHandleId, operation, ncmpServiceCmHandle)); + ncmpEvent.setEvent(ncmpEventPayload(cmHandleId, ncmpServiceCmHandle)); return ncmpEvent; } - private Event ncmpEventPayload(final String eventCorrelationId, final Operation operation, - final NcmpServiceCmHandle ncmpServiceCmHandle) { + private Event ncmpEventPayload(final String eventCorrelationId, final NcmpServiceCmHandle ncmpServiceCmHandle) { final Event event = new Event(); - event.setOperation(operation); event.setCmHandleId(eventCorrelationId); - - if (!DELETE.equals(operation)) { - event.setCmhandleState(Event.CmhandleState.fromValue( - ncmpServiceCmHandle.getCompositeState().getCmHandleState().toString())); - event.setCmhandleProperties(List.of(ncmpServiceCmHandle.getPublicProperties())); - } + event.setCmhandleState( + Event.CmhandleState.fromValue(ncmpServiceCmHandle.getCompositeState().getCmHandleState().toString())); + event.setCmhandleProperties(List.of(ncmpServiceCmHandle.getPublicProperties())); return event; } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsService.java index 3cd4068a9..6804ac0f0 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/NcmpEventsService.java @@ -25,7 +25,6 @@ import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.api.impl.utils.YangDataConverter; import org.onap.cps.ncmp.api.inventory.InventoryPersistence; import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; -import org.onap.ncmp.cmhandle.lcm.event.Event.Operation; import org.onap.ncmp.cmhandle.lcm.event.NcmpEvent; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -52,16 +51,12 @@ public class NcmpEventsService { * Publish the NcmpEvent to the public topic. * * @param cmHandleId Cm Handle Id - * @param operation Relevant operation(CREATE,UPDATE or DELETE) */ - public void publishNcmpEvent(final String cmHandleId, final Operation operation) { + public void publishNcmpEvent(final String cmHandleId) { - NcmpServiceCmHandle ncmpServiceCmHandle = new NcmpServiceCmHandle(); - if (Operation.DELETE != operation) { - ncmpServiceCmHandle = YangDataConverter.convertYangModelCmHandleToNcmpServiceCmHandle( - inventoryPersistence.getYangModelCmHandle(cmHandleId)); - } - final NcmpEvent ncmpEvent = ncmpEventsCreator.populateNcmpEvent(cmHandleId, operation, ncmpServiceCmHandle); + final NcmpServiceCmHandle ncmpServiceCmHandle = YangDataConverter.convertYangModelCmHandleToNcmpServiceCmHandle( + inventoryPersistence.getYangModelCmHandle(cmHandleId)); + final NcmpEvent ncmpEvent = ncmpEventsCreator.populateNcmpEvent(cmHandleId, ncmpServiceCmHandle); ncmpEventsPublisher.publishEvent(topicName, cmHandleId, ncmpEvent); } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java index 9cfa0a05c..c920649b8 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdog.java @@ -21,12 +21,9 @@ package org.onap.cps.ncmp.api.inventory.sync; -import static org.onap.ncmp.cmhandle.lcm.event.Event.Operation.CREATE; - import java.util.List; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.onap.cps.ncmp.api.impl.event.NcmpEventsService; import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle; import org.onap.cps.ncmp.api.inventory.CmHandleState; import org.onap.cps.ncmp.api.inventory.CompositeState; @@ -47,11 +44,8 @@ public class ModuleSyncWatchdog { private final ModuleSyncService moduleSyncService; - private final NcmpEventsService ncmpEventsService; - /** * Execute Cm Handle poll which changes the cm handle state from 'ADVISED' to 'READY'. - * Also publish the LCM Create Event when cm handle state is moved to 'READY'. */ @Scheduled(fixedDelayString = "${timers.advised-modules-sync.sleep-time-ms:30000}") public void executeAdvisedCmHandlePoll() { @@ -72,10 +66,6 @@ public class ModuleSyncWatchdog { inventoryPersistence.saveCmHandleState(cmHandleId, compositeState); log.info("{} is now in {} state", cmHandleId, advisedCmHandle.getCompositeState().getCmHandleState()); - if (compositeState.getCmHandleState() == CmHandleState.READY) { - log.debug("Publishing LCM Create Event for cmHandleId : {}", cmHandleId); - ncmpEventsService.publishNcmpEvent(cmHandleId, CREATE); - } advisedCmHandle = syncUtils.getAnAdvisedCmHandle(); } log.debug("No Cm-Handles currently found in an ADVISED state"); -- cgit 1.2.3-korg