aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java
diff options
context:
space:
mode:
authorSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
committerSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
commitc72d565bb58226b20625b2bce5f0019046bee649 (patch)
tree8658e49595705b02e47ddc14afa20d6bb7123547 /vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java
parentef8a6b47847012fd59ea20da21d8d3d7c4a301ed (diff)
Merge 1806 code of vid-common
Change-Id: I75d52abed4a24dfe3827d79edc4a2938726aa87a Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java b/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java
new file mode 100644
index 000000000..ef28ea400
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java
@@ -0,0 +1,40 @@
+package org.onap.vid.properties;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
+import org.togglz.core.manager.FeatureManager;
+import org.togglz.core.manager.FeatureManagerBuilder;
+import org.togglz.core.repository.file.FileBasedStateRepository;
+import org.togglz.spring.listener.TogglzApplicationContextBinderApplicationListener;
+
+import javax.servlet.ServletContext;
+import java.io.File;
+
+@Configuration
+public class FeaturesTogglingConfiguration {
+ @Bean
+ public ApplicationListener getApplicationListener() {
+ return new TogglzApplicationContextBinderApplicationListener();
+ }
+
+ @Bean
+ public FeatureManager featureManager(ServletContext servletContext, Environment environment) {
+ final String defaultFilename = "features.properties";
+
+ String filename = environment.getProperty("featureFlags.filename");
+
+ if (StringUtils.isBlank(filename)) {
+ filename = defaultFilename;
+ }
+
+ return new FeatureManagerBuilder()
+ .featureEnum(Features.class)
+ .stateRepository(new FileBasedStateRepository(
+ new File(servletContext.getRealPath("/WEB-INF/conf/" + filename))
+ ))
+ .build();
+ }
+}