aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java
diff options
context:
space:
mode:
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 00000000..ef28ea40
--- /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();
+ }
+}