[OLINGO-1315]OData v4.0:Client: API to return HTTP Request details

This commit is contained in:
Archana Rai 2019-03-26 16:33:14 +05:30
parent f344a3c565
commit 5b32c3acbf
11 changed files with 13 additions and 11 deletions

View File

@ -84,6 +84,7 @@ import org.apache.olingo.client.api.uri.FilterFactory;
import org.apache.olingo.client.api.uri.URIBuilder; import org.apache.olingo.client.api.uri.URIBuilder;
import org.apache.olingo.client.api.uri.URIFilter; import org.apache.olingo.client.api.uri.URIFilter;
import org.apache.olingo.client.core.ODataClientFactory; import org.apache.olingo.client.core.ODataClientFactory;
import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;
import org.apache.olingo.client.core.uri.URIUtils; import org.apache.olingo.client.core.uri.URIUtils;
import org.apache.olingo.commons.api.edm.Edm; import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmActionImport; import org.apache.olingo.commons.api.edm.EdmActionImport;
@ -538,7 +539,8 @@ public class BasicITCase extends AbstractParamTecSvcITCase {
newEntity); newEntity);
assertNotNull(createRequest); assertNotNull(createRequest);
final ODataEntityCreateResponse<ClientEntity> createResponse = createRequest.execute(); final ODataEntityCreateResponse<ClientEntity> createResponse = createRequest.execute();
assertNotNull(createRequest.getHttpRequest());
assertNotNull(((AbstractODataBasicRequest)createRequest).getPayload());
assertEquals(HttpStatusCode.CREATED.getStatusCode(), createResponse.getStatusCode()); assertEquals(HttpStatusCode.CREATED.getStatusCode(), createResponse.getStatusCode());
assertEquals(SERVICE_URI + ES_ALL_PRIM + "(1)", createResponse.getHeader(HttpHeader.LOCATION).iterator().next()); assertEquals(SERVICE_URI + ES_ALL_PRIM + "(1)", createResponse.getHeader(HttpHeader.LOCATION).iterator().next());
final ClientEntity createdEntity = createResponse.getBody(); final ClientEntity createdEntity = createResponse.getBody();

View File

@ -81,7 +81,7 @@ public abstract class AbstractODataBasicRequest<T extends ODataResponse>
* *
* @return InputStream for entire payload. * @return InputStream for entire payload.
*/ */
protected abstract InputStream getPayload(); public abstract InputStream getPayload();
/** /**
* Serializes the full request into the given batch request. * Serializes the full request into the given batch request.

View File

@ -50,7 +50,7 @@ public class ODataDeleteRequestImpl extends AbstractODataBasicRequest<ODataDelet
* No payload: null will be returned. * No payload: null will be returned.
*/ */
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
return null; return null;
} }

View File

@ -71,7 +71,7 @@ public class ODataEntityCreateRequestImpl<E extends ClientEntity>
} }
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
try { try {
return odataClient.getWriter().writeEntity(entity, ContentType.parse(getContentType())); return odataClient.getWriter().writeEntity(entity, ContentType.parse(getContentType()));
} catch (final ODataSerializerException e) { } catch (final ODataSerializerException e) {

View File

@ -75,7 +75,7 @@ public class ODataEntityUpdateRequestImpl<E extends ClientEntity>
} }
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
try { try {
return odataClient.getWriter().writeEntity(changes, ContentType.parse(getContentType())); return odataClient.getWriter().writeEntity(changes, ContentType.parse(getContentType()));
} catch (final ODataSerializerException e) { } catch (final ODataSerializerException e) {

View File

@ -84,7 +84,7 @@ public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<OD
} }
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
try { try {
return odataClient.getWriter().writeProperty(property, ContentType.parse(getContentType())); return odataClient.getWriter().writeProperty(property, ContentType.parse(getContentType()));
} catch (final ODataSerializerException e) { } catch (final ODataSerializerException e) {

View File

@ -62,7 +62,7 @@ public class ODataReferenceAddingRequestImpl extends AbstractODataBasicRequest<O
* No payload: null will be returned. * No payload: null will be returned.
*/ */
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
if (reference == null) { if (reference == null) {
return null; return null;
} else { } else {

View File

@ -85,7 +85,7 @@ public class ODataValueUpdateRequestImpl extends AbstractODataBasicRequest<OData
* {@inheritDoc } * {@inheritDoc }
*/ */
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
return IOUtils.toInputStream(value.toString()); return IOUtils.toInputStream(value.toString());
} }

View File

@ -112,7 +112,7 @@ public abstract class AbstractODataInvokeRequest<T extends ClientInvokeResult>
protected abstract ContentType getPOSTParameterFormat(); protected abstract ContentType getPOSTParameterFormat();
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
if (!this.parameters.isEmpty() && this.method == HttpMethod.POST) { if (!this.parameters.isEmpty() && this.method == HttpMethod.POST) {
// Additional, non-binding parameters MUST be sent as JSON // Additional, non-binding parameters MUST be sent as JSON
final ClientEntity tmp = odataClient.getObjectFactory().newEntity(null); final ClientEntity tmp = odataClient.getObjectFactory().newEntity(null);

View File

@ -54,7 +54,7 @@ public abstract class AbstractODataRetrieveRequest<T>
* This kind of request doesn't have any payload: null will be returned. * This kind of request doesn't have any payload: null will be returned.
*/ */
@Override @Override
protected InputStream getPayload() { public InputStream getPayload() {
return null; return null;
} }

View File

@ -256,7 +256,7 @@ public abstract class AbstractODataResponse implements ODataResponse {
throw new NoContentException(); throw new NoContentException();
} }
if (payload == null && batchInfo.isValidBatch()) { if (payload == null && batchInfo != null && batchInfo.isValidBatch()) {
// get input stream till the end of item // get input stream till the end of item
payload = new PipedInputStream(); payload = new PipedInputStream();