summaryrefslogtreecommitdiffstats
path: root/cps-nf-proxy-service
diff options
context:
space:
mode:
authorHanif Kukkalli <lte-ng@outlook.com>2021-02-23 12:26:39 +0100
committerHanif Kukkalli <lte-ng@outlook.com>2021-02-26 11:23:28 +0000
commit83e318f8c7d3cacb24b2ef9b76162b0af12e817c (patch)
tree3a38e10ffcb878e6e61bdaeb2440d58b079467c5 /cps-nf-proxy-service
parent85aebca0339f9e619fa3a9fd537dc986fc7aa03a (diff)
Implement getDataNode(anchorName, xPath) in NF-Proxy
Added spring-boot-starter-validation instead of cps-ri. Added test 'Data node without leaves and without children.' to MultipartFileUtilSpec groovy test Created a method getNodeByCmHandleIdAndXpath(cmHandleId, cpsPath) Added hardcoded value of NFS DataspaceName as: "NFP-Operation". Issue-ID: CPS-172 Signed-off-by: Hanif Kukkalli <lte-ng@outlook.com> Change-Id: Ie8086ede01a9c5069b1ee75864b04a0ee5e8a4f6
Diffstat (limited to 'cps-nf-proxy-service')
-rw-r--r--cps-nf-proxy-service/pom.xml6
-rw-r--r--cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java44
-rwxr-xr-xcps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java43
3 files changed, 90 insertions, 3 deletions
diff --git a/cps-nf-proxy-service/pom.xml b/cps-nf-proxy-service/pom.xml
index 67ffaeb200..593d6cf792 100644
--- a/cps-nf-proxy-service/pom.xml
+++ b/cps-nf-proxy-service/pom.xml
@@ -18,12 +18,12 @@
<dependencies>
<dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>cps-service</artifactId>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>cps-ri</artifactId>
+ <artifactId>cps-service</artifactId>
</dependency>
</dependencies>
</project> \ No newline at end of file
diff --git a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java
new file mode 100644
index 0000000000..644dfab117
--- /dev/null
+++ b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java
@@ -0,0 +1,44 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 highstreet technologies GmbH
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.cps.nfproxy.api;
+
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.onap.cps.spi.FetchDescendantsOption;
+import org.onap.cps.spi.model.DataNode;
+
+/*
+ * Datastore interface for handling CPS data.
+ */
+public interface NfProxyDataService {
+
+ /**
+ * Retrieves datanode by XPath for a given cm handle.
+ *
+ * @param cmHandle The identifier for a network function, network element, subnetwork or any other
+ * cm object by managed NF-Proxy
+ * @param xpath xpath
+ * @param fetchDescendantsOption defines the scope of data to fetch: either single node or all the descendant nodes
+ * (recursively) as well
+ * @return data node object
+ */
+ DataNode getDataNode(@NonNull String cmHandle, @NonNull String xpath,
+ @NonNull FetchDescendantsOption fetchDescendantsOption);
+
+}
diff --git a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java
new file mode 100755
index 0000000000..d30702e773
--- /dev/null
+++ b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java
@@ -0,0 +1,43 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 highstreet technologies GmbH
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.cps.nfproxy.api.impl;
+
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.onap.cps.api.CpsDataService;
+import org.onap.cps.nfproxy.api.NfProxyDataService;
+import org.onap.cps.spi.FetchDescendantsOption;
+import org.onap.cps.spi.model.DataNode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class NfProxyDataServiceImpl implements NfProxyDataService {
+
+ private static final String NF_PROXY_DATASPACE_NAME = "NFP-Operational";
+
+ @Autowired
+ private CpsDataService cpsDataService;
+
+ @Override
+ public DataNode getDataNode(@NonNull final String cmHandle, @NonNull final String xpath,
+ @NonNull final FetchDescendantsOption fetchDescendantsOption) {
+ return cpsDataService.getDataNode(NF_PROXY_DATASPACE_NAME, cmHandle, xpath, fetchDescendantsOption);
+ }
+}