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 b3dd961723a7f94c86b5803ee14a5cbc1202b55a Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun May 19 10:44:25 2024 -0400 Refactor common code --- src/main/java/org/apache/commons/cli/DefaultParser.java | 2 +- src/main/java/org/apache/commons/cli/HelpFormatter.java | 4 ++-- src/main/java/org/apache/commons/cli/Option.java | 1 - src/main/java/org/apache/commons/cli/Parser.java | 2 +- src/main/java/org/apache/commons/cli/Util.java | 12 +++++++++++- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/apache/commons/cli/DefaultParser.java b/src/main/java/org/apache/commons/cli/DefaultParser.java index 7dd9bfd..e1f6181 100644 --- a/src/main/java/org/apache/commons/cli/DefaultParser.java +++ b/src/main/java/org/apache/commons/cli/DefaultParser.java @@ -449,7 +449,7 @@ public class DefaultParser implements CommandLineParser { final String value = properties.getProperty(option); if (opt.hasArg()) { - if (opt.getValues() == null || opt.getValues().length == 0) { + if (Util.isEmpty(opt.getValues())) { opt.processValue(stripLeadingAndTrailingQuotesDefaultOff(value)); } } else if (!("yes".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value))) { diff --git a/src/main/java/org/apache/commons/cli/HelpFormatter.java b/src/main/java/org/apache/commons/cli/HelpFormatter.java index 0a58ef9..9d67aa4 100644 --- a/src/main/java/org/apache/commons/cli/HelpFormatter.java +++ b/src/main/java/org/apache/commons/cli/HelpFormatter.java @@ -580,7 +580,7 @@ public class HelpFormatter { */ public void printHelp(final PrintWriter pw, final int width, final String cmdLineSyntax, final String header, final Options options, final int leftPad, final int descPad, final String footer, final boolean autoUsage) { - if (cmdLineSyntax == null || cmdLineSyntax.isEmpty()) { + if (Util.isEmpty(cmdLineSyntax)) { throw new IllegalArgumentException("cmdLineSyntax not provided"); } if (autoUsage) { @@ -891,7 +891,7 @@ public class HelpFormatter { * @return The String of without the trailing padding */ protected String rtrim(final String s) { - if (s == null || s.isEmpty()) { + if (Util.isEmpty(s)) { return s; } int pos = s.length(); diff --git a/src/main/java/org/apache/commons/cli/Option.java b/src/main/java/org/apache/commons/cli/Option.java index 6df072f..e5b9800 100644 --- a/src/main/java/org/apache/commons/cli/Option.java +++ b/src/main/java/org/apache/commons/cli/Option.java @@ -684,7 +684,6 @@ public class Option implements Cloneable, Serializable { */ public String getValue(final String defaultValue) { final String value = getValue(); - return value != null ? value : defaultValue; } diff --git a/src/main/java/org/apache/commons/cli/Parser.java b/src/main/java/org/apache/commons/cli/Parser.java index fcd574b..44cb21a 100644 --- a/src/main/java/org/apache/commons/cli/Parser.java +++ b/src/main/java/org/apache/commons/cli/Parser.java @@ -278,7 +278,7 @@ public abstract class Parser implements CommandLineParser { // get the value from the properties instance final String value = properties.getProperty(option); if (opt.hasArg()) { - if (opt.getValues() == null || opt.getValues().length == 0) { + if (Util.isEmpty(opt.getValues())) { try { opt.processValue(value); } catch (final RuntimeException exp) { // NOPMD diff --git a/src/main/java/org/apache/commons/cli/Util.java b/src/main/java/org/apache/commons/cli/Util.java index caf25bc..ab46fad 100644 --- a/src/main/java/org/apache/commons/cli/Util.java +++ b/src/main/java/org/apache/commons/cli/Util.java @@ -27,13 +27,23 @@ final class Util { */ static final String[] EMPTY_STRING_ARRAY = {}; + /** + * Tests whether the given array is null or empty. + * + * @param array the array to test. + * @return the given array is null or empty. + */ + static boolean isEmpty(final Object[] array) { + return array == null || array.length == 0; + } + /** * Tests whether the given string is null or empty. * * @param str The string to test. * @return Whether the given string is null or empty. */ - private static boolean isEmpty(final String str) { + static boolean isEmpty(final String str) { return str == null || str.isEmpty(); }