summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service/src/main/java/org
diff options
context:
space:
mode:
authorlukegleeson <luke.gleeson@est.tech>2022-05-06 12:02:42 +0100
committerlukegleeson <luke.gleeson@est.tech>2022-05-20 14:43:05 +0100
commitbed18fd895d1ac240c7fdb361cb0ed994d392ecf (patch)
tree1ef6bf26c2dd4e295c99fe7060e8930c3bca74bf /cps-ncmp-service/src/main/java/org
parent806d31aed57c798cba0ecc33d92e5b43fa1d957b (diff)
Get cm-handle public properties endpoint
Added RestOuputCmHandlePublicProperties OpenApi Object Added Get cm-handle public properties endpoint Added rest and service layer functionality for endpoint with tests Fixed Copyright Checker violations Issue-ID: CPS-1018 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: Ifc13cde350a49f6ba705a09e31853dc9c73be168
Diffstat (limited to 'cps-ncmp-service/src/main/java/org')
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java9
-rwxr-xr-xcps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java18
2 files changed, 27 insertions, 0 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java
index 058c42b7b..7527ae5c5 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java
@@ -26,6 +26,7 @@ package org.onap.cps.ncmp.api;
import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum;
import java.util.Collection;
+import java.util.Map;
import java.util.Set;
import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters;
import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
@@ -122,6 +123,14 @@ public interface NetworkCmProxyDataService {
NcmpServiceCmHandle getNcmpServiceCmHandle(String cmHandleId);
/**
+ * Get cm handle public properties by cm handle id.
+ *
+ * @param cmHandleId cm handle identifier
+ * @return a collection of cm handle public properties.
+ */
+ Map<String, String> getCmHandlePublicProperties(String cmHandleId);
+
+ /**
* Query and return cm handles that match the given query parameters.
*
* @param cmHandleQueryApiParameters the cm handle query parameters
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 c0f73d92d..0e748c7fe 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
@@ -34,6 +34,7 @@ import static org.onap.cps.spi.CascadeDeleteAllowed.CASCADE_DELETE_ALLOWED;
import com.google.common.base.Strings;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -194,6 +195,23 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
}
/**
+ * Get cm handle public properties for a given cm handle id.
+ *
+ * @param cmHandleId cm handle identifier
+ * @return cm handle public properties
+ */
+ @Override
+ public Map<String, String> getCmHandlePublicProperties(final String cmHandleId) {
+ CpsValidator.validateNameCharacters(cmHandleId);
+ final YangModelCmHandle yangModelCmHandle =
+ yangModelCmHandleRetriever.getYangModelCmHandle(cmHandleId);
+ final List<YangModelCmHandle.Property> yangModelPublicProperties = yangModelCmHandle.getPublicProperties();
+ final Map<String, String> cmHandlePublicProperties = new HashMap<>();
+ asPropertiesMap(yangModelPublicProperties, cmHandlePublicProperties);
+ return cmHandlePublicProperties;
+ }
+
+ /**
* THis method registers a cm handle and initiates modules sync.
*
* @param dmiPluginRegistration dmi plugin registration information.