* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 European Software Marketing Ltd.
+ * Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2017-2019 European Software Marketing Ltd.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.babel;
-import java.util.HashMap;
+import com.google.common.collect.ImmutableMap;
import org.eclipse.jetty.util.security.Password;
+import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ImportResource;
@SpringBootApplication
@ImportResource("classpath:babel-beans.xml")
public class BabelApplication extends SpringBootServletInitializer {
- private static final String OBFS_PATTERN = "OBF:";
+ private static ConfigurableApplicationContext context;
/**
* Spring Boot Initialization.
- *
- * @param args main args
+ *
+ * @param args
+ * main args (expected to be null)
*/
public static void main(String[] args) {
String keyStorePassword = System.getProperty("KEY_STORE_PASSWORD");
if (keyStorePassword == null || keyStorePassword.isEmpty()) {
- throw new IllegalArgumentException("Env property KEY_STORE_PASSWORD not set");
+ throw new IllegalArgumentException("Mandatory property KEY_STORE_PASSWORD not set");
}
- HashMap<String, Object> props = new HashMap<>();
- String decryptedValue = keyStorePassword.startsWith(OBFS_PATTERN)? Password.deobfuscate(keyStorePassword) : keyStorePassword;
- props.put("server.ssl.key-store-password", decryptedValue);
- new BabelApplication().configure(new SpringApplicationBuilder(BabelApplication.class).properties(props))
+ ImmutableMap<String, Object> defaults =
+ ImmutableMap.of("server.ssl.key-store-password", new Password(keyStorePassword).toString());
+
+ context = new BabelApplication() //
+ .configure(new SpringApplicationBuilder(BabelApplication.class).properties(defaults)) //
.run(args);
}
+
+ public static void exit() {
+ SpringApplication.exit(context);
+ }
}