From 5d3ed6ff2fe76e2510867379fdf58d4e99b2cc9f Mon Sep 17 00:00:00 2001 From: mpriyank Date: Thu, 26 May 2022 20:25:40 +0100 Subject: Fixing CompositeState mapping - Mapper null check - NcmpServiceCmHandle mapping for the new composite state - Added global parameter for jackson to include only NON_NULL attributes in the response Issue-ID: CPS-1066 Change-Id: I1924fef45345c77873f9c788baa701311e72bea7 Signed-off-by: mpriyank --- .../cps/ncmp/rest/mapper/RestOutputCmHandleStateMapper.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'cps-ncmp-rest/src/main/java/org/onap') diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/mapper/RestOutputCmHandleStateMapper.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/mapper/RestOutputCmHandleStateMapper.java index 89015cca9d..ce32068299 100644 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/mapper/RestOutputCmHandleStateMapper.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/mapper/RestOutputCmHandleStateMapper.java @@ -23,13 +23,16 @@ package org.onap.cps.ncmp.rest.mapper; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Named; +import org.mapstruct.NullValueCheckStrategy; +import org.mapstruct.NullValuePropertyMappingStrategy; import org.onap.cps.ncmp.api.inventory.CmHandleState; import org.onap.cps.ncmp.api.inventory.CompositeState; import org.onap.cps.ncmp.rest.model.DataStores; import org.onap.cps.ncmp.rest.model.RestOutputCmHandleState; import org.onap.cps.ncmp.rest.model.SyncState; -@Mapper(componentModel = "spring") +@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, + nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.SET_TO_DEFAULT) public interface RestOutputCmHandleStateMapper { @Mapping(target = "dataSyncState", source = "dataStores", qualifiedByName = "dataStoreToDataSyncState") @@ -45,6 +48,10 @@ public interface RestOutputCmHandleStateMapper { @Named("dataStoreToDataSyncState") static DataStores toDataStores(CompositeState.DataStores compositeStateDataStore) { + if (compositeStateDataStore == null) { + return null; + } + final DataStores dataStores = new DataStores(); if (compositeStateDataStore.getRunningDataStore() != null) { @@ -68,6 +75,7 @@ public interface RestOutputCmHandleStateMapper { /** * Converts cmHandleState enum value to equivalent string. + * * @param cmHandleState cm handle state enum * @return cm handle state as string */ -- cgit 1.2.3-korg