summaryrefslogtreecommitdiffstats
path: root/main/pom.xml
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2022-11-17 13:58:24 -0800
committerliamfallon <liam.fallon@est.tech>2022-11-17 13:58:36 -0800
commit09d3bd146edfcb7124eb96cabf99cbaf4857e5c4 (patch)
tree5bad54f1ec3ef3ff2bd1ab18a5bf064ee88e56b9 /main/pom.xml
parent6aa64b948942b402b496b84b89186bcd276ce04c (diff)
Add OpenAPI Swagger 3 spec and API generation
This commit adds the Policy/API OpenAPI (Swagger) document as a source document under source control. This OpenAPI document was generated from the existing SpringFox annotations in the source code, was uploaded to the online Swagger editor and was converted into OpenAPI 3.0 format. It was then manually edited to correct the return types and to match the input and putput types to our Java classes. The pom.xml is also amended to generate the API interface source doe in the target/generated-sources directory. The generated code does NOT replace the existing API code as yet. Issue-ID: POLICY-4431 Change-Id: Iee1cc6a122deffcd05728e8f34172f8d423ebcef Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'main/pom.xml')
-rw-r--r--main/pom.xml44
1 files changed, 44 insertions, 0 deletions
diff --git a/main/pom.xml b/main/pom.xml
index 9aaea334..d018e691 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -149,6 +149,50 @@
</resources>
<plugins>
<plugin>
+ <groupId>io.swagger.codegen.v3</groupId>
+ <artifactId>swagger-codegen-maven-plugin</artifactId>
+ <version>3.0.27</version>
+ <executions>
+ <execution>
+ <id>code-gen</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <inputSpec>${project.basedir}/src/main/resources/openapi/openapi.yaml</inputSpec>
+ <invokerPackage>org.onap.policy.pap.main.rest</invokerPackage>
+ <modelPackage>org.onap.policy.models.tosca.authorative.concepts</modelPackage>
+ <apiPackage>org.onap.policy.pap.main.rest</apiPackage>
+ <language>spring</language>
+ <generateModels>false</generateModels>
+ <generateSupportingFiles>false</generateSupportingFiles>
+ <importMappings>
+ HealthCheckReport=org.onap.policy.common.endpoints.report.HealthCheckReport,
+ StatisticsReport=org.onap.policy.pap.main.rest.StatisticsReport,
+ PdpStatistics=org.onap.policy.models.pdp.concepts.PdpStatistics,
+ Pdps=org.onap.policy.models.pdp.concepts.Pdps,
+ PdpState=org.onap.policy.models.pdp.enums.PdpState,
+ PdpGroupUpdateResponse=org.onap.policy.models.pap.concepts.PdpGroupUpdateResponse,
+ PdpGroupStateChangeResponse=org.onap.policy.models.pap.concepts.PdpGroupStateChangeResponse,
+ PdpGroupDeleteResponse=org.onap.policy.models.pap.concepts.PdpGroupDeleteResponse,
+ PdpGroupDeployResponse=org.onap.policy.models.pap.concepts.PdpGroupDeployResponse,
+ DeploymentGroups=org.onap.policy.models.pdp.concepts.DeploymentGroups,
+ PdpDeployPolicies=org.onap.policy.models.pap.concepts.PdpDeployPolicies,
+ PdpGroups=org.onap.policy.models.pdp.concepts.PdpGroups,
+ PolicyAudit=org.onap.policy.models.pap.concepts.PolicyAudit,
+ PolicyStatus=org.onap.policy.models.pap.concepts.PolicyStatus
+ </importMappings>
+ <configOptions>
+ <sourceFolder>src/gen/java</sourceFolder>
+ <dateLibrary>java11</dateLibrary>
+ <interfaceOnly>true</interfaceOnly>
+ <useTags>true</useTags>
+ </configOptions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>