You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2014/07/07 07:51:43 UTC
[3/4] git commit: [OLINGO-341] Fix
[OLINGO-341] Fix
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/098ed145
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/098ed145
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/098ed145
Branch: refs/heads/Olingo-317_DeSerializerRefactoring
Commit: 098ed145dbafa2bd59d35448ec37fcf0b01bcb98
Parents: 15f7de8
Author: Francesco Chicchiriccò <--global>
Authored: Fri Jul 4 11:23:36 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Fri Jul 4 11:23:36 2014 +0200
----------------------------------------------------------------------
.../apache/olingo/fit/tecsvc/BasicITCase.java | 14 ++++++++++--
.../retrieve/AbstractODataRetrieveRequest.java | 6 +----
.../retrieve/EdmMetadataRequestImpl.java | 10 ++++++++
.../retrieve/v4/XMLMetadataRequestImpl.java | 24 ++++++++++++--------
4 files changed, 37 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/098ed145/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
index 136d513..8c5650f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
@@ -18,14 +18,17 @@
*/
package org.apache.olingo.fit.tecsvc;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.apache.olingo.client.api.communication.request.retrieve.EdmMetadataRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
+import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
import org.apache.olingo.client.api.v4.ODataClient;
import org.apache.olingo.client.core.ODataClientFactory;
import org.apache.olingo.commons.api.domain.ODataServiceDocument;
import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.junit.Before;
import org.junit.Test;
@@ -43,7 +46,7 @@ public class BasicITCase {
@Test
public void readServiceDocument() {
ODataServiceDocumentRequest request =
- odata.getRetrieveRequestFactory().getServiceDocumentRequest(REF_SERVICE);
+ odata.getRetrieveRequestFactory().getServiceDocumentRequest(REF_SERVICE);
request.setAccept("application/json;odata.metadata=minimal");
assertNotNull(request);
ODataServiceDocument serviceDocument = request.execute().getBody();
@@ -54,7 +57,14 @@ public class BasicITCase {
public void readMetadata() {
EdmMetadataRequest request = odata.getRetrieveRequestFactory().getMetadataRequest(REF_SERVICE);
assertNotNull(request);
- Edm edm = request.execute().getBody();
+
+ ODataRetrieveResponse<Edm> response = request.execute();
+ assertEquals(200, response.getStatusCode());
+
+ Edm edm = response.getBody();
assertNotNull(edm);
+ assertEquals("com.sap.odata.test1", edm.getSchema("com.sap.odata.test1").getNamespace());
+ assertEquals("Namespace1_Alias", edm.getSchema("com.sap.odata.test1").getAlias());
+ assertNotNull(edm.getTerm(new FullQualifiedName("Core.Description")));
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/098ed145/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
index 1a28a14..c42832c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
@@ -62,7 +62,7 @@ public abstract class AbstractODataRetrieveRequest<T>
* Response abstract class about an ODataRetrieveRequest.
*/
protected abstract class AbstractODataRetrieveResponse
- extends AbstractODataResponse implements ODataRetrieveResponse<T> {
+ extends AbstractODataResponse implements ODataRetrieveResponse<T> {
/**
* Constructor.
@@ -83,10 +83,6 @@ public abstract class AbstractODataRetrieveRequest<T>
super(client, res);
}
- protected HttpResponse getHttpResponse() {
- return res;
- }
-
@Override
public abstract T getBody();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/098ed145/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/EdmMetadataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/EdmMetadataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/EdmMetadataRequestImpl.java
index 5a02a19..64486ff 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/EdmMetadataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/EdmMetadataRequestImpl.java
@@ -58,6 +58,16 @@ class EdmMetadataRequestImpl extends AbstractMetadataRequestImpl<Edm> implements
}
@Override
+ public int getStatusCode() {
+ return xmlMetadataResponse.getStatusCode();
+ }
+
+ @Override
+ public String getStatusMessage() {
+ return xmlMetadataResponse.getStatusMessage();
+ }
+
+ @Override
public Edm getBody() {
if (metadata == null) {
try {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/098ed145/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/XMLMetadataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/XMLMetadataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/XMLMetadataRequestImpl.java
index 88fb07a..4645d86 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/XMLMetadataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/XMLMetadataRequestImpl.java
@@ -23,6 +23,8 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
import org.apache.olingo.client.api.communication.request.retrieve.XMLMetadataRequest;
import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
import org.apache.olingo.client.api.edm.xml.Schema;
@@ -50,7 +52,7 @@ public class XMLMetadataRequestImpl extends AbstractMetadataRequestImpl<Map<Stri
final SingleXMLMetadatRequestImpl rootReq = new SingleXMLMetadatRequestImpl((ODataClient) odataClient, uri);
final ODataRetrieveResponse<XMLMetadata> rootRes = rootReq.execute();
- final XMLMetadataResponseImpl response = new XMLMetadataResponseImpl();
+ final XMLMetadataResponseImpl response = new XMLMetadataResponseImpl(httpClient, rootReq.getHttpResponse());
final XMLMetadata rootMetadata = rootRes.getBody();
for (Schema schema : rootMetadata.getSchemas()) {
@@ -87,7 +89,7 @@ public class XMLMetadataRequestImpl extends AbstractMetadataRequestImpl<Map<Stri
// process all edm:Annotations in each schema of the included document
for (Annotations annotationGroup : ((SchemaImpl) schema).getAnnotationGroups()) {
- // take into account only when (TargetNamespace was either not provided or matches) and
+ // take into account only when (TargetNamespace was either not provided or matches) and
// (Qualifier was either not provided or matches)
if ((StringUtils.isBlank(include.getTargetNamespace())
|| include.getTargetNamespace().equals(
@@ -123,13 +125,20 @@ public class XMLMetadataRequestImpl extends AbstractMetadataRequestImpl<Map<Stri
private class SingleXMLMetadatRequestImpl extends AbstractMetadataRequestImpl<XMLMetadata> {
+ private HttpResponse httpResponse;
+
public SingleXMLMetadatRequestImpl(final ODataClient odataClient, final URI uri) {
super(odataClient, uri);
}
+ public HttpResponse getHttpResponse() {
+ return httpResponse;
+ }
+
@Override
public ODataRetrieveResponse<XMLMetadata> execute() {
- return new AbstractODataRetrieveResponse(httpClient, doExecute()) {
+ httpResponse = doExecute();
+ return new AbstractODataRetrieveResponse(httpClient, httpResponse) {
@Override
public XMLMetadata getBody() {
@@ -147,13 +156,8 @@ public class XMLMetadataRequestImpl extends AbstractMetadataRequestImpl<Map<Stri
private final Map<String, Schema> schemas = new HashMap<String, Schema>();
- /**
- * Constructor.
- * <br/>
- * Just to create response templates to be initialized from batch.
- */
- private XMLMetadataResponseImpl() {
- super();
+ private XMLMetadataResponseImpl(final HttpClient client, final HttpResponse res) {
+ super(client, res);
}
@Override