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 2016/01/25 21:31:22 UTC

[42/51] [abbrv] olingo-odata4 git commit: [OLINGO-852] reduced usage of Serializable and org.apache.commons.lang3 in commons

[OLINGO-852] reduced usage of Serializable and org.apache.commons.lang3 in commons

Signed-off-by: Christian Amend <ch...@sap.com>


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/36e6dc92
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/36e6dc92
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/36e6dc92

Branch: refs/heads/OLINGO-832_StreamSerializerPoC
Commit: 36e6dc9295399cecd502030b316c20fea13150e2
Parents: 58ead74
Author: Klaus Straubinger <kl...@sap.com>
Authored: Tue Jan 19 15:19:10 2016 +0100
Committer: Christian Amend <ch...@sap.com>
Committed: Wed Jan 20 13:27:21 2016 +0100

----------------------------------------------------------------------
 lib/client-api/pom.xml                          |  4 ++
 .../client/core/edm/ClientCsdlXMLMetadata.java  |  3 +-
 .../client/core/edm/xml/ClientCsdlAction.java   |  4 +-
 .../core/edm/xml/ClientCsdlActionImport.java    |  4 +-
 .../core/edm/xml/ClientCsdlAnnotation.java      |  3 +-
 .../core/edm/xml/ClientCsdlAnnotations.java     |  4 +-
 .../core/edm/xml/ClientCsdlComplexType.java     |  4 +-
 .../core/edm/xml/ClientCsdlDataServices.java    |  4 +-
 .../client/core/edm/xml/ClientCsdlEdmx.java     |  4 +-
 .../core/edm/xml/ClientCsdlEntityContainer.java |  4 +-
 .../core/edm/xml/ClientCsdlEntityKey.java       |  4 +-
 .../core/edm/xml/ClientCsdlEntitySet.java       |  4 +-
 .../core/edm/xml/ClientCsdlEntityType.java      |  4 +-
 .../core/edm/xml/ClientCsdlEnumMember.java      |  4 +-
 .../client/core/edm/xml/ClientCsdlEnumType.java |  4 +-
 .../client/core/edm/xml/ClientCsdlFunction.java |  4 +-
 .../core/edm/xml/ClientCsdlFunctionImport.java  |  4 +-
 .../client/core/edm/xml/ClientCsdlInclude.java  |  4 +-
 .../edm/xml/ClientCsdlIncludeAnnotations.java   |  4 +-
 .../edm/xml/ClientCsdlNavigationProperty.java   |  4 +-
 .../ClientCsdlNavigationPropertyBinding.java    |  4 +-
 .../client/core/edm/xml/ClientCsdlOnDelete.java |  4 +-
 .../core/edm/xml/ClientCsdlParameter.java       |  4 +-
 .../client/core/edm/xml/ClientCsdlProperty.java |  4 +-
 .../core/edm/xml/ClientCsdlPropertyRef.java     |  4 +-
 .../core/edm/xml/ClientCsdlReference.java       |  4 +-
 .../xml/ClientCsdlReferentialConstraint.java    |  4 +-
 .../core/edm/xml/ClientCsdlReturnType.java      |  4 +-
 .../client/core/edm/xml/ClientCsdlSchema.java   |  4 +-
 .../core/edm/xml/ClientCsdlSingleton.java       |  4 +-
 .../client/core/edm/xml/ClientCsdlTerm.java     |  4 +-
 .../core/edm/xml/ClientCsdlTypeDefinition.java  |  4 +-
 .../edm/xml/annotation/ClientCsdlApply.java     |  3 +-
 .../core/edm/xml/annotation/ClientCsdlCast.java |  3 +-
 .../xml/annotation/ClientCsdlCollection.java    |  3 +-
 .../annotation/ClientCsdlDynamicExpression.java |  3 +-
 .../core/edm/xml/annotation/ClientCsdlIsOf.java |  3 +-
 .../annotation/ClientCsdlLabeledElement.java    |  3 +-
 .../core/edm/xml/annotation/ClientCsdlNull.java |  3 +-
 .../xml/annotation/ClientCsdlPropertyValue.java |  3 +-
 .../edm/xml/annotation/ClientCsdlRecord.java    |  3 +-
 .../edm/xml/annotation/ClientCsdlUrlRef.java    |  3 +-
 lib/commons-api/pom.xml                         |  5 --
 .../commons/api/data/AbstractODataObject.java   | 25 ++++++++++
 .../olingo/commons/api/data/Annotatable.java    | 30 ------------
 .../olingo/commons/api/data/Annotation.java     | 18 +++++++
 .../olingo/commons/api/data/ComplexValue.java   | 17 +++++++
 .../apache/olingo/commons/api/data/Delta.java   | 17 +++++++
 .../olingo/commons/api/data/DeltaLink.java      | 25 ++++++++++
 .../apache/olingo/commons/api/data/Entity.java  | 40 ++++++++++++++++
 .../commons/api/data/EntityCollection.java      | 27 +++++++++--
 .../apache/olingo/commons/api/data/Link.java    | 37 +++++++++++++++
 .../apache/olingo/commons/api/data/Linked.java  | 17 +++++++
 .../olingo/commons/api/data/Parameter.java      | 18 +++++++
 .../olingo/commons/api/data/Property.java       | 18 +++++++
 .../olingo/commons/api/data/Valuable.java       | 30 ++++++++++++
 .../api/edm/provider/CsdlAbstractEdmItem.java   | 25 +---------
 .../commons/api/edm/provider/CsdlAction.java    |  2 -
 .../api/edm/provider/CsdlActionImport.java      |  2 -
 .../api/edm/provider/CsdlAnnotation.java        |  2 -
 .../api/edm/provider/CsdlAnnotations.java       |  2 -
 .../api/edm/provider/CsdlBindingTarget.java     |  2 -
 .../api/edm/provider/CsdlComplexType.java       |  2 -
 .../api/edm/provider/CsdlEntityContainer.java   |  2 -
 .../commons/api/edm/provider/CsdlEntitySet.java |  2 -
 .../api/edm/provider/CsdlEntityType.java        |  2 -
 .../api/edm/provider/CsdlEnumMember.java        |  2 -
 .../commons/api/edm/provider/CsdlEnumType.java  |  2 -
 .../commons/api/edm/provider/CsdlFunction.java  |  2 -
 .../api/edm/provider/CsdlFunctionImport.java    |  2 -
 .../edm/provider/CsdlNavigationProperty.java    |  2 -
 .../provider/CsdlNavigationPropertyBinding.java |  2 -
 .../commons/api/edm/provider/CsdlOnDelete.java  |  2 -
 .../commons/api/edm/provider/CsdlOperation.java |  2 -
 .../api/edm/provider/CsdlOperationImport.java   |  2 -
 .../commons/api/edm/provider/CsdlParameter.java |  2 -
 .../commons/api/edm/provider/CsdlProperty.java  |  2 -
 .../api/edm/provider/CsdlPropertyRef.java       |  2 -
 .../edm/provider/CsdlReferentialConstraint.java |  2 -
 .../api/edm/provider/CsdlReturnType.java        |  2 -
 .../commons/api/edm/provider/CsdlSchema.java    |  2 -
 .../commons/api/edm/provider/CsdlSingleton.java |  2 -
 .../api/edm/provider/CsdlStructuralType.java    |  2 -
 .../commons/api/edm/provider/CsdlTerm.java      |  2 -
 .../api/edm/provider/CsdlTypeDefinition.java    |  2 -
 .../provider/annotation/CsdlAnnotationPath.java |  1 -
 .../api/edm/provider/annotation/CsdlApply.java  |  3 +-
 .../api/edm/provider/annotation/CsdlCast.java   |  1 -
 .../edm/provider/annotation/CsdlCollection.java |  1 -
 .../annotation/CsdlConstantExpression.java      |  3 --
 .../annotation/CsdlDynamicExpression.java       |  2 -
 .../edm/provider/annotation/CsdlExpression.java |  2 -
 .../api/edm/provider/annotation/CsdlIf.java     |  2 -
 .../api/edm/provider/annotation/CsdlIsOf.java   |  2 -
 .../provider/annotation/CsdlLabeledElement.java |  4 +-
 .../annotation/CsdlLabeledElementReference.java |  1 -
 .../CsdlLogicalOrComparisonExpression.java      |  2 -
 .../annotation/CsdlNavigationPropertyPath.java  |  1 -
 .../api/edm/provider/annotation/CsdlNull.java   |  2 -
 .../api/edm/provider/annotation/CsdlPath.java   |  1 -
 .../provider/annotation/CsdlPropertyPath.java   |  1 -
 .../provider/annotation/CsdlPropertyValue.java  |  5 +-
 .../api/edm/provider/annotation/CsdlRecord.java |  1 -
 .../api/edm/provider/annotation/CsdlUrlRef.java |  3 +-
 .../primitivetype/AbstractGeospatialType.java   | 49 +++++++++++++-------
 105 files changed, 438 insertions(+), 210 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-api/pom.xml
