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

Reply via email to