You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/08/06 16:09:45 UTC

[commons-codec] 01/03: Combine else if.

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-codec.git

commit 6b634edb22eac5c85446681de27671df44798491
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Aug 6 11:59:16 2021 -0400

    Combine else if.
---
 .../commons/codec/language/ColognePhonetic.java    |   8 +-
 .../commons/codec/language/DoubleMetaphone.java    |  50 ++++-----
 .../org/apache/commons/codec/language/bm/Lang.java |  56 +++++-----
 .../commons/codec/language/bm/Languages.java       |  10 +-
 .../org/apache/commons/codec/language/bm/Rule.java | 120 ++++++++++-----------
 .../org/apache/commons/codec/net/PercentCodec.java |  16 ++-
 6 files changed, 122 insertions(+), 138 deletions(-)

diff --git a/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java b/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java
index 049de1f..cb206a6 100644
--- a/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java
+++ b/src/main/java/org/apache/commons/codec/language/ColognePhonetic.java
@@ -363,12 +363,10 @@ public class ColognePhonetic implements StringEncoder {
                     } else {
                         output.put('8');
                     }
+                } else if (arrayContains(SZ, lastChar) || !arrayContains(AHKOQUX, nextChar)) {
+                    output.put('8');
                 } else {
-                    if (arrayContains(SZ, lastChar) || !arrayContains(AHKOQUX, nextChar)) {
-                        output.put('8');
-                    } else {
-                        output.put('4');
-                    }
+                    output.put('4');
                 }
             } else if (arrayContains(DTX, chr)) {
                 output.put('8');
diff --git a/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java b/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java
index ec2a2e0..85e9156 100644
--- a/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java
+++ b/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java
@@ -654,12 +654,10 @@ public class DoubleMetaphone implements StringEncoder {
                 } else {
                     result.append("SK");
                 }
+            } else if (index == 0 && !isVowel(charAt(value, 3)) && charAt(value, 3) != 'W') {
+                result.append('X', 'S');
             } else {
-                if (index == 0 && !isVowel(charAt(value, 3)) && charAt(value, 3) != 'W') {
-                    result.append('X', 'S');
-                } else {
-                    result.append('X');
-                }
+                result.append('X');
             }
         } else if (contains(value, index + 2, 1, "I", "E", "Y")) {
             result.append('S');
@@ -704,30 +702,28 @@ public class DoubleMetaphone implements StringEncoder {
             //-- can also be in middle of word --//
             result.append('R');
             index += 2;
-        } else {
-            if (index == 0 && (isVowel(charAt(value, index + 1)) ||
-                               contains(value, index, 2, "WH"))) {
-                if (isVowel(charAt(value, index + 1))) {
-                    //-- Wasserman should match Vasserman --//
-                    result.append('A', 'F');
-                } else {
-                    //-- need Uomo to match Womo --//
-                    result.append('A');
-                }
-                index++;
-            } else if ((index == value.length() - 1 && isVowel(charAt(value, index - 1))) ||
-                       contains(value, index - 1, 5, "EWSKI", "EWSKY", "OWSKI", "OWSKY") ||
-                       contains(value, 0, 3, "SCH")) {
-                //-- Arnow should match Arnoff --//
-                result.appendAlternate('F');
-                index++;
-            } else if (contains(value, index, 4, "WICZ", "WITZ")) {
-                //-- Polish e.g. "filipowicz" --//
-                result.append("TS", "FX");
-                index += 4;
+        } else if (index == 0 && (isVowel(charAt(value, index + 1)) ||
+                           contains(value, index, 2, "WH"))) {
+            if (isVowel(charAt(value, index + 1))) {
+                //-- Wasserman should match Vasserman --//
+                result.append('A', 'F');
             } else {
-                index++;
+                //-- need Uomo to match Womo --//
+                result.append('A');
             }
+            index++;
+        } else if ((index == value.length() - 1 && isVowel(charAt(value, index - 1))) ||
+                   contains(value, index - 1, 5, "EWSKI", "EWSKY", "OWSKI", "OWSKY") ||
+                   contains(value, 0, 3, "SCH")) {
+            //-- Arnow should match Arnoff --//
+            result.appendAlternate('F');
+            index++;
+        } else if (contains(value, index, 4, "WICZ", "WITZ")) {
+            //-- Polish e.g. "filipowicz" --//
+            result.append("TS", "FX");
+            index += 4;
+        } else {
+            index++;
         }
         return index;
     }
diff --git a/src/main/java/org/apache/commons/codec/language/bm/Lang.java b/src/main/java/org/apache/commons/codec/language/bm/Lang.java
index a6b1f5b..186f833 100644
--- a/src/main/java/org/apache/commons/codec/language/bm/Lang.java
+++ b/src/main/java/org/apache/commons/codec/language/bm/Lang.java
@@ -139,37 +139,35 @@ public class Lang {
                     if (line.endsWith(ResourceConstants.EXT_CMT_END)) {
                         inExtendedComment = false;
                     }
+                } else if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
+                    inExtendedComment = true;
                 } else {
-                    if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
-                        inExtendedComment = true;
-                    } else {
-                        // discard comments
-                        final int cmtI = line.indexOf(ResourceConstants.CMT);
-                        if (cmtI >= 0) {
-                            line = line.substring(0, cmtI);
-                        }
-
-                        // trim leading-trailing whitespace
-                        line = line.trim();
-
-                        if (line.isEmpty()) {
-                            continue; // empty lines can be safely skipped
-                        }
-
-                        // split it up
-                        final String[] parts = line.split("\\s+");
-
-                        if (parts.length != 3) {
-                            throw new IllegalArgumentException("Malformed line '" + rawLine +
-                                    "' in language resource '" + languageRulesResourceName + "'");
-                        }
-
-                        final Pattern pattern = Pattern.compile(parts[0]);
-                        final String[] langs = parts[1].split("\\+");
-                        final boolean accept = parts[2].equals("true");
-
-                        rules.add(new LangRule(pattern, new HashSet<>(Arrays.asList(langs)), accept));
+                    // discard comments
+                    final int cmtI = line.indexOf(ResourceConstants.CMT);
+                    if (cmtI >= 0) {
+                        line = line.substring(0, cmtI);
                     }
+
+                    // trim leading-trailing whitespace
+                    line = line.trim();
+
+                    if (line.isEmpty()) {
+                        continue; // empty lines can be safely skipped
+                    }
+
+                    // split it up
+                    final String[] parts = line.split("\\s+");
+
+                    if (parts.length != 3) {
+                        throw new IllegalArgumentException("Malformed line '" + rawLine +
+                                "' in language resource '" + languageRulesResourceName + "'");
+                    }
+
+                    final Pattern pattern = Pattern.compile(parts[0]);
+                    final String[] langs = parts[1].split("\\+");
+                    final boolean accept = parts[2].equals("true");
+
+                    rules.add(new LangRule(pattern, new HashSet<>(Arrays.asList(langs)), accept));
                 }
             }
         }
