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-cli.git
commit d350ef8f9cffebf6609f5d34985fadcc0f8b9cb3 Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Tue Jun 10 19:03:31 2025 -0400 Use final --- .../java/org/apache/commons/cli/CommandLine.java | 6 +- .../org/apache/commons/cli/DefaultParserTest.java | 92 +++++++++++----------- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/main/java/org/apache/commons/cli/CommandLine.java b/src/main/java/org/apache/commons/cli/CommandLine.java index 6b11ce1a..332b3893 100644 --- a/src/main/java/org/apache/commons/cli/CommandLine.java +++ b/src/main/java/org/apache/commons/cli/CommandLine.java @@ -762,12 +762,12 @@ public class CommandLine implements Serializable { if (option == null) { return get(defaultValue); } - Class<? extends T> clazz = (Class<? extends T>) option.getType(); - String[] values = getOptionValues(option); + final Class<? extends T> clazz = (Class<? extends T>) option.getType(); + final String[] values = getOptionValues(option); if (values == null) { return get(defaultValue); } - T[] result = (T[]) Array.newInstance(clazz, values.length); + final T[] result = (T[]) Array.newInstance(clazz, values.length); try { for (int i = 0; i < values.length; i++) { result[i] = clazz.cast(option.getConverter().apply(values[i])); diff --git a/src/test/java/org/apache/commons/cli/DefaultParserTest.java b/src/test/java/org/apache/commons/cli/DefaultParserTest.java index 24894413..de52a860 100644 --- a/src/test/java/org/apache/commons/cli/DefaultParserTest.java +++ b/src/test/java/org/apache/commons/cli/DefaultParserTest.java @@ -153,25 +153,25 @@ class DefaultParserTest extends AbstractParserTestCase { @Test void chainingParsersIgnoreHappyPath() throws ParseException { - Option a = Option.builder().option("a").longOpt("first-letter").build(); - Option b = Option.builder().option("b").longOpt("second-letter").build(); - Option c = Option.builder().option("c").longOpt("third-letter").build(); - Option d = Option.builder().option("d").longOpt("fourth-letter").build(); + final Option a = Option.builder().option("a").longOpt("first-letter").build(); + final Option b = Option.builder().option("b").longOpt("second-letter").build(); + final Option c = Option.builder().option("c").longOpt("third-letter").build(); + final Option d = Option.builder().option("d").longOpt("fourth-letter").build(); - Options baseOptions = new Options(); + final Options baseOptions = new Options(); baseOptions.addOption(a); baseOptions.addOption(b); - Options specificOptions = new Options(); + final Options specificOptions = new Options(); specificOptions.addOption(a); specificOptions.addOption(b); specificOptions.addOption(c); specificOptions.addOption(d); - String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; + final String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; - DefaultParser parser = new DefaultParser(); + final DefaultParser parser = new DefaultParser(); - CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.IGNORE, args); + final CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.IGNORE, args); assertEquals(2, baseCommandLine.getOptions().length); assertEquals(2, baseCommandLine.getArgs().length); assertTrue(baseCommandLine.hasOption("a")); @@ -185,7 +185,7 @@ class DefaultParserTest extends AbstractParserTestCase { assertTrue(baseCommandLine.getArgList().contains("arg1")); assertTrue(baseCommandLine.getArgList().contains("arg2")); - CommandLine specificCommandLine = parser.parse(specificOptions, null, DefaultParser.NonOptionAction.THROW, args); + final CommandLine specificCommandLine = parser.parse(specificOptions, null, DefaultParser.NonOptionAction.THROW, args); assertEquals(4, specificCommandLine.getOptions().length); assertEquals(2, specificCommandLine.getArgs().length); assertTrue(specificCommandLine.hasOption("a")); @@ -202,52 +202,52 @@ class DefaultParserTest extends AbstractParserTestCase { @Test void chainingParsersIgnoreNonHappyPath() throws ParseException { - Option a = Option.builder().option("a").longOpt("first-letter").build(); - Option b = Option.builder().option("b").longOpt("second-letter").build(); - Option c = Option.builder().option("c").longOpt("third-letter").build(); + final Option a = Option.builder().option("a").longOpt("first-letter").build(); + final Option b = Option.builder().option("b").longOpt("second-letter").build(); + final Option c = Option.builder().option("c").longOpt("third-letter").build(); - Options baseOptions = new Options(); + final Options baseOptions = new Options(); baseOptions.addOption(a); baseOptions.addOption(b); - Options specificOptions = new Options(); + final Options specificOptions = new Options(); specificOptions.addOption(a); specificOptions.addOption(b); specificOptions.addOption(c); - String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; // -d is rogue option + final String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; // -d is rogue option - DefaultParser parser = new DefaultParser(); + final DefaultParser parser = new DefaultParser(); - CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.IGNORE, args); + final CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.IGNORE, args); assertEquals(2, baseCommandLine.getOptions().length); assertEquals(2, baseCommandLine.getArgs().length); - UnrecognizedOptionException e = assertThrows(UnrecognizedOptionException.class, + final UnrecognizedOptionException e = assertThrows(UnrecognizedOptionException.class, () -> parser.parse(specificOptions, null, DefaultParser.NonOptionAction.THROW, args)); assertTrue(e.getMessage().contains("-d")); } @Test void chainingParsersSkipHappyPath() throws ParseException { - Option a = Option.builder().option("a").longOpt("first-letter").build(); - Option b = Option.builder().option("b").longOpt("second-letter").build(); - Option c = Option.builder().option("c").longOpt("third-letter").build(); - Option d = Option.builder().option("d").longOpt("fourth-letter").build(); + final Option a = Option.builder().option("a").longOpt("first-letter").build(); + final Option b = Option.builder().option("b").longOpt("second-letter").build(); + final Option c = Option.builder().option("c").longOpt("third-letter").build(); + final Option d = Option.builder().option("d").longOpt("fourth-letter").build(); - Options baseOptions = new Options(); + final Options baseOptions = new Options(); baseOptions.addOption(a); baseOptions.addOption(b); - Options specificOptions = new Options(); + final Options specificOptions = new Options(); specificOptions.addOption(a); specificOptions.addOption(b); specificOptions.addOption(c); specificOptions.addOption(d); - String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; + final String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; - DefaultParser parser = new DefaultParser(); + final DefaultParser parser = new DefaultParser(); - CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.SKIP, args); + final CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.SKIP, args); assertEquals(2, baseCommandLine.getOptions().length); assertEquals(4, baseCommandLine.getArgs().length); assertTrue(baseCommandLine.hasOption("a")); @@ -261,7 +261,7 @@ class DefaultParserTest extends AbstractParserTestCase { assertTrue(baseCommandLine.getArgList().contains("arg1")); assertTrue(baseCommandLine.getArgList().contains("arg2")); - CommandLine specificCommandLine = parser.parse(specificOptions, null, DefaultParser.NonOptionAction.THROW, args); + final CommandLine specificCommandLine = parser.parse(specificOptions, null, DefaultParser.NonOptionAction.THROW, args); assertEquals(4, specificCommandLine.getOptions().length); assertEquals(2, specificCommandLine.getArgs().length); assertTrue(specificCommandLine.hasOption("a")); @@ -278,54 +278,54 @@ class DefaultParserTest extends AbstractParserTestCase { @Test void chainingParsersSkipNonHappyPath() throws ParseException { - Option a = Option.builder().option("a").longOpt("first-letter").build(); - Option b = Option.builder().option("b").longOpt("second-letter").build(); - Option c = Option.builder().option("c").longOpt("third-letter").build(); + final Option a = Option.builder().option("a").longOpt("first-letter").build(); + final Option b = Option.builder().option("b").longOpt("second-letter").build(); + final Option c = Option.builder().option("c").longOpt("third-letter").build(); - Options baseOptions = new Options(); + final Options baseOptions = new Options(); baseOptions.addOption(a); baseOptions.addOption(b); - Options specificOptions = new Options(); + final Options specificOptions = new Options(); specificOptions.addOption(a); specificOptions.addOption(b); specificOptions.addOption(c); - String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; // -d is rogue option + final String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; // -d is rogue option - DefaultParser parser = new DefaultParser(); + final DefaultParser parser = new DefaultParser(); - CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.SKIP, args); + final CommandLine baseCommandLine = parser.parse(baseOptions, null, DefaultParser.NonOptionAction.SKIP, args); assertEquals(2, baseCommandLine.getOptions().length); assertEquals(4, baseCommandLine.getArgs().length); - UnrecognizedOptionException e = assertThrows(UnrecognizedOptionException.class, + final UnrecognizedOptionException e = assertThrows(UnrecognizedOptionException.class, () -> parser.parse(specificOptions, null, DefaultParser.NonOptionAction.THROW, args)); assertTrue(e.getMessage().contains("-d")); } @Test void legacyStopAtNonOption() throws ParseException { - Option a = Option.builder().option("a").longOpt("first-letter").build(); - Option b = Option.builder().option("b").longOpt("second-letter").build(); - Option c = Option.builder().option("c").longOpt("third-letter").build(); + final Option a = Option.builder().option("a").longOpt("first-letter").build(); + final Option b = Option.builder().option("b").longOpt("second-letter").build(); + final Option c = Option.builder().option("c").longOpt("third-letter").build(); - Options options = new Options(); + final Options options = new Options(); options.addOption(a); options.addOption(b); options.addOption(c); - String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; // -d is rogue option + final String[] args = {"-a", "-b", "-c", "-d", "arg1", "arg2"}; // -d is rogue option - DefaultParser parser = new DefaultParser(); + final DefaultParser parser = new DefaultParser(); - CommandLine commandLine = parser.parse(options, args, null, true); + final CommandLine commandLine = parser.parse(options, args, null, true); assertEquals(3, commandLine.getOptions().length); assertEquals(3, commandLine.getArgs().length); assertTrue(commandLine.getArgList().contains("-d")); assertTrue(commandLine.getArgList().contains("arg1")); assertTrue(commandLine.getArgList().contains("arg2")); - UnrecognizedOptionException e = assertThrows(UnrecognizedOptionException.class, () -> parser.parse(options, args, null, false)); + final UnrecognizedOptionException e = assertThrows(UnrecognizedOptionException.class, () -> parser.parse(options, args, null, false)); assertTrue(e.getMessage().contains("-d")); }