Skip to content

Commit aed1d28

Browse files
committed
fix: code smells, renamed Strategy to StrategyConfig
1 parent 5462c25 commit aed1d28

19 files changed

Lines changed: 128 additions & 128 deletions

File tree

src/main/java/com/switcherapi/client/model/criteria/Config.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ public class Config extends SwitcherElement {
1111

1212
private final String key;
1313

14-
private final Strategy[] strategies;
14+
private final StrategyConfig[] strategies;
1515

1616
private final String[] components;
1717

1818
private final Relay relay;
1919

20-
public Config(String key, String description, boolean activated, Strategy[] strategies, String[] components,
21-
Relay relay) {
20+
public Config(String key, String description, boolean activated, StrategyConfig[] strategies, String[] components,
21+
Relay relay) {
2222
super(description, activated);
2323
this.key = key;
2424
this.strategies = strategies;
@@ -38,7 +38,7 @@ public Relay getRelay() {
3838
return relay;
3939
}
4040

41-
public Strategy[] getStrategies() {
41+
public StrategyConfig[] getStrategies() {
4242
return strategies;
4343
}
4444

src/main/java/com/switcherapi/client/model/criteria/Strategy.java renamed to src/main/java/com/switcherapi/client/model/criteria/StrategyConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
* @author Roger Floriano (petruki)
1010
* @since 2019-12-24
1111
*/
12-
public class Strategy extends SwitcherElement {
12+
public class StrategyConfig extends SwitcherElement {
1313

1414
private final String strategy;
1515

1616
private final String operation;
1717

1818
private final String[] values;
1919

20-
public Strategy(String strategy, String operation, String description, boolean activated, String[] values) {
20+
public StrategyConfig(String strategy, String operation, String description, boolean activated, String[] values) {
2121
super(description, activated);
2222
this.strategy = strategy;
2323
this.operation = operation;

src/main/java/com/switcherapi/client/service/SwitcherValidator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.switcherapi.client.service;
22

33
import com.switcherapi.client.model.Entry;
4-
import com.switcherapi.client.model.criteria.Strategy;
4+
import com.switcherapi.client.model.criteria.StrategyConfig;
55
import com.switcherapi.client.service.validators.Validator;
66

77
/**
@@ -22,10 +22,10 @@ public interface SwitcherValidator {
2222
* validating from the top of the node (Domain) ascending to the lower level
2323
* (Strategy)
2424
*
25-
* @param strategy Configuration switcher to be validated
25+
* @param strategyConfig Configuration switcher to be validated
2626
* @param switcherInput Input to be validated
2727
* @return The criteria result
2828
*/
29-
boolean execute(final Strategy strategy, final Entry switcherInput);
29+
boolean execute(final StrategyConfig strategyConfig, final Entry switcherInput);
3030

3131
}

src/main/java/com/switcherapi/client/service/ValidatorService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.switcherapi.client.exception.SwitcherInvalidStrategyException;
44
import com.switcherapi.client.model.Entry;
55
import com.switcherapi.client.model.StrategyValidator;
6-
import com.switcherapi.client.model.criteria.Strategy;
6+
import com.switcherapi.client.model.criteria.StrategyConfig;
77
import com.switcherapi.client.service.validators.*;
88

99
import java.util.EnumMap;
@@ -33,13 +33,13 @@ public void registerValidator(Validator validator) {
3333
}
3434

3535
@Override
36-
public boolean execute(final Strategy strategy, final Entry switcherInput)
36+
public boolean execute(final StrategyConfig strategyConfig, final Entry switcherInput)
3737
throws SwitcherInvalidStrategyException {
38-
if (!validators.containsKey(strategy.getStrategyValidator())) {
39-
throw new SwitcherInvalidStrategyException(strategy.getStrategy());
38+
if (!validators.containsKey(strategyConfig.getStrategyValidator())) {
39+
throw new SwitcherInvalidStrategyException(strategyConfig.getStrategy());
4040
}
4141

42-
return validators.get(strategy.getStrategyValidator()).execute(strategy, switcherInput);
42+
return validators.get(strategyConfig.getStrategyValidator()).execute(strategyConfig, switcherInput);
4343
}
4444

4545
}

src/main/java/com/switcherapi/client/service/local/ClientLocalService.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.switcherapi.client.model.criteria.Config;
88
import com.switcherapi.client.model.criteria.Domain;
99
import com.switcherapi.client.model.criteria.Group;
10-
import com.switcherapi.client.model.criteria.Strategy;
10+
import com.switcherapi.client.model.criteria.StrategyConfig;
1111
import com.switcherapi.client.model.SwitcherResult;
1212
import com.switcherapi.client.service.SwitcherFactory;
1313
import com.switcherapi.client.service.SwitcherValidator;
@@ -115,40 +115,40 @@ private Config findConfigInGroup(final Group group, final String switcherKey) {
115115
* @return SwitcherResult containing the result of the execution
116116
* @throws SwitcherException If encountered either invalid input or misconfiguration
117117
*/
118-
private SwitcherResult processOperation(final Strategy[] configStrategies, final List<Entry> input,
118+
private SwitcherResult processOperation(final StrategyConfig[] configStrategies, final List<Entry> input,
119119
final SwitcherRequest switcher) {
120120
SwitcherUtils.debug(logger, LOG_PROCESS_OP_TEMPLATE, Arrays.toString(configStrategies));
121121

122-
for (final Strategy strategy : configStrategies) {
123-
if (!strategy.isActivated()) {
122+
for (final StrategyConfig strategyConfig : configStrategies) {
123+
if (!strategyConfig.isActivated()) {
124124
continue;
125125
}
126126

127-
final Entry switcherInput = tryGetSwitcherInput(input, strategy);
127+
final Entry switcherInput = tryGetSwitcherInput(input, strategyConfig);
128128

129129
if (switcherInput == null) {
130-
return strategyFailed(switcher, strategy, STRATEGY_FAIL_NO_INPUT_PATTERN);
130+
return strategyFailed(switcher, strategyConfig, STRATEGY_FAIL_NO_INPUT_PATTERN);
131131
}
132132

133-
if (!validatorService.execute(strategy, switcherInput)) {
134-
return strategyFailed(switcher, strategy, STRATEGY_FAIL_PATTERN);
133+
if (!validatorService.execute(strategyConfig, switcherInput)) {
134+
return strategyFailed(switcher, strategyConfig, STRATEGY_FAIL_PATTERN);
135135
}
136136
}
137137

138138
return SwitcherFactory.buildResultEnabled(switcher);
139139
}
140140

141-
private SwitcherResult strategyFailed(SwitcherRequest switcher, Strategy strategy, String pattern) {
142-
return SwitcherFactory.buildResultDisabled(String.format(pattern, strategy.getStrategy()), switcher);
141+
private SwitcherResult strategyFailed(SwitcherRequest switcher, StrategyConfig strategyConfig, String pattern) {
142+
return SwitcherFactory.buildResultDisabled(String.format(pattern, strategyConfig.getStrategy()), switcher);
143143
}
144144

145-
private Entry tryGetSwitcherInput(final List<Entry> input, Strategy strategy) {
145+
private Entry tryGetSwitcherInput(final List<Entry> input, StrategyConfig strategyConfig) {
146146
if (input == null) {
147147
return null;
148148
}
149149

150150
return input.stream()
151-
.filter(i -> i.getStrategy().equals(strategy.getStrategy()))
151+
.filter(i -> i.getStrategy().equals(strategyConfig.getStrategy()))
152152
.findFirst()
153153
.orElse(null);
154154
}

src/main/java/com/switcherapi/client/service/validators/DateValidator.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.switcherapi.client.model.Entry;
77
import com.switcherapi.client.model.EntryOperation;
88
import com.switcherapi.client.model.StrategyValidator;
9-
import com.switcherapi.client.model.criteria.Strategy;
9+
import com.switcherapi.client.model.criteria.StrategyConfig;
1010
import org.apache.commons.lang3.time.DateUtils;
1111

1212
import java.text.ParseException;
@@ -22,44 +22,44 @@ public StrategyValidator getType() {
2222
}
2323

2424
@Override
25-
public boolean process(final Strategy strategy, final Entry switcherInput) throws SwitcherInvalidOperationException,
25+
public boolean process(final StrategyConfig strategyConfig, final Entry switcherInput) throws SwitcherInvalidOperationException,
2626
SwitcherInvalidTimeFormat, SwitcherInvalidOperationInputException {
2727

2828
try {
29-
return selectDateOperationCase(strategy, switcherInput);
29+
return selectDateOperationCase(strategyConfig, switcherInput);
3030
} catch (ParseException e) {
31-
throw new SwitcherInvalidTimeFormat(strategy.getStrategy(), e);
31+
throw new SwitcherInvalidTimeFormat(strategyConfig.getStrategy(), e);
3232
}
3333
}
3434

35-
private boolean selectDateOperationCase(final Strategy strategy, final Entry switcherInput) throws ParseException {
35+
private boolean selectDateOperationCase(final StrategyConfig strategyConfig, final Entry switcherInput) throws ParseException {
3636
Date stgDate;
3737
Date stgDate2;
3838
Date inputDate;
3939

40-
switch (strategy.getEntryOperation()) {
40+
switch (strategyConfig.getEntryOperation()) {
4141
case LOWER:
42-
stgDate = DateUtils.parseDate(getFullDate(strategy.getValues()[0]), DATE_FORMAT);
42+
stgDate = DateUtils.parseDate(getFullDate(strategyConfig.getValues()[0]), DATE_FORMAT);
4343
inputDate = DateUtils.parseDate(getFullDate(switcherInput.getInput()), DATE_FORMAT);
4444

4545
return inputDate.before(stgDate);
4646
case GREATER:
47-
stgDate = DateUtils.parseDate(getFullDate(strategy.getValues()[0]), DATE_FORMAT);
47+
stgDate = DateUtils.parseDate(getFullDate(strategyConfig.getValues()[0]), DATE_FORMAT);
4848
inputDate = DateUtils.parseDate(getFullDate(switcherInput.getInput()), DATE_FORMAT);
4949

5050
return inputDate.after(stgDate);
5151
case BETWEEN:
52-
if (strategy.getValues().length == 2) {
53-
stgDate = DateUtils.parseDate(getFullDate(strategy.getValues()[0]), DATE_FORMAT);
54-
stgDate2 = DateUtils.parseDate(getFullDate(strategy.getValues()[1]), DATE_FORMAT);
52+
if (strategyConfig.getValues().length == 2) {
53+
stgDate = DateUtils.parseDate(getFullDate(strategyConfig.getValues()[0]), DATE_FORMAT);
54+
stgDate2 = DateUtils.parseDate(getFullDate(strategyConfig.getValues()[1]), DATE_FORMAT);
5555
inputDate = DateUtils.parseDate(getFullDate(switcherInput.getInput()), DATE_FORMAT);
5656

5757
return inputDate.after(stgDate) && inputDate.before(stgDate2);
5858
}
5959

6060
throw new SwitcherInvalidOperationInputException(EntryOperation.BETWEEN.name());
6161
default:
62-
throw new SwitcherInvalidOperationException(strategy.getOperation(), strategy.getStrategy());
62+
throw new SwitcherInvalidOperationException(strategyConfig.getOperation(), strategyConfig.getStrategy());
6363
}
6464
}
6565

src/main/java/com/switcherapi/client/service/validators/NetworkValidator.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.switcherapi.client.exception.SwitcherInvalidOperationException;
44
import com.switcherapi.client.model.Entry;
55
import com.switcherapi.client.model.StrategyValidator;
6-
import com.switcherapi.client.model.criteria.Strategy;
6+
import com.switcherapi.client.model.criteria.StrategyConfig;
77
import org.apache.commons.net.util.SubnetUtils;
88
import org.apache.commons.net.util.SubnetUtils.SubnetInfo;
99

@@ -17,20 +17,20 @@ public StrategyValidator getType() {
1717
}
1818

1919
@Override
20-
public boolean process(final Strategy strategy, final Entry switcherInput) {
21-
switch (strategy.getEntryOperation()) {
20+
public boolean process(final StrategyConfig strategyConfig, final Entry switcherInput) {
21+
switch (strategyConfig.getEntryOperation()) {
2222
case EXIST:
23-
return verifyIfAddressExistInNetwork(strategy, switcherInput);
23+
return verifyIfAddressExistInNetwork(strategyConfig, switcherInput);
2424
case NOT_EXIST:
25-
return !verifyIfAddressExistInNetwork(strategy, switcherInput);
25+
return !verifyIfAddressExistInNetwork(strategyConfig, switcherInput);
2626
default:
27-
throw new SwitcherInvalidOperationException(strategy.getOperation(), strategy.getStrategy());
27+
throw new SwitcherInvalidOperationException(strategyConfig.getOperation(), strategyConfig.getStrategy());
2828
}
2929
}
3030

31-
private boolean verifyIfAddressExistInNetwork(final Strategy strategy, final Entry switcherInput) {
31+
private boolean verifyIfAddressExistInNetwork(final StrategyConfig strategyConfig, final Entry switcherInput) {
3232
SubnetInfo subnetInfo;
33-
for (final String value : strategy.getValues()) {
33+
for (final String value : strategyConfig.getValues()) {
3434
if (value.matches(CIDR_REGEX)) {
3535
subnetInfo = new SubnetUtils(value).getInfo();
3636

src/main/java/com/switcherapi/client/service/validators/NumericValidator.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.switcherapi.client.exception.SwitcherInvalidOperationException;
55
import com.switcherapi.client.model.Entry;
66
import com.switcherapi.client.model.StrategyValidator;
7-
import com.switcherapi.client.model.criteria.Strategy;
7+
import com.switcherapi.client.model.criteria.StrategyConfig;
88
import org.apache.commons.lang3.math.NumberUtils;
99

1010
import java.util.Arrays;
@@ -17,46 +17,46 @@ public StrategyValidator getType() {
1717
}
1818

1919
@Override
20-
public boolean process(final Strategy strategy, final Entry switcherInput) {
20+
public boolean process(final StrategyConfig strategyConfig, final Entry switcherInput) {
2121
if (!NumberUtils.isCreatable(switcherInput.getInput()))
2222
throw new SwitcherInvalidNumericFormat(switcherInput.getInput());
2323

24-
switch (strategy.getEntryOperation()) {
24+
switch (strategyConfig.getEntryOperation()) {
2525
case EXIST:
26-
return Arrays.stream(strategy.getValues()).anyMatch(val -> val.equals(switcherInput.getInput()));
26+
return Arrays.stream(strategyConfig.getValues()).anyMatch(val -> val.equals(switcherInput.getInput()));
2727
case NOT_EXIST:
28-
return Arrays.stream(strategy.getValues()).noneMatch(val -> val.equals(switcherInput.getInput()));
28+
return Arrays.stream(strategyConfig.getValues()).noneMatch(val -> val.equals(switcherInput.getInput()));
2929
case EQUAL:
30-
return strategy.getValues().length == 1 && strategy.getValues()[0].equals(switcherInput.getInput());
30+
return strategyConfig.getValues().length == 1 && strategyConfig.getValues()[0].equals(switcherInput.getInput());
3131
case NOT_EQUAL:
32-
return strategy.getValues().length == 1 && !strategy.getValues()[0].equals(switcherInput.getInput());
32+
return strategyConfig.getValues().length == 1 && !strategyConfig.getValues()[0].equals(switcherInput.getInput());
3333
case LOWER:
34-
if (strategy.getValues().length == 1) {
34+
if (strategyConfig.getValues().length == 1) {
3535
final double numericInput = NumberUtils.createNumber(switcherInput.getInput()).doubleValue();
36-
final double numericValue = NumberUtils.createNumber(strategy.getValues()[0]).doubleValue();
36+
final double numericValue = NumberUtils.createNumber(strategyConfig.getValues()[0]).doubleValue();
3737
return numericInput < numericValue;
3838
}
3939
break;
4040
case GREATER:
41-
if (strategy.getValues().length == 1) {
41+
if (strategyConfig.getValues().length == 1) {
4242
final double numericInput = NumberUtils.createNumber(switcherInput.getInput()).doubleValue();
43-
final double numericValue = NumberUtils.createNumber(strategy.getValues()[0]).doubleValue();
43+
final double numericValue = NumberUtils.createNumber(strategyConfig.getValues()[0]).doubleValue();
4444
return numericInput > numericValue;
4545
}
4646
break;
4747
case BETWEEN:
48-
if (strategy.getValues().length == 2) {
48+
if (strategyConfig.getValues().length == 2) {
4949
final double numericInput = NumberUtils.createNumber(switcherInput.getInput()).doubleValue();
50-
final double numericFirstValue = NumberUtils.createNumber(strategy.getValues()[0]).doubleValue();
51-
final double numericSecondValue = NumberUtils.createNumber(strategy.getValues()[1]).doubleValue();
50+
final double numericFirstValue = NumberUtils.createNumber(strategyConfig.getValues()[0]).doubleValue();
51+
final double numericSecondValue = NumberUtils.createNumber(strategyConfig.getValues()[1]).doubleValue();
5252
return numericInput >= numericFirstValue && numericFirstValue <= numericSecondValue;
5353
}
5454
break;
5555
default:
56-
throw new SwitcherInvalidOperationException(strategy.getOperation(), strategy.getStrategy());
56+
throw new SwitcherInvalidOperationException(strategyConfig.getOperation(), strategyConfig.getStrategy());
5757
}
5858

59-
throw new SwitcherInvalidOperationException(strategy.getOperation(), strategy.getStrategy());
59+
throw new SwitcherInvalidOperationException(strategyConfig.getOperation(), strategyConfig.getStrategy());
6060
}
6161

6262
}

src/main/java/com/switcherapi/client/service/validators/PayloadValidator.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.switcherapi.client.exception.SwitcherInvalidOperationException;
44
import com.switcherapi.client.model.Entry;
55
import com.switcherapi.client.model.StrategyValidator;
6-
import com.switcherapi.client.model.criteria.Strategy;
6+
import com.switcherapi.client.model.criteria.StrategyConfig;
77
import com.switcherapi.client.utils.SwitcherUtils;
88

99
import java.util.Arrays;
@@ -17,31 +17,31 @@ public StrategyValidator getType() {
1717
}
1818

1919
@Override
20-
public boolean process(Strategy strategy, Entry switcherInput) {
21-
switch (strategy.getEntryOperation()) {
20+
public boolean process(StrategyConfig strategyConfig, Entry switcherInput) {
21+
switch (strategyConfig.getEntryOperation()) {
2222
case HAS_ONE:
23-
return hasOne(strategy, switcherInput);
23+
return hasOne(strategyConfig, switcherInput);
2424
case HAS_ALL:
25-
return hasAll(strategy, switcherInput);
25+
return hasAll(strategyConfig, switcherInput);
2626
default:
27-
throw new SwitcherInvalidOperationException(strategy.getOperation(), strategy.getStrategy());
27+
throw new SwitcherInvalidOperationException(strategyConfig.getOperation(), strategyConfig.getStrategy());
2828
}
2929
}
3030

31-
private boolean hasOne(Strategy strategy, Entry switcherInput) {
31+
private boolean hasOne(StrategyConfig strategyConfig, Entry switcherInput) {
3232
try {
3333
final Set<String> keySet = SwitcherUtils.payloadReader(switcherInput.getInput(), null);
34-
return Arrays.stream(strategy.getValues())
34+
return Arrays.stream(strategyConfig.getValues())
3535
.anyMatch(keySet::contains);
3636
} catch (Exception e) {
3737
return false;
3838
}
3939
}
4040

41-
private boolean hasAll(Strategy strategy, Entry switcherInput) {
41+
private boolean hasAll(StrategyConfig strategyConfig, Entry switcherInput) {
4242
try {
4343
final Set<String> keySet = SwitcherUtils.payloadReader(switcherInput.getInput(), null);
44-
return Arrays.stream(strategy.getValues())
44+
return Arrays.stream(strategyConfig.getValues())
4545
.allMatch(keySet::contains);
4646
} catch (Exception e) {
4747
return false;

0 commit comments

Comments
 (0)