private void sendResults(final DataRequest request,
final ODataSQLBuilder visitor,
final BaseResponse queryResponse, EntitySetResponse response)
throws ODataApplicationException, SerializerException {
if (request.getPreference(ODATA_MAXPAGESIZE) != null) {
response.writeHeader(PREFERENCE_APPLIED,
ODATA_MAXPAGESIZE+"="+ request.getPreference(ODATA_MAXPAGESIZE));
}
EntityCollectionResponse result = (EntityCollectionResponse)queryResponse;
if (result.getNextToken() != null) {
try {
String nextUri = request.getODataRequest().getRawBaseUri()
+request.getODataRequest().getRawODataPath()
+ "?"
+buildNextToken(request.getODataRequest().getRawQueryPath(), result.getNextToken());
result.setNext(new URI(nextUri));
} catch (URISyntaxException e) {
throw new ODataApplicationException(e.getMessage(), 500, Locale.getDefault(), e);
}
}
response.writeReadEntitySet(visitor.getContext().getEdmEntityType(), result);
}