diff options
Diffstat (limited to 'wfenginemgrservice/src/main')
-rw-r--r-- | wfenginemgrservice/src/main/java/org/onap/workflow/WorkflowApp.java | 73 |
1 files changed, 55 insertions, 18 deletions
diff --git a/wfenginemgrservice/src/main/java/org/onap/workflow/WorkflowApp.java b/wfenginemgrservice/src/main/java/org/onap/workflow/WorkflowApp.java index d5fcb59..ff62f20 100644 --- a/wfenginemgrservice/src/main/java/org/onap/workflow/WorkflowApp.java +++ b/wfenginemgrservice/src/main/java/org/onap/workflow/WorkflowApp.java @@ -18,27 +18,64 @@ package org.onap.workflow; import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.onap.workflow.common.Config; - import io.dropwizard.Application; import io.dropwizard.setup.Environment; +import com.fasterxml.jackson.annotation.JsonInclude; + +import io.dropwizard.assets.AssetsBundle; +import io.dropwizard.server.SimpleServerFactory; +import io.dropwizard.setup.Bootstrap; +import io.swagger.jaxrs.config.BeanConfig; +import io.swagger.jaxrs.listing.ApiListingResource; public class WorkflowApp extends Application<WorkflowAppConfig> { - public static void main(String[] args) throws Exception { - new WorkflowApp().run(args); - } - - public String getName() { - return " Workflow APP "; - } - - @Override - public void run(WorkflowAppConfig configuration, Environment environment) throws Exception { - - environment.jersey().register(MultiPartFeature.class); - - environment.jersey().packages("org.onap.workflow.resources"); - - Config.setWorkflowAppConfig(configuration); - } + public static void main(String[] args) throws Exception { + new WorkflowApp().run(args); + } + + public String getName() { + return " Workflow APP "; + } + + @Override + public void initialize(Bootstrap<WorkflowAppConfig> bootstrap) { + bootstrap.addBundle(new AssetsBundle("/api-doc", "/api-doc", "index.html", "api-doc")); + } + + @Override + public void run(WorkflowAppConfig configuration, Environment environment) throws Exception { + environment.jersey().register(MultiPartFeature.class); + environment.jersey().packages("org.onap.workflow.resources"); + Config.setWorkflowAppConfig(configuration); + initSwaggerConfig(environment, configuration); + } + + /** + * initialize swagger configuration. + * + * @param environment environment information + * @param configuration catalogue configuration + */ + private void initSwaggerConfig(Environment environment, WorkflowAppConfig configuration) { + environment.jersey().register(new ApiListingResource()); + environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL); + + BeanConfig config = new BeanConfig(); + config.setTitle("ONAP WorkFlow rest API"); + config.setVersion("1.0.0"); + config.setResourcePackage("org.onap.workflow.resources"); + // set rest api basepath in swagger + SimpleServerFactory simpleServerFactory = + (SimpleServerFactory) configuration.getServerFactory(); + String basePath = simpleServerFactory.getApplicationContextPath(); + String rootPath = simpleServerFactory.getJerseyRootPath(); + rootPath = rootPath.substring(0, rootPath.indexOf("/*")); + basePath = + basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath).append(rootPath) + .toString(); + config.setBasePath(basePath); + config.setScan(true); + } } + |