You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/04/01 16:19:00 UTC
[33/51] [abbrv] git commit: [OLINGO-200] Introducing specialization
for V3 and V4 domain objects
[OLINGO-200] Introducing specialization for V3 and V4 domain objects
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/80e5ed56
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/80e5ed56
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/80e5ed56
Branch: refs/heads/master
Commit: 80e5ed56d55f46e2bf5eb5933145ab5ef66ea694
Parents: ceda474
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Sat Mar 29 16:55:41 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Sat Mar 29 16:55:41 2014 +0100
----------------------------------------------------------------------
.../olingo/client/api/CommonODataClient.java | 4 +-
.../request/cud/CommonCUDRequestFactory.java | 18 +-
.../retrieve/CommonRetrieveRequestFactory.java | 12 +-
.../request/retrieve/ODataEntityRequest.java | 4 +-
.../request/retrieve/ODataEntitySetRequest.java | 5 +-
.../request/retrieve/ODataPropertyRequest.java | 4 +-
.../retrieve/v3/RetrieveRequestFactory.java | 18 +
.../retrieve/v4/RetrieveRequestFactory.java | 17 +
.../response/ODataEntityCreateResponse.java | 4 +-
.../response/ODataEntityUpdateResponse.java | 4 +-
.../ODataMediaEntityCreateResponse.java | 4 +-
.../ODataMediaEntityUpdateResponse.java | 4 +-
.../response/ODataPropertyUpdateResponse.java | 4 +-
.../api/domain/ODataEntitySetIterator.java | 12 +-
.../olingo/client/api/op/CommonODataBinder.java | 33 +-
.../olingo/client/api/op/CommonODataReader.java | 12 +-
.../olingo/client/api/op/ODataWriter.java | 14 +-
.../olingo/client/api/op/v3/ODataBinder.java | 22 ++
.../olingo/client/api/op/v4/ODataBinder.java | 21 ++
.../olingo/client/api/v3/ODataClient.java | 10 +-
.../olingo/client/api/v4/ODataClient.java | 10 +-
.../olingo/client/core/AbstractODataClient.java | 9 -
.../request/cud/AbstractCUDRequestFactory.java | 16 +-
.../cud/ODataEntityCreateRequestImpl.java | 16 +-
.../cud/ODataEntityUpdateRequestImpl.java | 10 +-
.../cud/ODataPropertyUpdateRequestImpl.java | 10 +-
.../request/invoke/ODataInvokeRequestImpl.java | 24 +-
.../invoke/v3/InvokeRequestFactoryImpl.java | 18 +-
.../AbstractRetrieveRequestFactory.java | 18 -
.../retrieve/ODataEntityRequestImpl.java | 17 +-
.../retrieve/ODataEntitySetRequestImpl.java | 16 +-
.../retrieve/ODataPropertyRequestImpl.java | 19 +-
.../retrieve/v3/RetrieveRequestFactoryImpl.java | 27 ++
.../retrieve/v4/RetrieveRequestFactoryImpl.java | 30 +-
.../ODataMediaEntityCreateRequestImpl.java | 6 +-
.../ODataMediaEntityUpdateRequestImpl.java | 6 +-
.../client/core/op/AbstractODataBinder.java | 53 ++-
.../client/core/op/AbstractODataReader.java | 18 +-
.../olingo/client/core/op/ODataWriterImpl.java | 20 +-
.../client/core/op/impl/v3/ODataBinderImpl.java | 46 +++
.../client/core/op/impl/v4/ODataBinderImpl.java | 56 +++
.../olingo/client/core/v3/ODataClientImpl.java | 9 +
.../olingo/client/core/v4/ODataClientImpl.java | 9 +
.../client/core/it/AbstractTestITCase.java | 125 ++++---
.../client/core/it/v3/AsyncTestITCase.java | 18 +-
.../core/it/v3/EntityCreateTestITCase.java | 181 ++++-----
.../core/it/v3/EntityRetrieveTestITCase.java | 43 +--
.../client/core/it/v3/EntitySetTestITCase.java | 15 +-
.../core/it/v3/EntityUpdateTestITCase.java | 44 +--
.../client/core/it/v3/ErrorTestITCase.java | 13 +-
.../core/it/v3/FilterFactoryTestITCase.java | 4 +-
.../client/core/it/v3/FilterTestITCase.java | 4 +-
.../core/it/v3/KeyAsSegmentTestITCase.java | 21 +-
.../core/it/v3/MediaEntityTestITCase.java | 8 +-
.../it/v3/NavigationLinkCreateTestITCase.java | 159 ++++----
.../client/core/it/v3/OpenTypeTestITCase.java | 129 ++++---
.../core/it/v3/PrimitiveKeysTestITCase.java | 8 +-
.../core/it/v3/PropertyRetrieveTestITCase.java | 41 +-
.../client/core/it/v3/PropertyTestITCase.java | 29 +-
.../core/it/v3/PropertyValueTestITCase.java | 18 +-
.../core/it/v3/QueryOptionsTestITCase.java | 38 +-
.../core/it/v4/EntityRetrieveTestITCase.java | 52 +--
.../client/core/it/v4/EntitySetTestITCase.java | 18 +-
.../core/it/v4/PropertyValueTestITCase.java | 9 +-
.../olingo/client/core/v3/EntitySetTest.java | 6 +-
.../olingo/client/core/v3/EntityTest.java | 26 +-
.../olingo/client/core/v3/PropertyTest.java | 30 +-
.../commons/api/domain/CommonODataEntity.java | 177 +++++++++
.../api/domain/CommonODataEntitySet.java | 57 +++
.../api/domain/CommonODataObjectFactory.java | 210 +++++++++++
.../commons/api/domain/CommonODataProperty.java | 91 +++++
.../commons/api/domain/ODataComplexValue.java | 6 +-
.../olingo/commons/api/domain/ODataEntity.java | 197 ----------
.../commons/api/domain/ODataEntitySet.java | 57 ---
.../commons/api/domain/ODataInlineEntity.java | 8 +-
.../api/domain/ODataInlineEntitySet.java | 8 +-
.../commons/api/domain/ODataObjectFactory.java | 210 -----------
.../commons/api/domain/ODataProperty.java | 91 -----
.../commons/api/domain/v3/ODataEntity.java | 32 ++
.../commons/api/domain/v3/ODataEntitySet.java | 29 ++
.../api/domain/v3/ODataObjectFactory.java | 50 +++
.../commons/api/domain/v3/ODataProperty.java | 25 ++
.../commons/api/domain/v4/ODataEntity.java | 52 +++
.../commons/api/domain/v4/ODataEntitySet.java | 29 ++
.../commons/api/domain/v4/ODataEnumValue.java | 24 ++
.../api/domain/v4/ODataObjectFactory.java | 52 +++
.../commons/api/domain/v4/ODataProperty.java | 38 ++
.../commons/api/domain/v4/ODataValue.java | 36 ++
.../core/domain/AbstractODataEntity.java | 326 ++++++++++++++++
.../core/domain/AbstractODataEntitySet.java | 73 ++++
.../core/domain/AbstractODataObjectFactory.java | 133 +++++++
.../core/domain/AbstractODataProperty.java | 169 +++++++++
.../core/domain/ODataComplexValueImpl.java | 10 +-
.../commons/core/domain/ODataEntityImpl.java | 372 -------------------
.../commons/core/domain/ODataEntitySetImpl.java | 104 ------
.../core/domain/ODataObjectFactoryImpl.java | 171 ---------
.../commons/core/domain/ODataPropertyImpl.java | 172 ---------
.../commons/core/domain/v3/ODataEntityImpl.java | 46 +++
.../core/domain/v3/ODataEntitySetImpl.java | 51 +++
.../core/domain/v3/ODataObjectFactoryImpl.java | 75 ++++
.../core/domain/v3/ODataPropertyImpl.java | 33 ++
.../commons/core/domain/v4/ODataEntityImpl.java | 62 ++++
.../core/domain/v4/ODataEntitySetImpl.java | 51 +++
.../core/domain/v4/ODataObjectFactoryImpl.java | 81 ++++
.../core/domain/v4/ODataPropertyImpl.java | 44 +++
105 files changed, 3090 insertions(+), 2090 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
index af904b3..ed0910a 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
@@ -25,7 +25,7 @@ import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeReq
import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
import org.apache.olingo.client.api.communication.request.streamed.CommonStreamedRequestFactory;
import org.apache.olingo.client.api.op.ClientODataDeserializer;
-import org.apache.olingo.commons.api.domain.ODataObjectFactory;
+import org.apache.olingo.commons.api.domain.CommonODataObjectFactory;
import org.apache.olingo.client.api.op.CommonODataBinder;
import org.apache.olingo.client.api.op.CommonODataReader;
import org.apache.olingo.commons.api.op.ODataSerializer;
@@ -56,7 +56,7 @@ public interface CommonODataClient {
CommonODataBinder getBinder();
- ODataObjectFactory getObjectFactory();
+ CommonODataObjectFactory getObjectFactory();
CommonRetrieveRequestFactory getRetrieveRequestFactory();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/CommonCUDRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/CommonCUDRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/CommonCUDRequestFactory.java
index 48786be..f05eb1a 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/CommonCUDRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/CommonCUDRequestFactory.java
@@ -20,10 +20,10 @@ package org.apache.olingo.client.api.communication.request.cud;
import java.io.Serializable;
import java.net.URI;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.domain.ODataLink;
import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
/**
* OData request factory class.
@@ -39,17 +39,19 @@ public interface CommonCUDRequestFactory extends Serializable {
* @param entity entity to be created.
* @return new ODataEntityCreateRequest instance.
*/
- ODataEntityCreateRequest getEntityCreateRequest(URI targetURI, ODataEntity entity);
+ ODataEntityCreateRequest getEntityCreateRequest(URI targetURI, CommonODataEntity entity);
/**
* Gets an update request object instance.
*
+ * @param <UT> concrete UpdateType.
* @param targetURI edit link of the object to be updated.
* @param type type of update to be performed.
* @param changes changes to be applied.
* @return new ODataEntityUpdateRequest instance.
*/
- <UT extends UpdateType> ODataEntityUpdateRequest getEntityUpdateRequest(URI targetURI, UT type, ODataEntity changes);
+ <UT extends UpdateType> ODataEntityUpdateRequest getEntityUpdateRequest(URI targetURI, UT type,
+ CommonODataEntity changes);
/**
* Gets an update request object instance; uses entity's edit link as endpoint.
@@ -58,7 +60,7 @@ public interface CommonCUDRequestFactory extends Serializable {
* @param entity changes to be applied.
* @return new ODataEntityUpdateRequest instance.
*/
- ODataEntityUpdateRequest getEntityUpdateRequest(UpdateType type, ODataEntity entity);
+ ODataEntityUpdateRequest getEntityUpdateRequest(UpdateType type, CommonODataEntity entity);
/**
* Gets a create request object instance.
@@ -81,7 +83,7 @@ public interface CommonCUDRequestFactory extends Serializable {
* @param property value to be update.
* @return new ODataPropertyUpdateRequest instance.
*/
- ODataPropertyUpdateRequest getPropertyPrimitiveValueUpdateRequest(URI targetURI, ODataProperty property);
+ ODataPropertyUpdateRequest getPropertyPrimitiveValueUpdateRequest(URI targetURI, CommonODataProperty property);
/**
* Gets an update request object instance.
@@ -94,7 +96,7 @@ public interface CommonCUDRequestFactory extends Serializable {
* @return new ODataPropertyUpdateRequest instance.
*/
ODataPropertyUpdateRequest getPropertyComplexValueUpdateRequest(
- URI targetURI, UpdateType type, ODataProperty property);
+ URI targetURI, UpdateType type, CommonODataProperty property);
/**
* Gets an update request object instance.
@@ -105,7 +107,7 @@ public interface CommonCUDRequestFactory extends Serializable {
* @param property value to be update.
* @return new ODataPropertyUpdateRequest instance.
*/
- ODataPropertyUpdateRequest getPropertyCollectionValueUpdateRequest(URI targetURI, ODataProperty property);
+ ODataPropertyUpdateRequest getPropertyCollectionValueUpdateRequest(URI targetURI, CommonODataProperty property);
/**
* Gets an add link request object instance.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
index f613cbc..02ca4ee 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
@@ -20,6 +20,9 @@ package org.apache.olingo.client.api.communication.request.retrieve;
import java.io.Serializable;
import java.net.URI;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
/**
* OData request factory class.
@@ -59,10 +62,11 @@ public interface CommonRetrieveRequestFactory extends Serializable {
/**
* Gets a query request returning a set of one or more OData entities.
*
+ * @param <T> concrete ODataEntitySet implementation.
* @param uri request URI.
* @return new {@link ODataEntitySetRequest} instance.
*/
- ODataEntitySetRequest getEntitySetRequest(URI uri);
+ <T extends CommonODataEntitySet> ODataEntitySetRequest<T> getEntitySetRequest(URI uri);
/**
* Gets a query request returning a set of one or more OData entities.
@@ -78,18 +82,20 @@ public interface CommonRetrieveRequestFactory extends Serializable {
/**
* Gets a query request returning a single OData entity.
*
+ * @param <T> concrete ODataEntity implementation.
* @param uri request URI.
* @return new {@link ODataEntityRequest} instance.
*/
- ODataEntityRequest getEntityRequest(URI uri);
+ <T extends CommonODataEntity> ODataEntityRequest<T> getEntityRequest(URI uri);
/**
* Gets a query request returning a single OData entity property.
*
+ * @param <T> concrete ODataProperty implementation.
* @param uri request URI.
* @return new {@link ODataPropertyRequest} instance.
*/
- ODataPropertyRequest getPropertyRequest(URI uri);
+ <T extends CommonODataProperty> ODataPropertyRequest<T> getPropertyRequest(URI uri);
/**
* Gets a query request returning a single OData entity property value.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.java
index a22f82c..aee9602 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.java
@@ -18,11 +18,11 @@
*/
package org.apache.olingo.client.api.communication.request.retrieve;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.format.ODataPubFormat;
/**
* This class implements an OData retrieve query request returning a single entity.
*/
-public interface ODataEntityRequest extends ODataRetrieveRequest<ODataEntity, ODataPubFormat> {
+public interface ODataEntityRequest<T extends CommonODataEntity> extends ODataRetrieveRequest<T, ODataPubFormat> {
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.java
index fbafafd..865596c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.java
@@ -18,11 +18,12 @@
*/
package org.apache.olingo.client.api.communication.request.retrieve;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
import org.apache.olingo.commons.api.format.ODataPubFormat;
/**
* This class implements an OData EntitySet query request.
*/
-public interface ODataEntitySetRequest extends ODataRetrieveRequest<ODataEntitySet, ODataPubFormat> {
+public interface ODataEntitySetRequest<T extends CommonODataEntitySet>
+ extends ODataRetrieveRequest<T, ODataPubFormat> {
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.java
index 7492e11..f61783b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.java
@@ -18,11 +18,11 @@
*/
package org.apache.olingo.client.api.communication.request.retrieve;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.format.ODataFormat;
/**
* This class implements an OData entity property query request.
*/
-public interface ODataPropertyRequest extends ODataRetrieveRequest<ODataProperty, ODataFormat> {
+public interface ODataPropertyRequest<T extends CommonODataProperty> extends ODataRetrieveRequest<T, ODataFormat> {
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java
index a0d667a..25276fe 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java
@@ -20,9 +20,27 @@ package org.apache.olingo.client.api.communication.request.retrieve.v3;
import java.net.URI;
import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
+import org.apache.olingo.commons.api.domain.v3.ODataEntity;
+import org.apache.olingo.commons.api.domain.v3.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.v3.ODataProperty;
public interface RetrieveRequestFactory extends CommonRetrieveRequestFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ ODataEntitySetRequest<ODataEntitySet> getEntitySetRequest(URI uri);
+
+ @SuppressWarnings("unchecked")
+ @Override
+ ODataEntityRequest<ODataEntity> getEntityRequest(URI uri);
+
+ @SuppressWarnings("unchecked")
+ @Override
+ ODataPropertyRequest<ODataProperty> getPropertyRequest(URI uri);
+
/**
* Gets a query request returning a single OData link.
*
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
index 55005cd..8d8184b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
@@ -18,7 +18,24 @@
*/
package org.apache.olingo.client.api.communication.request.retrieve.v4;
+import java.net.URI;
import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
+import org.apache.olingo.commons.api.domain.v4.ODataEntity;
+import org.apache.olingo.commons.api.domain.v4.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.v4.ODataProperty;
+@SuppressWarnings("unchecked")
public interface RetrieveRequestFactory extends CommonRetrieveRequestFactory {
+
+ @Override
+ ODataEntitySetRequest<ODataEntitySet> getEntitySetRequest(URI uri);
+
+ @Override
+ ODataEntityRequest<ODataEntity> getEntityRequest(URI uri);
+
+ @Override
+ ODataPropertyRequest<ODataProperty> getPropertyRequest(URI uri);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityCreateResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityCreateResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityCreateResponse.java
index 5fd7fb8..0407422 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityCreateResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityCreateResponse.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.communication.response;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
/**
* This class implements the response to an OData entity create request.
@@ -32,5 +32,5 @@ public interface ODataEntityCreateResponse extends ODataResponse {
*
* @return created object.
*/
- ODataEntity getBody();
+ CommonODataEntity getBody();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityUpdateResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityUpdateResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityUpdateResponse.java
index 6b84630..59b0112 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityUpdateResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataEntityUpdateResponse.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.communication.response;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
/**
* This class implements the response to an OData update request.
@@ -32,5 +32,5 @@ public interface ODataEntityUpdateResponse extends ODataResponse {
*
* @return updated object.
*/
- ODataEntity getBody();
+ CommonODataEntity getBody();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityCreateResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityCreateResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityCreateResponse.java
index ea3b8b7..c29193b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityCreateResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityCreateResponse.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.communication.response;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
/**
* This class implements the response to an Odata media entity create request.
@@ -32,5 +32,5 @@ public interface ODataMediaEntityCreateResponse extends ODataResponse {
*
* @return created object.
*/
- ODataEntity getBody();
+ CommonODataEntity getBody();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityUpdateResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityUpdateResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityUpdateResponse.java
index f55dac8..97aab03 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityUpdateResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataMediaEntityUpdateResponse.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.communication.response;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
/**
* This class implements the response to an Odata media entity update request.
@@ -32,5 +32,5 @@ public interface ODataMediaEntityUpdateResponse extends ODataResponse {
*
* @return updated object.
*/
- ODataEntity getBody();
+ CommonODataEntity getBody();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataPropertyUpdateResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataPropertyUpdateResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataPropertyUpdateResponse.java
index 23bfc1e..61f5dbd 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataPropertyUpdateResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataPropertyUpdateResponse.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.communication.response;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
/**
* This class implements the response to an OData update entity property request.
@@ -32,5 +32,5 @@ public interface ODataPropertyUpdateResponse extends ODataResponse {
*
* @return updated object.
*/
- ODataProperty getBody();
+ CommonODataProperty getBody();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
index e5eeeed..66e3476 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
@@ -32,8 +32,8 @@ import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Entry;
import org.apache.olingo.commons.api.format.ODataPubFormat;
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
* <br/>
* <b>Please don't forget to call the <tt>close()>/<tt> method when not needed any more.</b>
*/
-public class ODataEntitySetIterator implements Iterator<ODataEntity> {
+public class ODataEntitySetIterator implements Iterator<CommonODataEntity> {
/**
* Logger.
@@ -59,7 +59,7 @@ public class ODataEntitySetIterator implements Iterator<ODataEntity> {
private Entry cached;
- private ODataEntitySet entitySet;
+ private CommonODataEntitySet entitySet;
private final ByteArrayOutputStream osFeed;
@@ -127,9 +127,9 @@ public class ODataEntitySetIterator implements Iterator<ODataEntity> {
* {@inheritDoc }
*/
@Override
- public ODataEntity next() {
+ public CommonODataEntity next() {
if (hasNext()) {
- final ODataEntity res = odataClient.getBinder().getODataEntity(cached);
+ final CommonODataEntity res = odataClient.getBinder().getODataEntity(cached);
cached = null;
return res;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
index 38fe16f..14fa946 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
@@ -25,10 +25,10 @@ import org.apache.olingo.commons.api.data.Feed;
import org.apache.olingo.commons.api.data.Link;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.client.api.data.ServiceDocument;
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataLink;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.domain.ODataServiceDocument;
public interface CommonODataBinder extends Serializable {
@@ -40,7 +40,7 @@ public interface CommonODataBinder extends Serializable {
* @param reference reference class.
* @return <tt>Feed</tt> object.
*/
- Feed getFeed(ODataEntitySet feed, Class<? extends Feed> reference);
+ Feed getFeed(CommonODataEntitySet feed, Class<? extends Feed> reference);
/**
* Gets an <tt>Entry</tt> from the given OData entity.
@@ -49,7 +49,7 @@ public interface CommonODataBinder extends Serializable {
* @param reference reference class.
* @return <tt>Entry</tt> object.
*/
- Entry getEntry(ODataEntity entity, Class<? extends Entry> reference);
+ Entry getEntry(CommonODataEntity entity, Class<? extends Entry> reference);
/**
* Gets an <tt>Entry</tt> from the given OData entity.
@@ -59,7 +59,7 @@ public interface CommonODataBinder extends Serializable {
* @param setType whether to explicitly output type information.
* @return <tt>Entry</tt> object.
*/
- Entry getEntry(ODataEntity entity, Class<? extends Entry> reference, boolean setType);
+ Entry getEntry(CommonODataEntity entity, Class<? extends Entry> reference, boolean setType);
/**
* Gets a <tt>Link</tt> from the given OData link.
@@ -78,7 +78,16 @@ public interface CommonODataBinder extends Serializable {
* @param setType whether to explicitly output type information.
* @return <tt>Property</tt> object.
*/
- Property getProperty(ODataProperty property, Class<? extends Entry> reference, boolean setType);
+ Property getProperty(CommonODataProperty property, Class<? extends Entry> reference, boolean setType);
+
+ /**
+ * Adds the given property to the given entity.
+ *
+ * @param entity OData entity.
+ * @param property OData property.
+ * @return whether add was successful or not.
+ */
+ boolean add(CommonODataEntity entity, CommonODataProperty property);
/**
* Gets <tt>ODataServiceDocument</tt> from the given service document resource.
@@ -94,7 +103,7 @@ public interface CommonODataBinder extends Serializable {
* @param resource feed resource.
* @return <tt>ODataEntitySet</tt> object.
*/
- ODataEntitySet getODataEntitySet(Feed resource);
+ CommonODataEntitySet getODataEntitySet(Feed resource);
/**
* Gets <tt>ODataEntitySet</tt> from the given feed resource.
@@ -103,7 +112,7 @@ public interface CommonODataBinder extends Serializable {
* @param defaultBaseURI default base URI.
* @return <tt>ODataEntitySet</tt> object.
*/
- ODataEntitySet getODataEntitySet(Feed resource, URI defaultBaseURI);
+ CommonODataEntitySet getODataEntitySet(Feed resource, URI defaultBaseURI);
/**
* Gets <tt>ODataEntity</tt> from the given entry resource.
@@ -111,7 +120,7 @@ public interface CommonODataBinder extends Serializable {
* @param resource entry resource.
* @return <tt>ODataEntity</tt> object.
*/
- ODataEntity getODataEntity(Entry resource);
+ CommonODataEntity getODataEntity(Entry resource);
/**
* Gets <tt>ODataEntity</tt> from the given entry resource.
@@ -120,7 +129,7 @@ public interface CommonODataBinder extends Serializable {
* @param defaultBaseURI default base URI.
* @return <tt>ODataEntity</tt> object.
*/
- ODataEntity getODataEntity(Entry resource, URI defaultBaseURI);
+ CommonODataEntity getODataEntity(Entry resource, URI defaultBaseURI);
/**
* Gets an <tt>ODataProperty</tt> from the given property resource.
@@ -128,5 +137,5 @@ public interface CommonODataBinder extends Serializable {
* @param property property resource.
* @return <tt>ODataProperty</tt> object.
*/
- ODataProperty getODataProperty(Property property);
+ CommonODataProperty getODataProperty(Property property);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
index f13e0ac..923ac23 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
@@ -24,9 +24,9 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Schema;
import org.apache.olingo.commons.api.data.Container;
import org.apache.olingo.commons.api.domain.ODataError;
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.domain.ODataServiceDocument;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.format.ODataFormat;
@@ -74,7 +74,7 @@ public interface CommonODataReader extends Serializable {
* @param format de-serialize as AtomFeed or JSONFeed
* @return de-serialized entity set.
*/
- ODataEntitySet readEntitySet(InputStream input, ODataPubFormat format);
+ CommonODataEntitySet readEntitySet(InputStream input, ODataPubFormat format);
/**
* Parses a stream taking care to de-serializes the first OData entity found.
@@ -83,7 +83,7 @@ public interface CommonODataReader extends Serializable {
* @param format de-serialize as AtomEntry or JSONEntry
* @return entity de-serialized.
*/
- ODataEntity readEntity(InputStream input, ODataPubFormat format);
+ CommonODataEntity readEntity(InputStream input, ODataPubFormat format);
/**
* Parses a stream taking care to de-serialize the first OData entity property found.
@@ -92,7 +92,7 @@ public interface CommonODataReader extends Serializable {
* @param format de-serialize as XML or JSON
* @return OData entity property de-serialized.
*/
- ODataProperty readProperty(InputStream input, ODataFormat format);
+ CommonODataProperty readProperty(InputStream input, ODataFormat format);
/**
* Parses a stream into an OData error.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataWriter.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataWriter.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataWriter.java
index b83b2cd..a7ead37 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataWriter.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataWriter.java
@@ -21,9 +21,9 @@ package org.apache.olingo.client.api.op;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Collection;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.domain.ODataLink;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.commons.api.format.ODataPubFormat;
@@ -43,7 +43,7 @@ public interface ODataWriter extends Serializable {
* @param format serialization format.
* @return stream of serialized objects.
*/
- InputStream writeEntities(Collection<ODataEntity> entities, ODataPubFormat format);
+ InputStream writeEntities(Collection<CommonODataEntity> entities, ODataPubFormat format);
/**
* Writes a collection of OData entities.
@@ -53,7 +53,7 @@ public interface ODataWriter extends Serializable {
* @param outputType whether to explicitly output type information.
* @return stream of serialized objects.
*/
- InputStream writeEntities(Collection<ODataEntity> entities, ODataPubFormat format, boolean outputType);
+ InputStream writeEntities(Collection<CommonODataEntity> entities, ODataPubFormat format, boolean outputType);
/**
* Serializes a single OData entity.
@@ -62,7 +62,7 @@ public interface ODataWriter extends Serializable {
* @param format serialization format.
* @return stream of serialized object.
*/
- InputStream writeEntity(ODataEntity entity, ODataPubFormat format);
+ InputStream writeEntity(CommonODataEntity entity, ODataPubFormat format);
/**
* Serializes a single OData entity.
@@ -72,7 +72,7 @@ public interface ODataWriter extends Serializable {
* @param outputType whether to explicitly output type information.
* @return stream of serialized object.
*/
- InputStream writeEntity(ODataEntity entity, ODataPubFormat format, boolean outputType);
+ InputStream writeEntity(CommonODataEntity entity, ODataPubFormat format, boolean outputType);
/**
* Writes a single OData entity property.
@@ -81,7 +81,7 @@ public interface ODataWriter extends Serializable {
* @param format serialization format.
* @return stream of serialized object.
*/
- InputStream writeProperty(ODataProperty property, ODataFormat format);
+ InputStream writeProperty(CommonODataProperty property, ODataFormat format);
/**
* Writes an OData link.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java
index 6ea90ba..52cb625 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java
@@ -18,12 +18,34 @@
*/
package org.apache.olingo.client.api.op.v3;
+import java.net.URI;
import org.apache.olingo.commons.api.data.v3.LinkCollection;
import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
import org.apache.olingo.client.api.op.CommonODataBinder;
+import org.apache.olingo.commons.api.data.Entry;
+import org.apache.olingo.commons.api.data.Feed;
+import org.apache.olingo.commons.api.data.Property;
+import org.apache.olingo.commons.api.domain.v3.ODataEntity;
+import org.apache.olingo.commons.api.domain.v3.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.v3.ODataProperty;
public interface ODataBinder extends CommonODataBinder {
+ @Override
+ ODataEntitySet getODataEntitySet(Feed resource);
+
+ @Override
+ ODataEntitySet getODataEntitySet(Feed resource, URI defaultBaseURI);
+
+ @Override
+ ODataEntity getODataEntity(Entry resource);
+
+ @Override
+ ODataEntity getODataEntity(Entry resource, URI defaultBaseURI);
+
+ @Override
+ ODataProperty getODataProperty(Property property);
+
/**
* Gets <tt>ODataLinkCollection</tt> from the given link collection resource.
*
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
index 1397c47..f51c798 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
@@ -18,8 +18,29 @@
*/
package org.apache.olingo.client.api.op.v4;
+import java.net.URI;
import org.apache.olingo.client.api.op.CommonODataBinder;
+import org.apache.olingo.commons.api.data.Entry;
+import org.apache.olingo.commons.api.data.Feed;
+import org.apache.olingo.commons.api.data.Property;
+import org.apache.olingo.commons.api.domain.v4.ODataEntity;
+import org.apache.olingo.commons.api.domain.v4.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.v4.ODataProperty;
public interface ODataBinder extends CommonODataBinder {
+ @Override
+ ODataEntitySet getODataEntitySet(Feed resource);
+
+ @Override
+ ODataEntitySet getODataEntitySet(Feed resource, URI defaultBaseURI);
+
+ @Override
+ ODataEntity getODataEntity(Entry resource);
+
+ @Override
+ ODataEntity getODataEntity(Entry resource, URI defaultBaseURI);
+
+ @Override
+ ODataProperty getODataProperty(Property property);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/v3/ODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/v3/ODataClient.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/v3/ODataClient.java
index 5959796..81bf6dc 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/v3/ODataClient.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/v3/ODataClient.java
@@ -29,10 +29,14 @@ import org.apache.olingo.client.api.op.v3.ODataDeserializer;
import org.apache.olingo.client.api.op.v3.ODataReader;
import org.apache.olingo.client.api.uri.v3.URIBuilder;
import org.apache.olingo.client.api.uri.v3.FilterFactory;
+import org.apache.olingo.commons.api.domain.v3.ODataObjectFactory;
public interface ODataClient extends CommonODataClient {
@Override
+ Configuration getConfiguration();
+
+ @Override
ODataDeserializer getDeserializer();
@Override
@@ -42,15 +46,15 @@ public interface ODataClient extends CommonODataClient {
ODataBinder getBinder();
@Override
- Configuration getConfiguration();
-
- @Override
URIBuilder getURIBuilder(String serviceRoot);
@Override
FilterFactory getFilterFactory();
@Override
+ ODataObjectFactory getObjectFactory();
+
+ @Override
RetrieveRequestFactory getRetrieveRequestFactory();
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-api/src/main/java/org/apache/olingo/client/api/v4/ODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/v4/ODataClient.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/v4/ODataClient.java
index afe3c70..51abf99 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/v4/ODataClient.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/v4/ODataClient.java
@@ -29,10 +29,14 @@ import org.apache.olingo.client.api.op.v4.ODataDeserializer;
import org.apache.olingo.client.api.op.v4.ODataReader;
import org.apache.olingo.client.api.uri.v4.URIBuilder;
import org.apache.olingo.client.api.uri.v4.FilterFactory;
+import org.apache.olingo.commons.api.domain.v4.ODataObjectFactory;
public interface ODataClient extends CommonODataClient {
@Override
+ Configuration getConfiguration();
+
+ @Override
ODataDeserializer getDeserializer();
@Override
@@ -42,15 +46,15 @@ public interface ODataClient extends CommonODataClient {
ODataBinder getBinder();
@Override
- Configuration getConfiguration();
-
- @Override
URIBuilder getURIBuilder(String serviceRoot);
@Override
FilterFactory getFilterFactory();
@Override
+ ODataObjectFactory getObjectFactory();
+
+ @Override
RetrieveRequestFactory getRetrieveRequestFactory();
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
index 405f95d..57b24df 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
@@ -19,9 +19,7 @@
package org.apache.olingo.client.core;
import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.commons.api.domain.ODataObjectFactory;
import org.apache.olingo.client.api.op.ODataWriter;
-import org.apache.olingo.commons.core.domain.ODataObjectFactoryImpl;
import org.apache.olingo.client.core.op.ODataWriterImpl;
public abstract class AbstractODataClient implements CommonODataClient {
@@ -30,16 +28,9 @@ public abstract class AbstractODataClient implements CommonODataClient {
private final ODataWriter writer = new ODataWriterImpl(this);
- private final ODataObjectFactory objectFactory = new ODataObjectFactoryImpl(getServiceVersion());
-
@Override
public ODataWriter getWriter() {
return writer;
}
- @Override
- public ODataObjectFactory getObjectFactory() {
- return objectFactory;
- }
-
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/AbstractCUDRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/AbstractCUDRequestFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/AbstractCUDRequestFactory.java
index e5bb42e..ae55269 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/AbstractCUDRequestFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/AbstractCUDRequestFactory.java
@@ -29,10 +29,10 @@ import org.apache.olingo.client.api.communication.request.cud.ODataLinkUpdateReq
import org.apache.olingo.client.api.communication.request.cud.ODataPropertyUpdateRequest;
import org.apache.olingo.client.api.communication.request.cud.ODataValueUpdateRequest;
import org.apache.olingo.client.api.communication.request.cud.UpdateType;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.domain.ODataLink;
import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.client.api.http.HttpMethod;
public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFactory {
@@ -46,13 +46,13 @@ public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFacto
}
@Override
- public ODataEntityCreateRequest getEntityCreateRequest(final URI targetURI, final ODataEntity entity) {
+ public ODataEntityCreateRequest getEntityCreateRequest(final URI targetURI, final CommonODataEntity entity) {
return new ODataEntityCreateRequestImpl(client, targetURI, entity);
}
@Override
public ODataEntityUpdateRequest getEntityUpdateRequest(
- final URI targetURI, final UpdateType type, final ODataEntity changes) {
+ final URI targetURI, final UpdateType type, final CommonODataEntity changes) {
final ODataEntityUpdateRequest req;
@@ -67,7 +67,7 @@ public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFacto
}
@Override
- public ODataEntityUpdateRequest getEntityUpdateRequest(final UpdateType type, final ODataEntity entity) {
+ public ODataEntityUpdateRequest getEntityUpdateRequest(final UpdateType type, final CommonODataEntity entity) {
if (entity.getEditLink() == null) {
throw new IllegalArgumentException("No edit link found");
}
@@ -102,7 +102,7 @@ public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFacto
@Override
public ODataPropertyUpdateRequest getPropertyPrimitiveValueUpdateRequest(
- final URI targetURI, final ODataProperty property) {
+ final URI targetURI, final CommonODataProperty property) {
if (!property.hasPrimitiveValue()) {
throw new IllegalArgumentException("A primitive value is required");
@@ -122,7 +122,7 @@ public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFacto
@Override
public ODataPropertyUpdateRequest getPropertyComplexValueUpdateRequest(
- final URI targetURI, final UpdateType type, final ODataProperty property) {
+ final URI targetURI, final UpdateType type, final CommonODataProperty property) {
if (!property.hasComplexValue()) {
throw new IllegalArgumentException("A complex value is required");
@@ -142,7 +142,7 @@ public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFacto
@Override
public ODataPropertyUpdateRequest getPropertyCollectionValueUpdateRequest(
- final URI targetURI, final ODataProperty property) {
+ final URI targetURI, final CommonODataProperty property) {
if (!property.hasCollectionValue()) {
throw new IllegalArgumentException("A collection value is required");
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
index 8b9965f..f8bff7e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
import org.apache.olingo.client.api.communication.request.cud.ODataEntityCreateRequest;
import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.format.ODataPubFormat;
import org.apache.olingo.client.api.http.HttpMethod;
import org.apache.olingo.client.core.uri.URIUtils;
@@ -46,7 +46,7 @@ public class ODataEntityCreateRequestImpl extends AbstractODataBasicRequest<ODat
/**
* Entity to be created.
*/
- private final ODataEntity entity;
+ private final CommonODataEntity entity;
/**
* Constructor.
@@ -55,7 +55,9 @@ public class ODataEntityCreateRequestImpl extends AbstractODataBasicRequest<ODat
* @param targetURI entity set URI.
* @param entity entity to be created.
*/
- ODataEntityCreateRequestImpl(final CommonODataClient odataClient, final URI targetURI, final ODataEntity entity) {
+ ODataEntityCreateRequestImpl(final CommonODataClient odataClient, final URI targetURI,
+ final CommonODataEntity entity) {
+
super(odataClient, ODataPubFormat.class, HttpMethod.POST, targetURI);
this.entity = entity;
}
@@ -88,7 +90,7 @@ public class ODataEntityCreateRequestImpl extends AbstractODataBasicRequest<ODat
*/
private class ODataEntityCreateResponseImpl extends AbstractODataResponse implements ODataEntityCreateResponse {
- private ODataEntity entity = null;
+ private CommonODataEntity entity = null;
/**
* Constructor.
@@ -112,12 +114,12 @@ public class ODataEntityCreateRequestImpl extends AbstractODataBasicRequest<ODat
* {@inheritDoc }
*/
@Override
- public ODataEntity getBody() {
+ public CommonODataEntity getBody() {
if (entity == null) {
try {
- final Container<Entry> container = odataClient.getDeserializer().toEntry(getRawResponse(),
+ final Container<Entry> container = odataClient.getDeserializer().toEntry(getRawResponse(),
ODataPubFormat.fromString(getAccept()));
-
+
entity = odataClient.getBinder().getODataEntity(extractFromContainer(container));
} finally {
this.close();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
index 693582a..dde98a4 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
import org.apache.olingo.client.api.communication.request.cud.ODataEntityUpdateRequest;
import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.format.ODataPubFormat;
import org.apache.olingo.client.api.http.HttpMethod;
import org.apache.olingo.client.core.uri.URIUtils;
@@ -46,7 +46,7 @@ public class ODataEntityUpdateRequestImpl extends AbstractODataBasicRequest<ODat
/**
* Changes to be applied.
*/
- private final ODataEntity changes;
+ private final CommonODataEntity changes;
/**
* Constructor.
@@ -57,7 +57,7 @@ public class ODataEntityUpdateRequestImpl extends AbstractODataBasicRequest<ODat
* @param changes changes to be applied.
*/
ODataEntityUpdateRequestImpl(final CommonODataClient odataClient,
- final HttpMethod method, final URI uri, final ODataEntity changes) {
+ final HttpMethod method, final URI uri, final CommonODataEntity changes) {
super(odataClient, ODataPubFormat.class, method, uri);
this.changes = changes;
@@ -94,7 +94,7 @@ public class ODataEntityUpdateRequestImpl extends AbstractODataBasicRequest<ODat
/**
* Changes.
*/
- private ODataEntity entity = null;
+ private CommonODataEntity entity = null;
/**
* Constructor.
@@ -118,7 +118,7 @@ public class ODataEntityUpdateRequestImpl extends AbstractODataBasicRequest<ODat
* {@inheritDoc ]
*/
@Override
- public ODataEntity getBody() {
+ public CommonODataEntity getBody() {
if (entity == null) {
try {
final Container<Entry> container = odataClient.getDeserializer().toEntry(getRawResponse(),
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
index 5b0f9fb..7345d30 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
import org.apache.olingo.client.api.communication.request.cud.ODataPropertyUpdateRequest;
import org.apache.olingo.client.api.communication.response.ODataPropertyUpdateResponse;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.client.api.http.HttpMethod;
import org.apache.olingo.client.core.uri.URIUtils;
@@ -46,7 +46,7 @@ public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<OD
/**
* Value to be created.
*/
- private final ODataProperty property;
+ private final CommonODataProperty property;
/**
* Constructor.
@@ -57,7 +57,7 @@ public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<OD
* @param property value to be created.
*/
ODataPropertyUpdateRequestImpl(final CommonODataClient odataClient,
- final HttpMethod method, final URI targetURI, final ODataProperty property) {
+ final HttpMethod method, final URI targetURI, final CommonODataProperty property) {
super(odataClient, ODataFormat.class, method, targetURI);
// set request body
@@ -92,7 +92,7 @@ public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<OD
*/
private class ODataPropertyUpdateResponseImpl extends AbstractODataResponse implements ODataPropertyUpdateResponse {
- private ODataProperty property = null;
+ private CommonODataProperty property = null;
/**
* Constructor.
@@ -116,7 +116,7 @@ public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<OD
* {@inheritDoc }
*/
@Override
- public ODataProperty getBody() {
+ public CommonODataProperty getBody() {
if (property == null) {
try {
final Container<Property> container = odataClient.getDeserializer().toProperty(getRawResponse(),
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/ODataInvokeRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/ODataInvokeRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/ODataInvokeRequestImpl.java
index 213a886..4e7be37 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/ODataInvokeRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/ODataInvokeRequestImpl.java
@@ -25,6 +25,7 @@ import java.net.URISyntaxException;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
@@ -35,10 +36,10 @@ import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
import org.apache.olingo.client.api.communication.request.invoke.ODataInvokeRequest;
import org.apache.olingo.client.api.communication.request.invoke.ODataNoContent;
import org.apache.olingo.client.api.communication.response.ODataInvokeResponse;
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataInvokeResult;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.domain.ODataValue;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.commons.api.format.ODataPubFormat;
@@ -98,23 +99,20 @@ public class ODataInvokeRequestImpl<T extends ODataInvokeResult>
*/
@Override
public void setFormat(final ODataPubFormat format) {
- final String _format = (reference.isAssignableFrom(ODataProperty.class) && format == ODataPubFormat.ATOM)
+ final String _format = (reference.isAssignableFrom(CommonODataProperty.class) && format == ODataPubFormat.ATOM)
? ODataFormat.XML.toString(odataClient.getServiceVersion())
: format.toString(odataClient.getServiceVersion());
setAccept(_format);
setContentType(_format);
}
- /**
- * {@inheritDoc }
- */
@Override
protected InputStream getPayload() {
if (!this.parameters.isEmpty() && this.method == HttpMethod.POST) {
// Additional, non-binding parameters MUST be sent as JSON
- final ODataEntity tmp = odataClient.getObjectFactory().newEntity("");
+ final CommonODataEntity tmp = odataClient.getObjectFactory().newEntity(StringUtils.EMPTY);
for (Map.Entry<String, ODataValue> param : parameters.entrySet()) {
- ODataProperty property = null;
+ CommonODataProperty property = null;
if (param.getValue().isPrimitive()) {
property = odataClient.getObjectFactory().
@@ -128,7 +126,7 @@ public class ODataInvokeRequestImpl<T extends ODataInvokeResult>
}
if (property != null) {
- tmp.getProperties().add(property);
+ odataClient.getBinder().add(tmp, property);
}
}
@@ -211,15 +209,15 @@ public class ODataInvokeRequestImpl<T extends ODataInvokeResult>
}
try {
- if (reference.isAssignableFrom(ODataEntitySet.class)) {
+ if (reference.isAssignableFrom(CommonODataEntitySet.class)) {
invokeResult = (T) odataClient.getReader().readEntitySet(res.getEntity().getContent(),
ODataPubFormat.fromString(getContentType()));
}
- if (reference.isAssignableFrom(ODataEntity.class)) {
+ if (reference.isAssignableFrom(CommonODataEntity.class)) {
invokeResult = (T) odataClient.getReader().readEntity(res.getEntity().getContent(),
ODataPubFormat.fromString(getContentType()));
}
- if (reference.isAssignableFrom(ODataProperty.class)) {
+ if (reference.isAssignableFrom(CommonODataProperty.class)) {
invokeResult = (T) odataClient.getReader().readProperty(res.getEntity().getContent(),
ODataFormat.fromString(getContentType()));
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/InvokeRequestFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/InvokeRequestFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/InvokeRequestFactoryImpl.java
index 2487dd9..87e8c76 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/InvokeRequestFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/InvokeRequestFactoryImpl.java
@@ -25,10 +25,10 @@ import org.apache.olingo.client.api.v3.ODataClient;
import org.apache.olingo.client.api.communication.request.invoke.ODataInvokeRequest;
import org.apache.olingo.client.api.communication.request.invoke.ODataNoContent;
import org.apache.olingo.client.api.communication.request.invoke.v3.InvokeRequestFactory;
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataInvokeResult;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.domain.ODataValue;
import org.apache.olingo.client.api.http.HttpMethod;
import org.apache.olingo.client.core.communication.request.invoke.AbstractInvokeRequestFactory;
@@ -96,14 +96,14 @@ public class InvokeRequestFactoryImpl extends AbstractInvokeRequestFactory imple
client, ODataNoContent.class, method, uri);
} else {
if (returnType.isCollection() && returnType.getType().getKind() == EdmTypeKind.ENTITY) {
- result = (ODataInvokeRequest<RES>) new ODataInvokeRequestImpl<ODataEntitySet>(
- client, ODataEntitySet.class, method, uri);
+ result = (ODataInvokeRequest<RES>) new ODataInvokeRequestImpl<CommonODataEntitySet>(
+ client, CommonODataEntitySet.class, method, uri);
} else if (!returnType.isCollection() && returnType.getType().getKind() == EdmTypeKind.ENTITY) {
- result = (ODataInvokeRequest<RES>) new ODataInvokeRequestImpl<ODataEntity>(
- client, ODataEntity.class, method, uri);
+ result = (ODataInvokeRequest<RES>) new ODataInvokeRequestImpl<CommonODataEntity>(
+ client, CommonODataEntity.class, method, uri);
} else {
- result = (ODataInvokeRequest<RES>) new ODataInvokeRequestImpl<ODataProperty>(
- client, ODataProperty.class, method, uri);
+ result = (ODataInvokeRequest<RES>) new ODataInvokeRequestImpl<CommonODataProperty>(
+ client, CommonODataProperty.class, method, uri);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
index 3eeabed..d8ec0f2 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
@@ -21,12 +21,9 @@ package org.apache.olingo.client.core.communication.request.retrieve;
import java.net.URI;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetIteratorRequest;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataMediaRequest;
import org.apache.olingo.client.api.communication.request.retrieve.EdmMetadataRequest;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataRawRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
@@ -43,26 +40,11 @@ public abstract class AbstractRetrieveRequestFactory implements CommonRetrieveRe
}
@Override
- public ODataEntitySetRequest getEntitySetRequest(final URI query) {
- return new ODataEntitySetRequestImpl(client, query);
- }
-
- @Override
public ODataEntitySetIteratorRequest getEntitySetIteratorRequest(final URI query) {
return new ODataEntitySetIteratorRequestImpl(client, query);
}
@Override
- public ODataEntityRequest getEntityRequest(final URI query) {
- return new ODataEntityRequestImpl(client, query);
- }
-
- @Override
- public ODataPropertyRequest getPropertyRequest(final URI query) {
- return new ODataPropertyRequestImpl(client, query);
- }
-
- @Override
public ODataValueRequest getValueRequest(final URI query) {
return new ODataValueRequestImpl(client, query);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
index 2c8955e..141b82e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
@@ -26,14 +26,14 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRe
import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
import org.apache.olingo.commons.api.data.Container;
import org.apache.olingo.commons.api.data.Entry;
-import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.format.ODataPubFormat;
/**
* This class implements an OData retrieve query request returning a single entity.
*/
-public class ODataEntityRequestImpl extends AbstractODataRetrieveRequest<ODataEntity, ODataPubFormat>
- implements ODataEntityRequest {
+public class ODataEntityRequestImpl<T extends CommonODataEntity>
+ extends AbstractODataRetrieveRequest<T, ODataPubFormat> implements ODataEntityRequest<T> {
/**
* Private constructor.
@@ -41,7 +41,7 @@ public class ODataEntityRequestImpl extends AbstractODataRetrieveRequest<ODataEn
* @param odataClient client instance getting this request
* @param query query to be executed.
*/
- ODataEntityRequestImpl(final CommonODataClient odataClient, final URI query) {
+ public ODataEntityRequestImpl(final CommonODataClient odataClient, final URI query) {
super(odataClient, ODataPubFormat.class, query);
}
@@ -49,7 +49,7 @@ public class ODataEntityRequestImpl extends AbstractODataRetrieveRequest<ODataEn
* {@inheritDoc }
*/
@Override
- public ODataRetrieveResponse<ODataEntity> execute() {
+ public ODataRetrieveResponse<T> execute() {
return new ODataEntityResponseImpl(httpClient, doExecute());
}
@@ -58,7 +58,7 @@ public class ODataEntityRequestImpl extends AbstractODataRetrieveRequest<ODataEn
*/
public class ODataEntityResponseImpl extends ODataRetrieveResponseImpl {
- private ODataEntity entity = null;
+ private T entity = null;
/**
* Constructor.
@@ -82,13 +82,14 @@ public class ODataEntityRequestImpl extends AbstractODataRetrieveRequest<ODataEn
* {@inheritDoc }
*/
@Override
- public ODataEntity getBody() {
+ @SuppressWarnings("unchecked")
+ public T getBody() {
if (entity == null) {
try {
final Container<Entry> container =
odataClient.getDeserializer().toEntry(getRawResponse(), ODataPubFormat.fromString(getContentType()));
- entity = odataClient.getBinder().getODataEntity(extractFromContainer(container));
+ entity = (T) odataClient.getBinder().getODataEntity(extractFromContainer(container));
} finally {
this.close();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
index e6d5783..86fa45c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
@@ -26,16 +26,16 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySe
import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
import org.apache.olingo.commons.api.data.Container;
import org.apache.olingo.commons.api.data.Feed;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
import org.apache.olingo.commons.api.format.ODataPubFormat;
/**
* This class implements an OData EntitySet query request.
*/
-public class ODataEntitySetRequestImpl extends AbstractODataRetrieveRequest<ODataEntitySet, ODataPubFormat>
- implements ODataEntitySetRequest {
+public class ODataEntitySetRequestImpl<T extends CommonODataEntitySet>
+ extends AbstractODataRetrieveRequest<T, ODataPubFormat> implements ODataEntitySetRequest<T> {
- private ODataEntitySet entitySet = null;
+ private T entitySet = null;
/**
* Private constructor.
@@ -43,7 +43,7 @@ public class ODataEntitySetRequestImpl extends AbstractODataRetrieveRequest<ODat
* @param odataClient client instance getting this request
* @param query query to be executed.
*/
- ODataEntitySetRequestImpl(final CommonODataClient odataClient, final URI query) {
+ public ODataEntitySetRequestImpl(final CommonODataClient odataClient, final URI query) {
super(odataClient, ODataPubFormat.class, query);
}
@@ -51,7 +51,7 @@ public class ODataEntitySetRequestImpl extends AbstractODataRetrieveRequest<ODat
* {@inheritDoc }
*/
@Override
- public ODataRetrieveResponse<ODataEntitySet> execute() {
+ public ODataRetrieveResponse<T> execute() {
final HttpResponse res = doExecute();
return new ODataEntitySetResponseImpl(httpClient, res);
}
@@ -84,13 +84,13 @@ public class ODataEntitySetRequestImpl extends AbstractODataRetrieveRequest<ODat
*/
@Override
@SuppressWarnings("unchecked")
- public ODataEntitySet getBody() {
+ public T getBody() {
if (entitySet == null) {
try {
final Container<Feed> container =
odataClient.getDeserializer().toFeed(getRawResponse(), ODataPubFormat.fromString(getContentType()));
- entitySet = odataClient.getBinder().getODataEntitySet(extractFromContainer(container));
+ entitySet = (T) odataClient.getBinder().getODataEntitySet(extractFromContainer(container));
} finally {
this.close();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
index 4b9aa2b..7878805 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
@@ -25,7 +25,7 @@ import org.apache.http.client.HttpClient;
import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.client.api.http.HttpClientException;
import org.apache.olingo.commons.api.data.Container;
@@ -34,8 +34,8 @@ import org.apache.olingo.commons.api.data.Property;
/**
* This class implements an OData entity property query request.
*/
-public class ODataPropertyRequestImpl extends AbstractODataRetrieveRequest<ODataProperty, ODataFormat>
- implements ODataPropertyRequest {
+public class ODataPropertyRequestImpl<T extends CommonODataProperty>
+ extends AbstractODataRetrieveRequest<T, ODataFormat> implements ODataPropertyRequest<T> {
/**
* Private constructor.
@@ -43,7 +43,7 @@ public class ODataPropertyRequestImpl extends AbstractODataRetrieveRequest<OData
* @param odataClient client instance getting this request
* @param query query to be executed.
*/
- ODataPropertyRequestImpl(final CommonODataClient odataClient, final URI query) {
+ public ODataPropertyRequestImpl(final CommonODataClient odataClient, final URI query) {
super(odataClient, ODataFormat.class, query);
}
@@ -51,14 +51,14 @@ public class ODataPropertyRequestImpl extends AbstractODataRetrieveRequest<OData
* {@inheritDoc }
*/
@Override
- public ODataRetrieveResponse<ODataProperty> execute() {
+ public ODataRetrieveResponse<T> execute() {
final HttpResponse res = doExecute();
return new ODataPropertyResponseImpl(httpClient, res);
}
protected class ODataPropertyResponseImpl extends ODataRetrieveResponseImpl {
- private ODataProperty property = null;
+ private T property = null;
/**
* Constructor.
@@ -82,14 +82,15 @@ public class ODataPropertyRequestImpl extends AbstractODataRetrieveRequest<OData
* {@inheritDoc }
*/
@Override
- public ODataProperty getBody() {
+ @SuppressWarnings("unchecked")
+ public T getBody() {
if (property == null) {
try {
final Container<Property> container =
odataClient.getDeserializer().toProperty(
- res.getEntity().getContent(), ODataFormat.fromString(getContentType()));
+ res.getEntity().getContent(), ODataFormat.fromString(getContentType()));
- property = odataClient.getBinder().getODataProperty(extractFromContainer(container));
+ property = (T) odataClient.getBinder().getODataProperty(extractFromContainer(container));
} catch (IOException e) {
throw new HttpClientException(e);
} finally {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80e5ed56/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/RetrieveRequestFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/RetrieveRequestFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/RetrieveRequestFactoryImpl.java
index f6ba5c1..b32dd30 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/RetrieveRequestFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/RetrieveRequestFactoryImpl.java
@@ -19,11 +19,20 @@
package org.apache.olingo.client.core.communication.request.retrieve.v3;
import java.net.URI;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
import org.apache.olingo.client.api.communication.request.retrieve.XMLMetadataRequest;
import org.apache.olingo.client.api.v3.ODataClient;
import org.apache.olingo.client.api.communication.request.retrieve.v3.ODataLinkCollectionRequest;
import org.apache.olingo.client.api.communication.request.retrieve.v3.RetrieveRequestFactory;
import org.apache.olingo.client.core.communication.request.retrieve.AbstractRetrieveRequestFactory;
+import org.apache.olingo.client.core.communication.request.retrieve.ODataEntityRequestImpl;
+import org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl;
+import org.apache.olingo.client.core.communication.request.retrieve.ODataPropertyRequestImpl;
+import org.apache.olingo.commons.api.domain.v3.ODataEntity;
+import org.apache.olingo.commons.api.domain.v3.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.v3.ODataProperty;
public class RetrieveRequestFactoryImpl extends AbstractRetrieveRequestFactory
implements RetrieveRequestFactory {
@@ -44,4 +53,22 @@ public class RetrieveRequestFactoryImpl extends AbstractRetrieveRequestFactory
public ODataLinkCollectionRequest getLinkCollectionRequest(final URI targetURI, final String linkName) {
return new ODataLinkCollectionRequestImpl((ODataClient) client, targetURI, linkName);
}
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public ODataEntitySetRequest<ODataEntitySet> getEntitySetRequest(final URI query) {
+ return new ODataEntitySetRequestImpl<ODataEntitySet>(client, query);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public ODataEntityRequest<ODataEntity> getEntityRequest(final URI query) {
+ return new ODataEntityRequestImpl<ODataEntity>(client, query);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public ODataPropertyRequest<ODataProperty> getPropertyRequest(final URI query) {
+ return new ODataPropertyRequestImpl<ODataProperty>(client, query);
+ }
}