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