@@ -188,36 +188,41 @@ private void parse(QueryType queryType, InputStream in, Sink sink,
188
188
if (parser .nextToken () == JsonToken .FIELD_NAME
189
189
&& parser .getCurrentName ().equals ("result" )
190
190
&& parser .nextToken () == JsonToken .START_OBJECT ) {
191
- if (parser .nextToken () == JsonToken .FIELD_NAME
192
- && parser .getCurrentName ().equals ("pagingIdentifiers" )
193
- && parser .nextToken () == JsonToken .START_OBJECT ) {
194
- JsonToken token = parser .nextToken ();
195
- while (parser .getCurrentToken () == JsonToken .FIELD_NAME ) {
196
- page .pagingIdentifier = parser .getCurrentName ();
197
- if (parser .nextToken () == JsonToken .VALUE_NUMBER_INT ) {
198
- page .offset = parser .getIntValue ();
191
+ while (parser .nextToken () == JsonToken .FIELD_NAME ) {
192
+ if (parser .getCurrentName ().equals ("pagingIdentifiers" )
193
+ && parser .nextToken () == JsonToken .START_OBJECT ) {
194
+ JsonToken token = parser .nextToken ();
195
+ while (parser .getCurrentToken () == JsonToken .FIELD_NAME ) {
196
+ page .pagingIdentifier = parser .getCurrentName ();
197
+ if (parser .nextToken () == JsonToken .VALUE_NUMBER_INT ) {
198
+ page .offset = parser .getIntValue ();
199
+ }
200
+ token = parser .nextToken ();
199
201
}
200
- token = parser .nextToken ();
201
- }
202
- expect (token , JsonToken .END_OBJECT );
203
- }
204
- if (parser .nextToken () == JsonToken .FIELD_NAME
205
- && parser .getCurrentName ().equals ("events" )
206
- && parser .nextToken () == JsonToken .START_ARRAY ) {
207
- while (parser .nextToken () == JsonToken .START_OBJECT ) {
208
- expectScalarField (parser , "segmentId" );
209
- expectScalarField (parser , "offset" );
210
- if (parser .nextToken () == JsonToken .FIELD_NAME
211
- && parser .getCurrentName ().equals ("event" )
212
- && parser .nextToken () == JsonToken .START_OBJECT ) {
213
- parseFields (fieldNames , fieldTypes , posTimestampField , rowBuilder , parser );
214
- sink .send (rowBuilder .build ());
215
- rowBuilder .reset ();
216
- page .totalRowCount += 1 ;
202
+ expect (token , JsonToken .END_OBJECT );
203
+ } else if (parser .getCurrentName ().equals ("events" )
204
+ && parser .nextToken () == JsonToken .START_ARRAY ) {
205
+ while (parser .nextToken () == JsonToken .START_OBJECT ) {
206
+ expectScalarField (parser , "segmentId" );
207
+ expectScalarField (parser , "offset" );
208
+ if (parser .nextToken () == JsonToken .FIELD_NAME
209
+ && parser .getCurrentName ().equals ("event" )
210
+ && parser .nextToken () == JsonToken .START_OBJECT ) {
211
+ parseFields (fieldNames , fieldTypes , posTimestampField , rowBuilder , parser );
212
+ sink .send (rowBuilder .build ());
213
+ rowBuilder .reset ();
214
+ page .totalRowCount += 1 ;
215
+ }
216
+ expect (parser , JsonToken .END_OBJECT );
217
+ }
218
+ parser .nextToken ();
219
+ } else if (parser .getCurrentName ().equals ("dimensions" )
220
+ || parser .getCurrentName ().equals ("metrics" )) {
221
+ expect (parser , JsonToken .START_ARRAY );
222
+ while (parser .nextToken () != JsonToken .END_ARRAY ) {
223
+ // empty
217
224
}
218
- expect (parser , JsonToken .END_OBJECT );
219
225
}
220
- parser .nextToken ();
221
226
}
222
227
}
223
228
}
0 commit comments