This is an automated email from the ASF dual-hosted git repository. mawiesne pushed a commit to branch OPENNLP-1674-Make-use-of-enhanced-switch-expression-introduced-in-Java-14 in repository https://gitbox.apache.org/repos/asf/opennlp.git
commit d962feb36631f1b1b0c0c7c13b1bf8da00bbd88b Author: Martin Wiesner <[email protected]> AuthorDate: Thu Dec 19 20:24:39 2024 +0100 OPENNLP-1674 Make use of enhanced switch expression introduced in Java 14 --- .../tools/formats/Conll02NameSampleStream.java | 23 +++++++-------------- .../tools/formats/EvalitaNameSampleStream.java | 23 +++++++-------------- .../conllu/ConlluLemmaSampleStreamFactory.java | 17 +++++---------- .../conllu/ConlluPOSSampleStreamFactory.java | 17 +++++---------- .../tools/formats/conllu/ConlluWordLine.java | 13 +++++------- .../opennlp/tools/ml/model/DataIndexerFactory.java | 24 +++++++--------------- .../java/opennlp/tools/stemmer/PorterStemmer.java | 17 +++++---------- .../tools/tokenize/lang/en/TokenSampleStream.java | 21 +++++++------------ 8 files changed, 48 insertions(+), 107 deletions(-) diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java b/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java index ef6de3b9..7feac5b4 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java +++ b/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java @@ -111,22 +111,13 @@ public class Conll02NameSampleStream implements ObjectStream<NameSample> { String type = beginTag.substring(2); - switch (type) { - case "PER": - type = "person"; - break; - case "LOC": - type = "location"; - break; - case "MISC": - type = "misc"; - break; - case "ORG": - type = "organization"; - break; - default: - throw new InvalidFormatException("Unknown type: " + type); - } + type = switch (type) { + case "PER" -> "person"; + case "LOC" -> "location"; + case "MISC" -> "misc"; + case "ORG" -> "organization"; + default -> throw new InvalidFormatException("Unknown type: " + type); + }; return new Span(begin, end, type); } diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java b/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java index 52b7f549..76574500 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java +++ b/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java @@ -89,22 +89,13 @@ public class EvalitaNameSampleStream implements ObjectStream<NameSample> { String type = beginTag.substring(2); - switch (type) { - case "PER": - type = "person"; - break; - case "LOC": - type = "location"; - break; - case "GPE": - type = "gpe"; - break; - case "ORG": - type = "organization"; - break; - default: - throw new InvalidFormatException("Unknown type: " + type); - } + type = switch (type) { + case "PER" -> "person"; + case "LOC" -> "location"; + case "GPE" -> "gpe"; + case "ORG" -> "organization"; + default -> throw new InvalidFormatException("Unknown type: " + type); + }; return new Span(begin, end, type); } diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java b/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java index 452ae15c..c7b1f77b 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java +++ b/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java @@ -56,18 +56,11 @@ public class ConlluLemmaSampleStreamFactory<P> extends AbstractSampleStreamFacto public ObjectStream<LemmaSample> create(String[] args) { Parameters params = ArgumentParser.parse(args, Parameters.class); - ConlluTagset tagset; - - switch (params.getTagset()) { - case "u": - tagset = ConlluTagset.U; - break; - case "x": - tagset = ConlluTagset.X; - break; - default: - throw new TerminateToolException(-1, "Unknown tagset parameter: " + params.getTagset()); - } + ConlluTagset tagset = switch (params.getTagset()) { + case "u" -> ConlluTagset.U; + case "x" -> ConlluTagset.X; + default -> throw new TerminateToolException(-1, "Unknown tagset parameter: " + params.getTagset()); + }; InputStreamFactory inFactory = CmdLineUtil.createInputStreamFactory(params.getData()); diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java b/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java index 76a3277c..6601dbb6 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java +++ b/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java @@ -57,18 +57,11 @@ public class ConlluPOSSampleStreamFactory<P> extends AbstractSampleStreamFactory public ObjectStream<POSSample> create(String[] args) { Parameters params = ArgumentParser.parse(args, Parameters.class); - ConlluTagset tagset; - - switch (params.getTagset()) { - case "u": - tagset = ConlluTagset.U; - break; - case "x": - tagset = ConlluTagset.X; - break; - default: - throw new TerminateToolException(-1, "Unknown tagset parameter: " + params.getTagset()); - } + ConlluTagset tagset = switch (params.getTagset()) { + case "u" -> ConlluTagset.U; + case "x" -> ConlluTagset.X; + default -> throw new TerminateToolException(-1, "Unknown tagset parameter: " + params.getTagset()); + }; InputStreamFactory inFactory = CmdLineUtil.createInputStreamFactory(params.getData()); diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java b/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java index 0e3129f3..900d637e 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java +++ b/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java @@ -97,14 +97,11 @@ public class ConlluWordLine { * @throws IllegalStateException Thrown if a non-supported {@link ConlluTagset} was specified. */ public String getPosTag(ConlluTagset tagset) { - switch (tagset) { - case U: - return uPosTag; - case X: - return xPosTag; - default: - throw new IllegalStateException("Unexpected tagset value: " + tagset); - } + return switch (tagset) { + case U -> uPosTag; + case X -> xPosTag; + default -> throw new IllegalStateException("Unexpected tagset value: " + tagset); + }; } /** diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java b/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java index d14b2f2a..1e491148 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java @@ -53,24 +53,14 @@ public class DataIndexerFactory { reportMap = new HashMap<>(); } - DataIndexer indexer; - switch (indexerParam) { - case AbstractEventTrainer.DATA_INDEXER_ONE_PASS_VALUE: - indexer = new OnePassDataIndexer(); - break; - - case AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE: - indexer = new TwoPassDataIndexer(); - break; - - case AbstractEventTrainer.DATA_INDEXER_ONE_PASS_REAL_VALUE: - indexer = new OnePassRealValueDataIndexer(); - break; - - default: + DataIndexer indexer = switch (indexerParam) { + case AbstractEventTrainer.DATA_INDEXER_ONE_PASS_VALUE -> new OnePassDataIndexer(); + case AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE -> new TwoPassDataIndexer(); + case AbstractEventTrainer.DATA_INDEXER_ONE_PASS_REAL_VALUE -> new OnePassRealValueDataIndexer(); + default -> // if the user passes in a class name for the indexer, try to instantiate the class. - indexer = ExtensionLoader.instantiateExtension(DataIndexer.class, indexerParam); - } + ExtensionLoader.instantiateExtension(DataIndexer.class, indexerParam); + }; indexer.init(parameters, reportMap); diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/PorterStemmer.java b/opennlp-tools/src/main/java/opennlp/tools/stemmer/PorterStemmer.java index f57e3127..623a2d3d 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/stemmer/PorterStemmer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/stemmer/PorterStemmer.java @@ -119,18 +119,11 @@ public class PorterStemmer implements Stemmer { /* cons(i) is true <=> b[i] is a consonant. */ private boolean cons(int i) { - switch (b[i]) { - case 'a': - case 'e': - case 'i': - case 'o': - case 'u': - return false; - case 'y': - return (i == k0) || !cons(i - 1); - default: - return true; - } + return switch (b[i]) { + case 'a', 'e', 'i', 'o', 'u' -> false; + case 'y' -> (i == k0) || !cons(i - 1); + default -> true; + }; } /* m() measures the number of consonant sequences between k0 and j. if c is diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java b/opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java index e723215a..951fca5b 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java +++ b/opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java @@ -65,20 +65,13 @@ public class TokenSampleStream implements Iterator<TokenSample> { for (int ti = 0; ti < tokens.length; ti++) { String token = tokens[ti]; String lastToken = ti - 1 >= 0 ? tokens[ti - 1] : ""; - switch (token) { - case "-LRB-": - token = "("; - break; - case "-LCB-": - token = "{"; - break; - case "-RRB-": - token = ")"; - break; - case "-RCB-": - token = "}"; - break; - } + token = switch (token) { + case "-LRB-" -> "("; + case "-LCB-" -> "{"; + case "-RRB-" -> ")"; + case "-RCB-" -> "}"; + default -> token; + }; if (sb.length() != 0) { if (!alphaNumeric.matcher(token).find() || token.startsWith("'") || token.equalsIgnoreCase("n't")) { if ((token.equals("``") || token.equals("--") || token.equals("$") ||
