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 ab7f0792599a625afdefad6796f154cd37db80f9
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sun Jul 17 08:43:14 2022 -0400

    Use forEach()
---
 .../codec/language/DaitchMokotoffSoundex.java      |  5 +--
 .../commons/codec/language/bm/PhoneticEngine.java  | 38 +++++++---------------
 .../org/apache/commons/codec/language/bm/Rule.java |  8 ++---
 3 files changed, 16 insertions(+), 35 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java 
b/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java
index d0cc6cbd..1f502b38 100644
--- a/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java
+++ b/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java
@@ -229,10 +229,7 @@ public class DaitchMokotoffSoundex implements 
StringEncoder {
         }
 
         // sort RULES by pattern length in descending order
-        for (final Map.Entry<Character, List<Rule>> rule : RULES.entrySet()) {
-            final List<Rule> ruleList = rule.getValue();
-            ruleList.sort((rule1, rule2) -> rule2.getPatternLength() - 
rule1.getPatternLength());
-        }
+        RULES.forEach((k, v) -> v.sort((rule1, rule2) -> 
rule2.getPatternLength() - rule1.getPatternLength()));
     }
 
     private static void parseRules(final Scanner scanner, final String 
location,
diff --git 
a/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java 
b/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java
index 8c2163d5..267e42b6 100644
--- a/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java
+++ b/src/main/java/org/apache/commons/codec/language/bm/PhoneticEngine.java
@@ -140,16 +140,7 @@ public class PhoneticEngine {
          * @return  the stringified phoneme set
          */
         public String makeString() {
-            final StringBuilder sb = new StringBuilder();
-
-            for (final Rule.Phoneme ph : this.phonemes) {
-                if (sb.length() > 0) {
-                    sb.append("|");
-                }
-                sb.append(ph.getPhonemeText());
-            }
-
-            return sb.toString();
+            return 
phonemes.stream().map(Rule.Phoneme::getPhonemeText).collect(Collectors.joining("|"));
         }
     }
 
@@ -314,22 +305,20 @@ public class PhoneticEngine {
      * @return the resulting phonemes
      */
     private PhonemeBuilder applyFinalRules(final PhonemeBuilder phonemeBuilder,
-                                           final Map<String, List<Rule>> 
finalRules) {
+            final Map<String, List<Rule>> finalRules) {
         Objects.requireNonNull(finalRules, "finalRules");
         if (finalRules.isEmpty()) {
             return phonemeBuilder;
         }
 
-        final Map<Rule.Phoneme, Rule.Phoneme> phonemes =
-            new TreeMap<>(Rule.Phoneme.COMPARATOR);
+        final Map<Rule.Phoneme, Rule.Phoneme> phonemes = new 
TreeMap<>(Rule.Phoneme.COMPARATOR);
 
-        for (final Rule.Phoneme phoneme : phonemeBuilder.getPhonemes()) {
+        phonemeBuilder.getPhonemes().forEach(phoneme -> {
             PhonemeBuilder subBuilder = 
PhonemeBuilder.empty(phoneme.getLanguages());
             final String phonemeText = phoneme.getPhonemeText().toString();
 
             for (int i = 0; i < phonemeText.length();) {
-                final RulesApplication rulesApplication =
-                        new RulesApplication(finalRules, phonemeText, 
subBuilder, i, maxPhonemes).invoke();
+                final RulesApplication rulesApplication = new 
RulesApplication(finalRules, phonemeText, subBuilder, i, maxPhonemes).invoke();
                 final boolean found = rulesApplication.isFound();
                 subBuilder = rulesApplication.getPhonemeBuilder();
 
@@ -344,7 +333,7 @@ public class PhoneticEngine {
             // the phonemes map orders the phonemes only based on their text, 
but ignores the language set
             // when adding new phonemes, check for equal phonemes and merge 
their language set, otherwise
             // phonemes with the same text but different language set get lost
-            for (final Rule.Phoneme newPhoneme : subBuilder.getPhonemes()) {
+            subBuilder.getPhonemes().forEach(newPhoneme -> {
                 if (phonemes.containsKey(newPhoneme)) {
                     final Rule.Phoneme oldPhoneme = 
phonemes.remove(newPhoneme);
                     final Rule.Phoneme mergedPhoneme = 
oldPhoneme.mergeWithLanguage(newPhoneme.getLanguages());
@@ -352,8 +341,8 @@ public class PhoneticEngine {
                 } else {
                     phonemes.put(newPhoneme, newPhoneme);
                 }
-            }
-        }
+            });
+        });
 
         return new PhonemeBuilder(phonemes.keySet());
     }
@@ -414,11 +403,10 @@ public class PhoneticEngine {
         // special-case handling of word prefixes based upon the name type
         switch (this.nameType) {
         case SEPHARDIC:
-            for (final String aWord : words) {
+            words.forEach(aWord -> {
                 final String[] parts = aWord.split("'");
-                final String lastPart = parts[parts.length - 1];
-                words2.add(lastPart);
-            }
+                words2.add(parts[parts.length - 1]);
+            });
             words2.removeAll(NAME_PREFIXES.get(this.nameType));
             break;
         case ASHKENAZI:
@@ -441,9 +429,7 @@ public class PhoneticEngine {
         } else {
             // encode each word in a multi-word name separately (normally used 
for approx matches)
             final StringBuilder result = new StringBuilder();
-            for (final String word : words2) {
-                result.append("-").append(encode(word));
-            }
+            words2.forEach(word -> result.append("-").append(encode(word)));
             // return the result without the leading "-"
             return result.substring(1);
         }
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 a37e7942..50e38603 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
@@ -214,13 +214,13 @@ public class Rule {
                 final Map<String, Map<String, List<Rule>>> rs = new 
HashMap<>();
 
                 final Languages ls = Languages.getInstance(s);
-                for (final String l : ls.getLanguages()) {
+                ls.getLanguages().forEach(l -> {
                     try (final Scanner scanner = createScanner(s, rt, l)) {
                         rs.put(l, parseRules(scanner, createResourceName(s, 
rt, l)));
                     } catch (final IllegalStateException e) {
                         throw new IllegalStateException("Problem processing " 
+ createResourceName(s, rt, l), e);
                     }
-                }
+                });
                 if (!rt.equals(RuleType.RULES)) {
                     try (final Scanner scanner = createScanner(s, rt, 
"common")) {
                         rs.put("common", parseRules(scanner, 
createResourceName(s, rt, "common")));
@@ -288,9 +288,7 @@ public class Rule {
                                          final Languages.LanguageSet langs) {
         final Map<String, List<Rule>> ruleMap = getInstanceMap(nameType, rt, 
langs);
         final List<Rule> allRules = new ArrayList<>();
-        for (final List<Rule> rules : ruleMap.values()) {
-            allRules.addAll(rules);
-        }
+        ruleMap.values().forEach(rules -> allRules.addAll(rules));
         return allRules;
     }
 

Reply via email to