Skip to content

Commit 6b634ed

Browse files
committed
Combine else if.
1 parent b1f6f2e commit 6b634ed

6 files changed

Lines changed: 122 additions & 138 deletions

File tree

src/main/java/org/apache/commons/codec/language/ColognePhonetic.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,12 +363,10 @@ public String colognePhonetic(final String text) {
363363
} else {
364364
output.put('8');
365365
}
366+
} else if (arrayContains(SZ, lastChar) || !arrayContains(AHKOQUX, nextChar)) {
367+
output.put('8');
366368
} else {
367-
if (arrayContains(SZ, lastChar) || !arrayContains(AHKOQUX, nextChar)) {
368-
output.put('8');
369-
} else {
370-
output.put('4');
371-
}
369+
output.put('4');
372370
}
373371
} else if (arrayContains(DTX, chr)) {
374372
output.put('8');

src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -654,12 +654,10 @@ private int handleSC(final String value, final DoubleMetaphoneResult result, fin
654654
} else {
655655
result.append("SK");
656656
}
657+
} else if (index == 0 && !isVowel(charAt(value, 3)) && charAt(value, 3) != 'W') {
658+
result.append('X', 'S');
657659
} else {
658-
if (index == 0 && !isVowel(charAt(value, 3)) && charAt(value, 3) != 'W') {
659-
result.append('X', 'S');
660-
} else {
661-
result.append('X');
662-
}
660+
result.append('X');
663661
}
664662
} else if (contains(value, index + 2, 1, "I", "E", "Y")) {
665663
result.append('S');
@@ -704,30 +702,28 @@ private int handleW(final String value, final DoubleMetaphoneResult result, int
704702
//-- can also be in middle of word --//
705703
result.append('R');
706704
index += 2;
707-
} else {
708-
if (index == 0 && (isVowel(charAt(value, index + 1)) ||
709-
contains(value, index, 2, "WH"))) {
710-
if (isVowel(charAt(value, index + 1))) {
711-
//-- Wasserman should match Vasserman --//
712-
result.append('A', 'F');
713-
} else {
714-
//-- need Uomo to match Womo --//
715-
result.append('A');
716-
}
717-
index++;
718-
} else if ((index == value.length() - 1 && isVowel(charAt(value, index - 1))) ||
719-
contains(value, index - 1, 5, "EWSKI", "EWSKY", "OWSKI", "OWSKY") ||
720-
contains(value, 0, 3, "SCH")) {
721-
//-- Arnow should match Arnoff --//
722-
result.appendAlternate('F');
723-
index++;
724-
} else if (contains(value, index, 4, "WICZ", "WITZ")) {
725-
//-- Polish e.g. "filipowicz" --//
726-
result.append("TS", "FX");
727-
index += 4;
705+
} else if (index == 0 && (isVowel(charAt(value, index + 1)) ||
706+
contains(value, index, 2, "WH"))) {
707+
if (isVowel(charAt(value, index + 1))) {
708+
//-- Wasserman should match Vasserman --//
709+
result.append('A', 'F');
728710
} else {
729-
index++;
711+
//-- need Uomo to match Womo --//
712+
result.append('A');
730713
}
714+
index++;
715+
} else if ((index == value.length() - 1 && isVowel(charAt(value, index - 1))) ||
716+
contains(value, index - 1, 5, "EWSKI", "EWSKY", "OWSKI", "OWSKY") ||
717+
contains(value, 0, 3, "SCH")) {
718+
//-- Arnow should match Arnoff --//
719+
result.appendAlternate('F');
720+
index++;
721+
} else if (contains(value, index, 4, "WICZ", "WITZ")) {
722+
//-- Polish e.g. "filipowicz" --//
723+
result.append("TS", "FX");
724+
index += 4;
725+
} else {
726+
index++;
731727
}
732728
return index;
733729
}

src/main/java/org/apache/commons/codec/language/bm/Lang.java

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -139,37 +139,35 @@ public static Lang loadFromResource(final String languageRulesResourceName, fina
139139
if (line.endsWith(ResourceConstants.EXT_CMT_END)) {
140140
inExtendedComment = false;
141141
}
142+
} else if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
143+
inExtendedComment = true;
142144
} else {
143-
if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
144-
inExtendedComment = true;
145-
} else {
146-
// discard comments
147-
final int cmtI = line.indexOf(ResourceConstants.CMT);
148-
if (cmtI >= 0) {
149-
line = line.substring(0, cmtI);
150-
}
151-
152-
// trim leading-trailing whitespace
153-
line = line.trim();
154-
155-
if (line.isEmpty()) {
156-
continue; // empty lines can be safely skipped
157-
}
158-
159-
// split it up
160-
final String[] parts = line.split("\\s+");
161-
162-
if (parts.length != 3) {
163-
throw new IllegalArgumentException("Malformed line '" + rawLine +
164-
"' in language resource '" + languageRulesResourceName + "'");
165-
}
166-
167-
final Pattern pattern = Pattern.compile(parts[0]);
168-
final String[] langs = parts[1].split("\\+");
169-
final boolean accept = parts[2].equals("true");
170-
171-
rules.add(new LangRule(pattern, new HashSet<>(Arrays.asList(langs)), accept));
145+
// discard comments
146+
final int cmtI = line.indexOf(ResourceConstants.CMT);
147+
if (cmtI >= 0) {
148+
line = line.substring(0, cmtI);
172149
}
150+
151+
// trim leading-trailing whitespace
152+
line = line.trim();
153+
154+
if (line.isEmpty()) {
155+
continue; // empty lines can be safely skipped
156+
}
157+
158+
// split it up
159+
final String[] parts = line.split("\\s+");
160+
161+
if (parts.length != 3) {
162+
throw new IllegalArgumentException("Malformed line '" + rawLine +
163+
"' in language resource '" + languageRulesResourceName + "'");
164+
}
165+
166+
final Pattern pattern = Pattern.compile(parts[0]);
167+
final String[] langs = parts[1].split("\\+");
168+
final boolean accept = parts[2].equals("true");
169+
170+
rules.add(new LangRule(pattern, new HashSet<>(Arrays.asList(langs)), accept));
173171
}
174172
}
175173
}

