1 package vid.automation.test.infra;
4 import org.apache.commons.io.FileUtils;
5 import org.togglz.core.context.StaticFeatureManagerProvider;
6 import org.togglz.core.manager.FeatureManager;
7 import org.togglz.core.manager.FeatureManagerBuilder;
8 import org.togglz.core.repository.StateRepository;
9 import org.togglz.core.repository.file.FileBasedStateRepository;
12 import java.io.IOException;
15 import static org.apache.commons.codec.Charsets.UTF_8;
18 public class FeaturesTogglingConfiguration {
20 private static FeatureManager createFeatureManager() {
21 return new FeatureManagerBuilder()
22 .featureEnum(Features.class)
23 .stateRepository(getStateRepository())
27 public static void initializeFeatureManager(){
28 StaticFeatureManagerProvider.setFeatureManager(createFeatureManager());
29 for (Features feature : Features.values()) {
30 System.out.println("FeaturesTogglingConfiguration: " + feature.name() + ": " + feature.isActive());
34 private static StateRepository getStateRepository() {
36 final URL propertiesAsResource = FeaturesTogglingConfiguration.class.getClassLoader().getResource("features.properties");
38 final String featuresFile =
41 propertiesAsResource != null ? propertiesAsResource.getFile() : null
44 System.out.println("features file: " + featuresFile);
46 System.out.println(FileUtils.readFileToString(new File(featuresFile), UTF_8));
47 } catch (IOException e) {
50 return new FileBasedStateRepository(new File(featuresFile));