X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fcrud%2FCrudApplication.java;h=05160d8afcd98dea06014130ba0d6d06a71b3e60;hb=6aa19e259dddf790e341948bbd160a498d58815b;hp=008ff3f829d46e23a08fcdfa1cecaa3bb6941f59;hpb=08ded90b8c72fba3b75eec4dbf6f1603d6ab2340;p=aai%2Fgizmo.git diff --git a/src/main/java/org/onap/crud/CrudApplication.java b/src/main/java/org/onap/crud/CrudApplication.java index 008ff3f..05160d8 100644 --- a/src/main/java/org/onap/crud/CrudApplication.java +++ b/src/main/java/org/onap/crud/CrudApplication.java @@ -20,8 +20,8 @@ */ package org.onap.crud; +import java.util.Collections; import java.util.HashMap; -import java.util.Map; import javax.annotation.PostConstruct; import org.eclipse.jetty.util.security.Password; import org.springframework.beans.factory.annotation.Autowired; @@ -30,26 +30,51 @@ import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.annotation.ImportResource; import org.springframework.core.env.Environment; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * Crud application class - SpringApplication.run */ @SpringBootApplication +@EnableSwagger2 @ImportResource({"file:${SERVICE_BEANS}/*.xml"}) public class CrudApplication extends SpringBootServletInitializer{// NOSONAR @Autowired private Environment env; - + public static void main(String[] args) {// NOSONAR String keyStorePassword = System.getProperty("KEY_STORE_PASSWORD"); if(keyStorePassword==null || keyStorePassword.isEmpty()){ throw new RuntimeException("Env property KEY_STORE_PASSWORD not set"); } - Map props = new HashMap<>(); - props.put("server.ssl.key-store-password", Password.deobfuscate(keyStorePassword)); - new CrudApplication().configure(new SpringApplicationBuilder(CrudApplication.class).properties(props)).run(args); + HashMap props = new HashMap<>(); + String deobfuscatedKeyStorePassword = keyStorePassword.startsWith("OBF:")?Password.deobfuscate(keyStorePassword):keyStorePassword; + props.put("server.ssl.key-store-password", deobfuscatedKeyStorePassword); + + String trustStoreLocation = System.getProperty("TRUST_STORE_LOCATION"); + String trustStorePassword = System.getProperty("TRUST_STORE_PASSWORD"); + if(trustStoreLocation!=null && trustStorePassword !=null){ + trustStorePassword = trustStorePassword.startsWith("OBF:")?Password.deobfuscate(trustStorePassword):trustStorePassword; + props.put("server.ssl.trust-store", trustStoreLocation); + props.put("server.ssl.trust-store-password", trustStorePassword); + } + + props.put("schema.service.ssl.key-store-password", deobfuscatedKeyStorePassword); + props.put("schema.service.ssl.trust-store-password", deobfuscatedKeyStorePassword); + + + + new CrudApplication() + .configure(new SpringApplicationBuilder(CrudApplication.class).properties(props)) + .run(args); } - + /** * Set required trust store system properties using values from application.properties */ @@ -67,4 +92,15 @@ public class CrudApplication extends SpringBootServletInitializer{// NOSONAR } } } + public static final Contact DEFAULT_CONTACT = new Contact("Amdocs", "http://www.amdocs.com", "noreply@amdocs.com"); + + public static final ApiInfo DEFAULT_API_INFO = new ApiInfo("AAI Gizmo Service", "AAI Gizmo Service.", + "1.0", "urn:tos", DEFAULT_CONTACT, "Apache 2.0", "API license URL", Collections.emptyList()); + + public Docket api() { + return new Docket(DocumentationType.SWAGGER_2).apiInfo(DEFAULT_API_INFO).select().paths(PathSelectors.any()) + .apis(RequestHandlerSelectors.basePackage("org.onap.crud")).build(); + } + + }