diff --git a/src/main/java/org/apache/commons/codec/language/bm/Languages.java b/src/main/java/org/apache/commons/codec/language/bm/Languages.java
index 4e058ed..53669df 100644
--- a/src/main/java/org/apache/commons/codec/language/bm/Languages.java
+++ b/src/main/java/org/apache/commons/codec/language/bm/Languages.java
@@ -181,12 +181,10 @@ public class Languages {
                     if (line.endsWith(ResourceConstants.EXT_CMT_END)) {
                         inExtendedComment = false;
                     }
-                } else {
-                    if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
-                        inExtendedComment = true;
-                    } else if (!line.isEmpty()) {
-                        ls.add(line);
-                    }
+                } else if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
+                    inExtendedComment = true;
+                } else if (!line.isEmpty()) {
+                    ls.add(line);
                 }
             }
             return new Languages(Collections.unmodifiableSet(ls));
diff --git a/src/main/java/org/apache/commons/codec/language/bm/Rule.java b/src/main/java/org/apache/commons/codec/language/bm/Rule.java
index f46f544..8b528ba 100644
--- a/src/main/java/org/apache/commons/codec/language/bm/Rule.java
+++ b/src/main/java/org/apache/commons/codec/language/bm/Rule.java
@@ -408,74 +408,72 @@ public class Rule {
                 if (line.endsWith(ResourceConstants.EXT_CMT_END)) {
                     inMultilineComment = false;
                 }
+            } else if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
+                inMultilineComment = true;
             } else {
-                if (line.startsWith(ResourceConstants.EXT_CMT_START)) {
-                    inMultilineComment = true;
-                } else {
-                    // discard comments
-                    final int cmtI = line.indexOf(ResourceConstants.CMT);
-                    if (cmtI >= 0) {
-                        line = line.substring(0, cmtI);
-                    }
+                // discard comments
+                final int cmtI = line.indexOf(ResourceConstants.CMT);
+                if (cmtI >= 0) {
+                    line = line.substring(0, cmtI);
+                }
 
-                    // trim leading-trailing whitespace
-                    line = line.trim();
+                // trim leading-trailing whitespace
+                line = line.trim();
 
-                    if (line.isEmpty()) {
-                        continue; // empty lines can be safely skipped
+                if (line.isEmpty()) {
+                    continue; // empty lines can be safely skipped
+                }
+
+                if (line.startsWith(HASH_INCLUDE)) {
+                    // include statement
+                    final String incl = line.substring(HASH_INCLUDE_LENGTH).trim();
+                    if (incl.contains(" ")) {
+                        throw new IllegalArgumentException("Malformed import statement '" + rawLine + "' in " +
+                                                           location);
+                    }
+                    try (final Scanner hashIncludeScanner = createScanner(incl)) {
+                        lines.putAll(parseRules(hashIncludeScanner, location + "->" + incl));
                     }
+                } else {
+                    // rule
+                    final String[] parts = line.split("\\s+");
+                    if (parts.length != 4) {
+                        throw new IllegalArgumentException("Malformed rule statement split into " + parts.length +
+                                                           " parts: " + rawLine + " in " + location);
+                    }
+                    try {
+                        final String pat = stripQuotes(parts[0]);
+                        final String lCon = stripQuotes(parts[1]);
+                        final String rCon = stripQuotes(parts[2]);
+                        final PhonemeExpr ph = parsePhonemeExpr(stripQuotes(parts[3]));
+                        final int cLine = currentLine;
+                        final Rule r = new Rule(pat, lCon, rCon, ph) {
+                            private final int myLine = cLine;
+                            private final String loc = location;
 
-                    if (line.startsWith(HASH_INCLUDE)) {
-                        // include statement
-                        final String incl = line.substring(HASH_INCLUDE_LENGTH).trim();
-                        if (incl.contains(" ")) {
-                            throw new IllegalArgumentException("Malformed import statement '" + rawLine + "' in " +
-                                                               location);
-                        }
-                        try (final Scanner hashIncludeScanner = createScanner(incl)) {
-                            lines.putAll(parseRules(hashIncludeScanner, location + "->" + incl));
-                        }
-                    } else {
-                        // rule
-                        final String[] parts = line.split("\\s+");
-                        if (parts.length != 4) {
-                            throw new IllegalArgumentException("Malformed rule statement split into " + parts.length +
-                                                               " parts: " + rawLine + " in " + location);
-                        }
-                        try {
-                            final String pat = stripQuotes(parts[0]);
-                            final String lCon = stripQuotes(parts[1]);
-                            final String rCon = stripQuotes(parts[2]);
-                            final PhonemeExpr ph = parsePhonemeExpr(stripQuotes(parts[3]));
-                            final int cLine = currentLine;
-                            final Rule r = new Rule(pat, lCon, rCon, ph) {
-                                private final int myLine = cLine;
-                                private final String loc = location;
-
-                                @Override
-                                public String toString() {
-                                    final StringBuilder sb = new StringBuilder();
-                                    sb.append("Rule");
-                                    sb.append("{line=").append(myLine);
-                                    sb.append(", loc='").append(loc).append('\'');
-                                    sb.append(", pat='").append(pat).append('\'');
-                                    sb.append(", lcon='").append(lCon).append('\'');
-                                    sb.append(", rcon='").append(rCon).append('\'');
-                                    sb.append('}');
-                                    return sb.toString();
-                                }
-                            };
-                            final String patternKey = r.pattern.substring(0,1);
-                            List<Rule> rules = lines.get(patternKey);
-                            if (rules == null) {
-                                rules = new ArrayList<>();
-                                lines.put(patternKey, rules);
+                            @Override
+                            public String toString() {
+                                final StringBuilder sb = new StringBuilder();
+                                sb.append("Rule");
+                                sb.append("{line=").append(myLine);
+                                sb.append(", loc='").append(loc).append('\'');
+                                sb.append(", pat='").append(pat).append('\'');
+                                sb.append(", lcon='").append(lCon).append('\'');
+                                sb.append(", rcon='").append(rCon).append('\'');
+                                sb.append('}');
+                                return sb.toString();
                             }
-                            rules.add(r);
-                        } catch (final IllegalArgumentException e) {
-                            throw new IllegalStateException("Problem parsing line '" + currentLine + "' in " +
-                                                            location, e);
+                        };
+                        final String patternKey = r.pattern.substring(0,1);
+                        List<Rule> rules = lines.get(patternKey);
+                        if (rules == null) {
+                            rules = new ArrayList<>();
+                            lines.put(patternKey, rules);
                         }
+                        rules.add(r);
+                    } catch (final IllegalArgumentException e) {
+                        throw new IllegalStateException("Problem parsing line '" + currentLine + "' in " +
+                                                        location, e);
                     }
                 }
             }
diff --git a/src/main/java/org/apache/commons/codec/net/PercentCodec.java b/src/main/java/org/apache/commons/codec/net/PercentCodec.java
index 16e3320..24fd2ff 100644
--- a/src/main/java/org/apache/commons/codec/net/PercentCodec.java
+++ b/src/main/java/org/apache/commons/codec/net/PercentCodec.java
@@ -143,12 +143,10 @@ public class PercentCodec implements BinaryEncoder, BinaryDecoder {
                 buffer.put(ESCAPE_CHAR);
                 buffer.put((byte) hex1);
                 buffer.put((byte) hex2);
+            } else if (plusForSpace && b == ' ') {
+                buffer.put((byte) '+');
             } else {
-                if (plusForSpace && b == ' ') {
-                    buffer.put((byte) '+');
-                } else {
-                    buffer.put(b);
-                }
+                buffer.put(b);
             }
         }
         return buffer.array();
@@ -204,12 +202,10 @@ public class PercentCodec implements BinaryEncoder, BinaryDecoder {
                 } catch (final ArrayIndexOutOfBoundsException e) {
                     throw new DecoderException("Invalid percent decoding: ", e);
                 }
+            } else if (plusForSpace && b == '+') {
+                buffer.put((byte) ' ');
             } else {
-                if (plusForSpace && b == '+') {
-                    buffer.put((byte) ' ');
-                } else {
-                    buffer.put(b);
-                }
+                buffer.put(b);
             }
         }
         return buffer.array();