1 package io.getunleash.strategy;
2
3 import java.util.Map;
4 import java.util.Random;
5
6 public final class GradualRolloutRandomStrategy implements Strategy {
7     protected static final String PERCENTAGE = "percentage";
8     private static final String STRATEGY_NAME = "gradualRolloutRandom";
9
10     private final Random random;
11
12     public GradualRolloutRandomStrategy() {
13         random = new Random();
14     }
15
16     protected GradualRolloutRandomStrategy(long seed) {
17         random = new Random(seed);
18     }
19
20     @Override
21     public String getName() {
22         return STRATEGY_NAME;
23     }
24
25     @Override
26     public boolean isEnabled(final Map<String, String> parameters) {
27         int percentage = StrategyUtils.getPercentage(parameters.get(PERCENTAGE));
28         int randomNumber = random.nextInt(100) + 1;
29         return percentage >= randomNumber;
30     }
31 }
32