aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2017-09-20 19:06:05 +0530
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2017-09-20 21:19:03 +0530
commitfaa96aff9ec83d0690eff7088f8fa84654b2dfe5 (patch)
treec98e87c12417a9f273b2ef49f6b7c38fd8dcd425
parent76cf1c65509b8e59d1f10c1ae8efb45b2ceeb58c (diff)
Add swagger-sdk support for MSB service
It adds required changes to create the swagger.json at build time for MSB services. MSB-78 Change-Id: I84f37e01100f9b55ad231e419d6c3d3e42390a12 Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
-rw-r--r--apiroute/apiroute-service/dependency-reduced-pom.xml70
-rw-r--r--apiroute/apiroute-service/pom.xml95
-rw-r--r--apiroute/apiroute-service/src/main/resources/swagger.properties50
3 files changed, 207 insertions, 8 deletions
diff --git a/apiroute/apiroute-service/dependency-reduced-pom.xml b/apiroute/apiroute-service/dependency-reduced-pom.xml
index 697e024..4c53010 100644
--- a/apiroute/apiroute-service/dependency-reduced-pom.xml
+++ b/apiroute/apiroute-service/dependency-reduced-pom.xml
@@ -67,6 +67,76 @@
</filters>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>properties-maven-plugin</artifactId>
+ <version>1.0.0</version>
+ <executions>
+ <execution>
+ <phase>initialize</phase>
+ <goals>
+ <goal>read-project-properties</goal>
+ </goals>
+ <configuration>
+ <files>
+ <file>${basedir}/src/main/resources/swagger.properties</file>
+ </files>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.kongchen</groupId>
+ <artifactId>swagger-maven-plugin</artifactId>
+ <version>3.1.4</version>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <apiSources>
+ <apiSource>
+ <locations>${api-rest-package}</locations>
+ <schemes>http,https</schemes>
+ <host>${api-host-ip}:${api-host-port}</host>
+ <basePath>${api-base-path}</basePath>
+ <info>
+ <title>${api-title}</title>
+ <version>${api-version}</version>
+ <description>${api-description}</description>
+ <license>
+ <name>${api-license}</name>
+ </license>
+ </info>
+ <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
+ </apiSource>
+ </apiSources>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.3.1</version>
+ <executions>
+ <execution>
+ <id>install-file-id</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <file>${basedir}/src/main/resources/swagger.json</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}-swagger-schema</artifactId>
+ <version>${project.version}</version>
+ <packaging>json</packaging>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<dependencies>
diff --git a/apiroute/apiroute-service/pom.xml b/apiroute/apiroute-service/pom.xml
index 9f047e9..3502768 100644
--- a/apiroute/apiroute-service/pom.xml
+++ b/apiroute/apiroute-service/pom.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)
- 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
+<!-- Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)
+ 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. -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -65,7 +65,7 @@
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<scope>test</scope>
- </dependency>
+ </dependency>
<dependency>
<groupId>com.orbitz.consul</groupId>
<artifactId>consul-client</artifactId>
@@ -107,6 +107,12 @@
<artifactId>commons-io</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.onap.msb.swagger-sdk</groupId>
+ <artifactId>swagger-sdk</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+
</dependencies>
<build>
<plugins>
@@ -158,6 +164,79 @@
</execution>
</executions>
</plugin>
+
+ <!-- JSON -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>properties-maven-plugin</artifactId>
+ <version>1.0.0</version>
+ <executions>
+ <execution>
+ <phase>initialize</phase>
+ <goals>
+ <goal>read-project-properties</goal>
+ </goals>
+ <configuration>
+ <files>
+ <file>${basedir}/src/main/resources/swagger.properties</file>
+ </files>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.kongchen</groupId>
+ <artifactId>swagger-maven-plugin</artifactId>
+ <version>3.1.4</version>
+ <configuration>
+ <apiSources>
+ <apiSource>
+ <locations>${api-rest-package}</locations>
+ <schemes>http,https</schemes>
+ <host>${api-host-ip}:${api-host-port}</host>
+ <basePath>${api-base-path}</basePath>
+ <info>
+ <title>${api-title}</title>
+ <version>${api-version}</version>
+ <description>${api-description}</description>
+ <license>
+ <name>${api-license}</name>
+ </license>
+ </info>
+ <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
+ </apiSource>
+ </apiSources>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.3.1</version>
+ <executions>
+ <execution>
+ <id>install-file-id</id>
+ <phase>install</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <file>${basedir}/src/main/resources/swagger.json</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}-swagger-schema</artifactId>
+ <version>${project.version}</version>
+ <packaging>json</packaging>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<resources>
<resource>
diff --git a/apiroute/apiroute-service/src/main/resources/swagger.properties b/apiroute/apiroute-service/src/main/resources/swagger.properties
new file mode 100644
index 0000000..af46762
--- /dev/null
+++ b/apiroute/apiroute-service/src/main/resources/swagger.properties
@@ -0,0 +1,50 @@
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+
+# Used to do swagger configuration.
+# Open-O Service REST API version
+api-version=1.0.0
+
+# Open-O Service REST API swagger document title
+api-title=MicroService Bus rest API
+
+# Open-O Service REST API swagger document description
+api-description=MicroService Bus rest API
+
+# Open-O Service REST API supported protocols
+api-schemas=http,https
+
+# Open-O Service REST API ROOT URI
+api-base-path=/api/microservices/v1
+
+# swagger.json URI on top of api-base-path. so final URI would as follows
+#<api-base-path>/<api-swagger-uri>/swagger.json
+api-swagger-uri=
+
+# Set the root level java package path, where REST API implemented.
+api-rest-package=org.onap.msb.apiroute
+
+# Enables swagger to scan the ROA defining the REST API
+api-rest-package-scan=true
+
+# License details emebeded in generated swagger.json
+api-license=https://wiki.onap.org/display/DW/Apache+2.0+License
+
+# if service-config-file-path does not have api-host-ip and api-host-port,
+# then ip and port defined here will be used as default
+api-host-ip=127.0.0.1
+api-host-port=80
+
+# Set the below file path to service specific configuration file path
+service-config-file-path=