Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12079 )
Change subject: IMPALA-7968, Part 1: JSON serialization framework ...................................................................... Patch Set 1: (183 comments) http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java File fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java: http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@47 PS1, Line 47: private static class ObjectFormatter extends AbstractObjectSerializer { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@48 PS1, Line 48: private final JsonTreeFormatter formatter_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@49 PS1, Line 49: private int level_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@51 PS1, Line 51: public ObjectFormatter(JsonTreeFormatter formatter, int level) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@52 PS1, Line 52: formatter_ = formatter; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@53 PS1, Line 53: level_ = level; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@54 PS1, Line 54: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@56 PS1, Line 56: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@57 PS1, Line 57: public void field(String name, String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@60 PS1, Line 60: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@62 PS1, Line 62: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@64 PS1, Line 64: formatter_.builder_.unquotedField(level_, name, value); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@65 PS1, Line 65: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@67 PS1, Line 67: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@68 PS1, Line 68: public ObjectSerializer object(String name) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@69 PS1, Line 69: return new ObjectFormatter(formatter_, tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@70 PS1, Line 70: formatter_.builder_.objectField(level_, name)); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@71 PS1, Line 71: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@73 PS1, Line 73: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@74 PS1, Line 74: public ToJsonOptions options() { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@75 PS1, Line 75: return formatter_.options(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@76 PS1, Line 76: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@78 PS1, Line 78: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@79 PS1, Line 79: public void text(String name, String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@80 PS1, Line 80: formatter_.builder_.textField(level_, name, value); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@81 PS1, Line 81: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@83 PS1, Line 83: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@84 PS1, Line 84: public ArraySerializer array(String name) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@85 PS1, Line 85: return new ArrayFormatter(formatter_, tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@86 PS1, Line 86: formatter_.builder_.arrayField(level_, name)); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@87 PS1, Line 87: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@108 PS1, Line 108: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@110 PS1, Line 110: public static class ArrayFormatter implements ArraySerializer { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@111 PS1, Line 111: private final JsonTreeFormatter formatter_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@112 PS1, Line 112: private int level_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@114 PS1, Line 114: public ArrayFormatter(JsonTreeFormatter formatter, int level) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@115 PS1, Line 115: formatter_ = formatter; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@116 PS1, Line 116: level_ = level; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@117 PS1, Line 117: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@119 PS1, Line 119: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@120 PS1, Line 120: public void value(String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@121 PS1, Line 121: formatter_.builder_.quotedElement(level_, value); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@122 PS1, Line 122: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@124 PS1, Line 124: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@125 PS1, Line 125: public void value(long value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@126 PS1, Line 126: formatter_.builder_.unquotedElement(level_, value); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@127 PS1, Line 127: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@134 PS1, Line 134: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@135 PS1, Line 135: public ObjectSerializer object() { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@136 PS1, Line 136: return new ObjectFormatter(formatter_, tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@137 PS1, Line 137: formatter_.builder_.objectElement(level_)); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@138 PS1, Line 138: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@164 PS1, Line 164: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@166 PS1, Line 166: /** tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@177 PS1, Line 177: @VisibleForTesting tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@178 PS1, Line 178: protected static class TreeBuilder { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@179 PS1, Line 179: private final int MAX_DEPTH = Expr.EXPR_DEPTH_LIMIT + 20; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@180 PS1, Line 180: private final int WRAP_WIDTH = 80; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@182 PS1, Line 182: private final PrintWriter out_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@183 PS1, Line 183: private final String indent_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@184 PS1, Line 184: private final char terminators[] = new char[MAX_DEPTH]; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@185 PS1, Line 185: private final boolean hasContent_[] = new boolean[MAX_DEPTH]; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@186 PS1, Line 186: private int depth_ = 0; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@188 PS1, Line 188: public TreeBuilder(PrintWriter out) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@189 PS1, Line 189: out_ = out; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@190 PS1, Line 190: indent_ = " "; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@191 PS1, Line 191: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@193 PS1, Line 193: public int root() { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@194 PS1, Line 194: return objectElement(0); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@195 PS1, Line 195: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@197 PS1, Line 197: public void unquotedField(int level, String name, Object value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@198 PS1, Line 198: startField(level, name); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@199 PS1, Line 199: out_.print(" "); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@200 PS1, Line 200: out_.print(value == null ? "null" : value.toString()); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@201 PS1, Line 201: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@203 PS1, Line 203: public void quotedField(int level, String name, String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@211 PS1, Line 211: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@213 PS1, Line 213: public void unquotedElement(int level, Object value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@214 PS1, Line 214: startEntry(level); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@215 PS1, Line 215: out_.print(value == null ? "null" : value.toString()); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@216 PS1, Line 216: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@218 PS1, Line 218: public void quotedElement(int level, String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@219 PS1, Line 219: startEntry(level); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@220 PS1, Line 220: if (value == null) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@221 PS1, Line 221: out_.print("null"); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@222 PS1, Line 222: } else { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@223 PS1, Line 223: quoteValue(value); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@224 PS1, Line 224: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@225 PS1, Line 225: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@227 PS1, Line 227: public void textField(int level, String name, String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@235 PS1, Line 235: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@237 PS1, Line 237: private void quoteValue(String value) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@239 PS1, Line 239: for (int i = 0; i < value.length(); i++) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@240 PS1, Line 240: char c = value.charAt(i); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@241 PS1, Line 241: if (c == '"' || c == '\\') out_.print('\\'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@242 PS1, Line 242: out_.print(c); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@243 PS1, Line 243: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@244 PS1, Line 244: out_.print('"'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@245 PS1, Line 245: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@247 PS1, Line 247: public int objectField(int level, String name) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@248 PS1, Line 248: return push(level, name, '{', '}'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@249 PS1, Line 249: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@251 PS1, Line 251: public int arrayField(int level, String name) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@252 PS1, Line 252: return push(level, name, '[', ']'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@253 PS1, Line 253: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@255 PS1, Line 255: private int push(int level, String name, char open, char close) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@256 PS1, Line 256: startField(level, name); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@257 PS1, Line 257: out_.print(' '); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@258 PS1, Line 258: out_.print(open); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@259 PS1, Line 259: terminators[++depth_] = close; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@260 PS1, Line 260: hasContent_[depth_] = false; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@261 PS1, Line 261: return depth_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@262 PS1, Line 262: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@264 PS1, Line 264: public int objectElement(int level) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@265 PS1, Line 265: return push(level, '{', '}'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@266 PS1, Line 266: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@268 PS1, Line 268: private int push(int level, char open, char close) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@269 PS1, Line 269: startEntry(level); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@270 PS1, Line 270: out_.print(open); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@271 PS1, Line 271: terminators[++depth_] = close; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@272 PS1, Line 272: hasContent_[depth_] = false; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@273 PS1, Line 273: return depth_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@274 PS1, Line 274: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@276 PS1, Line 276: private void startField(int level, String name) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@277 PS1, Line 277: startEntry(level); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@278 PS1, Line 278: if (isIdent(name)) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@279 PS1, Line 279: out_.print(name); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@280 PS1, Line 280: } else { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@281 PS1, Line 281: out_.print('"'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@282 PS1, Line 282: out_.print(name); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@283 PS1, Line 283: out_.print('"'); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@284 PS1, Line 284: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@285 PS1, Line 285: out_.print(":"); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@286 PS1, Line 286: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@288 PS1, Line 288: private void startEntry(int level) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@296 PS1, Line 296: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@298 PS1, Line 298: public static boolean isIdent(String name) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@299 PS1, Line 299: if (name.isEmpty()) return false; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@300 PS1, Line 300: if (!Character.isJavaIdentifierStart(name.charAt(0))) return false; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@301 PS1, Line 301: for (int i = 1; i < name.length(); i++) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@302 PS1, Line 302: if (!Character.isJavaIdentifierPart(name.charAt(i))) tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@303 PS1, Line 303: return false; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@304 PS1, Line 304: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@305 PS1, Line 305: return true; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@306 PS1, Line 306: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@308 PS1, Line 308: public void popTo(int level) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@309 PS1, Line 309: while (depth_ > level) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@310 PS1, Line 310: out_.println(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@311 PS1, Line 311: depth_--; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@312 PS1, Line 312: indent(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@313 PS1, Line 313: out_.print(terminators[depth_+1]); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@314 PS1, Line 314: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@315 PS1, Line 315: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@317 PS1, Line 317: private void indent() { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@318 PS1, Line 318: for (int i = 0; i < depth_; i++) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@319 PS1, Line 319: out_.print(indent_); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@320 PS1, Line 320: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@321 PS1, Line 321: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@323 PS1, Line 323: public void close() { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@324 PS1, Line 324: popTo(0); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@325 PS1, Line 325: if (hasContent_[0]) out_.println(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@326 PS1, Line 326: out_.close(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@327 PS1, Line 327: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@328 PS1, Line 328: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@332 PS1, Line 332: protected final StringWriter strWriter_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@333 PS1, Line 333: protected final TreeBuilder builder_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@334 PS1, Line 334: protected boolean closed_; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@336 PS1, Line 336: public JsonTreeFormatter(ToJsonOptions options) { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@337 PS1, Line 337: super(options); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@338 PS1, Line 338: strWriter_ = new StringWriter(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@340 PS1, Line 340: root_ = new ObjectFormatter(this, builder_.objectElement(0)); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@341 PS1, Line 341: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@343 PS1, Line 343: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@348 PS1, Line 348: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@350 PS1, Line 350: if (!closed_) builder_.close(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@351 PS1, Line 351: closed_ = true; tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@352 PS1, Line 352: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@354 PS1, Line 354: @Override tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@355 PS1, Line 355: public String toString() { tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@356 PS1, Line 356: close(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@357 PS1, Line 357: return strWriter_.toString(); tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/main/java/org/apache/impala/common/serialize/JsonTreeFormatter.java@358 PS1, Line 358: } tab used for whitespace http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/test/java/org/apache/impala/common/serialize/TreeFormatterTest.java File fe/src/test/java/org/apache/impala/common/serialize/TreeFormatterTest.java: http://gerrit.cloudera.org:8080/#/c/12079/1/fe/src/test/java/org/apache/impala/common/serialize/TreeFormatterTest.java@184 PS1, Line 184: assertEquals("{\n a: [\n 10,\n null,\n \"foo\",\n null\n ]\n}\n", strWriter.toString()); line too long (108 > 90) -- To view, visit http://gerrit.cloudera.org:8080/12079 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie3101c2708bf6cf4bec61af83a5db9b6d70ddd9c Gerrit-Change-Number: 12079 Gerrit-PatchSet: 1 Gerrit-Owner: Paul Rogers <par0...@yahoo.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Comment-Date: Fri, 14 Dec 2018 01:06:06 +0000 Gerrit-HasComments: Yes