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();
     }
 

Reply via email to