VNFM simulator implementation for instantiate flow
[so.git] / vnfm-simulator / vnfm-service / src / main / java / org / onap / svnfm / simulator / config / ApplicationConfig.java
1 package org.onap.svnfm.simulator.config;
2
3 import java.net.InetAddress;
4 import java.util.Arrays;
5 import org.onap.svnfm.simulator.constants.Constant;
6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.boot.ApplicationArguments;
8 import org.springframework.boot.ApplicationRunner;
9 import org.springframework.cache.Cache;
10 import org.springframework.cache.CacheManager;
11 import org.springframework.cache.concurrent.ConcurrentMapCache;
12 import org.springframework.cache.support.SimpleCacheManager;
13 import org.springframework.context.annotation.Bean;
14 import org.springframework.core.env.Environment;
15 import org.springframework.stereotype.Component;
16
17 @Component
18 public class ApplicationConfig implements ApplicationRunner {
19
20     private static final String PORT = "local.server.port";
21
22     @Autowired
23     private Environment environment;
24
25     private String baseUrl;
26
27     @Override
28     public void run(final ApplicationArguments args) throws Exception {
29         baseUrl = "http://" + InetAddress.getLocalHost().getHostAddress() + ":" + environment.getProperty(PORT);
30     }
31
32     public String getBaseUrl() {
33         return baseUrl;
34     }
35
36     @Bean
37     public CacheManager cacheManager() {
38         Cache inlineResponse201 = new ConcurrentMapCache(Constant.IN_LINE_RESPONSE_201_CACHE);
39         SimpleCacheManager manager = new SimpleCacheManager();
40         manager.setCaches(Arrays.asList(inlineResponse201));
41         return manager;
42     }
43 }