From 097a401f3f38f7ac8ec6b4cc28fca1b6486f6d48 Mon Sep 17 00:00:00 2001 From: Aditya Purohit Date: Sun, 19 Nov 2023 09:11:32 -0400 Subject: [PATCH 1/4] refactor: rename variable boolean 'b' to 'isEndOfPair' in CookieList.toString() --- src/main/java/org/json/CookieList.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/json/CookieList.java b/src/main/java/org/json/CookieList.java index 8ad8b58..03e54b9 100644 --- a/src/main/java/org/json/CookieList.java +++ b/src/main/java/org/json/CookieList.java @@ -46,19 +46,19 @@ public class CookieList { * @throws JSONException if a called function fails */ public static String toString(JSONObject jo) throws JSONException { - boolean b = false; + boolean isEndOfPair = false; final StringBuilder sb = new StringBuilder(); // Don't use the new entrySet API to maintain Android support for (final String key : jo.keySet()) { final Object value = jo.opt(key); if (!JSONObject.NULL.equals(value)) { - if (b) { + if (isEndOfPair) { sb.append(';'); } sb.append(Cookie.escape(key)); sb.append("="); sb.append(Cookie.escape(value.toString())); - b = true; + isEndOfPair = true; } } return sb.toString(); From 75419e3f257af9c365b0ef3e5f4428a335564f8d Mon Sep 17 00:00:00 2001 From: Aditya Purohit Date: Sun, 19 Nov 2023 09:21:05 -0400 Subject: [PATCH 2/4] refactor: introduce explaining variable 'indentationSuffix' in XML.toString() --- src/main/java/org/json/XML.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/json/XML.java b/src/main/java/org/json/XML.java index 04c8bcd..a94c3fc 100644 --- a/src/main/java/org/json/XML.java +++ b/src/main/java/org/json/XML.java @@ -847,14 +847,14 @@ public class XML { string = (object == null) ? "null" : escape(object.toString()); - + String indentationSuffix = (indentFactor > 0) ? "\n" : ""; if(tagName == null){ - return indent(indent) + "\"" + string + "\"" + ((indentFactor > 0) ? "\n" : ""); + return indent(indent) + "\"" + string + "\"" + indentationSuffix; } else if(string.length() == 0){ - return indent(indent) + "<" + tagName + "/>" + ((indentFactor > 0) ? "\n" : ""); + return indent(indent) + "<" + tagName + "/>" + indentationSuffix; } else { return indent(indent) + "<" + tagName - + ">" + string + "" + ((indentFactor > 0) ? "\n" : ""); + + ">" + string + "" + indentationSuffix; } } From 7f1cb8bf62015016d4b02879b00cc7477b62c570 Mon Sep 17 00:00:00 2001 From: Aditya Purohit Date: Sun, 19 Nov 2023 09:51:44 -0400 Subject: [PATCH 3/4] refactor: decompose condition of digit checks by using extra method 'isNumericChar(...)' in NumberConversionUtil. --- src/main/java/org/json/NumberConversionUtil.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/json/NumberConversionUtil.java b/src/main/java/org/json/NumberConversionUtil.java index d53c5e2..30ca74d 100644 --- a/src/main/java/org/json/NumberConversionUtil.java +++ b/src/main/java/org/json/NumberConversionUtil.java @@ -24,7 +24,7 @@ class NumberConversionUtil { val = "-0."+val.substring(2); } char initial = val.charAt(0); - if ((initial >= '0' && initial <= '9') || initial == '-' ) { + if ( isNumericChar(initial) || initial == '-' ) { // decimal representation if (isDecimalNotation(val)) { // Use a BigDecimal all the time so we keep the original @@ -53,13 +53,13 @@ class NumberConversionUtil { initial = val.charAt(0); if(initial == '0' && val.length() > 1) { char at1 = val.charAt(1); - if(at1 >= '0' && at1 <= '9') { + if(isNumericChar(at1)) { throw new NumberFormatException("val ["+input+"] is not a valid number."); } } else if (initial == '-' && val.length() > 2) { char at1 = val.charAt(1); char at2 = val.charAt(2); - if(at1 == '0' && at2 >= '0' && at2 <= '9') { + if(at1 == '0' && isNumericChar(at2)) { throw new NumberFormatException("val ["+input+"] is not a valid number."); } } @@ -83,6 +83,16 @@ class NumberConversionUtil { throw new NumberFormatException("val ["+input+"] is not a valid number."); } + /** + * Checks if the character is a numeric digit ('0' to '9'). + * + * @param c The character to be checked. + * @return true if the character is a numeric digit, false otherwise. + */ + private static boolean isNumericChar(char c) { + return (c >= '0' && c <= '9'); + } + /** * Checks if the value could be considered a number in decimal number system. * @param value From aba82d9cc474c13ee981737432af98c19bb6f5b2 Mon Sep 17 00:00:00 2001 From: Aditya Purohit Date: Tue, 28 Nov 2023 02:56:10 +0000 Subject: [PATCH 4/4] isNumericChar() - switch comparison order --- src/main/java/org/json/NumberConversionUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/json/NumberConversionUtil.java b/src/main/java/org/json/NumberConversionUtil.java index 30ca74d..c2f16d7 100644 --- a/src/main/java/org/json/NumberConversionUtil.java +++ b/src/main/java/org/json/NumberConversionUtil.java @@ -90,7 +90,7 @@ class NumberConversionUtil { * @return true if the character is a numeric digit, false otherwise. */ private static boolean isNumericChar(char c) { - return (c >= '0' && c <= '9'); + return (c <= '9' && c >= '0'); } /**