Add Tests for VNF Package Mgmt - Subscribe and Notify
[integration/csit.git] / plans / so / integration-etsi-testing / so-simulators / vnfm-simulator / vnfm-service / src / main / java / org / onap / so / svnfm / simulator / config / ApplicationConfig.java
1 package org.onap.so.svnfm.simulator.config;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import org.onap.so.svnfm.simulator.constants.Constant;
6 import org.slf4j.Logger;
7 import org.slf4j.LoggerFactory;
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.beans.factory.annotation.Value;
10 import org.springframework.boot.ApplicationArguments;
11 import org.springframework.boot.ApplicationRunner;
12 import org.springframework.cache.Cache;
13 import org.springframework.cache.CacheManager;
14 import org.springframework.cache.concurrent.ConcurrentMapCache;
15 import org.springframework.cache.support.SimpleCacheManager;
16 import org.springframework.context.annotation.Bean;
17 import org.springframework.core.env.Environment;
18 import org.springframework.stereotype.Component;
19
20 @Component
21 public class ApplicationConfig implements ApplicationRunner {
22     private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationConfig.class);
23
24     private static final String PORT = "local.server.port";
25
26     @Value("${server.dns.name:so-vnfm-simulator.onap}")
27     private String serverDnsName;
28
29     @Value("${server.request.grant.auth:oauth}")
30     private String grantAuth;
31
32     @Autowired
33     private Environment environment;
34
35     private String baseUrl;
36
37     @Override
38     public void run(final ApplicationArguments args) throws Exception {
39         baseUrl = "http://" + serverDnsName + ":" + environment.getProperty(PORT);
40     }
41
42     public String getBaseUrl() {
43         return baseUrl;
44     }
45
46     public String getGrantAuth() {
47         return grantAuth;
48     }
49
50     @Bean
51     public CacheManager cacheManager() {
52         final Cache inlineResponse201 = getCache(Constant.IN_LINE_RESPONSE_201_CACHE);
53         final Cache vnfPkgOnboardingNotificationCache = getCache(Constant.VNF_PKG_ONBOARDING_NOTIFICATION_CACHE);
54         final List<Cache> caches = new ArrayList<>();
55         caches.add(inlineResponse201);
56         caches.add(vnfPkgOnboardingNotificationCache);
57         final SimpleCacheManager manager = new SimpleCacheManager();
58         manager.setCaches(caches);
59         return manager;
60     }
61
62     private Cache getCache(final String name) {
63         LOGGER.info("Creating cache with name: {}", name);
64         return new ConcurrentMapCache(name);
65     }
66 }