Display ESR API with swagger 45/30445/1
authorLizi <li.zi30@zte.com.cn>
Tue, 6 Feb 2018 11:49:01 +0000 (11:49 +0000)
committerLizi <li.zi30@zte.com.cn>
Tue, 6 Feb 2018 11:50:21 +0000 (11:50 +0000)
When ESR registered to MSB. The API of esr-server can be visited from MSB portal through swagger

Change-Id: I142b79c00920697839f55eac95b50a6072d19ca4
Issue-ID: AAI-735
Signed-off-by: Lizi <li.zi30@zte.com.cn>
esr-mgr/src/main/java/org/onap/aai/esr/ExtsysApp.java
esr-mgr/src/main/java/org/onap/aai/esr/resource/EmsManager.java
esr-mgr/src/main/java/org/onap/aai/esr/resource/ThirdpartySdncManager.java
esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java
esr-mgr/src/main/java/org/onap/aai/esr/resource/VnfmManager.java
pom.xml

index 358fb07..db44504 100644 (file)
@@ -27,7 +27,12 @@ import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import io.dropwizard.Application;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import io.dropwizard.Application;
+import io.dropwizard.server.SimpleServerFactory;
 import io.dropwizard.setup.Environment;
 import io.dropwizard.setup.Environment;
+import io.swagger.jaxrs.config.BeanConfig;
+import io.swagger.jaxrs.listing.ApiListingResource;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
 
 public class ExtsysApp extends Application<ExtsysAppConfiguration> {
 
 
 public class ExtsysApp extends Application<ExtsysAppConfiguration> {
 
@@ -53,6 +58,7 @@ public class ExtsysApp extends Application<ExtsysAppConfiguration> {
         environment.jersey().register(new VimManager());
         environment.jersey().register(new VnfmManager());
         environment.jersey().register(new ServiceTest());
         environment.jersey().register(new VimManager());
         environment.jersey().register(new VnfmManager());
         environment.jersey().register(new ServiceTest());
+        initSwaggerConfig(environment, configuration);
         if ("true".equals(configuration.getRegistByHand())) {
             String MSB_IP = configuration.getMsbDiscoveryIp();
             Integer MSB_Port = Integer.valueOf(configuration.getMsbDiscoveryPort());
         if ("true".equals(configuration.getRegistByHand())) {
             String MSB_IP = configuration.getMsbDiscoveryIp();
             Integer MSB_Port = Integer.valueOf(configuration.getMsbDiscoveryPort());
@@ -67,5 +73,33 @@ public class ExtsysApp extends Application<ExtsysAppConfiguration> {
         }
         LOGGER.info("Initialize extsys finished.");
     }
         }
         LOGGER.info("Initialize extsys finished.");
     }
+    
+    /**
+     * initialize swagger configuration.
+     * 
+     * @param environment environment information
+     * @param configuration catalogue configuration
+     */
+    private void initSwaggerConfig(Environment environment, ExtsysAppConfiguration configuration) {
+        environment.jersey().register(new ApiListingResource());
+        environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
 
 
+        BeanConfig config = new BeanConfig();
+        config.setTitle("ONAP ESR Service rest API");
+        config.setVersion("1.0.0");
+        config.setResourcePackage("org.onap.aai.esr.resource");
+        // set rest api basepath in swagger
+        SimpleServerFactory simpleServerFactory =
+                (SimpleServerFactory) configuration.getServerFactory();
+        String basePath = simpleServerFactory.getApplicationContextPath();
+        String rootPath = simpleServerFactory.getJerseyRootPath().get();
+        rootPath = rootPath.substring(0, rootPath.indexOf("/*"));
+        basePath =
+                basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath)
+                        .append(rootPath).toString();
+        LOGGER.info("getApplicationContextPath: " + basePath);
+        config.setBasePath(basePath);
+        config.setScan(true);
+    }
+    
 }
 }
index 3c18353..cebc10f 100644 (file)
@@ -21,7 +21,6 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.SwaggerDefinition;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.EmsRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.EmsRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
@@ -39,7 +38,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@SwaggerDefinition
 @Path("/emses")
 @Api(tags = {" ems Management "})
 public class EmsManager {
 @Path("/emses")
 @Api(tags = {" ems Management "})
 public class EmsManager {
index b633b8c..89481e8 100644 (file)
@@ -21,7 +21,6 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.SwaggerDefinition;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.ThirdpartySdncRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.ThirdpartySdncRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
@@ -39,9 +38,9 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@SwaggerDefinition
+
 @Path("/sdncontrollers")
 @Path("/sdncontrollers")
-@Api(tags = {"ThirdParty sdnc Management     "})
+@Api(tags = {"ThirdParty sdnc Management "})
 public class ThirdpartySdncManager {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ThirdpartySdncManager.class);
 public class ThirdpartySdncManager {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ThirdpartySdncManager.class);
index b408f62..a122c47 100644 (file)
@@ -20,7 +20,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.SwaggerDefinition;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.VimRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.VimRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
@@ -38,7 +37,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@SwaggerDefinition
 @Path("/vims")
 @Api(tags = {" vim Management "})
 public class VimManager {
 @Path("/vims")
 @Api(tags = {" vim Management "})
 public class VimManager {
index f86fd57..6588f58 100644 (file)
@@ -21,7 +21,6 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.SwaggerDefinition;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.VnfmRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
 import org.eclipse.jetty.http.HttpStatus;
 import org.onap.aai.esr.entity.rest.VnfmRegisterInfo;
 import org.onap.aai.esr.util.ExtsysUtil;
@@ -39,7 +38,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-@SwaggerDefinition
 @Path("/vnfms")
 @Api(tags = {" vnfm Management "})
 public class VnfmManager {
 @Path("/vnfms")
 @Api(tags = {" vnfm Management "})
 public class VnfmManager {
diff --git a/pom.xml b/pom.xml
index fa3f050..017e44f 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
        
        <properties>
         <dropwizard.version>1.2.2</dropwizard.version>
        
        <properties>
         <dropwizard.version>1.2.2</dropwizard.version>
-        <swagger.version>1.5.16</swagger.version>
+        <swagger.version>1.5.3</swagger.version>
         <jersey.version>2.16</jersey.version>
         <jaxrs.consumer.version>5.0</jaxrs.consumer.version>
         <gson.version>2.2.4</gson.version>
         <jersey.version>2.16</jersey.version>
         <jaxrs.consumer.version>5.0</jaxrs.consumer.version>
         <gson.version>2.2.4</gson.version>