summaryrefslogtreecommitdiffstats
path: root/cps-rest
diff options
context:
space:
mode:
Diffstat (limited to 'cps-rest')
-rw-r--r--cps-rest/docs/openapi/openapi.yml4
-rwxr-xr-xcps-rest/pom.xml26
-rwxr-xr-xcps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java18
-rwxr-xr-xcps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java16
4 files changed, 43 insertions, 21 deletions
diff --git a/cps-rest/docs/openapi/openapi.yml b/cps-rest/docs/openapi/openapi.yml
index d5ba97aeb3..4bbf9f0fb6 100644
--- a/cps-rest/docs/openapi/openapi.yml
+++ b/cps-rest/docs/openapi/openapi.yml
@@ -1,5 +1,5 @@
# ============LICENSE_START=======================================================
-# Copyright (C) 2021 Nordix Foundation
+# Copyright (C) 2021-2023 Nordix Foundation
# Modifications Copyright (C) 2021 Pantheon.tech
# Modifications Copyright (C) 2021 Bell Canada.
# Modifications Copyright (C) 2022-2023 TechMahindra Ltd.
@@ -19,7 +19,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
-openapi: 3.0.1
+openapi: 3.0.3
info:
title: ONAP Open API v3 Configuration Persistence Service
description: Configuration Persistence Service is a Model Driven Generic Database
diff --git a/cps-rest/pom.xml b/cps-rest/pom.xml
index f6f81006ed..d3be9c3610 100755
--- a/cps-rest/pom.xml
+++ b/cps-rest/pom.xml
@@ -128,8 +128,9 @@
<plugins>
<!-- Swagger code generation. -->
<plugin>
- <groupId>io.swagger.codegen.v3</groupId>
- <artifactId>swagger-codegen-maven-plugin</artifactId>
+ <groupId>org.openapitools</groupId>
+ <artifactId>openapi-generator-maven-plugin</artifactId>
+ <version>6.6.0</version>
<executions>
<execution>
<id>code-gen</id>
@@ -141,19 +142,36 @@
<invokerPackage>org.onap.cps.rest.controller</invokerPackage>
<modelPackage>org.onap.cps.rest.model</modelPackage>
<apiPackage>org.onap.cps.rest.api</apiPackage>
- <language>spring</language>
+ <generatorName>spring</generatorName>
<generateSupportingFiles>false</generateSupportingFiles>
<configOptions>
<sourceFolder>src/gen/java</sourceFolder>
<dateLibrary>java11</dateLibrary>
<interfaceOnly>true</interfaceOnly>
<useTags>true</useTags>
+ <openApiNullable>false</openApiNullable>
+ <skipDefaultInterface>true</skipDefaultInterface>
+ </configOptions>
+ </configuration>
+ </execution>
+ <execution>
+ <id>openapi-yaml-gen</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <phase>compile</phase>
+ <configuration>
+ <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
+ <generatorName>openapi-yaml</generatorName>
+ <configOptions>
+ <outputFile>openapi.yaml</outputFile>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
@@ -166,7 +184,7 @@
<outputDirectory>${project.basedir}/target/classes/static/api-docs/cps-core</outputDirectory>
<resources>
<resource>
- <directory>${project.basedir}/target/generated-sources/swagger/</directory>
+ <directory>${project.basedir}/target/generated-sources/openapi/</directory>
<includes>
<include>openapi.yaml</include>
</includes>
diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java
index 993c5a3b52..369c94d294 100755
--- a/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java
+++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/AdminRestController.java
@@ -96,14 +96,15 @@ public class AdminRestController implements CpsAdminApi {
/**
* Create a {@link SchemaSet}.
*
- * @param multipartFile multipart file
- * @param schemaSetName schemaset name
* @param dataspaceName dataspace name
+ * @param schemaSetName schemaset name
+ * @param multipartFile multipart file
* @return a {@Link ResponseEntity} of created schemaset name & {@link HttpStatus} CREATED
*/
@Override
- public ResponseEntity<String> createSchemaSet(@NotNull @Valid final String schemaSetName,
- final String dataspaceName, @Valid final MultipartFile multipartFile) {
+ public ResponseEntity<String> createSchemaSet(final String dataspaceName,
+ @NotNull @Valid final String schemaSetName,
+ final MultipartFile multipartFile) {
cpsModuleService.createSchemaSet(dataspaceName, schemaSetName, extractYangResourcesMap(multipartFile));
return new ResponseEntity<>(schemaSetName, HttpStatus.CREATED);
}
@@ -111,16 +112,17 @@ public class AdminRestController implements CpsAdminApi {
/**
* Create a {@link SchemaSet}.
*
- * @param multipartFile multipart file
- * @param schemaSetName schemaset name
* @param dataspaceName dataspace name
+ * @param schemaSetName schemaset name
+ * @param multipartFile multipart file
* @return a {@Link ResponseEntity} of created schema set without any response body & {@link HttpStatus} CREATED
*/
@Override
@Timed(value = "cps.rest.admin.controller.schemaset.create",
description = "Time taken to create schemaset from controller")
- public ResponseEntity<Void> createSchemaSetV2(@NotNull @Valid final String schemaSetName,
- final String dataspaceName, @Valid final MultipartFile multipartFile) {
+ public ResponseEntity<Void> createSchemaSetV2(final String dataspaceName,
+ @NotNull @Valid final String schemaSetName,
+ final MultipartFile multipartFile) {
cpsModuleService.createSchemaSet(dataspaceName, schemaSetName, extractYangResourcesMap(multipartFile));
return new ResponseEntity<>(HttpStatus.CREATED);
}
diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java
index edfeab33ec..62163327ff 100755
--- a/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java
+++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2020-2022 Bell Canada.
* Modifications Copyright (C) 2021 Pantheon.tech
- * Modifications Copyright (C) 2021-2022 Nordix Foundation
+ * Modifications Copyright (C) 2021-2023 Nordix Foundation
* Modifications Copyright (C) 2022-2023 TechMahindra Ltd.
* Modifications Copyright (C) 2022 Deutsche Telekom AG
* ================================================================================
@@ -63,9 +63,9 @@ public class DataRestController implements CpsDataApi {
private final PrefixResolver prefixResolver;
@Override
- public ResponseEntity<String> createNode(@RequestHeader(value = "Content-Type") final String contentTypeHeader,
- final String apiVersion,
+ public ResponseEntity<String> createNode(final String apiVersion,
final String dataspaceName, final String anchorName,
+ @RequestHeader(value = "Content-Type") final String contentTypeHeader,
final String nodeData, final String parentNodeXpath,
final String observedTimestamp) {
final ContentType contentType = contentTypeHeader.contains(MediaType.APPLICATION_XML_VALUE) ? ContentType.XML
@@ -90,8 +90,9 @@ public class DataRestController implements CpsDataApi {
}
@Override
- public ResponseEntity<String> addListElements(final String parentNodeXpath, final String apiVersion,
- final String dataspaceName, final String anchorName, final Object jsonData, final String observedTimestamp) {
+ public ResponseEntity<String> addListElements(final String apiVersion, final String dataspaceName,
+ final String anchorName, final String parentNodeXpath,
+ final Object jsonData, final String observedTimestamp) {
cpsDataService.saveListElements(dataspaceName, anchorName, parentNodeXpath,
jsonObjectMapper.asJsonString(jsonData), toOffsetDateTime(observedTimestamp));
return new ResponseEntity<>(HttpStatus.CREATED);
@@ -148,8 +149,9 @@ public class DataRestController implements CpsDataApi {
}
@Override
- public ResponseEntity<Object> replaceListContent(final String parentNodeXpath,
- final String apiVersion, final String dataspaceName, final String anchorName, final Object jsonData,
+ public ResponseEntity<Object> replaceListContent(final String apiVersion,
+ final String dataspaceName, final String anchorName,
+ final String parentNodeXpath, final Object jsonData,
final String observedTimestamp) {
cpsDataService.replaceListContent(dataspaceName, anchorName, parentNodeXpath,
jsonObjectMapper.asJsonString(jsonData), toOffsetDateTime(observedTimestamp));