Michael Blow has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/3307
Change subject: [NO ISSUE] SonarQube fixes
......................................................................
[NO ISSUE] SonarQube fixes
Change-Id: I9f135fa10a0f78c967f2803bb2c3bce83e96a123
---
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
M
hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/bytes/HexPrinter.java
M
hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringReader.java
M
hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringUtil.java
M
hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringWriter.java
5 files changed, 45 insertions(+), 39 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/07/3307/1
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,44 +219,54 @@
}
}
- 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 {
@@ -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..5082762 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
@@ -661,10 +661,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);
@@ -33,14 +33,6 @@
public final void writeUTF8(char[] buffer, int start, int length,
DataOutput out) throws IOException {
UTF8StringUtil.writeUTF8(buffer, start, length, out, this);
- }
-
- public byte[] getTempBytes() {
- return tempBytes;
- }
-
- public void setTempBytes(byte[] tempBytes) {
- this.tempBytes = tempBytes;
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/3307
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f135fa10a0f78c967f2803bb2c3bce83e96a123
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <[email protected]>