[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;
- }
-
}