private void expect(JsonParser parser, JsonToken token) throws IOException { expect(parser.nextToken(), token); }
rowBuilder.reset(); expect(parser, JsonToken.END_OBJECT); expect(token, JsonToken.END_OBJECT); } else if (parser.getCurrentName().equals("events") && parser.nextToken() == JsonToken.START_ARRAY) { page.totalRowCount += 1; expect(parser, JsonToken.END_OBJECT); expect(parser, JsonToken.START_ARRAY); while (parser.nextToken() != JsonToken.END_ARRAY) { expect(parser, JsonToken.END_OBJECT); expect(parser, JsonToken.FIELD_NAME); if (parser.getCurrentName().equals("columns")) { expect(parser, JsonToken.START_ARRAY); while (parser.nextToken() != JsonToken.END_ARRAY) { expect(parser, JsonToken.END_ARRAY); Row row = rowBuilder.build(); sink.send(row); expect(parser, JsonToken.END_OBJECT);
private void expect(JsonParser parser, JsonToken token) throws IOException { expect(parser.nextToken(), token); }
rowBuilder.reset(); expect(parser, JsonToken.END_OBJECT); expect(token, JsonToken.END_OBJECT); } else if (parser.getCurrentName().equals("events") && parser.nextToken() == JsonToken.START_ARRAY) { page.totalRowCount += 1; expect(parser, JsonToken.END_OBJECT); expect(parser, JsonToken.START_ARRAY); while (parser.nextToken() != JsonToken.END_ARRAY) { expect(parser, JsonToken.END_OBJECT); expect(parser, JsonToken.FIELD_NAME); if (parser.getCurrentName().equals("columns")) { expect(parser, JsonToken.START_ARRAY); while (parser.nextToken() != JsonToken.END_ARRAY) { expect(parser, JsonToken.END_ARRAY); Row row = rowBuilder.build(); sink.send(row); expect(parser, JsonToken.END_OBJECT);
private void expectObjectField(JsonParser parser, String name) throws IOException { expect(parser, JsonToken.FIELD_NAME); if (!parser.getCurrentName().equals(name)) { throw new RuntimeException("expected field " + name + ", got " + parser.getCurrentName()); } expect(parser, JsonToken.START_OBJECT); while (parser.nextToken() != JsonToken.END_OBJECT) { // empty } }
private void expectObjectField(JsonParser parser, String name) throws IOException { expect(parser, JsonToken.FIELD_NAME); if (!parser.getCurrentName().equals(name)) { throw new RuntimeException("expected field " + name + ", got " + parser.getCurrentName()); } expect(parser, JsonToken.START_OBJECT); while (parser.nextToken() != JsonToken.END_OBJECT) { // empty } }
private void expectScalarField(JsonParser parser, String name) throws IOException { expect(parser, JsonToken.FIELD_NAME); if (!parser.getCurrentName().equals(name)) { throw new RuntimeException("expected field " + name + ", got " + parser.getCurrentName()); } final JsonToken t = parser.nextToken(); switch (t) { case VALUE_NULL: case VALUE_FALSE: case VALUE_TRUE: case VALUE_NUMBER_INT: case VALUE_NUMBER_FLOAT: case VALUE_STRING: break; default: throw new RuntimeException("expected scalar field, got " + t); } }
private Long extractTimestampField(JsonParser parser) throws IOException { expect(parser, JsonToken.FIELD_NAME); if (!parser.getCurrentName().equals(DEFAULT_RESPONSE_TIMESTAMP_COLUMN)) { throw new RuntimeException("expected field " + DEFAULT_RESPONSE_TIMESTAMP_COLUMN + ", got " + parser.getCurrentName()); } parser.nextToken(); try { final Date parse; // synchronized block to avoid race condition synchronized (UTC_TIMESTAMP_FORMAT) { parse = UTC_TIMESTAMP_FORMAT.parse(parser.getText()); } return parse.getTime(); } catch (ParseException e) { // ignore bad value } return null; }
private void expectScalarField(JsonParser parser, String name) throws IOException { expect(parser, JsonToken.FIELD_NAME); if (!parser.getCurrentName().equals(name)) { throw new RuntimeException("expected field " + name + ", got " + parser.getCurrentName()); } final JsonToken t = parser.nextToken(); switch (t) { case VALUE_NULL: case VALUE_FALSE: case VALUE_TRUE: case VALUE_NUMBER_INT: case VALUE_NUMBER_FLOAT: case VALUE_STRING: break; default: throw new RuntimeException("expected scalar field, got " + t); } }
private Long extractTimestampField(JsonParser parser) throws IOException { expect(parser, JsonToken.FIELD_NAME); if (!parser.getCurrentName().equals(DEFAULT_RESPONSE_TIMESTAMP_COLUMN)) { throw new RuntimeException("expected field " + DEFAULT_RESPONSE_TIMESTAMP_COLUMN + ", got " + parser.getCurrentName()); } parser.nextToken(); try { final Date parse; // synchronized block to avoid race condition synchronized (UTC_TIMESTAMP_FORMAT) { parse = UTC_TIMESTAMP_FORMAT.parse(parser.getText()); } return parse.getTime(); } catch (ParseException e) { // ignore bad value } return null; }