1 package pk.lucidxpo.ynami;
2
3 import org.springframework.beans.BeansException;
4 import org.springframework.boot.autoconfigure.SpringBootApplication;
5 import org.springframework.context.ApplicationContext;
6 import org.springframework.context.ApplicationContextAware;
7
8 import static org.apache.commons.lang3.BooleanUtils.toBoolean;
9 import static org.springframework.boot.SpringApplication.run;
10 import static pk.lucidxpo.ynami.spring.features.TogglzWrapper.bindApplicationContext;
11 import static pk.lucidxpo.ynami.spring.features.TogglzWrapper.getApplicationContext;
12 import static pk.lucidxpo.ynami.spring.features.TogglzWrapper.releaseApplicationContext;
13
14 @SpringBootApplication
15 public class YNaMiApplication implements ApplicationContextAware {
16
17 public static void main(String[] args) {
18 run(YNaMiApplication.class, args);
19 }
20
21 @Override
22 public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
23 if (toBoolean(applicationContext.getEnvironment().getProperty("config.togglz.enabled"))) {
24 if (getApplicationContext() != null) {
25 releaseApplicationContext();
26 }
27 bindApplicationContext(applicationContext);
28 }
29 }
30 }