src/main/java/org/apache/commons/codec/language/bm/Languages.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,12 +181,10 @@ public static Languages getInstance(final String languagesResourceName) {
181181
if (line.endsWith(ResourceConstants.EXT_CMT_END)) {
182182
inExtendedComment = false;
183183
}
184-
} else {
185-
if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
186-
inExtendedComment = true;
187-
} else if (!line.isEmpty()) {
188-
ls.add(line);
189-
}
184+
} else if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
185+
inExtendedComment = true;
186+
} else if (!line.isEmpty()) {
187+
ls.add(line);
190188
}
191189
}
192190
return new Languages(Collections.unmodifiableSet(ls));

src/main/java/org/apache/commons/codec/language/bm/Rule.java

Lines changed: 59 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -408,74 +408,72 @@ private static Map<String, List<Rule>> parseRules(final Scanner scanner, final S
408408
if (line.endsWith(ResourceConstants.EXT_CMT_END)) {
409409
inMultilineComment = false;
410410
}
411+
} else if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
412+
inMultilineComment = true;
411413
} else {
412-
if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
413-
inMultilineComment = true;
414-
} else {
415-
// discard comments
416-
final int cmtI = line.indexOf(ResourceConstants.CMT);
417-
if (cmtI >= 0) {
418-
line = line.substring(0, cmtI);
419-
}
414+
// discard comments
415+
final int cmtI = line.indexOf(ResourceConstants.CMT);
416+
if (cmtI >= 0) {
417+
line = line.substring(0, cmtI);
418+
}
420419

421-
// trim leading-trailing whitespace
422-
line = line.trim();
420+
// trim leading-trailing whitespace
421+
line = line.trim();
423422

424-
if (line.isEmpty()) {
425-
continue; // empty lines can be safely skipped
423+
if (line.isEmpty()) {
424+
continue; // empty lines can be safely skipped
425+
}
426+
427+
if (line.startsWith(HASH_INCLUDE)) {
428+
// include statement
429+
final String incl = line.substring(HASH_INCLUDE_LENGTH).trim();
430+
if (incl.contains(" ")) {
431+
throw new IllegalArgumentException("Malformed import statement '" + rawLine + "' in " +
432+
location);
433+
}
434+
try (final Scanner hashIncludeScanner = createScanner(incl)) {
435+
lines.putAll(parseRules(hashIncludeScanner, location + "->" + incl));
426436
}
437+
} else {
438+
// rule
439+
final String[] parts = line.split("\\s+");
440+
if (parts.length != 4) {
441+
throw new IllegalArgumentException("Malformed rule statement split into " + parts.length +
442+
" parts: " + rawLine + " in " + location);
443+
}
444+
try {
445+
final String pat = stripQuotes(parts[0]);
446+
final String lCon = stripQuotes(parts[1]);
447+
final String rCon = stripQuotes(parts[2]);
448+
final PhonemeExpr ph = parsePhonemeExpr(stripQuotes(parts[3]));
449+
final int cLine = currentLine;
450+
final Rule r = new Rule(pat, lCon, rCon, ph) {
451+
private final int myLine = cLine;
452+
private final String loc = location;
427453

428-
if (line.startsWith(HASH_INCLUDE)) {
429-
// include statement
430-
final String incl = line.substring(HASH_INCLUDE_LENGTH).trim();
431-
if (incl.contains(" ")) {
432-
throw new IllegalArgumentException("Malformed import statement '" + rawLine + "' in " +
433-
location);
434-
}
435-
try (final Scanner hashIncludeScanner = createScanner(incl)) {
436-
lines.putAll(parseRules(hashIncludeScanner, location + "->" + incl));
437-
}
438-
} else {
439-
// rule
440-
final String[] parts = line.split("\\s+");
441-
if (parts.length != 4) {
442-
throw new IllegalArgumentException("Malformed rule statement split into " + parts.length +
443-
" parts: " + rawLine + " in " + location);
444-
}
445-
try {
446-
final String pat = stripQuotes(parts[0]);
447-
final String lCon = stripQuotes(parts[1]);
448-
final String rCon = stripQuotes(parts[2]);
449-
final PhonemeExpr ph = parsePhonemeExpr(stripQuotes(parts[3]));
450-
final int cLine = currentLine;
451-
final Rule r = new Rule(pat, lCon, rCon, ph) {
452-
private final int myLine = cLine;
453-
private final String loc = location;
454-
455-
@Override
456-
public String toString() {
457-
final StringBuilder sb = new StringBuilder();
458-
sb.append("Rule");
459-
sb.append("{line=").append(myLine);
460-
sb.append(", loc='").append(loc).append('\'');
461-
sb.append(", pat='").append(pat).append('\'');
462-
sb.append(", lcon='").append(lCon).append('\'');
463-
sb.append(", rcon='").append(rCon).append('\'');
464-
sb.append('}');
465-
return sb.toString();
466-
}
467-
};
468-
final String patternKey = r.pattern.substring(0,1);
469-
List<Rule> rules = lines.get(patternKey);
470-
if (rules == null) {
471-
rules = new ArrayList<>();
472-
lines.put(patternKey, rules);
454+
@Override
455+
public String toString() {
456+
final StringBuilder sb = new StringBuilder();
457+
sb.append("Rule");
458+
sb.append("{line=").append(myLine);
459+
sb.append(", loc='").append(loc).append('\'');
460+
sb.append(", pat='").append(pat).append('\'');
461+
sb.append(", lcon='").append(lCon).append('\'');
462+
sb.append(", rcon='").append(rCon).append('\'');
463+
sb.append('}');
464+
return sb.toString();
473465
}
474-
rules.add(r);
475-
} catch (final IllegalArgumentException e) {
476-
throw new IllegalStateException("Problem parsing line '" + currentLine + "' in " +
477-
location, e);
466+
};
467+
final String patternKey = r.pattern.substring(0,1);
468+
List<Rule> rules = lines.get(patternKey);
469+
if (rules == null) {
470+
rules = new ArrayList<>();
471+
lines.put(patternKey, rules);
478472
}
473+
rules.add(r);
474+
} catch (final IllegalArgumentException e) {
475+
throw new IllegalStateException("Problem parsing line '" + currentLine + "' in " +
476+
location, e);
479477
}
480478
}
481479
}

src/main/java/org/apache/commons/codec/net/PercentCodec.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,10 @@ private byte[] doEncode(final byte[] bytes, final int expectedLength, final bool
143143
buffer.put(ESCAPE_CHAR);
144144
buffer.put((byte) hex1);
145145
buffer.put((byte) hex2);
146+
} else if (plusForSpace && b == ' ') {
147+
buffer.put((byte) '+');
146148
} else {
147-
if (plusForSpace && b == ' ') {
148-
buffer.put((byte) '+');
149-
} else {
150-
buffer.put(b);
151-
}
149+
buffer.put(b);
152150
}
153151
}
154152
return buffer.array();
@@ -204,12 +202,10 @@ public byte[] decode(final byte[] bytes) throws DecoderException {
204202
} catch (final ArrayIndexOutOfBoundsException e) {
205203
throw new DecoderException("Invalid percent decoding: ", e);
206204
}
205+
} else if (plusForSpace && b == '+') {
206+
buffer.put((byte) ' ');
207207
} else {
208-
if (plusForSpace && b == '+') {
209-
buffer.put((byte) ' ');
210-
} else {
211-
buffer.put(b);
212-
}
208+
buffer.put(b);
213209
}
214210
}
215211
return buffer.array();

0 commit comments

Comments
 (0)