----------------------------------------------------------------------
diff --git a/lib/client-api/pom.xml b/lib/client-api/pom.xml
index 64a3793..0f14bdf 100644
--- a/lib/client-api/pom.xml
+++ b/lib/client-api/pom.xml
@@ -50,6 +50,10 @@
       <artifactId>commons-io</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.apache.httpcomponents</groupId>
       <artifactId>httpclient</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/ClientCsdlXMLMetadata.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/ClientCsdlXMLMetadata.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/ClientCsdlXMLMetadata.java
index b4f7743..ac4f3e1 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/ClientCsdlXMLMetadata.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/ClientCsdlXMLMetadata.java
@@ -18,6 +18,7 @@
  */
 package org.apache.olingo.client.core.edm;
 
+import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -32,7 +33,7 @@ import org.apache.olingo.commons.api.edm.provider.CsdlSchema;
 /**
  * Entry point for access information about EDM metadata.
  */
-public class ClientCsdlXMLMetadata extends CsdlAbstractEdmItem implements XMLMetadata {
+public class ClientCsdlXMLMetadata extends CsdlAbstractEdmItem implements Serializable, XMLMetadata {
 
   private static final long serialVersionUID = 6025723060298454901L;
   protected final Edmx edmx;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAction.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAction.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAction.java
index 4514564..9d5ea15 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAction.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAction.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlAction;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlAction.ActionDeserializer.class)
-class ClientCsdlAction extends CsdlAction {
+class ClientCsdlAction extends CsdlAction implements Serializable {
 
   private static final long serialVersionUID = 5321541275349234088L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlActionImport.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlActionImport.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlActionImport.java
index ee6c69d..1ec869a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlActionImport.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlActionImport.java
@@ -22,12 +22,14 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlActionImport;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlActionImport.ActionImportDeserializer.class)
-class ClientCsdlActionImport extends CsdlActionImport {
+class ClientCsdlActionImport extends CsdlActionImport implements Serializable {
 
   private static final long serialVersionUID = 2971468441177647068L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotation.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotation.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotation.java
index 131b6c9..8491626 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotation.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotation.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.annotation.ClientCsdlDynamicExpression;
 import org.apache.olingo.commons.api.edm.provider.CsdlAnnotation;
@@ -29,7 +30,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlAnnotation.AnnotationDeserializer.class)
-public class ClientCsdlAnnotation extends CsdlAnnotation {
+public class ClientCsdlAnnotation extends CsdlAnnotation implements Serializable {
 
   private static final long serialVersionUID = 5464714417411058033L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotations.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotations.java
index c710a42..b870e48 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotations.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlAnnotations.java
@@ -21,14 +21,16 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlAnnotations;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlAnnotations.AnnotationsDeserializer.class)
-class ClientCsdlAnnotations extends CsdlAnnotations {
+class ClientCsdlAnnotations extends CsdlAnnotations implements Serializable {
 
   private static final long serialVersionUID = -5961207981571644200L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlComplexType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlComplexType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlComplexType.java
index 0b59e99..c56d5b9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlComplexType.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlComplexType.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlComplexType;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlComplexType.ComplexTypeDeserializer.class)
-class ClientCsdlComplexType extends CsdlComplexType {
+class ClientCsdlComplexType extends CsdlComplexType implements Serializable {
 
   private static final long serialVersionUID = 4076944306925840115L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlDataServices.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlDataServices.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlDataServices.java
index 072ad0f..86606fb 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlDataServices.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlDataServices.java
@@ -19,12 +19,14 @@
 package org.apache.olingo.client.core.edm.xml;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.client.api.edm.xml.DataServices;
 import org.apache.olingo.commons.api.edm.provider.CsdlAbstractEdmItem;
 import org.apache.olingo.commons.api.edm.provider.CsdlSchema;
@@ -32,7 +34,7 @@ import org.apache.olingo.commons.api.edm.provider.CsdlSchema;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlDataServices.DataServicesDeserializer.class)
-class ClientCsdlDataServices extends CsdlAbstractEdmItem implements DataServices {
+class ClientCsdlDataServices extends CsdlAbstractEdmItem implements Serializable, DataServices {
 
   private static final long serialVersionUID = 4200317286476885204L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEdmx.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEdmx.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEdmx.java
index ba0d26d..9c675b9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEdmx.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEdmx.java
@@ -19,12 +19,14 @@
 package org.apache.olingo.client.core.edm.xml;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.client.api.edm.xml.DataServices;
 import org.apache.olingo.client.api.edm.xml.Edmx;
 import org.apache.olingo.client.api.edm.xml.Reference;
@@ -33,7 +35,7 @@ import org.apache.olingo.commons.api.edm.provider.CsdlAbstractEdmItem;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlEdmx.EdmxDeserializer.class)
-public class ClientCsdlEdmx extends CsdlAbstractEdmItem implements Edmx {
+public class ClientCsdlEdmx extends CsdlAbstractEdmItem implements Serializable, Edmx {
 
   private static final long serialVersionUID = -6293476719276092572L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityContainer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityContainer.java
index de83325..ba3c945 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityContainer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityContainer.java
@@ -21,14 +21,16 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainer;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlEntityContainer.EntityContainerDeserializer.class)
-class ClientCsdlEntityContainer extends CsdlEntityContainer {
+class ClientCsdlEntityContainer extends CsdlEntityContainer implements Serializable {
 
   private static final long serialVersionUID = 5631432527646955795L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityKey.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityKey.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityKey.java
index 7be9a90..574a6b9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityKey.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityKey.java
@@ -19,19 +19,21 @@
 package org.apache.olingo.client.core.edm.xml;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlAbstractEdmItem;
 import org.apache.olingo.commons.api.edm.provider.CsdlPropertyRef;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlEntityKey.EntityKeyDeserializer.class)
-class ClientCsdlEntityKey extends CsdlAbstractEdmItem {
+class ClientCsdlEntityKey extends CsdlAbstractEdmItem implements Serializable {
 
   private static final long serialVersionUID = 520227585458843347L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntitySet.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntitySet.java
index 6973a27..1896f6d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntitySet.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntitySet.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlEntitySet;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlEntitySet.EntitySetDeserializer.class)
-class ClientCsdlEntitySet extends CsdlEntitySet {
+class ClientCsdlEntitySet extends CsdlEntitySet implements Serializable {
 
   private static final long serialVersionUID = -5553885465204370676L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityType.java
index f08bcbe..5f6644a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityType.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEntityType.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlEntityType;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlEntityType.EntityTypeDeserializer.class)
-class ClientCsdlEntityType extends CsdlEntityType {
+class ClientCsdlEntityType extends CsdlEntityType implements Serializable {
 
   private static final long serialVersionUID = -3986417775876689669L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumMember.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumMember.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumMember.java
index 057a678..70aba5d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumMember.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumMember.java
@@ -22,12 +22,14 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlEnumMember;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlEnumMember.EnumMemberDeserializer.class)
-class ClientCsdlEnumMember extends CsdlEnumMember {
+class ClientCsdlEnumMember extends CsdlEnumMember implements Serializable {
 
   private static final long serialVersionUID = -6138606817225829791L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumType.java
index a49f3ff..e6a6970 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumType.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlEnumType.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlEnumType;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlEnumType.EnumTypeDeserializer.class)
-class ClientCsdlEnumType extends CsdlEnumType {
+class ClientCsdlEnumType extends CsdlEnumType implements Serializable {
 
   private static final long serialVersionUID = 9191189755592743333L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunction.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunction.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunction.java
index 97fd637..c4caaba 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunction.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunction.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlFunction;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlFunction.FunctionDeserializer.class)
-class ClientCsdlFunction extends CsdlFunction {
+class ClientCsdlFunction extends CsdlFunction implements Serializable {
 
   private static final long serialVersionUID = -5494898295282843362L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunctionImport.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunctionImport.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunctionImport.java
index 6b6a044..61564d2 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunctionImport.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlFunctionImport.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlFunctionImport;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlFunctionImport.FunctionImportDeserializer.class)
-class ClientCsdlFunctionImport extends CsdlFunctionImport {
+class ClientCsdlFunctionImport extends CsdlFunctionImport implements Serializable {
 
   private static final long serialVersionUID = -1686801084142932402L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlInclude.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlInclude.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlInclude.java
index 541f037..5a21efc 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlInclude.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlInclude.java
@@ -22,13 +22,15 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.client.api.edm.xml.Include;
 import org.apache.olingo.commons.api.edm.provider.CsdlAbstractEdmItem;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlInclude.IncludeDeserializer.class)
-class ClientCsdlInclude extends CsdlAbstractEdmItem implements Include {
+class ClientCsdlInclude extends CsdlAbstractEdmItem implements Serializable, Include {
 
   private static final long serialVersionUID = -5450008299655584221L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlIncludeAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlIncludeAnnotations.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlIncludeAnnotations.java
index 87150ea..d230f54 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlIncludeAnnotations.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlIncludeAnnotations.java
@@ -22,13 +22,15 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.client.api.edm.xml.IncludeAnnotations;
 import org.apache.olingo.commons.api.edm.provider.CsdlAbstractEdmItem;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlIncludeAnnotations.IncludeAnnotationsDeserializer.class)
-class ClientCsdlIncludeAnnotations extends CsdlAbstractEdmItem implements IncludeAnnotations {
+class ClientCsdlIncludeAnnotations extends CsdlAbstractEdmItem implements Serializable, IncludeAnnotations {
 
   private static final long serialVersionUID = -8157841387011422396L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationProperty.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationProperty.java
index 2fca830..b456505 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationProperty.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationProperty.java
@@ -21,15 +21,17 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.provider.CsdlNavigationProperty;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlNavigationProperty.NavigationPropertyDeserializer.class)
-class ClientCsdlNavigationProperty extends CsdlNavigationProperty {
+class ClientCsdlNavigationProperty extends CsdlNavigationProperty implements Serializable {
 
   private static final long serialVersionUID = 6240231735592427582L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationPropertyBinding.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationPropertyBinding.java
index d9da5b0..6f9a749 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationPropertyBinding.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlNavigationPropertyBinding.java
@@ -22,12 +22,14 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlNavigationPropertyBinding;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlNavigationPropertyBinding.NavigationPropertyBindingDeserializer.class)
-class ClientCsdlNavigationPropertyBinding extends CsdlNavigationPropertyBinding {
+class ClientCsdlNavigationPropertyBinding extends CsdlNavigationPropertyBinding implements Serializable {
 
   private static final long serialVersionUID = -7056978592235483660L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlOnDelete.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlOnDelete.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlOnDelete.java
index 6fa992f..68ac862 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlOnDelete.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlOnDelete.java
@@ -22,13 +22,15 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlOnDelete;
 import org.apache.olingo.commons.api.edm.provider.CsdlOnDeleteAction;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlOnDelete.OnDeleteDeserializer.class)
-class ClientCsdlOnDelete extends CsdlOnDelete {
+class ClientCsdlOnDelete extends CsdlOnDelete implements Serializable {
 
   private static final long serialVersionUID = -7130889202653716784L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlParameter.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlParameter.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlParameter.java
index 4df4377..dc4f41e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlParameter.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlParameter.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.geo.SRID;
 import org.apache.olingo.commons.api.edm.provider.CsdlParameter;
@@ -28,9 +29,10 @@ import org.apache.olingo.commons.api.edm.provider.CsdlParameter;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlParameter.ParameterDeserializer.class)
-class ClientCsdlParameter extends CsdlParameter {
+class ClientCsdlParameter extends CsdlParameter implements Serializable {
 
   private static final long serialVersionUID = 7119478691341167904L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlProperty.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlProperty.java
index 647f386..0fc7507 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlProperty.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlProperty.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.geo.SRID;
 import org.apache.olingo.commons.api.edm.provider.CsdlProperty;
@@ -28,9 +29,10 @@ import org.apache.olingo.commons.api.edm.provider.CsdlProperty;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlProperty.PropertyDeserializer.class)
-class ClientCsdlProperty extends CsdlProperty {
+class ClientCsdlProperty extends CsdlProperty implements Serializable {
 
   private static final long serialVersionUID = -4521766603286651372L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlPropertyRef.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlPropertyRef.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlPropertyRef.java
index 6e32473..e9e694e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlPropertyRef.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlPropertyRef.java
@@ -22,12 +22,14 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlPropertyRef;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlPropertyRef.PropertyRefDeserializer.class)
-class ClientCsdlPropertyRef extends CsdlPropertyRef {
+class ClientCsdlPropertyRef extends CsdlPropertyRef implements Serializable {
 
   private static final long serialVersionUID = 1504095609268590326L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReference.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReference.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReference.java
index b0b71e7..1e6c5f5 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReference.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReference.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,6 +27,7 @@ import java.util.List;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.client.api.edm.xml.Include;
 import org.apache.olingo.client.api.edm.xml.IncludeAnnotations;
 import org.apache.olingo.client.api.edm.xml.Reference;
@@ -35,7 +37,7 @@ import org.apache.olingo.commons.api.edm.provider.CsdlAnnotation;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlReference.ReferenceDeserializer.class)
-class ClientCsdlReference extends CsdlAbstractEdmItem implements Reference {
+class ClientCsdlReference extends CsdlAbstractEdmItem implements Serializable, Reference {
 
   private static final long serialVersionUID = 7720274712545267654L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReferentialConstraint.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReferentialConstraint.java
index 1327766..2bb3083 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReferentialConstraint.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReferentialConstraint.java
@@ -22,12 +22,14 @@ import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlReferentialConstraint;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlReferentialConstraint.ReferentialConstraintDeserializer.class)
-class ClientCsdlReferentialConstraint extends CsdlReferentialConstraint {
+class ClientCsdlReferentialConstraint extends CsdlReferentialConstraint implements Serializable {
 
   private static final long serialVersionUID = -5822115908069878139L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReturnType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReturnType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReturnType.java
index 302bd9f..21f1183 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReturnType.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlReturnType.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.geo.SRID;
 import org.apache.olingo.commons.api.edm.provider.CsdlReturnType;
@@ -28,9 +29,10 @@ import org.apache.olingo.commons.api.edm.provider.CsdlReturnType;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlReturnType.ReturnTypeDeserializer.class)
-class ClientCsdlReturnType extends CsdlReturnType {
+class ClientCsdlReturnType extends CsdlReturnType implements Serializable {
 
   private static final long serialVersionUID = 6261092793901735110L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSchema.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSchema.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSchema.java
index bc141c5..7e0c4f5 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSchema.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSchema.java
@@ -21,14 +21,16 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlSchema;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlSchema.SchemaDeserializer.class)
-class ClientCsdlSchema extends CsdlSchema {
+class ClientCsdlSchema extends CsdlSchema implements Serializable {
 
   private static final long serialVersionUID = 1911087363912024939L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSingleton.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSingleton.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSingleton.java
index 7a2d097..472c9e9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSingleton.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlSingleton.java
@@ -21,14 +21,16 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.olingo.commons.api.edm.provider.CsdlSingleton;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlSingleton.SingletonDeserializer.class)
-class ClientCsdlSingleton extends CsdlSingleton {
+class ClientCsdlSingleton extends CsdlSingleton implements Serializable {
 
   private static final long serialVersionUID = 1656749615107151921L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTerm.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTerm.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTerm.java
index b2cef22..48b514e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTerm.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTerm.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.commons.api.edm.geo.SRID;
@@ -29,10 +30,11 @@ import org.apache.olingo.commons.api.edm.provider.CsdlTerm;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.Arrays;
 
 @JsonDeserialize(using = ClientCsdlTerm.TermDeserializer.class)
-class ClientCsdlTerm extends CsdlTerm {
+class ClientCsdlTerm extends CsdlTerm implements Serializable {
 
   private static final long serialVersionUID = -8350072064720586186L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTypeDefinition.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTypeDefinition.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTypeDefinition.java
index 420f226..136f30e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTypeDefinition.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientCsdlTypeDefinition.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.core.edm.xml;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
 import com.fasterxml.jackson.databind.DeserializationContext;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.olingo.commons.api.edm.geo.SRID;
 import org.apache.olingo.commons.api.edm.provider.CsdlTypeDefinition;
@@ -28,9 +29,10 @@ import org.apache.olingo.commons.api.edm.provider.CsdlTypeDefinition;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 @JsonDeserialize(using = ClientCsdlTypeDefinition.TypeDefinitionDeserializer.class)
-class ClientCsdlTypeDefinition extends CsdlTypeDefinition {
+class ClientCsdlTypeDefinition extends CsdlTypeDefinition implements Serializable {
 
   private static final long serialVersionUID = -902407149079419602L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlApply.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlApply.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlApply.java
index 4e2a000..6458cae 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlApply.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlApply.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -30,7 +31,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlApply.ApplyDeserializer.class)
-class ClientCsdlApply extends CsdlApply {
+class ClientCsdlApply extends CsdlApply implements Serializable {
 
   private static final long serialVersionUID = 4358398303405059879L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCast.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCast.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCast.java
index 7880fb8..8756d93 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCast.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCast.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -31,7 +32,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlCast.CastDeserializer.class)
-class ClientCsdlCast extends CsdlCast {
+class ClientCsdlCast extends CsdlCast implements Serializable {
 
   private static final long serialVersionUID = 3312415984116005313L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCollection.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCollection.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCollection.java
index e76dddd..677fa69 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCollection.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlCollection.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.commons.api.edm.provider.annotation.CsdlCollection;
@@ -29,7 +30,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlCollection.CollectionDeserializer.class)
-class ClientCsdlCollection extends CsdlCollection  {
+class ClientCsdlCollection extends CsdlCollection implements Serializable  {
 
   private static final long serialVersionUID = -724749123749715643L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlDynamicExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlDynamicExpression.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlDynamicExpression.java
index d332649..e4f85e2 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlDynamicExpression.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlDynamicExpression.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.commons.api.edm.provider.annotation.CsdlDynamicExpression;
@@ -38,7 +39,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlDynamicExpression.DynamicExpressionDeserializer.class)
-public abstract class ClientCsdlDynamicExpression extends CsdlDynamicExpression {
+public abstract class ClientCsdlDynamicExpression extends CsdlDynamicExpression implements Serializable {
 
   private static final long serialVersionUID = 1093411847477874348L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlIsOf.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlIsOf.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlIsOf.java
index 31ec91a..411d6dd 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlIsOf.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlIsOf.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -31,7 +32,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlIsOf.IsOfDeserializer.class)
-class ClientCsdlIsOf extends CsdlIsOf{
+class ClientCsdlIsOf extends CsdlIsOf implements Serializable {
 
   private static final long serialVersionUID = -893355856129761174L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlLabeledElement.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlLabeledElement.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlLabeledElement.java
index fdef249..b07a57b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlLabeledElement.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlLabeledElement.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -30,7 +31,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlLabeledElement.LabeledElementDeserializer.class)
-class ClientCsdlLabeledElement extends CsdlLabeledElement {
+class ClientCsdlLabeledElement extends CsdlLabeledElement implements Serializable {
 
   private static final long serialVersionUID = 4909387630253341824L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlNull.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlNull.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlNull.java
index d8ebb0c..0b0d979 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlNull.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlNull.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -30,7 +31,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlNull.NullDeserializer.class)
-class ClientCsdlNull extends CsdlNull {
+class ClientCsdlNull extends CsdlNull implements Serializable {
 
   private static final long serialVersionUID = -3148516847180393142L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlPropertyValue.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlPropertyValue.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlPropertyValue.java
index 078f66c..0d3fd45 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlPropertyValue.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlPropertyValue.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -30,7 +31,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlPropertyValue.PropertyValueDeserializer.class)
-class ClientCsdlPropertyValue extends CsdlPropertyValue {
+class ClientCsdlPropertyValue extends CsdlPropertyValue implements Serializable {
 
   private static final long serialVersionUID = -8437649215282645228L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlRecord.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlRecord.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlRecord.java
index 10d2f50..a2a1b07 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlRecord.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlRecord.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.client.core.edm.xml.ClientCsdlAnnotation;
@@ -30,7 +31,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlRecord.RecordDeserializer.class)
-class ClientCsdlRecord extends CsdlRecord {
+class ClientCsdlRecord extends CsdlRecord implements Serializable {
 
   private static final long serialVersionUID = 4275271751615410709L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlUrlRef.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlUrlRef.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlUrlRef.java
index 2a4ebc8..fa41141 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlUrlRef.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ClientCsdlUrlRef.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.edm.xml.annotation;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import org.apache.olingo.client.core.edm.xml.AbstractClientCsdlEdmDeserializer;
 import org.apache.olingo.commons.api.edm.provider.annotation.CsdlUrlRef;
@@ -29,7 +30,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 
 @JsonDeserialize(using = ClientCsdlUrlRef.UrlRefDeserializer.class)
-class ClientCsdlUrlRef extends CsdlUrlRef  {
+class ClientCsdlUrlRef extends CsdlUrlRef implements Serializable  {
 
   private static final long serialVersionUID = -7693224811739000440L;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/pom.xml
----------------------------------------------------------------------
diff --git a/lib/commons-api/pom.xml b/lib/commons-api/pom.xml
index dabf9c8..64ea2fa 100644
--- a/lib/commons-api/pom.xml
+++ b/lib/commons-api/pom.xml
@@ -36,11 +36,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
-
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/AbstractODataObject.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/AbstractODataObject.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/AbstractODataObject.java
index 15e50bf..a39ce56 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/AbstractODataObject.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/AbstractODataObject.java
@@ -81,4 +81,29 @@ public abstract class AbstractODataObject extends Annotatable {
       title = value;
     }
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+
+    final AbstractODataObject other = (AbstractODataObject) o;
+    return getAnnotations().equals(other.getAnnotations())
+        && (baseURI == null ? other.baseURI == null : baseURI.equals(other.baseURI))
+        && (id == null ? other.id == null : id.equals(other.id))
+        && (title == null ? other.title == null : title.equals(other.title));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = getAnnotations().hashCode();
+    result = 31 * result + (baseURI == null ? 0 : baseURI.hashCode());
+    result = 31 * result + (id == null ? 0 : id.hashCode());
+    result = 31 * result + (title == null ? 0 : title.hashCode());
+    return result;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotatable.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotatable.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotatable.java
index e372aca..f42f10c 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotatable.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotatable.java
@@ -21,11 +21,6 @@ package org.apache.olingo.commons.api.data;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
 /**
  * An element with instance annotations.
  */
@@ -41,29 +36,4 @@ public abstract class Annotatable {
   public List<Annotation> getAnnotations() {
     return annotations;
   }
-
-  /**
-   * Compare for equality.
-   *
-   * @param obj to compared with
-   * @return <code>true</code> if equal, otherwise <code>false</code>
-   */
-  @Override
-  public boolean equals(final Object obj) {
-    return EqualsBuilder.reflectionEquals(this, obj);
-  }
-
-  /**
-   * Create the hash code.
-   * @return hash code for this instance.
-   */
-  @Override
-  public int hashCode() {
-    return HashCodeBuilder.reflectionHashCode(this);
-  }
-
-  @Override
-  public String toString() {
-    return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
-  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotation.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotation.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotation.java
index 759666b..a3014c1 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotation.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Annotation.java
@@ -40,4 +40,22 @@ public class Annotation extends Valuable {
   public void setTerm(final String term) {
     this.term = term;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o)
+        && (term == null ? ((Annotation) o).term == null : term.equals(((Annotation) o).term));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + (term == null ? 0 : term.hashCode());
+    return result;
+  }
+
+  @Override
+  public String toString() {
+    return term == null ? "null" : term;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/ComplexValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/ComplexValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/ComplexValue.java
index c146645..0054777 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/ComplexValue.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/ComplexValue.java
@@ -36,4 +36,21 @@ public class ComplexValue extends Linked {
   public List<Property> getValue() {
     return value;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o) && value.equals(((ComplexValue) o).value);
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + value.hashCode();
+    return result;
+  }
+
+  @Override
+  public String toString() {
+    return value.toString();
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Delta.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Delta.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Delta.java
index 1030082..72cef4c 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Delta.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Delta.java
@@ -53,4 +53,21 @@ public class Delta extends EntityCollection {
   public List<DeltaLink> getDeletedLinks() {
     return deletedLinks;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o)
+        && deletedEntities.equals(((Delta) o).deletedEntities)
+        && addedLinks.equals(((Delta) o).addedLinks)
+        && deletedLinks.equals(((Delta) o).deletedLinks);
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + deletedEntities.hashCode();
+    result = 31 * result + addedLinks.hashCode();
+    result = 31 * result + deletedLinks.hashCode();
+    return result;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/DeltaLink.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/DeltaLink.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/DeltaLink.java
index 052e71c..fe36c10 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/DeltaLink.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/DeltaLink.java
@@ -76,4 +76,29 @@ public class DeltaLink extends Annotatable {
   public void setTarget(final URI target) {
     this.target = target;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+
+    final DeltaLink other = (DeltaLink) o;
+    return getAnnotations().equals(other.getAnnotations())
+        && (source == null ? other.source == null : source.equals(other.source))
+        && (relationship == null ? other.relationship == null : relationship.equals(other.relationship))
+        && (target == null ? other.target == null : target.equals(other.target));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = getAnnotations().hashCode();
+    result = 31 * result + (source == null ? 0 : source.hashCode());
+    result = 31 * result + (relationship == null ? 0 : relationship.hashCode());
+    result = 31 * result + (target == null ? 0 : target.hashCode());
+    return result;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Entity.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Entity.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Entity.java
index f5be18c..9742daf 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Entity.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Entity.java
@@ -232,4 +232,44 @@ public class Entity extends Linked {
   public boolean isMediaEntity() {
     return mediaContentSource != null;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o)
+        && (eTag == null ? ((Entity) o).eTag == null : eTag.equals(((Entity) o).eTag))
+        && (type == null ? ((Entity) o).type == null : type.equals(((Entity) o).type))
+        && (readLink == null ? ((Entity) o).readLink == null : readLink.equals(((Entity) o).readLink))
+        && (editLink == null ? ((Entity) o).editLink == null : editLink.equals(((Entity) o).editLink))
+        && mediaEditLinks.equals(((Entity) o).mediaEditLinks)
+        && operations.equals(((Entity) o).operations)
+        && properties.equals(((Entity) o).properties)
+        && (mediaContentSource == null ?
+            ((Entity) o).mediaContentSource == null :
+            mediaContentSource.equals(((Entity) o).mediaContentSource))
+        && (mediaContentType == null ?
+            ((Entity) o).mediaContentType == null :
+            mediaContentType.equals(((Entity) o).mediaContentType))
+        && (mediaETag == null ? ((Entity) o).mediaETag == null : mediaETag.equals(((Entity) o).mediaETag));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + (eTag == null ? 0 : eTag.hashCode());
+    result = 31 * result + (type == null ? 0 : type.hashCode());
+    result = 31 * result + (readLink == null ? 0 : readLink.hashCode());
+    result = 31 * result + (editLink == null ? 0 : editLink.hashCode());
+    result = 31 * result + mediaEditLinks.hashCode();
+    result = 31 * result + operations.hashCode();
+    result = 31 * result + properties.hashCode();
+    result = 31 * result + (mediaContentSource == null ? 0 : mediaContentSource.hashCode());
+    result = 31 * result + (mediaContentType == null ? 0 : mediaContentType.hashCode());
+    result = 31 * result + (mediaETag == null ? 0 : mediaETag.hashCode());
+    return result;
+  }
+
+  @Override
+  public String toString() {
+    return properties.toString();
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/EntityCollection.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/EntityCollection.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/EntityCollection.java
index adb43dc..743d437 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/EntityCollection.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/EntityCollection.java
@@ -27,12 +27,9 @@ import java.util.List;
  */
 public class EntityCollection extends AbstractODataObject {
 
-  private Integer count;
-
   private final List<Entity> entities = new ArrayList<Entity>();
-
+  private Integer count;
   private URI next;
-
   private URI deltaLink;
 
   /**
@@ -97,4 +94,26 @@ public class EntityCollection extends AbstractODataObject {
   public void setDeltaLink(final URI deltaLink) {
     this.deltaLink = deltaLink;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    if (!super.equals(o)) {
+      return false;
+    }
+    final EntityCollection other = (EntityCollection) o;
+    return entities.equals(other.entities)
+        && (count == null ? other.count == null : count.equals(other.count))
+        && (next == null ? other.next == null : next.equals(other.next))
+        && (deltaLink == null ? other.deltaLink == null : deltaLink.equals(other.deltaLink));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + entities.hashCode();
+    result = 31 * result + (count == null ? 0 : count.hashCode());
+    result = 31 * result + (next == null ? 0 : next.hashCode());
+    result = 31 * result + (deltaLink == null ? 0 : deltaLink.hashCode());
+    return result;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Link.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Link.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Link.java
index cde7dc5..0bf8237 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Link.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Link.java
@@ -193,4 +193,41 @@ public class Link extends Annotatable {
   public void setBindingLinks(final List<String> bindingLinks) {
     this.bindingLinks = bindingLinks;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+
+    final Link other = (Link) o;
+    return getAnnotations().equals(other.getAnnotations())
+        && (title == null ? other.title == null : title.equals(other.title))
+        && (rel == null ? other.rel == null : rel.equals(other.rel))
+        && (href == null ? other.href == null : href.equals(other.href))
+        && (type == null ? other.type == null : type.equals(other.type))
+        && (mediaETag == null ? other.mediaETag == null : mediaETag.equals(other.mediaETag))
+        && (entity == null ? other.entity == null : entity.equals(other.entity))
+        && (entitySet == null ? other.entitySet == null : entitySet.equals(other.entitySet))
+        && (bindingLink == null ? other.bindingLink == null : bindingLink.equals(other.bindingLink))
+        && bindingLinks.equals(other.bindingLinks);
+  }
+
+  @Override
+  public int hashCode() {
+    int result = getAnnotations().hashCode();
+    result = 31 * result + (title == null ? 0 : title.hashCode());
+    result = 31 * result + (rel == null ? 0 : rel.hashCode());
+    result = 31 * result + (href == null ? 0 : href.hashCode());
+    result = 31 * result + (type == null ? 0 : type.hashCode());
+    result = 31 * result + (mediaETag == null ? 0 : mediaETag.hashCode());
+    result = 31 * result + (entity == null ? 0 : entity.hashCode());
+    result = 31 * result + (entitySet == null ? 0 : entitySet.hashCode());
+    result = 31 * result + (bindingLink == null ? 0 : bindingLink.hashCode());
+    result = 31 * result + bindingLinks.hashCode();
+    return result;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Linked.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Linked.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Linked.java
index ccc081b..d3c736b 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Linked.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Linked.java
@@ -97,4 +97,21 @@ public abstract class Linked extends AbstractODataObject {
   public List<Link> getNavigationBindings() {
     return bindingLinks;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o)
+        && associationLinks.equals(((Linked) o).associationLinks)
+        && navigationLinks.equals(((Linked) o).navigationLinks)
+        && bindingLinks.equals(((Linked) o).bindingLinks);
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + associationLinks.hashCode();
+    result = 31 * result + navigationLinks.hashCode();
+    result = 31 * result + bindingLinks.hashCode();
+    return result;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java
index 2937f25..0b2ed33 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java
@@ -56,4 +56,22 @@ public class Parameter extends Valuable {
   public Entity asEntity() {
     return isEntity() && !isCollection() ? (Entity) getValue() : null;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o)
+        && (name == null ? ((Parameter) o).name == null : name.equals(((Parameter) o).name));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + (name == null ? 0 : name.hashCode());
+    return result;
+  }
+
+  @Override
+  public String toString() {
+    return (name == null ? "null" : name) + '=' + (getValue() == null ? "null" : getValue());
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Property.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Property.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Property.java
index 153bdd9..2117241 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Property.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Property.java
@@ -79,4 +79,22 @@ public class Property extends Valuable {
   public boolean isNull() {
     return getValue() == null || "Edm.Null".equals(getType());
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    return super.equals(o)
+        && (name == null ? ((Property) o).name == null : name.equals(((Property) o).name));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + (name == null ? 0 : name.hashCode());
+    return result;
+  }
+
+  @Override
+  public String toString() {
+    return (name == null ? "null" : name) + '=' + (getValue() == null ? "null" : getValue());
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/36e6dc92/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java
index a2cb509..ccc95cd 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java
@@ -171,4 +171,34 @@ public abstract class Valuable extends Annotatable {
   public ValueType getValueType() {
     return valueType;
   }
+
+  @Override
+  public boolean equals(final Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+
+    final Valuable other = (Valuable) o;
+    return getAnnotations().equals(other.getAnnotations())
+        && (valueType == null ? other.valueType == null : valueType.equals(other.valueType))
+        && (value == null ? other.value == null : value.equals(other.value))
+        && (type == null ? other.type == null : type.equals(other.type));
+  }
+
+  @Override
+  public int hashCode() {
+    int result = getAnnotations().hashCode();
+    result = 31 * result + (valueType == null ? 0 : valueType.hashCode());
+    result = 31 * result + (value == null ? 0 : value.hashCode());
+    result = 31 * result + (type == null ? 0 : type.hashCode());
+    return result;
+  }
+
+  @Override
+  public String toString() {
+    return value == null ? "null" : value.toString();
+  }
 }