@Override public ResultSegment<R> preProcessResponse(TableQuery<T> queryRef, CloudTableClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { throw TableServiceException.generateTableServiceException(this.getResult(), null, this.getConnection().getErrorStream(), options.getTablePayloadFormat()); } return null; }
@SuppressWarnings("unchecked") @Override public ResultSegment<R> postProcessResponse(HttpURLConnection connection, TableQuery<T> queryRef, CloudTableClient client, OperationContext context, ResultSegment<R> storageObject) throws Exception { ODataPayload<R> resolvedResponse = null; InputStream inStream = connection.getInputStream(); resolvedResponse = (ODataPayload<R>) TableDeserializer.parseQueryResponse(inStream, options, queryToExecute.getClazzType(), resolver, context); final ResultContinuation nextToken = TableResponse.getTableContinuationFromResponse(connection); if (nextToken != null) { nextToken.setTargetLocation(this.getResult().getTargetLocation()); } // Note, setting the token on the SegmentedStorageRequest is // key, this is how the iterator will share the token across executions segmentedRequest.setToken(nextToken); return new ResultSegment<R>(resolvedResponse.results, queryToExecute.getTakeCount() == null ? resolvedResponse.results.size() : queryToExecute.getTakeCount(), nextToken); }
@SuppressWarnings("unchecked") @Override public ResultSegment<R> postProcessResponse(HttpURLConnection connection, TableQuery<T> queryRef, CloudTableClient client, OperationContext context, ResultSegment<R> storageObject) throws Exception { ODataPayload<R> resolvedResponse = null; InputStream inStream = connection.getInputStream(); resolvedResponse = (ODataPayload<R>) TableDeserializer.parseQueryResponse(inStream, options, queryToExecute.getClazzType(), resolver, context); final ResultContinuation nextToken = TableResponse.getTableContinuationFromResponse(connection); if (nextToken != null) { nextToken.setTargetLocation(this.getResult().getTargetLocation()); } // Note, setting the token on the SegmentedStorageRequest is // key, this is how the iterator will share the token across executions segmentedRequest.setToken(nextToken); return new ResultSegment<R>(resolvedResponse.results, queryToExecute.getTakeCount() == null ? resolvedResponse.results.size() : queryToExecute.getTakeCount(), nextToken); }
@Override public void setRequestLocationMode() { this.setRequestLocationMode(Utility.getListingLocationMode(segmentedRequest.getToken())); }
@Override public HttpURLConnection buildRequest(CloudTableClient client, TableQuery<T> queryRef, OperationContext context) throws Exception { return TableRequest.query(client.getTransformedEndPoint(context).getUri(this.getCurrentLocation()), options, queryToExecute.generateQueryBuilder(), context, queryToExecute.getSourceTableName(), null/* identity */, segmentedRequest.getToken()); }
@Override public HttpURLConnection buildRequest(CloudTableClient client, TableQuery<T> queryRef, OperationContext context) throws Exception { return TableRequest.query(client.getTransformedEndPoint(context).getUri(this.getCurrentLocation()), options, queryToExecute.generateQueryBuilder(), context, queryToExecute.getSourceTableName(), null/* identity */, segmentedRequest.getToken()); }
@Override public void setRequestLocationMode() { this.setRequestLocationMode(Utility.getListingLocationMode(segmentedRequest.getToken())); }
@Override public ResultSegment<R> preProcessResponse(TableQuery<T> queryRef, CloudTableClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { throw TableServiceException.generateTableServiceException(this.getResult(), null, this.getConnection().getErrorStream(), options.getTablePayloadFormat()); } return null; }