[NO ISSUE] SonarQube fixes

Change-Id: I9f135fa10a0f78c967f2803bb2c3bce83e96a123
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3307
Integration-Tests: Michael Blow <mblow@apache.org>
Tested-by: Michael Blow <mblow@apache.org>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
index a9c4d15..0ccfa20 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
@@ -22,6 +22,7 @@
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.nio.charset.StandardCharsets;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.asterix.dataflow.data.nontagged.serde.ADoubleSerializerDeserializer;
 import org.apache.asterix.dataflow.data.nontagged.serde.AFloatSerializerDeserializer;
@@ -36,7 +37,7 @@
 public class PrintTools {
 
     private static final GregorianCalendarSystem gCalInstance = GregorianCalendarSystem.getInstance();
-    private static long CHRONON_OF_DAY = 24 * 60 * 60 * 1000;
+    private static final long CHRONON_OF_DAY = TimeUnit.DAYS.toMillis(1);
 
     public static void printDateString(byte[] b, int s, int l, PrintStream ps) throws HyracksDataException {
         long chrononTime = AInt32SerializerDeserializer.getInt(b, s + 1) * CHRONON_OF_DAY;
@@ -218,46 +219,56 @@
         }
     }
 
-    public static void printDoubleForJson(byte[] b, int s, PrintStream ps) throws HyracksDataException {
+    public static void printDoubleForJson(byte[] b, int s, PrintStream ps) {
         final double d = ADoubleSerializerDeserializer.getDouble(b, s + 1);
         if (Double.isFinite(d)) {
             ps.print(d);
         } else {
             ps.append('"');
-            ps.print(Double.isNaN(d) ? "NaN" : (d == Double.POSITIVE_INFINITY) ? "INF" : "-INF");
+            ps.print(printNonFiniteDouble(d));
             ps.append('"');
         }
     }
 
-    public static void printDouble(byte[] b, int s, PrintStream ps) throws HyracksDataException {
+    public static void printDouble(byte[] b, int s, PrintStream ps) {
         final double d = ADoubleSerializerDeserializer.getDouble(b, s + 1);
         if (Double.isFinite(d)) {
             ps.print(d);
         } else {
-            ps.print(Double.isNaN(d) ? "NaN" : (d == Double.POSITIVE_INFINITY) ? "INF" : "-INF");
+            ps.print(printNonFiniteDouble(d));
         }
     }
 
-    public static void printFloatForJson(byte[] b, int s, PrintStream ps) throws HyracksDataException {
+    public static void printFloatForJson(byte[] b, int s, PrintStream ps) {
         final float f = AFloatSerializerDeserializer.getFloat(b, s + 1);
         if (Float.isFinite(f)) {
             ps.print(f);
         } else {
             ps.print('"');
-            ps.print(Float.isNaN(f) ? "NaN" : (f == Float.POSITIVE_INFINITY) ? "INF" : "-INF");
+            ps.print(printNonFiniteFloat(f));
             ps.print('"');
         }
     }
 
-    public static void printFloat(byte[] b, int s, PrintStream ps) throws HyracksDataException {
+    public static void printFloat(byte[] b, int s, PrintStream ps) {
         final float f = AFloatSerializerDeserializer.getFloat(b, s + 1);
         if (Float.isFinite(f)) {
             ps.print(f);
         } else {
-            ps.print(Float.isNaN(f) ? "NaN" : (f == Float.POSITIVE_INFINITY) ? "INF" : "-INF");
+            ps.print(printNonFiniteFloat(f));
         }
     }
 
+    @SuppressWarnings("squid:S1244") // equality comparison w/ infinity is not problematic
+    private static String printNonFiniteDouble(double d) {
+        return Double.isNaN(d) ? "NaN" : d == Double.POSITIVE_INFINITY ? "INF" : "-INF";
+    }
+
+    @SuppressWarnings("squid:S1244") // equality comparison w/ infinity is not problematic
+    private static String printNonFiniteFloat(float f) {
+        return Float.isNaN(f) ? "NaN" : f == Float.POSITIVE_INFINITY ? "INF" : "-INF";
+    }
+
     public enum CASE {
         LOWER_CASE,
         UPPER_CASE,
@@ -382,8 +393,8 @@
         os.write('u');
         os.write('0');
         os.write('0');
-        os.write(HexPrinter.hex((c >>> 4) & 0x0f, HexPrinter.CASE.LOWER_CASE));
-        os.write(HexPrinter.hex(c & 0x0f, HexPrinter.CASE.LOWER_CASE));
+        os.write(HexPrinter.hex((c >>> 4) & 0x0f, HexPrinter.Case.LOWER_CASE));
+        os.write(HexPrinter.hex(c & 0x0f, HexPrinter.Case.LOWER_CASE));
     }
 
     /**
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/bytes/HexPrinter.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/bytes/HexPrinter.java
index 5a9c064..d340526 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/bytes/HexPrinter.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/bytes/HexPrinter.java
@@ -22,26 +22,26 @@
 import java.io.IOException;
 
 public class HexPrinter {
-    public enum CASE {
-        LOWER_CASE,
-        UPPER_CASE,
+    public enum Case {
+        LOWER_CASE('a'),
+        UPPER_CASE('A');
+
+        private final char a;
+
+        Case(char a) {
+            this.a = a;
+        }
     }
 
-    public static byte hex(int i, CASE c) {
-        switch (c) {
-            case LOWER_CASE:
-                return (byte) (i < 10 ? i + '0' : i + ('a' - 10));
-            case UPPER_CASE:
-                return (byte) (i < 10 ? i + '0' : i + ('A' - 10));
-        }
-        return Byte.parseByte(null);
+    public static byte hex(int i, Case c) {
+        return (byte) (i < 10 ? i + '0' : i + (c.a - 10));
     }
 
     public static Appendable printHexString(byte[] bytes, int start, int length, Appendable appendable)
             throws IOException {
         for (int i = 0; i < length; ++i) {
-            appendable.append((char) hex((bytes[start + i] >>> 4) & 0x0f, CASE.UPPER_CASE));
-            appendable.append((char) hex((bytes[start + i] & 0x0f), CASE.UPPER_CASE));
+            appendable.append((char) hex((bytes[start + i] >>> 4) & 0x0f, Case.UPPER_CASE));
+            appendable.append((char) hex((bytes[start + i] & 0x0f), Case.UPPER_CASE));
         }
         return appendable;
     }
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringReader.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringReader.java
index 27d6008..43faf18 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringReader.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringReader.java
@@ -22,12 +22,15 @@
 import java.io.DataInput;
 import java.io.EOFException;
 import java.io.IOException;
+import java.io.Serializable;
 import java.io.UTFDataFormatException;
 
-public class UTF8StringReader {
+public class UTF8StringReader implements Serializable {
 
-    byte[] bytearr = null;
-    char[] chararr = null;
+    private static final long serialVersionUID = 1L;
+
+    transient byte[] bytearr = null;
+    transient char[] chararr = null;
 
     /**
      * Reads from the
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringUtil.java
index 9aa2b5d..f50fa90 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringUtil.java
@@ -33,6 +33,10 @@
  * Most of the codes were migrated from asterix-fuzzyjoin and hyracks-storage-am-invertedindex
  */
 public class UTF8StringUtil {
+
+    private UTF8StringUtil() {
+    }
+
     public static char charAt(byte[] b, int s) {
         if (s >= b.length) {
             throw new ArrayIndexOutOfBoundsException(s);
@@ -54,7 +58,7 @@
                 return (char) (((c & 0x1F) << 6) | ((b[s + 1]) & 0x3F));
 
             case 14:
-                return (char) (((c & 0x0F) << 12) | (((b[s + 1]) & 0x3F) << 6) | (((b[s + 2]) & 0x3F) << 0));
+                return (char) (((c & 0x0F) << 12) | (((b[s + 1]) & 0x3F) << 6) | (b[s + 2] & 0x3F));
 
             default:
                 throw new IllegalArgumentException();
@@ -80,8 +84,10 @@
 
             case 14:
                 return 3;
+
+            default:
+                throw new IllegalStateException();
         }
-        throw new IllegalStateException();
     }
 
     public static boolean isCharStart(byte[] b, int s) {
@@ -353,12 +359,9 @@
         }
         while (position < maxPosition) {
             char c = charAt(b, position);
-            switch (c) {
+            if (c == '\\' || c == '"') {
                 // escape
-                case '\\':
-                case '"':
-                    os.write('\\');
-                    break;
+                os.write('\\');
             }
             int sz = charSize(b, position);
             while (sz > 0) {
@@ -557,8 +560,7 @@
                     if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80)) {
                         throw new UTFDataFormatException("malformed input around byte " + (count - 1));
                     }
-                    chararr[chararr_count++] =
-                            (char) (((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));
+                    chararr[chararr_count++] = (char) (((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | (char3 & 0x3F));
                     break;
                 default:
                     /* 10xx xxxx,  1111 xxxx */
@@ -648,10 +650,10 @@
         } else if (c > 0x07FF) {
             tempBytes[count++] = (byte) (0xE0 | ((c >> 12) & 0x0F));
             tempBytes[count++] = (byte) (0x80 | ((c >> 6) & 0x3F));
-            tempBytes[count++] = (byte) (0x80 | ((c >> 0) & 0x3F));
+            tempBytes[count++] = (byte) (0x80 | (c & 0x3F));
         } else {
             tempBytes[count++] = (byte) (0xC0 | ((c >> 6) & 0x1F));
-            tempBytes[count++] = (byte) (0x80 | ((c >> 0) & 0x3F));
+            tempBytes[count++] = (byte) (0x80 | (c & 0x3F));
         }
         return count - orig;
     }
@@ -661,10 +663,10 @@
         if (writer == null) {
             tempBytes = new byte[utflen + 5];
         } else {
-            if (writer.getTempBytes() == null || writer.getTempBytes().length < utflen + 5) {
-                writer.setTempBytes(new byte[utflen + 5]);
+            if (writer.tempBytes == null || writer.tempBytes.length < utflen + 5) {
+                writer.tempBytes = new byte[utflen + 5];
             }
-            tempBytes = writer.getTempBytes();
+            tempBytes = writer.tempBytes;
         }
         return tempBytes;
     }
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringWriter.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringWriter.java
index 3d9a7c5..563f865 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringWriter.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringWriter.java
@@ -25,7 +25,7 @@
 public class UTF8StringWriter implements Serializable {
 
     private static final long serialVersionUID = 1L;
-    private byte[] tempBytes;
+    transient byte[] tempBytes;
 
     public final void writeUTF8(CharSequence str, DataOutput out) throws IOException {
         UTF8StringUtil.writeUTF8(str, out, this);
@@ -35,12 +35,4 @@
         UTF8StringUtil.writeUTF8(buffer, start, length, out, this);
     }
 
-    public byte[] getTempBytes() {
-        return tempBytes;
-    }
-
-    public void setTempBytes(byte[] tempBytes) {
-        this.tempBytes = tempBytes;
-    }
-
 }