Chris Hillery has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/363
Change subject: Corrected JSON output of date/time/duration types.
......................................................................
Corrected JSON output of date/time/duration types.
Change-Id: I5c37d3b5aad7f286eba1cb8cb5f05ad456a6521e
---
M
asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-cleanjson/alltypes_01.1.json
M
asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-json/alltypes_01.1.json
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADatePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ATimePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADatePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADateTimePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADayTimeDurationPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADurationPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ATimePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADatePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
M
asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ATimePrinter.java
19 files changed, 217 insertions(+), 243 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/63/363/1
diff --git
a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-cleanjson/alltypes_01.1.json
b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-cleanjson/alltypes_01.1.json
index 5081d69..dd319a4 100644
---
a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-cleanjson/alltypes_01.1.json
+++
b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-cleanjson/alltypes_01.1.json
@@ -1,2 +1,2 @@
-[ { "id": 10, "string": "Nancy", "float": 32.5, "double": -2013.5938237483274,
"boolean": true, "int8": 125, "int16": 32765, "int32": 294967295, "int64":
1700000000000000000, "unorderedList": [ "reading", "writing" ], "orderedList":
[ "Brad", "Scott" ], "record": { "number": 8389, "street": "Hill St.", "city":
"Mountain View" }, "date": { "date": -125625945600000}, "time": { "time":
44430000}, "datetime": { "datetime": -123703587570000}, "duration": {
"duration": { "months": 131, "millis": 1075830000} }, "point": [41.0, 44.0],
"point3d": [44.0, 13.0, 41.0], "line": [ [10.1, 11.1], [10.2, 11.2] ],
"rectangle": [ [5.1, 11.8], [87.6, 15.6548] ], "polygon": [ [1.2, 1.3], [2.1,
2.5], [3.5, 3.6], [4.6, 4.8] ], "circle": [ [10.1, 11.1], 10.2 ], "binary":
"ABCDEF0123456789", "uuid": "5c848e5c-6b6a-498f-8452-8847a2957421" }
+[ { "id": 10, "string": "Nancy", "float": 32.5, "double": -2013.5938237483274,
"boolean": true, "int8": 125, "int16": 32765, "int32": 294967295, "int64":
1700000000000000000, "unorderedList": [ "reading", "writing" ], "orderedList":
[ "Brad", "Scott" ], "record": { "number": 8389, "street": "Hill St.", "city":
"Mountain View" }, "date": "-2011-01-27", "time": "12:20:30.000Z", "datetime":
"-1951-12-27T12:20:30.000Z", "duration": "P10Y11M12DT10H50M30S", "point":
[41.0, 44.0], "point3d": [44.0, 13.0, 41.0], "line": [ [10.1, 11.1], [10.2,
11.2] ], "rectangle": [ [5.1, 11.8], [87.6, 15.6548] ], "polygon": [ [1.2,
1.3], [2.1, 2.5], [3.5, 3.6], [4.6, 4.8] ], "circle": [ [10.1, 11.1], 10.2 ],
"binary": "ABCDEF0123456789", "uuid": "5c848e5c-6b6a-498f-8452-8847a2957421" }
]
diff --git
a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-json/alltypes_01.1.json
b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-json/alltypes_01.1.json
index 5ee58be..2e99438 100644
---
a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-json/alltypes_01.1.json
+++
b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01-json/alltypes_01.1.json
@@ -1,2 +1,2 @@
-[ { "id": { "int64": 10 }, "string": "Nancy", "float": 32.5, "double":
-2013.5938237483274, "boolean": true, "int8": { "int8": 125 }, "int16": {
"int16": 32765 }, "int32": { "int32": 294967295 }, "int64": { "int64":
1700000000000000000 }, "unorderedList": { "unorderedlist": [ "reading",
"writing" ] }, "orderedList": { "orderedlist": [ "Brad", "Scott" ] }, "record":
{ "number": { "int64": 8389 }, "street": "Hill St.", "city": "Mountain View" },
"date": { "date": -125625945600000}, "time": { "time": 44430000}, "datetime": {
"datetime": -123703587570000}, "duration": { "duration": { "months": 131,
"millis": 1075830000} }, "point": { "point": [41.0, 44.0] }, "point3d": {
"point3d": [44.0, 13.0, 41.0] }, "line": { "line": [ { "point": [10.1, 11.1]
}, { "point": [10.2, 11.2] } ] }, "rectangle": { "rectangle": [{ "point": [5.1,
11.8] }, { "point": [87.6, 15.6548] } ] }, "polygon": { "polygon": [{ "point":
[1.2, 1.3] },{ "point": [2.1, 2.5] },{ "point": [3.5, 3.6] },{ "point": [4.6
, 4.8] }] }, "circle": { "circle": [ { "point": [10.1, 11.1] }, 10.2 ] },
"binary": "ABCDEF0123456789", "uuid": "5c848e5c-6b6a-498f-8452-8847a2957421" }
+[ { "id": { "int64": 10 }, "string": "Nancy", "float": 32.5, "double":
-2013.5938237483274, "boolean": true, "int8": { "int8": 125 }, "int16": {
"int16": 32765 }, "int32": { "int32": 294967295 }, "int64": { "int64":
1700000000000000000 }, "unorderedList": { "unorderedlist": [ "reading",
"writing" ] }, "orderedList": { "orderedlist": [ "Brad", "Scott" ] }, "record":
{ "number": { "int64": 8389 }, "street": "Hill St.", "city": "Mountain View" },
"date": { "date": "-2011-01-27" }, "time": { "time": "12:20:30.000Z" },
"datetime": { "datetime": "-1951-12-27T12:20:30.000Z" }, "duration": {
"duration": "P10Y11M12DT10H50M30S" }, "point": { "point": [41.0, 44.0] },
"point3d": { "point3d": [44.0, 13.0, 41.0] }, "line": { "line": [ { "point":
[10.1, 11.1] }, { "point": [10.2, 11.2] } ] }, "rectangle": { "rectangle": [{
"point": [5.1, 11.8] }, { "point": [87.6, 15.6548] } ] }, "polygon": {
"polygon": [{ "point": [1.2, 1.3] },{ "point": [2.1, 2.5] },{ "point": [3.5,
3.6] },{ "point": [4
.6, 4.8] }] }, "circle": { "circle": [ { "point": [10.1, 11.1] }, 10.2 ] },
"binary": "ABCDEF0123456789", "uuid": "5c848e5c-6b6a-498f-8452-8847a2957421" }
]
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
index aef03b1..a69b386 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
@@ -16,16 +16,173 @@
import java.io.IOException;
import java.io.OutputStream;
+import java.io.PrintStream;
+import
edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm.ADateTimePrinter;
+import
edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm.ADayTimeDurationPrinter;
+import
edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm.ADurationPrinter;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm.ATimePrinter;
+import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
+import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
+import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.data.utils.WriteValueTools;
import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
public class PrintTools {
+
+ private static final GregorianCalendarSystem gCalInstance =
GregorianCalendarSystem.getInstance();
+ private static long CHRONON_OF_DAY = 24 * 60 * 60 * 1000;
+
+ public static void printDateString(byte[] b, int s, int l, PrintStream ps)
throws AlgebricksException {
+ long chrononTime = AInt32SerializerDeserializer.getInt(b, s + 1) *
CHRONON_OF_DAY;
+
+ try {
+ gCalInstance.getExtendStringRepUntilField(chrononTime, 0, ps,
GregorianCalendarSystem.Fields.YEAR, GregorianCalendarSystem.Fields.DAY, false);
+ } catch (IOException e) {
+ throw new AlgebricksException(e);
+ }
+ }
+
+ public static void printDateTimeString(byte[] b, int s, int l, PrintStream
ps) throws AlgebricksException {
+ long chrononTime = AInt64SerializerDeserializer.getLong(b, s + 1);
+
+ try {
+ gCalInstance.getExtendStringRepUntilField(chrononTime, 0, ps,
GregorianCalendarSystem.Fields.YEAR,
GregorianCalendarSystem.Fields.MILLISECOND, true);
+ } catch (IOException e) {
+ throw new AlgebricksException(e);
+ }
+
+ }
+
+ public static void printDayTimeDurationString(byte[] b, int s, int l,
PrintStream ps) throws AlgebricksException {
+ boolean positive = true;
+ long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 1);
+
+ // set the negative flag. "||" is necessary in case that months field
is not there (so it is 0)
+ if (milliseconds < 0) {
+ milliseconds *= -1;
+ positive = false;
+ }
+
+ int millisecond = gCalInstance.getDurationMillisecond(milliseconds);
+ int second = gCalInstance.getDurationSecond(milliseconds);
+ int minute = gCalInstance.getDurationMinute(milliseconds);
+ int hour = gCalInstance.getDurationHour(milliseconds);
+ int day = gCalInstance.getDurationDay(milliseconds);
+
+ if (!positive) {
+ ps.print("-");
+ }
+ try {
+ ps.print("P");
+ if (day != 0) {
+ WriteValueTools.writeInt(day, ps);
+ ps.print("D");
+ }
+ if (hour != 0 || minute != 0 || second != 0 || millisecond != 0) {
+ ps.print("T");
+ }
+ if (hour != 0) {
+ WriteValueTools.writeInt(hour, ps);
+ ps.print("H");
+ }
+ if (minute != 0) {
+ WriteValueTools.writeInt(minute, ps);
+ ps.print("M");
+ }
+ if (second != 0 || millisecond != 0) {
+ WriteValueTools.writeInt(second, ps);
+ }
+ if (millisecond > 0) {
+ ps.print(".");
+ WriteValueTools.writeInt(millisecond, ps);
+ }
+ if (second != 0 || millisecond != 0) {
+ ps.print("S");
+ }
+ } catch (IOException e) {
+ throw new AlgebricksException(e);
+ }
+ }
+
+ public static void printDurationString(byte[] b, int s, int l, PrintStream
ps) throws AlgebricksException {
+ boolean positive = true;
+ int months = AInt32SerializerDeserializer.getInt(b, s + 1);
+ long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 5);
+
+ // set the negative flag. "||" is necessary in case that months field
is not there (so it is 0)
+ if (months < 0 || milliseconds < 0) {
+ months *= -1;
+ milliseconds *= -1;
+ positive = false;
+ }
+
+ int month = gCalInstance.getDurationMonth(months);
+ int year = gCalInstance.getDurationYear(months);
+ int millisecond = gCalInstance.getDurationMillisecond(milliseconds);
+ int second = gCalInstance.getDurationSecond(milliseconds);
+ int minute = gCalInstance.getDurationMinute(milliseconds);
+ int hour = gCalInstance.getDurationHour(milliseconds);
+ int day = gCalInstance.getDurationDay(milliseconds);
+
+ if (!positive) {
+ ps.print("-");
+ }
+ try {
+ ps.print("P");
+ if (year != 0) {
+ WriteValueTools.writeInt(year, ps);
+ ps.print("Y");
+ }
+ if (month != 0) {
+ WriteValueTools.writeInt(month, ps);
+ ps.print("M");
+ }
+ if (day != 0) {
+ WriteValueTools.writeInt(day, ps);
+ ps.print("D");
+ }
+ if (hour != 0 || minute != 0 || second != 0 || millisecond != 0) {
+ ps.print("T");
+ }
+ if (hour != 0) {
+ WriteValueTools.writeInt(hour, ps);
+ ps.print("H");
+ }
+ if (minute != 0) {
+ WriteValueTools.writeInt(minute, ps);
+ ps.print("M");
+ }
+ if (second != 0 || millisecond != 0) {
+ WriteValueTools.writeInt(second, ps);
+ }
+ if (millisecond > 0) {
+ ps.print(".");
+ WriteValueTools.writeInt(millisecond, ps);
+ }
+ if (second != 0 || millisecond != 0) {
+ ps.print("S");
+ }
+ } catch (IOException e) {
+ throw new AlgebricksException(e);
+ }
+ }
+
+ public static void printTimeString(byte[] b, int s, int l, PrintStream ps)
throws AlgebricksException {
+ int time = AInt32SerializerDeserializer.getInt(b, s + 1);
+
+ try {
+ gCalInstance.getExtendStringRepUntilField(time, 0, ps,
GregorianCalendarSystem.Fields.HOUR,
GregorianCalendarSystem.Fields.MILLISECOND, true);
+ } catch (IOException e) {
+ throw new AlgebricksException(e);
+ }
+ }
public enum CASE {
LOWER_CASE,
UPPER_CASE,
}
-
public static void writeUTF8StringAsCSV(byte[] b, int s, int l,
OutputStream os) throws IOException {
int stringLength = UTF8StringPointable.getUTFLength(b, s);
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADatePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADatePrinter.java
index 8334e9d..b7da5f7 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADatePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADatePrinter.java
@@ -14,20 +14,15 @@
*/
package edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm;
-import java.io.IOException;
import java.io.PrintStream;
-import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
-import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
-import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem.Fields;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
public class ADatePrinter implements IPrinter {
- private static long CHRONON_OF_DAY = 24 * 60 * 60 * 1000;
public static final ADatePrinter INSTANCE = new ADatePrinter();
- private static final GregorianCalendarSystem gCalInstance =
GregorianCalendarSystem.getInstance();
@Override
public void init() {
@@ -37,17 +32,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
ps.print("date(\"");
- printString(b, s, l, ps);
+ PrintTools.printDateString(b, s, l, ps);
ps.print("\")");
- }
-
- public void printString(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long chrononTime = AInt32SerializerDeserializer.getInt(b, s + 1) *
CHRONON_OF_DAY;
-
- try {
- gCalInstance.getExtendStringRepUntilField(chrononTime, 0, ps,
Fields.YEAR, Fields.DAY, false);
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
}
}
\ No newline at end of file
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinter.java
index 1e5e5b3..63e3588 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADateTimePrinter.java
@@ -14,19 +14,15 @@
*/
package edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm;
-import java.io.IOException;
import java.io.PrintStream;
-import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
-import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
-import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem.Fields;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
public class ADateTimePrinter implements IPrinter {
public static final ADateTimePrinter INSTANCE = new ADateTimePrinter();
- private static final GregorianCalendarSystem gCalInstance =
GregorianCalendarSystem.getInstance();
@Override
public void init() {
@@ -36,18 +32,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
ps.print("datetime(\"");
- printString(b, s, l, ps);
+ PrintTools.printDateTimeString(b, s, l, ps);
ps.print("\")");
- }
-
- public void printString(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long chrononTime = AInt64SerializerDeserializer.getLong(b, s + 1);
-
- try {
- gCalInstance.getExtendStringRepUntilField(chrononTime, 0, ps,
Fields.YEAR, Fields.MILLISECOND, true);
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
-
}
}
\ No newline at end of file
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinter.java
index b74ca19..481e8ea 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADayTimeDurationPrinter.java
@@ -14,19 +14,16 @@
*/
package edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm;
-import java.io.IOException;
import java.io.PrintStream;
-import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
-import edu.uci.ics.hyracks.algebricks.data.utils.WriteValueTools;
public class ADayTimeDurationPrinter implements IPrinter {
public static final ADayTimeDurationPrinter INSTANCE = new
ADayTimeDurationPrinter();
- private static final GregorianCalendarSystem gCalInstance =
GregorianCalendarSystem.getInstance();
@Override
public void init() throws AlgebricksException {
@@ -35,56 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- boolean positive = true;
- long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 1);
-
- // set the negative flag. "||" is necessary in case that months field
is not there (so it is 0)
- if (milliseconds < 0) {
- milliseconds *= -1;
- positive = false;
- }
-
- int millisecond = gCalInstance.getDurationMillisecond(milliseconds);
- int second = gCalInstance.getDurationSecond(milliseconds);
- int minute = gCalInstance.getDurationMinute(milliseconds);
- int hour = gCalInstance.getDurationHour(milliseconds);
- int day = gCalInstance.getDurationDay(milliseconds);
-
ps.print("day-time-duration(\"");
- if (!positive) {
- ps.print("-");
- }
- try {
- ps.print("P");
- if (day != 0) {
- WriteValueTools.writeInt(day, ps);
- ps.print("D");
- }
- if (hour != 0 || minute != 0 || second != 0 || millisecond != 0) {
- ps.print("T");
- }
- if (hour != 0) {
- WriteValueTools.writeInt(hour, ps);
- ps.print("H");
- }
- if (minute != 0) {
- WriteValueTools.writeInt(minute, ps);
- ps.print("M");
- }
- if (second != 0 || millisecond != 0) {
- WriteValueTools.writeInt(second, ps);
- }
- if (millisecond > 0) {
- ps.print(".");
- WriteValueTools.writeInt(millisecond, ps);
- }
- if (second != 0 || millisecond != 0) {
- ps.print("S");
- }
- ps.print("\")");
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
+ PrintTools.printDayTimeDurationString(b, s, l, ps);
+ ps.print("\")");
}
-
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinter.java
index ce8a863..f52b3d6 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ADurationPrinter.java
@@ -14,15 +14,12 @@
*/
package edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm;
-import java.io.IOException;
import java.io.PrintStream;
-import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
-import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
-import edu.uci.ics.hyracks.algebricks.data.utils.WriteValueTools;
public class ADurationPrinter implements IPrinter {
@@ -36,67 +33,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- boolean positive = true;
- int months = AInt32SerializerDeserializer.getInt(b, s + 1);
- long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 5);
-
- // set the negative flag. "||" is necessary in case that months field
is not there (so it is 0)
- if (months < 0 || milliseconds < 0) {
- months *= -1;
- milliseconds *= -1;
- positive = false;
- }
-
- int month = gCalInstance.getDurationMonth(months);
- int year = gCalInstance.getDurationYear(months);
- int millisecond = gCalInstance.getDurationMillisecond(milliseconds);
- int second = gCalInstance.getDurationSecond(milliseconds);
- int minute = gCalInstance.getDurationMinute(milliseconds);
- int hour = gCalInstance.getDurationHour(milliseconds);
- int day = gCalInstance.getDurationDay(milliseconds);
-
ps.print("duration(\"");
- if (!positive) {
- ps.print("-");
- }
- try {
- ps.print("P");
- if (year != 0) {
- WriteValueTools.writeInt(year, ps);
- ps.print("Y");
- }
- if (month != 0) {
- WriteValueTools.writeInt(month, ps);
- ps.print("M");
- }
- if (day != 0) {
- WriteValueTools.writeInt(day, ps);
- ps.print("D");
- }
- if (hour != 0 || minute != 0 || second != 0 || millisecond != 0) {
- ps.print("T");
- }
- if (hour != 0) {
- WriteValueTools.writeInt(hour, ps);
- ps.print("H");
- }
- if (minute != 0) {
- WriteValueTools.writeInt(minute, ps);
- ps.print("M");
- }
- if (second != 0 || millisecond != 0) {
- WriteValueTools.writeInt(second, ps);
- }
- if (millisecond > 0) {
- ps.print(".");
- WriteValueTools.writeInt(millisecond, ps);
- }
- if (second != 0 || millisecond != 0) {
- ps.print("S");
- }
- ps.print("\")");
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
+ PrintTools.printDurationString(b, s, l, ps);
+ ps.print("\")");
}
}
\ No newline at end of file
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinter.java
index 550d74f..e0821f3 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/AIntervalPrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt8SerializerDeserializer;
import edu.uci.ics.asterix.om.types.ATypeTag;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -41,26 +42,21 @@
short typetag = AInt8SerializerDeserializer.getByte(b, s + 1 + 8 * 2);
- IPrinter timeInstancePrinter;
-
if (typetag == ATypeTag.DATE.serialize()) {
ps.print("-date(\"");
- timeInstancePrinter = ADatePrinter.INSTANCE;
- ((ADatePrinter) timeInstancePrinter).printString(b, s + 4, 4, ps);
+ PrintTools.printDateString(b, s + 4, 4, ps);
ps.print(", ");
- ((ADatePrinter) timeInstancePrinter).printString(b, s + 12, 4, ps);
+ PrintTools.printDateString(b, s + 12, 4, ps);
} else if (typetag == ATypeTag.TIME.serialize()) {
ps.print("-time(\"");
- timeInstancePrinter = ATimePrinter.INSTANCE;
- ((ATimePrinter) timeInstancePrinter).printString(b, s + 4, 4, ps);
+ PrintTools.printTimeString(b, s + 4, 4, ps);
ps.print(", ");
- ((ATimePrinter) timeInstancePrinter).printString(b, s + 12, 4, ps);
+ PrintTools.printTimeString(b, s + 12, 4, ps);
} else if (typetag == ATypeTag.DATETIME.serialize()) {
ps.print("-datetime(\"");
- timeInstancePrinter = ADateTimePrinter.INSTANCE;
- ((ADateTimePrinter) timeInstancePrinter).printString(b, s, 8, ps);
+ PrintTools.printDateTimeString(b, s, 8, ps);
ps.print(", ");
- ((ADateTimePrinter) timeInstancePrinter).printString(b, s + 8, 8,
ps);
+ PrintTools.printDateTimeString(b, s + 8, 8, ps);
} else {
throw new AlgebricksException("Unsupport internal time types in
interval: " + typetag);
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ATimePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ATimePrinter.java
index 09ba7d1..0c41f50 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ATimePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/adm/ATimePrinter.java
@@ -14,19 +14,16 @@
*/
package edu.uci.ics.asterix.dataflow.data.nontagged.printers.adm;
-import java.io.IOException;
import java.io.PrintStream;
-import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
-import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem.Fields;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
public class ATimePrinter implements IPrinter {
public static final ATimePrinter INSTANCE = new ATimePrinter();
- private static final GregorianCalendarSystem gCalInstance =
GregorianCalendarSystem.getInstance();
@Override
public void init() {
@@ -36,18 +33,7 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
ps.print("time(\"");
- printString(b,s,l, ps);
+ PrintTools.printTimeString(b, s, l, ps);
ps.print("\")");
}
-
- public void printString(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- int time = AInt32SerializerDeserializer.getInt(b, s + 1);
-
- try {
- gCalInstance.getExtendStringRepUntilField(time, 0, ps,
Fields.HOUR, Fields.MILLISECOND, true);
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
- }
-
}
\ No newline at end of file
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADatePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADatePrinter.java
index 7f0b4d0..459dddd 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADatePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADatePrinter.java
@@ -16,13 +16,13 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
public class ADatePrinter implements IPrinter {
- private static long CHRONON_OF_DAY = 24 * 60 * 60 * 1000;
public static final ADatePrinter INSTANCE = new ADatePrinter();
@Override
@@ -32,10 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long chrononTime = AInt32SerializerDeserializer.getInt(b, s + 1) *
CHRONON_OF_DAY;
-
- ps.print("{ \"date\": ");
- ps.print(chrononTime);
- ps.print("}");
+ ps.print("\"");
+ PrintTools.printDateString(b, s, l, ps);
+ ps.print("\"");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADateTimePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADateTimePrinter.java
index c017f8a..47e5977 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADateTimePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADateTimePrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
@@ -31,10 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long chrononTime = AInt64SerializerDeserializer.getLong(b, s + 1);
-
- ps.print("{ \"datetime\": ");
- ps.print(chrononTime);
- ps.print("}");
+ ps.print("\"");
+ PrintTools.printDateTimeString(b, s, l, ps);
+ ps.print("\"");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADayTimeDurationPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADayTimeDurationPrinter.java
index f710b42..ad1b251 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADayTimeDurationPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADayTimeDurationPrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
@@ -31,11 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 1);
-
- ps.print("{ \"day-time-duration\": ");
- ps.print(milliseconds);
- ps.print("}");
+ ps.print("\"");
+ PrintTools.printDayTimeDurationString(b, s, l, ps);
+ ps.print("\")");
}
-
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADurationPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADurationPrinter.java
index 665ca4d..f563c7c 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADurationPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ADurationPrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -32,14 +33,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- int months = AInt32SerializerDeserializer.getInt(b, s + 1);
- long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 5);
-
- ps.print("{ \"duration\": { ");
- ps.print("\"months\": ");
- ps.print(months);
- ps.print(", \"millis\": ");
- ps.print(milliseconds);
- ps.print("} }");
+ ps.print("\"");
+ PrintTools.printDurationString(b, s, l, ps);
+ ps.print("\"");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ATimePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ATimePrinter.java
index 25fdd1e..8c2a56b 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ATimePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/cleanjson/ATimePrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
@@ -31,11 +32,9 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- int time = AInt32SerializerDeserializer.getInt(b, s + 1);
-
- ps.print("{ \"time\": ");
- ps.print(time);
- ps.print("}");
+ ps.print("\"");
+ PrintTools.printTimeString(b, s, l, ps);
+ ps.print("\"");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADatePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADatePrinter.java
index 6d69c57..7dbe5f8 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADatePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADatePrinter.java
@@ -16,13 +16,13 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
public class ADatePrinter implements IPrinter {
- private static long CHRONON_OF_DAY = 24 * 60 * 60 * 1000;
public static final ADatePrinter INSTANCE = new ADatePrinter();
@Override
@@ -32,10 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long chrononTime = AInt32SerializerDeserializer.getInt(b, s + 1) *
CHRONON_OF_DAY;
-
- ps.print("{ \"date\": ");
- ps.print(chrononTime);
- ps.print("}");
+ ps.print("{ \"date\": \"");
+ PrintTools.printDateString(b, s, l, ps);
+ ps.print("\" }");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinter.java
index d13286a..0bd4452 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADateTimePrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
@@ -31,10 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long chrononTime = AInt64SerializerDeserializer.getLong(b, s + 1);
-
- ps.print("{ \"datetime\": ");
- ps.print(chrononTime);
- ps.print("}");
+ ps.print("{ \"datetime\": \"");
+ PrintTools.printDateTimeString(b, s, l, ps);
+ ps.print("\" }");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
index bd5c69c..20aff1c 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
@@ -31,10 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 1);
-
ps.print("{ \"day-time-duration\": ");
- ps.print(milliseconds);
+ PrintTools.printDayTimeDurationString(b, s, l, ps);
ps.print("}");
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
index 58e83ec..a329bd2 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -32,14 +33,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- int months = AInt32SerializerDeserializer.getInt(b, s + 1);
- long milliseconds = AInt64SerializerDeserializer.getLong(b, s + 5);
-
- ps.print("{ \"duration\": { ");
- ps.print("\"months\": ");
- ps.print(months);
- ps.print(", \"millis\": ");
- ps.print(milliseconds);
- ps.print("} }");
+ ps.print("{ \"duration\": \"");
+ PrintTools.printDurationString(b, s, l, ps);
+ ps.print("\" }");
}
}
diff --git
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ATimePrinter.java
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ATimePrinter.java
index 7f34834..a1d0a2d 100644
---
a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ATimePrinter.java
+++
b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ATimePrinter.java
@@ -16,6 +16,7 @@
import java.io.PrintStream;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.PrintTools;
import
edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
@@ -31,11 +32,8 @@
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws
AlgebricksException {
- int time = AInt32SerializerDeserializer.getInt(b, s + 1);
-
- ps.print("{ \"time\": ");
- ps.print(time);
- ps.print("}");
+ ps.print("{ \"time\": \"");
+ PrintTools.printTimeString(b, s, l, ps);
+ ps.print("\" }");
}
-
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/363
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5c37d3b5aad7f286eba1cb8cb5f05ad456a6521e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Chris Hillery <[email protected]>