Skip to content

Commit 730bab7

Browse files
author
pauldambra
committed
tidy up the package structure and simplify the second check gate
1 parent b1cdc9d commit 730bab7

15 files changed

+85
-71
lines changed

src/main/java/com/dambra/paul/moduluschecker/ModulusCheckingChain.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.dambra.paul.moduluschecker;
22

33
import com.dambra.paul.moduluschecker.chain.*;
4+
import com.dambra.paul.moduluschecker.chain.gates.*;
5+
import com.dambra.paul.moduluschecker.chain.transformers.ExceptionEightAccountTransformer;
6+
import com.dambra.paul.moduluschecker.chain.transformers.ExceptionSevenAccountTransformer;
7+
import com.dambra.paul.moduluschecker.chain.transformers.ExceptionTenAccountTransformer;
48
import com.dambra.paul.moduluschecker.valacdosFile.ModulusWeightRows;
59

610
final class ModulusCheckingChain {
@@ -57,6 +61,7 @@ static ModulusChainLink create(ModulusWeightRows weightRows, SortCodeSubstitutio
5761
final ExceptionFourteenGate exceptionFourteenGate = new ExceptionFourteenGate(exceptionTwoAndNineGate);
5862
final ExceptionTwoGate exceptionTwoGate = new ExceptionTwoGate(exceptionFourteenGate);
5963
final SecondCheckRequiredGate secondCheckRequiredGate = new SecondCheckRequiredGate(exceptionTwoGate);
64+
6065
final FirstModulusCheckRouter firstModulusCheckRouter = new FirstModulusCheckRouter(
6166
sortCodeSubstitution,
6267
secondCheckRequiredGate

src/main/java/com/dambra/paul/moduluschecker/chain/FirstModulusCheckRouter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.dambra.paul.moduluschecker.chain.checks.ExceptionFiveModulusElevenCheck;
77
import com.dambra.paul.moduluschecker.chain.checks.ModulusElevenCheck;
88
import com.dambra.paul.moduluschecker.chain.checks.ModulusTenCheck;
9+
import com.dambra.paul.moduluschecker.chain.gates.SecondCheckRequiredGate;
910
import com.dambra.paul.moduluschecker.valacdosFile.WeightRow;
1011

1112
import java.util.function.Function;

src/main/java/com/dambra/paul/moduluschecker/chain/ModulusResult.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
public class ModulusResult {
99

1010
/** the default is for a check to pass **/
11-
static final ModulusResult PASSES = new ModulusResult(Optional.of(true), Optional.of(true));
11+
public static final ModulusResult PASSES = new ModulusResult(Optional.of(true), Optional.of(true));
1212

13-
static final List<Integer> exceptionsThatRequireSecondCheck = ImmutableList.of(2, 5, 9, 10, 11, 12, 13, 14);
13+
public static final List<Integer> exceptionsThatRequireSecondCheck = ImmutableList.of(2, 5, 9, 10, 11, 12, 13, 14);
1414

1515
public final Optional<Boolean> firstCheckResult;
1616
public final Optional<Boolean> secondCheckResult;

src/main/java/com/dambra/paul/moduluschecker/chain/SecondCheckRequiredGate.java

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/main/java/com/dambra/paul/moduluschecker/chain/SecondModulusCheckRouter.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.dambra.paul.moduluschecker.chain;
22

3-
import com.dambra.paul.moduluschecker.Account.BankAccount;
43
import com.dambra.paul.moduluschecker.ModulusCheckParams;
54
import com.dambra.paul.moduluschecker.SortCodeSubstitution;
65
import com.dambra.paul.moduluschecker.chain.checks.*;
@@ -25,13 +24,15 @@ public ModulusResult check(ModulusCheckParams params) {
2524

2625
switch (rowSelector.apply(params).modulusAlgorithm) {
2726
case DOUBLE_ALTERNATE:
28-
result = runStandardOrExceptionFiveCheck(params, rowSelector);
27+
result = params.secondWeightRow.get().isException(5)
28+
? new ExceptionFiveDoubleAlternateCheck(sortCodeSubstitution).check(params, rowSelector)
29+
: new DoubleAlternateCheck().check(params, rowSelector);
2930
break;
3031
case MOD10:
3132
result = new ModulusTenCheck().check(params, rowSelector);
3233
break;
3334
case MOD11:
34-
result = runStandardOrExceptionFourteenCheck(params, rowSelector);
35+
result = new ModulusElevenCheck().check(params, rowSelector);
3536
break;
3637
}
3738

@@ -41,14 +42,4 @@ public ModulusResult check(ModulusCheckParams params) {
4142
);
4243
}
4344

44-
private Boolean runStandardOrExceptionFiveCheck(ModulusCheckParams params, Function<ModulusCheckParams, WeightRow> rowSelector) {
45-
if (params.secondWeightRow.get().isException(5)) {
46-
return new ExceptionFiveDoubleAlternateCheck(sortCodeSubstitution).check(params, rowSelector);
47-
}
48-
return new DoubleAlternateCheck().check(params, rowSelector);
49-
}
50-
51-
private Boolean runStandardOrExceptionFourteenCheck(ModulusCheckParams params, Function<ModulusCheckParams, WeightRow> rowSelector) {
52-
return new ModulusElevenCheck().check(params, rowSelector);
53-
}
5445
}

src/main/java/com/dambra/paul/moduluschecker/chain/AtLeastOneWeightRowGate.java renamed to src/main/java/com/dambra/paul/moduluschecker/chain/gates/AtLeastOneWeightRowGate.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
package com.dambra.paul.moduluschecker.chain;
1+
package com.dambra.paul.moduluschecker.chain.gates;
22

33
import com.dambra.paul.moduluschecker.ModulusCheckParams;
4+
import com.dambra.paul.moduluschecker.chain.ModulusChainLink;
5+
import com.dambra.paul.moduluschecker.chain.ModulusResult;
46
import com.dambra.paul.moduluschecker.valacdosFile.ModulusWeightRows;
57

68
import java.util.Optional;

src/main/java/com/dambra/paul/moduluschecker/chain/ExceptionFourteenGate.java renamed to src/main/java/com/dambra/paul/moduluschecker/chain/gates/ExceptionFourteenGate.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
package com.dambra.paul.moduluschecker.chain;
1+
package com.dambra.paul.moduluschecker.chain.gates;
22

33
import com.dambra.paul.moduluschecker.ModulusCheckParams;
4+
import com.dambra.paul.moduluschecker.chain.ModulusChainLink;
5+
import com.dambra.paul.moduluschecker.chain.ModulusResult;
46
import com.dambra.paul.moduluschecker.chain.checks.ExceptionFourteenModulusElevenCheck;
57
import com.dambra.paul.moduluschecker.valacdosFile.WeightRow;
68

src/main/java/com/dambra/paul/moduluschecker/chain/ExceptionSixGate.java renamed to src/main/java/com/dambra/paul/moduluschecker/chain/gates/ExceptionSixGate.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
package com.dambra.paul.moduluschecker.chain;
1+
package com.dambra.paul.moduluschecker.chain.gates;
22

33
import com.dambra.paul.moduluschecker.Account.BankAccount;
44
import com.dambra.paul.moduluschecker.ModulusCheckParams;
5+
import com.dambra.paul.moduluschecker.chain.ModulusChainLink;
6+
import com.dambra.paul.moduluschecker.chain.ModulusResult;
7+
import com.dambra.paul.moduluschecker.chain.transformers.ExceptionSevenAccountTransformer;
58

69
import java.util.Arrays;
710
import java.util.Optional;

src/main/java/com/dambra/paul/moduluschecker/chain/ExceptionThreeGate.java renamed to src/main/java/com/dambra/paul/moduluschecker/chain/gates/ExceptionThreeGate.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
package com.dambra.paul.moduluschecker.chain;
1+
package com.dambra.paul.moduluschecker.chain.gates;
22

33
import com.dambra.paul.moduluschecker.Account.BankAccount;
44
import com.dambra.paul.moduluschecker.ModulusCheckParams;
5+
import com.dambra.paul.moduluschecker.chain.ModulusChainLink;
6+
import com.dambra.paul.moduluschecker.chain.ModulusResult;
7+
import com.dambra.paul.moduluschecker.chain.SecondModulusCheckRouter;
58

69
public final class ExceptionThreeGate implements ModulusChainLink {
710

src/main/java/com/dambra/paul/moduluschecker/chain/ExceptionTwoAndNineGate.java renamed to src/main/java/com/dambra/paul/moduluschecker/chain/gates/ExceptionTwoAndNineGate.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
package com.dambra.paul.moduluschecker.chain;
1+
package com.dambra.paul.moduluschecker.chain.gates;
22

33
import com.dambra.paul.moduluschecker.ModulusCheckParams;
4+
import com.dambra.paul.moduluschecker.chain.ModulusChainLink;
5+
import com.dambra.paul.moduluschecker.chain.ModulusResult;
6+
import com.dambra.paul.moduluschecker.chain.transformers.ExceptionSevenAccountTransformer;
47
import com.dambra.paul.moduluschecker.valacdosFile.WeightRow;
58

69
public final class ExceptionTwoAndNineGate implements ModulusChainLink {

0 commit comments

Comments
 (0)