aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsx00562924 <SX00562924@techmahindra.com>2024-04-17 16:47:55 +0200
committersx00562924 <SX00562924@techmahindra.com>2025-01-13 14:44:07 +0100
commit228ed5743ddeb182281bd1f01d3fff598b188746 (patch)
tree5cd905e1a548b17d7aa79236b16b9cadeb4ba165
parent4966674b8bef836222e6aa4ab58ad6a8272a7261 (diff)
RFC 8040 API Support in SO
-Support for RFC8040 APIs -Changes in SelfLink at SO while querying -Allow rpc GENERIC-RESOURCE-API in SDNC output -RFC OOM Changes- https://gerrit.onap.org/r/c/oom/+/139164 -SDNC-Northbound-3.0.2 version -SO Compliance RFC8040-Successful Migration Issue-ID: SO-4127 Change-ID: I93f84f909a814d488f62f8b36606b0644d8b8608 Signed-off-by: sx00562924 <SX00562924@techmahindra.com>
-rw-r--r--bpmn/pom.xml3
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCQueryTasks.java15
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasks.java3
-rw-r--r--so-sdn-clients/pom.xml10
-rw-r--r--so-sdn-clients/src/main/java/org/onap/so/client/sdnc/SDNCClient.java3
5 files changed, 24 insertions, 10 deletions
diff --git a/bpmn/pom.xml b/bpmn/pom.xml
index 776b52e3e7..9c7f514239 100644
--- a/bpmn/pom.xml
+++ b/bpmn/pom.xml
@@ -19,7 +19,8 @@
<xmlunit.version>2.4.0</xmlunit.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <sdnc.northbound.version>1.5.2</sdnc.northbound.version>
+ <sdnc.northbound.version>3.0.2</sdnc.northbound.version>
+ <!-- SDNC northbound API latest version -->
<logback-core.version>1.2.10</logback-core.version>
</properties>
<modules>
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCQueryTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCQueryTasks.java
index 89d62e0752..b8586ef2d6 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCQueryTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCQueryTasks.java
@@ -70,9 +70,10 @@ public class SDNCQueryTasks {
ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID);
GenericVnf genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
- String selfLink =
- "restconf/config/GENERIC-RESOURCE-API:services/service/" + serviceInstance.getServiceInstanceId()
- + "/service-data/vnfs/vnf/" + genericVnf.getVnfId() + "/vnf-data/vnf-topology/";
+ // RFC-8040 URI to query SDNC resource, ?content=config or nonconfig is Optional
+ String selfLink = "rests/data/GENERIC-RESOURCE-API:services/service=" + serviceInstance.getServiceInstanceId()
+ + "/service-data/vnfs/vnf=" + genericVnf.getVnfId() + "/vnf-data/vnf-topology";
+
try {
if (genericVnf.getSelflink() == null) {
genericVnf.setSelflink(selfLink);
@@ -105,9 +106,11 @@ public class SDNCQueryTasks {
ServiceInstance serviceInstance = extractPojosForBB.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID);
GenericVnf genericVnf = extractPojosForBB.extractByKey(execution, ResourceKey.GENERIC_VNF_ID);
VfModule vfModule = extractPojosForBB.extractByKey(execution, ResourceKey.VF_MODULE_ID);
- String selfLink = "restconf/config/GENERIC-RESOURCE-API:services/service/"
- + serviceInstance.getServiceInstanceId() + "/service-data/vnfs/vnf/" + genericVnf.getVnfId()
- + "/vnf-data/vf-modules/vf-module/" + vfModule.getVfModuleId() + "/vf-module-data/vf-module-topology/";
+
+ // RFC-8040 URI to query SDNC resource, ?content=config or nonconfig is Optional
+ String selfLink = "rests/data/GENERIC-RESOURCE-API:services/service=" + serviceInstance.getServiceInstanceId()
+ + "/service-data/vnfs/vnf=" + genericVnf.getVnfId() + "/vnf-data/vf-modules/vf-module="
+ + vfModule.getVfModuleId() + "/vf-module-data/vf-module-topology";
try {
if (vfModule.getSelflink() == null
|| (vfModule.getSelflink() != null && vfModule.getSelflink().isEmpty())) {
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasks.java
index 7ed8447fa6..e52866e1af 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/sdnc/tasks/SDNCRequestTasks.java
@@ -84,7 +84,8 @@ public class SDNCRequestTasks {
SDNCRequest request = (SDNCRequest) execution.getVariable(SDNC_REQUEST);
try {
String response = sdncClient.post(request.getSDNCPayload(), request.getTopology());
- String finalMessageIndicator = JsonPath.read(response, "$.output.ack-final-indicator");
+ // SDNC Response with RFC-8040 prefixes GENERIC-RESOURCE-API
+ String finalMessageIndicator = JsonPath.read(response, "$.GENERIC-RESOURCE-API:output.ack-final-indicator");
execution.setVariable("isSDNCCompleted", convertIndicatorToBoolean(finalMessageIndicator));
} catch (PathNotFoundException e) {
logger.error("Error Parsing SDNC Response. Could not find read final ack indicator from JSON.", e);
diff --git a/so-sdn-clients/pom.xml b/so-sdn-clients/pom.xml
index 7871db2558..a93adf9a09 100644
--- a/so-sdn-clients/pom.xml
+++ b/so-sdn-clients/pom.xml
@@ -8,7 +8,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>so-sdn-clients</artifactId>
<properties>
- <sdnc.northbound.version>1.5.2</sdnc.northbound.version>
+ <sdnc.northbound.version>3.0.2</sdnc.northbound.version>
</properties>
<build>
<plugins>
@@ -130,6 +130,14 @@
<artifactId>aai-client</artifactId>
<version>${project.version}</version>
</dependency>
+ <!-- RFC Supporting Dependencies -->
+ <dependency>
+ <groupId>org.onap.sdnc.northbound</groupId>
+ <artifactId>generic-resource-api-model-swagger</artifactId>
+ <version>3.0.2</version>
+ <type>yaml</type>
+ </dependency>
+ <!-- RFC Supporting Dependencies -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
diff --git a/so-sdn-clients/src/main/java/org/onap/so/client/sdnc/SDNCClient.java b/so-sdn-clients/src/main/java/org/onap/so/client/sdnc/SDNCClient.java
index e29d65857c..ab0f354994 100644
--- a/so-sdn-clients/src/main/java/org/onap/so/client/sdnc/SDNCClient.java
+++ b/so-sdn-clients/src/main/java/org/onap/so/client/sdnc/SDNCClient.java
@@ -81,10 +81,11 @@ public class SDNCClient {
* @throws MapperException
* @throws BadResponseException
*/
+ // Build TargetUrl as per RFC-8040 standards
public String get(String queryLink) throws MapperException, BadResponseException {
String request = "";
String jsonRequest = sdnCommonTasks.buildJsonRequest(request);
- String targetUrl = UriBuilder.fromUri(properties.getHost()).path(queryLink).build().toString();
+ String targetUrl = properties.getHost() + "/" + queryLink;
BaseClient<String, LinkedHashMap<String, Object>> STOClient = new BaseClient<>();
STOClient.setTargetUrl(targetUrl);
HttpHeaders httpHeader = sdnCommonTasks.getHttpHeaders(properties.getAuth(), false);