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/03/24 08:50:31 UTC

[1/4] [OLINGO-200] Moving domain objects to commons-api

Repository: incubator-olingo-odata4
Updated Branches:
  refs/heads/olingo200 9b3e4ebfc -> 0b4b86c0b


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
new file mode 100644
index 0000000..ab77d7f
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+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;
+
+/**
+ * Abstract representation of an OData entity property value.
+ */
+public abstract class AbstractODataValue implements ODataValue {
+
+  private static final long serialVersionUID = 7445422004232581877L;
+
+  /**
+   * Check is is a primitive value.
+   *
+   * @return 'TRUE' if primitive; 'FALSE' otherwise.
+   */
+  @Override
+  public boolean isPrimitive() {
+    return (this instanceof ODataPrimitiveValue);
+  }
+
+  /**
+   * Casts to primitive value.
+   *
+   * @return primitive value.
+   */
+  @Override
+  public ODataPrimitiveValue asPrimitive() {
+    return isPrimitive() ? (ODataPrimitiveValue) this : null;
+  }
+
+  /**
+   * Check is is a geospatail value.
+   *
+   * @return 'TRUE' if geospatail; 'FALSE' otherwise.
+   */
+  @Override
+  public boolean isGeospatial() {
+    return (this instanceof ODataGeospatialValue);
+  }
+
+  /**
+   * Casts to geospatail value.
+   *
+   * @return geospatail value.
+   */
+  @Override
+  public ODataGeospatialValue asGeospatial() {
+    return isGeospatial() ? (ODataGeospatialValue) this : null;
+  }
+
+  /**
+   * Check is is a complex value.
+   *
+   * @return 'TRUE' if complex; 'FALSE' otherwise.
+   */
+  @Override
+  public boolean isComplex() {
+    return (this instanceof ODataComplexValue);
+  }
+
+  /**
+   * Casts to complex value.
+   *
+   * @return complex value.
+   */
+  @Override
+  public ODataComplexValue asComplex() {
+    return isComplex() ? (ODataComplexValue) this : null;
+  }
+
+  /**
+   * Check is is a collection value.
+   *
+   * @return 'TRUE' if collection; 'FALSE' otherwise.
+   */
+  @Override
+  public boolean isCollection() {
+    return (this instanceof ODataCollectionValue);
+  }
+
+  /**
+   * Casts to collection value.
+   *
+   * @return collection value.
+   */
+  @Override
+  public ODataCollectionValue asCollection() {
+    return isCollection() ? (ODataCollectionValue) this : null;
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    return EqualsBuilder.reflectionEquals(this, obj);
+  }
+
+  @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/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
new file mode 100644
index 0000000..f583187
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * OData collection property value.
+ */
+public class ODataCollectionValue extends AbstractODataValue implements Iterable<ODataValue> {
+
+  private static final long serialVersionUID = -3665659846001987187L;
+
+  /**
+   * Type name;
+   */
+  private final String typeName;
+
+  /**
+   * Values.
+   */
+  private final List<ODataValue> values = new ArrayList<ODataValue>();
+
+  /**
+   * Constructor.
+   *
+   * @param typeName type name.
+   */
+  public ODataCollectionValue(final String typeName) {
+    this.typeName = typeName;
+  }
+
+  /**
+   * Adds a value to the collection.
+   *
+   * @param value value to be added.
+   */
+  public void add(final ODataValue value) {
+    if (value.isPrimitive() || value.isComplex()) {
+      values.add(value);
+    }
+  }
+
+  /**
+   * Value iterator.
+   *
+   * @return value iterator.
+   */
+  @Override
+  public Iterator<ODataValue> iterator() {
+    return values.iterator();
+  }
+
+  /**
+   * Gets value type name.
+   *
+   * @return value type name.
+   */
+  public String getType() {
+    return typeName;
+  }
+
+  /**
+   * Gets collection size.
+   *
+   * @return collection size.
+   */
+  public int size() {
+    return values.size();
+  }
+
+  /**
+   * Checks if collection is empty.
+   *
+   * @return 'TRUE' if empty; 'FALSE' otherwise.
+   */
+  public boolean isEmpty() {
+    return values.isEmpty();
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
new file mode 100644
index 0000000..b973718
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * OData complex property value.
+ */
+public class ODataComplexValue extends AbstractODataValue implements Iterable<ODataProperty> {
+
+  private static final long serialVersionUID = -1878555027714020431L;
+
+  /**
+   * Type name.
+   */
+  private final String typeName;
+
+  /**
+   * Complex type fields.
+   */
+  private final Map<String, ODataProperty> fields = new LinkedHashMap<String, ODataProperty>();
+
+  /**
+   * Constructor.
+   *
+   * @param type type name.
+   */
+  public ODataComplexValue(final String typeName) {
+    this.typeName = typeName;
+  }
+
+  /**
+   * Adds field to the complex type.
+   *
+   * @param field field to be added.
+   */
+  public void add(final ODataProperty field) {
+    fields.put(field.getName(), field);
+  }
+
+  /**
+   * Gets field.
+   *
+   * @param name name of the field to be retrieved.
+   * @return requested field.
+   */
+  public ODataProperty get(final String name) {
+    return fields.get(name);
+  }
+
+  /**
+   * Complex property fields iterator.
+   *
+   * @return fields iterator.
+   */
+  @Override
+  public Iterator<ODataProperty> iterator() {
+    return fields.values().iterator();
+  }
+
+  /**
+   * Gest value type name.
+   *
+   * @return value type name.
+   */
+  public String getType() {
+    return typeName;
+  }
+
+  /**
+   * Gets number of fields.
+   *
+   * @return number of fields.
+   */
+  public int size() {
+    return fields.size();
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
new file mode 100644
index 0000000..6f84e4b
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
@@ -0,0 +1,316 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * OData entity.
+ */
+public class ODataEntity extends ODataItem implements ODataInvokeResult {
+
+  private static final long serialVersionUID = 8360640095932811034L;
+
+  /**
+   * ETag.
+   */
+  private String eTag;
+
+  /**
+   * Media entity flag.
+   */
+  private boolean mediaEntity = false;
+
+  /**
+   * In case of media entity, media content type.
+   */
+  private String mediaContentType;
+
+  /**
+   * In case of media entity, media content source.
+   */
+  private String mediaContentSource;
+
+  /**
+   * Edit link.
+   */
+  protected URI editLink;
+
+  /**
+   * Navigation links (might contain in-line entities or feeds).
+   */
+  protected final List<ODataLink> navigationLinks = new ArrayList<ODataLink>();
+
+  /**
+   * Association links.
+   */
+  protected final List<ODataLink> associationLinks = new ArrayList<ODataLink>();
+
+  /**
+   * Media edit links.
+   */
+  protected final List<ODataLink> editMediaLinks = new ArrayList<ODataLink>();
+
+  /**
+   * Operations (legacy, functions, actions).
+   */
+  protected final List<ODataOperation> operations = new ArrayList<ODataOperation>();
+
+  /**
+   * Entity properties.
+   */
+  protected final List<ODataProperty> properties = new ArrayList<ODataProperty>();
+
+  /**
+   * Constructor.
+   *
+   * @param name OData entity name.
+   */
+  public ODataEntity(final String name) {
+    super(name);
+  }
+
+  /**
+   * Gets ETag.
+   *
+   * @return ETag.
+   */
+  public String getETag() {
+    return eTag;
+  }
+
+  /**
+   * Sets ETag.
+   *
+   * @param eTag ETag.
+   */
+  public void setETag(final String eTag) {
+    this.eTag = eTag;
+  }
+
+  /**
+   * Searches for operation with given title.
+   *
+   * @param title operation to look for
+   * @return operation if found with given title, <tt>null</tt> otherwise
+   */
+  public ODataOperation getOperation(final String title) {
+    ODataOperation result = null;
+    for (ODataOperation operation : operations) {
+      if (title.equals(operation.getTitle())) {
+        result = operation;
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Gets operations.
+   *
+   * @return operations.
+   */
+  public List<ODataOperation> getOperations() {
+    return this.operations;
+  }
+
+  /**
+   * Searches for property with given name.
+   *
+   * @param name property to look for
+   * @return property if found with given name, <tt>null</tt> otherwise
+   */
+  public ODataProperty getProperty(final String name) {
+    ODataProperty result = null;
+
+    if (StringUtils.isNotBlank(name)) {
+      for (ODataProperty property : properties) {
+        if (name.equals(property.getName())) {
+          result = property;
+        }
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Returns OData entity properties.
+   *
+   * @return OData entity properties.
+   */
+  public List<ODataProperty> getProperties() {
+    return properties;
+  }
+
+  /**
+   * Puts the given link into one of available lists, based on its type.
+   *
+   * @param link to be added
+   * @return <tt>true</tt> if the given link was added in one of available lists
+   */
+  public boolean addLink(final ODataLink link) {
+    boolean result = false;
+
+    switch (link.getType()) {
+      case ASSOCIATION:
+        result = associationLinks.contains(link) ? false : associationLinks.add(link);
+        break;
+
+      case ENTITY_NAVIGATION:
+      case ENTITY_SET_NAVIGATION:
+        result = navigationLinks.contains(link) ? false : navigationLinks.add(link);
+        break;
+
+      case MEDIA_EDIT:
+        result = editMediaLinks.contains(link) ? false : editMediaLinks.add(link);
+        break;
+
+      default:
+    }
+
+    return result;
+  }
+
+  /**
+   * Removes the given link from any list (association, navigation, edit-media).
+   *
+   * @param link to be removed
+   * @return <tt>true</tt> if the given link was contained in one of available lists
+   */
+  public boolean removeLink(final ODataLink link) {
+    return associationLinks.remove(link) || navigationLinks.remove(link) || editMediaLinks.remove(link);
+  }
+
+  /**
+   * Returns all entity navigation links (including inline entities / feeds).
+   *
+   * @return OData entity links.
+   */
+  public List<ODataLink> getNavigationLinks() {
+    return navigationLinks;
+  }
+
+  /**
+   * Returns all entity association links.
+   *
+   * @return OData entity links.
+   */
+  public List<ODataLink> getAssociationLinks() {
+    return associationLinks;
+  }
+
+  /**
+   * Returns all entity media edit links.
+   *
+   * @return OData entity links.
+   */
+  public List<ODataLink> getEditMediaLinks() {
+    return editMediaLinks;
+  }
+
+  /**
+   * Returns OData entity edit link.
+   *
+   * @return entity edit link.
+   */
+  public URI getEditLink() {
+    return editLink;
+  }
+
+  /**
+   * Sets OData entity edit link.
+   *
+   * @param editLink edit link.
+   */
+  public void setEditLink(final URI editLink) {
+    this.editLink = editLink;
+  }
+
+  @Override
+  public URI getLink() {
+    return super.getLink() == null ? getEditLink() : super.getLink();
+  }
+
+  /**
+   * TRUE if read-only entity.
+   *
+   * @return TRUE if read-only; FALSE otherwise.
+   */
+  public boolean isReadOnly() {
+    return super.getLink() != null;
+  }
+
+  /**
+   * Checks if the current entity is a media entity.
+   *
+   * @return 'TRUE' if media entity; 'FALSE' otherwise.
+   */
+  public boolean isMediaEntity() {
+    return mediaEntity;
+  }
+
+  /**
+   * Sets media entity flag.
+   *
+   * @param isMediaEntity media entity flag value.
+   */
+  public void setMediaEntity(final boolean isMediaEntity) {
+    this.mediaEntity = isMediaEntity;
+  }
+
+  /**
+   * Gets media content type.
+   *
+   * @return media content type.
+   */
+  public String getMediaContentType() {
+    return mediaContentType;
+  }
+
+  /**
+   * Sets media content type.
+   *
+   * @param mediaContentType media content type.
+   */
+  public void setMediaContentType(final String mediaContentType) {
+    this.mediaContentType = mediaContentType;
+  }
+
+  /**
+   * Gets media content source.
+   *
+   * @return media content source.
+   */
+  public String getMediaContentSource() {
+    return mediaContentSource;
+  }
+
+  /**
+   * Sets media content source.
+   *
+   * @param mediaContentSource media content source.
+   */
+  public void setMediaContentSource(final String mediaContentSource) {
+    this.mediaContentSource = mediaContentSource;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
new file mode 100644
index 0000000..d3b146d
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * OData entity collection. If pagination was used to get this instance, forward page navigation URI will be available.
+ */
+public class ODataEntitySet extends ODataItem implements ODataInvokeResult {
+
+  private static final long serialVersionUID = 9039605899821494024L;
+
+  /**
+   * Link to the next page.
+   */
+  protected URI next;
+
+  /**
+   * Number of ODataEntities contained in this feed. If <tt>$inlinecount</tt> was requested, this value comes from
+   * there.
+   */
+  protected Integer count;
+
+  /**
+   * OData entities contained in this feed.
+   */
+  protected List<ODataEntity> entities = new ArrayList<ODataEntity>();
+
+  /**
+   * Constructor.
+   */
+  public ODataEntitySet() {
+    super(null);
+  }
+
+  /**
+   * Constructor.
+   *
+   * @param next next link.
+   */
+  public ODataEntitySet(final URI next) {
+    super(null);
+    this.next = next;
+  }
+
+  /**
+   * Gets next page link.
+   *
+   * @return next page link; null value if single page or last page reached.
+   */
+  public URI getNext() {
+    return next;
+  }
+
+  /**
+   * Sets in-line count.
+   *
+   * @param count in-line count value.
+   */
+  public void setCount(final int count) {
+    this.count = count;
+  }
+
+  /**
+   * Gets in-line count.
+   *
+   * @return in-line count value.
+   */
+  public int getCount() {
+    return count == null ? entities.size() : count;
+  }
+
+  /**
+   * Adds entity to the current feed.
+   *
+   * @param entity entity to be added.
+   * @return 'FALSE' if already exists; 'TRUE' otherwise.
+   */
+  public boolean addEntity(final ODataEntity entity) {
+    return entities.contains(entity) ? false : entities.add(entity);
+  }
+
+  /**
+   * Removes an entity.
+   *
+   * @param entity entity to be removed.
+   * @return 'TRUE' in case of success; 'FALSE' otherwise.
+   */
+  public boolean removeEntity(final ODataEntity entity) {
+    return entities.remove(entity);
+  }
+
+  /**
+   * Gets contained entities.
+   *
+   * @return feed entries.
+   */
+  public List<ODataEntity> getEntities() {
+    return entities;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataGeospatialValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataGeospatialValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataGeospatialValue.java
new file mode 100644
index 0000000..7563907
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataGeospatialValue.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import org.apache.olingo.commons.api.edm.EdmGeospatialType;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+
+public interface ODataGeospatialValue extends ODataValue {
+
+  interface Builder {
+
+    Builder setType(EdmPrimitiveTypeKind type);
+
+    Builder setValue(Geospatial value);
+
+    ODataGeospatialValue build();
+
+  }
+
+  EdmPrimitiveTypeKind getTypeKind();
+
+  EdmGeospatialType getType();
+
+  /**
+   * Returns the current geospatial value.
+   *
+   * @return the current geospatial value.
+   */
+  Geospatial toValue();
+
+  /**
+   * Returns the current value casted to the given type.
+   *
+   * @param <T> cast type
+   * @param reference class reference
+   * @return the current value as typed java instance
+   */
+  <T extends Geospatial> T toCastValue(Class<T> reference);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
new file mode 100644
index 0000000..46e29dd
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+
+/**
+ * OData in-line entity.
+ */
+public class ODataInlineEntity extends ODataLink {
+
+  private static final long serialVersionUID = -4763341581843700743L;
+
+  private final ODataEntity entity;
+
+  /**
+   * Constructor.
+   *
+   * @param version OData service version.
+   * @param uri edit link.
+   * @param type type.
+   * @param title title.
+   * @param entity entity.
+   */
+  public ODataInlineEntity(final ODataServiceVersion version,
+          final URI uri, final ODataLinkType type, final String title, final ODataEntity entity) {
+
+    super(version, uri, type, title);
+    this.entity = entity;
+  }
+
+  /**
+   * Constructor.
+   *
+   * @param version OData service version.
+   * @param baseURI base URI.
+   * @param href href.
+   * @param type type.
+   * @param title title.
+   * @param entity entity.
+   */
+  public ODataInlineEntity(final ODataServiceVersion version, final URI baseURI, final String href,
+          final ODataLinkType type, final String title, final ODataEntity entity) {
+
+    super(version, baseURI, href, type, title);
+    this.entity = entity;
+  }
+
+  /**
+   * Gets wrapped entity.
+   *
+   * @return wrapped entity.
+   */
+  public ODataEntity getEntity() {
+    return entity;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
new file mode 100644
index 0000000..1ace20b
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+
+/**
+ * OData in-line entity set.
+ */
+public class ODataInlineEntitySet extends ODataLink {
+
+  private static final long serialVersionUID = -77628001615355449L;
+
+  private ODataEntitySet entitySet;
+
+  /**
+   * Constructor.
+   *
+   * @param version OData service version.
+   * @param uri edit link.
+   * @param type type.
+   * @param title title.
+   * @param entitySet entity set.
+   */
+  public ODataInlineEntitySet(final ODataServiceVersion version, final URI uri, final ODataLinkType type,
+          final String title, final ODataEntitySet entitySet) {
+
+    super(version, uri, type, title);
+    this.entitySet = entitySet;
+  }
+
+  /**
+   * Constructor.
+   *
+   * @param version OData service version.
+   * @param baseURI base URI.
+   * @param href href.
+   * @param type type.
+   * @param title title.
+   * @param entitySet entity set.
+   */
+  public ODataInlineEntitySet(final ODataServiceVersion version, final URI baseURI, final String href,
+          final ODataLinkType type, final String title, final ODataEntitySet entitySet) {
+
+    super(version, baseURI, href, type, title);
+    this.entitySet = entitySet;
+  }
+
+  /**
+   * Gets wrapped entity set.
+   *
+   * @return wrapped entity set.
+   */
+  public ODataEntitySet getEntitySet() {
+    return entitySet;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInvokeResult.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInvokeResult.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInvokeResult.java
new file mode 100644
index 0000000..d4b8c44
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInvokeResult.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+/**
+ * Marker interface for any OData domain object that can be returned by an operation invocation.
+ *
+ * @see ODataEntitySet
+ * @see ODataEntity
+ * @see ODataProperty
+ * @see ODataNoContent
+ */
+public interface ODataInvokeResult {
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataItem.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataItem.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataItem.java
new file mode 100644
index 0000000..b40eeb7
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataItem.java
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.io.Serializable;
+import java.net.URI;
+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;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Abstract representation of OData entities and links.
+ */
+public abstract class ODataItem implements Serializable {
+
+  private static final long serialVersionUID = -2600707722689304686L;
+
+  /**
+   * Logger.
+   */
+  protected static final Logger LOG = LoggerFactory.getLogger(ODataItem.class);
+
+  /**
+   * OData item self link.
+   */
+  protected URI link;
+
+  /**
+   * OData entity name/type.
+   */
+  private final String name;
+
+  /**
+   * Constructor.
+   *
+   * @param name OData entity name.
+   */
+  public ODataItem(final String name) {
+    this.name = name;
+  }
+
+  /**
+   * Returns self link.
+   *
+   * @return entity edit link.
+   */
+  public URI getLink() {
+    return link;
+  }
+
+  /**
+   * Sets self link.
+   *
+   * @param link link.
+   */
+  public void setLink(final URI link) {
+    this.link = link;
+  }
+
+  /**
+   * Returns OData entity name.
+   *
+   * @return entity name.
+   */
+  public String getName() {
+    return name;
+  }
+
+  /**
+   * {@inheritDoc }
+   */
+  @Override
+  public boolean equals(final Object obj) {
+    return EqualsBuilder.reflectionEquals(this, obj);
+  }
+
+  /**
+   * {@inheritDoc }
+   */
+  @Override
+  public int hashCode() {
+    return HashCodeBuilder.reflectionHashCode(this);
+  }
+
+  /**
+   * {@inheritDoc }
+   */
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
new file mode 100644
index 0000000..9e68454
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
@@ -0,0 +1,190 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+
+/**
+ * OData link.
+ */
+public class ODataLink extends ODataItem {
+
+  private static final long serialVersionUID = 7274966414277952124L;
+
+  public static class Builder {
+
+    private ODataServiceVersion version;
+
+    private URI uri;
+
+    private ODataLinkType type;
+
+    private String title;
+
+    private String mediaETag;
+
+    public Builder setVersion(final ODataServiceVersion version) {
+      this.version = version;
+      return this;
+    }
+
+    public Builder setURI(final URI uri) {
+      this.uri = uri;
+      return this;
+    }
+
+    public Builder setURI(final URI baseURI, final String href) {
+      this.uri = getURI(baseURI, href);
+      return this;
+    }
+
+    public Builder setType(final ODataLinkType type) {
+      this.type = type;
+      return this;
+    }
+
+    public Builder setTitle(final String title) {
+      this.title = title;
+      return this;
+    }
+
+    public void setMediaETag(final String mediaETag) {
+      this.mediaETag = mediaETag;
+    }
+
+    public ODataLink build() {
+      ODataLink instance = new ODataLink(version, uri, type, title);
+      instance.mediaETag = this.mediaETag;
+      return instance;
+    }
+  }
+
+  /**
+   * Build URI starting from the given base and href.
+   * <br/>
+   * If href is absolute or base is null then base will be ignored.
+   *
+   * @param base URI prefix.
+   * @param href URI suffix.
+   * @return built URI.
+   */
+  private static URI getURI(final URI base, final String href) {
+    if (href == null) {
+      throw new IllegalArgumentException("Null link provided");
+    }
+
+    URI uri = URI.create(href);
+
+    if (!uri.isAbsolute() && base != null) {
+      uri = URI.create(base.toASCIIString() + "/" + href);
+    }
+
+    return uri.normalize();
+  }
+
+  /**
+   * Link type.
+   */
+  protected final ODataLinkType type;
+
+  /**
+   * Link rel.
+   */
+  protected final String rel;
+
+  /**
+   * ETag for media edit links.
+   */
+  private String mediaETag;
+
+  /**
+   * Constructor.
+   *
+   * @param version OData service version.
+   * @param uri URI.
+   * @param type type.
+   * @param title title.
+   */
+  protected ODataLink(final ODataServiceVersion version, final URI uri, final ODataLinkType type, final String title) {
+    super(title);
+
+    this.link = uri;
+    this.type = type;
+
+    switch (this.type) {
+      case ASSOCIATION:
+        this.rel = version.getNamespaceMap().get(ODataServiceVersion.ASSOCIATION_LINK_REL) + title;
+        break;
+
+      case ENTITY_NAVIGATION:
+      case ENTITY_SET_NAVIGATION:
+        this.rel = version.getNamespaceMap().get(ODataServiceVersion.NAVIGATION_LINK_REL) + title;
+        break;
+
+      case MEDIA_EDIT:
+      default:
+        this.rel = version.getNamespaceMap().get(ODataServiceVersion.MEDIA_EDIT_LINK_REL) + title;
+        break;
+    }
+  }
+
+  /**
+   * Constructor.
+   *
+   * @param version OData service version.
+   * @param baseURI base URI.
+   * @param href href.
+   * @param type type.
+   * @param title title.
+   */
+  protected ODataLink(final ODataServiceVersion version,
+          final URI baseURI, final String href, final ODataLinkType type, final String title) {
+
+    this(version, getURI(baseURI, href), type, title);
+  }
+
+  /**
+   * Gets link type.
+   *
+   * @return link type;
+   */
+  public ODataLinkType getType() {
+    return type;
+  }
+
+  /**
+   * Gets link rel.
+   *
+   * @return link rel
+   */
+  public String getRel() {
+    return rel;
+  }
+
+  /**
+   * Gets Media ETag.
+   *
+   * @return media ETag
+   */
+  public String getMediaETag() {
+    return mediaETag;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
new file mode 100644
index 0000000..59dc834
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.format.ContentType;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
+
+/**
+ * OData link types.
+ */
+public enum ODataLinkType {
+
+  /**
+   * Entity navigation link.
+   */
+  ENTITY_NAVIGATION(ODataPubFormat.ATOM + ";type=entry"),
+  /**
+   * Entity set navigation link.
+   */
+  ENTITY_SET_NAVIGATION(ODataPubFormat.ATOM + ";type=feed"),
+  /**
+   * Association link.
+   */
+  ASSOCIATION(ContentType.APPLICATION_XML),
+  /**
+   * Media-edit link.
+   */
+  MEDIA_EDIT("*/*");
+
+  private String type;
+
+  private ODataLinkType(final String type) {
+    this.type = type;
+  }
+
+  private ODataLinkType setType(final String type) {
+    this.type = type;
+    return this;
+  }
+
+  /**
+   * Gets <code>LinkType</code> instance from the given rel and type.
+   *
+   * @param version OData protocol version.
+   * @param rel rel.
+   * @param type type.
+   * @return <code>ODataLinkType</code> object.
+   */
+  public static ODataLinkType fromString(final ODataServiceVersion version, final String rel, final String type) {
+    if (StringUtils.isNotBlank(rel)
+            && rel.startsWith(version.getNamespaceMap().get(ODataServiceVersion.MEDIA_EDIT_LINK_REL))) {
+
+      return MEDIA_EDIT.setType(StringUtils.isBlank(type) ? "*/*" : type);
+    }
+
+    if (ODataLinkType.ENTITY_NAVIGATION.type.equals(type)) {
+      return ENTITY_NAVIGATION;
+    }
+
+    if (ODataLinkType.ENTITY_SET_NAVIGATION.type.equals(type)) {
+      return ENTITY_SET_NAVIGATION;
+    }
+
+    if (ODataLinkType.ASSOCIATION.type.equals(type)) {
+      return ASSOCIATION;
+    }
+
+    throw new IllegalArgumentException("Invalid link type: " + type);
+  }
+
+  @Override
+  public String toString() {
+    return type;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
new file mode 100644
index 0000000..b38a5e8
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
@@ -0,0 +1,218 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+
+/**
+ * Entry point for generating OData domain objects.
+ *
+ * @see ODataEntitySet
+ * @see ODataEntity
+ * @see ODataProperty
+ * @see ODataLink
+ */
+public interface ODataObjectFactory {
+
+  /**
+   * Instantiates a new entity set.
+   *
+   * @return entity set.
+   */
+  ODataEntitySet newEntitySet();
+
+  /**
+   * Instantiates a new entity set.
+   *
+   * @param next next link.
+   * @return entity set.
+   */
+  ODataEntitySet newEntitySet(URI next);
+
+  /**
+   * Instantiates a new entity.
+   *
+   * @param name OData entity name.
+   * @return entity.
+   */
+  ODataEntity newEntity(String name);
+
+  /**
+   * Instantiates a new entity.
+   *
+   * @param name OData entity name.
+   * @param link self link.
+   * @return entity.
+   */
+  ODataEntity newEntity(String name, URI link);
+
+  /**
+   * Instantiates a new in-line entity set.
+   *
+   * @param name name.
+   * @param link edit link.
+   * @param entitySet entity set.
+   * @return in-line entity set.
+   */
+  ODataInlineEntitySet newInlineEntitySet(String name, URI link, ODataEntitySet entitySet);
+
+  /**
+   * Instantiates a new in-line entity set.
+   *
+   * @param name name.
+   * @param baseURI base URI.
+   * @param href href.
+   * @param entitySet entity set.
+   * @return in-line entity set.
+   */
+  ODataInlineEntitySet newInlineEntitySet(String name, URI baseURI, String href, ODataEntitySet entitySet);
+
+  /**
+   * Instantiates a new in-line entity.
+   *
+   * @param name name.
+   * @param link edit link.
+   * @param entity entity.
+   * @return in-line entity.
+   */
+  ODataInlineEntity newInlineEntity(String name, URI link, ODataEntity entity);
+
+  /**
+   * Instantiates a new in-line entity.
+   *
+   * @param name name.
+   * @param baseURI base URI.
+   * @param href href.
+   * @param entity entity.
+   * @return in-line entity.
+   */
+  ODataInlineEntity newInlineEntity(String name, URI baseURI, String href, ODataEntity entity);
+
+  /**
+   * Instantiates a new entity navigation link.
+   *
+   * @param name name.
+   * @param link link.
+   * @return entity navigation link.
+   */
+  ODataLink newEntityNavigationLink(String name, URI link);
+
+  /**
+   * Instantiates a new entity navigation link.
+   *
+   * @param name name.
+   * @param baseURI base URI.
+   * @param href href.
+   * @return entity navigation link.
+   */
+  ODataLink newEntityNavigationLink(String name, URI baseURI, String href);
+
+  /**
+   * Instantiates a new entity set navigation link.
+   *
+   * @param name name.
+   * @param link link.
+   * @return entity set navigation link.
+   */
+  ODataLink newFeedNavigationLink(String name, URI link);
+
+  /**
+   * Instantiates a new entity set navigation link.
+   *
+   * @param name name.
+   * @param baseURI base URI.
+   * @param href href.
+   * @return entity set navigation link.
+   */
+  ODataLink newFeedNavigationLink(String name, URI baseURI, String href);
+
+  /**
+   * Instantiates a new association link.
+   *
+   * @param name name.
+   * @param link link.
+   * @return association link.
+   */
+  ODataLink newAssociationLink(String name, URI link);
+
+  /**
+   * Instantiates a new association link.
+   *
+   * @param name name.
+   * @param baseURI base URI.
+   * @param href href.
+   * @return association link.
+   */
+  ODataLink newAssociationLink(String name, URI baseURI, String href);
+
+  /**
+   * Instantiates a new media-edit link.
+   *
+   * @param name name.
+   * @param link link.
+   * @return media-edit link.
+   */
+  ODataLink newMediaEditLink(String name, URI link);
+
+  /**
+   * Instantiates a new media-edit link.
+   *
+   * @param name name.
+   * @param baseURI base URI.
+   * @param href href.
+   * @return media-edit link.
+   */
+  ODataLink newMediaEditLink(String name, URI baseURI, String href);
+
+  /**
+   * Instantiates a new primitive property.
+   *
+   * @param name name.
+   * @param value primitive value.
+   * @return primitive property.
+   */
+  ODataProperty newPrimitiveProperty(String name, ODataPrimitiveValue value);
+
+  /**
+   * Instantiates a new primitive property.
+   *
+   * @param name name.
+   * @param value geospatial value.
+   * @return primitive property.
+   */
+  ODataProperty newPrimitiveProperty(String name, ODataGeospatialValue value);
+
+  /**
+   * Instantiates a new complex property.
+   *
+   * @param name name.
+   * @param value value.
+   * @return complex property.
+   */
+  ODataProperty newComplexProperty(String name, ODataComplexValue value);
+
+  /**
+   * Instantiates a new collection property.
+   *
+   * @param name name.
+   * @param value value.
+   * @return collection property.
+   */
+  ODataProperty newCollectionProperty(String name, ODataCollectionValue value);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataOperation.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataOperation.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataOperation.java
new file mode 100644
index 0000000..47daba4
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataOperation.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.io.Serializable;
+import java.net.URI;
+
+public class ODataOperation implements Serializable {
+
+  private static final long serialVersionUID = 4155165768886762490L;
+
+  private String metadataAnchor;
+
+  private String title;
+
+  private URI target;
+
+  /**
+   * Gets metadata anchor.
+   *
+   * @return metadata anchor.
+   */
+  public String getMetadataAnchor() {
+    return metadataAnchor;
+  }
+
+  /**
+   * Sets metadata anchor.
+   *
+   * @param metadataAnchor metadata anchor.
+   */
+  public void setMetadataAnchor(final String metadataAnchor) {
+    this.metadataAnchor = metadataAnchor;
+  }
+
+  /**
+   * Gets title.
+   *
+   * @return title.
+   */
+  public String getTitle() {
+    return title;
+  }
+
+  /**
+   * Sets title.
+   *
+   * @param title title.
+   */
+  public void setTitle(final String title) {
+    this.title = title;
+  }
+
+  /**
+   * Gets target.
+   *
+   * @return target.
+   */
+  public URI getTarget() {
+    return target;
+  }
+
+  /**
+   * Sets target.
+   *
+   * @param target target.
+   */
+  public void setTarget(final URI target) {
+    this.target = target;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
new file mode 100644
index 0000000..77e83ae
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+
+public interface ODataPrimitiveValue extends ODataValue {
+
+  interface Builder {
+
+    Builder setType(EdmPrimitiveTypeKind type);
+
+    Builder setText(String text);
+
+    Builder setValue(Object value);
+
+    ODataPrimitiveValue build();
+  }
+
+  EdmPrimitiveTypeKind getTypeKind();
+
+  EdmPrimitiveType getType();
+
+  /**
+   * Returns the current value as generic Object.
+   *
+   * @return an uncasted instance of this value
+   */
+  Object toValue();
+
+  /**
+   * Returns the current value casted to the given type.
+   *
+   * @param <T> cast type
+   * @param reference class reference
+   * @return the current value as typed java instance
+   * @throws EdmPrimitiveTypeException if the object is not assignable to the type T.
+   */
+  <T> T toCastValue(Class<T> reference) throws EdmPrimitiveTypeException;
+
+  /**
+   * Serialize the current value as String.
+   *
+   * @return a String representation of this value
+   */
+  @Override
+  String toString();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
new file mode 100644
index 0000000..7217282
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.io.Serializable;
+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;
+
+/**
+ * OData entity property.
+ */
+public class ODataProperty implements Serializable, ODataInvokeResult {
+
+  private static final long serialVersionUID = 926939448778950450L;
+
+  /**
+   * Property name.
+   */
+  private final String name;
+
+  /**
+   * Property value.
+   */
+  private ODataValue value;
+
+  /**
+   * Constructor.
+   *
+   * @param name property name.
+   * @param value property value.
+   */
+  public ODataProperty(final String name, final ODataValue value) {
+    this.name = name;
+    this.value = value;
+  }
+
+  /**
+   * Returns property name.
+   *
+   * @return property name.
+   */
+  public String getName() {
+    return name;
+  }
+
+  /**
+   * Returns property value.
+   *
+   * @return property value.
+   */
+  public ODataValue getValue() {
+    return value;
+  }
+
+  /**
+   * Updates property value.
+   *
+   * @param value property value that replaces current.
+   */
+  public void setValue(final ODataValue value) {
+    this.value = value;
+  }
+
+  /**
+   * Checks if has null value.
+   *
+   * @return 'TRUE' if has null value; 'FALSE' otherwise.
+   */
+  public boolean hasNullValue() {
+    return this.value == null;
+  }
+
+  /**
+   * Checks if has primitive value.
+   *
+   * @return 'TRUE' if has primitive value; 'FALSE' otherwise.
+   */
+  public boolean hasPrimitiveValue() {
+    return !hasNullValue() && this.value.isPrimitive();
+  }
+
+  /**
+   * Gets primitive value.
+   *
+   * @return primitive value if exists; null otherwise.
+   */
+  public ODataPrimitiveValue getPrimitiveValue() {
+    return hasPrimitiveValue() ? this.value.asPrimitive() : null;
+  }
+
+  /**
+   * Checks if has geospatial value.
+   *
+   * @return 'TRUE' if has geospatial value; 'FALSE' otherwise.
+   */
+  public boolean hasGeospatialValue() {
+    return !hasNullValue() && this.value.isGeospatial();
+  }
+
+  /**
+   * Gets geospatial value.
+   *
+   * @return geospatial value if exists; null otherwise.
+   */
+  public ODataGeospatialValue getGeospatialValue() {
+    return hasGeospatialValue() ? this.value.asGeospatial() : null;
+  }
+
+  /**
+   * Checks if has complex value.
+   *
+   * @return 'TRUE' if has complex value; 'FALSE' otherwise.
+   */
+  public boolean hasComplexValue() {
+    return !hasNullValue() && this.value.isComplex();
+  }
+
+  /**
+   * Gets complex value.
+   *
+   * @return complex value if exists; null otherwise.
+   */
+  public ODataComplexValue getComplexValue() {
+    return hasComplexValue() ? this.value.asComplex() : null;
+  }
+
+  /**
+   * Checks if has collection value.
+   *
+   * @return 'TRUE' if has collection value; 'FALSE' otherwise.
+   */
+  public boolean hasCollectionValue() {
+    return !hasNullValue() && this.value.isCollection();
+  }
+
+  /**
+   * Gets collection value.
+   *
+   * @return collection value if exists; null otherwise.
+   */
+  public ODataCollectionValue getCollectionValue() {
+    return hasCollectionValue() ? this.value.asCollection() : null;
+  }
+
+  /**
+   * {@inheritDoc }
+   */
+  @Override
+  public boolean equals(final Object obj) {
+    return EqualsBuilder.reflectionEquals(this, obj);
+  }
+
+  /**
+   * {@inheritDoc }
+   */
+  @Override
+  public int hashCode() {
+    return HashCodeBuilder.reflectionHashCode(this);
+  }
+
+  /**
+   * {@inheritDoc }
+   */
+  @Override
+  public String toString() {
+    return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java
new file mode 100644
index 0000000..d173e50
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+public enum ODataPropertyType {
+
+  /**
+   * Primitive (including geospatial and enum).
+   */
+  PRIMITIVE,
+  /**
+   * Collection
+   */
+  COLLECTION,
+  /**
+   * Complex.
+   */
+  COMPLEX,
+  /**
+   * Empty type (possibly, no type information could be retrieved).
+   */
+  EMPTY
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataServiceDocument.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataServiceDocument.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataServiceDocument.java
new file mode 100644
index 0000000..13f807b
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataServiceDocument.java
@@ -0,0 +1,183 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.net.URI;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+public class ODataServiceDocument {
+
+  private URI metadataContext;
+
+  private String metadataETag;
+
+  private final Map<String, URI> entitySets = new HashMap<String, URI>();
+
+  private final Map<String, URI> functionImports = new HashMap<String, URI>();
+
+  private final Map<String, URI> singletons = new HashMap<String, URI>();
+
+  private final Map<String, URI> relatedServiceDocuments = new HashMap<String, URI>();
+
+  public URI getMetadataContext() {
+    return metadataContext;
+  }
+
+  public void setMetadataContext(final URI metadataContext) {
+    this.metadataContext = metadataContext;
+  }
+
+  public String getMetadataETag() {
+    return metadataETag;
+  }
+
+  public void setMetadataETag(final String metadataETag) {
+    this.metadataETag = metadataETag;
+  }
+
+  public Map<String, URI> getEntitySets() {
+    return entitySets;
+  }
+
+  /**
+   * Gets entity set titles.
+   *
+   * @return entity set titles.
+   */
+  public Collection<String> getEntitySetTitles() {
+    return entitySets.keySet();
+  }
+
+  /**
+   * Gets entity set URIs.
+   *
+   * @return entity set URIs.
+   */
+  public Collection<URI> getEntitySetURIs() {
+    return entitySets.values();
+  }
+
+  /**
+   * Gets URI about the given entity set.
+   *
+   * @param title title.
+   * @return URI.
+   */
+  public URI getEntitySetURI(final String title) {
+    return entitySets.get(title);
+  }
+
+  public Map<String, URI> getFunctionImports() {
+    return functionImports;
+  }
+
+  /**
+   * Gets function import titles.
+   *
+   * @return function import titles.
+   */
+  public Collection<String> getFunctionImportTitles() {
+    return functionImports.keySet();
+  }
+
+  /**
+   * Gets function import URIs.
+   *
+   * @return function import URIs.
+   */
+  public Collection<URI> getFunctionImportURIs() {
+    return functionImports.values();
+  }
+
+  /**
+   * Gets URI of the given function import.
+   *
+   * @param title title.
+   * @return URI.
+   */
+  public URI getFunctionImportURI(final String title) {
+    return functionImports.get(title);
+  }
+
+  public Map<String, URI> getSingletons() {
+    return singletons;
+  }
+
+  /**
+   * Gets singleton titles.
+   *
+   * @return singleton titles.
+   */
+  public Collection<String> getSingletonTitles() {
+    return singletons.keySet();
+  }
+
+  /**
+   * Gets singleton URIs.
+   *
+   * @return singleton URIs.
+   */
+  public Collection<URI> getSingletonURIs() {
+    return singletons.values();
+  }
+
+  /**
+   * Gets URI of the given singleton.
+   *
+   * @param title title.
+   * @return URI.
+   */
+  public URI getSingletonURI(final String title) {
+    return singletons.get(title);
+  }
+
+  public Map<String, URI> getRelatedServiceDocuments() {
+    return relatedServiceDocuments;
+  }
+
+  /**
+   * Gets related service documents titles.
+   *
+   * @return related service documents titles.
+   */
+  public Collection<String> getRelatedServiceDocumentsTitles() {
+    return relatedServiceDocuments.keySet();
+  }
+
+  /**
+   * Gets related service documents URIs.
+   *
+   * @return related service documents URIs.
+   */
+  public Collection<URI> getRelatedServiceDocumentsURIs() {
+    return relatedServiceDocuments.values();
+  }
+
+  /**
+   * Gets URI of the given related service documents.
+   *
+   * @param title title.
+   * @return URI.
+   */
+  public URI getRelatedServiceDocumentURI(final String title) {
+    return relatedServiceDocuments.get(title);
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
new file mode 100644
index 0000000..e1c9be9
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.domain;
+
+import java.io.Serializable;
+
+/**
+ * Abstract representation of an OData entity property value.
+ */
+public interface ODataValue extends Serializable {
+
+  /**
+   * Check is is a primitive value.
+   *
+   * @return 'TRUE' if primitive; 'FALSE' otherwise.
+   */
+  boolean isPrimitive();
+
+  /**
+   * Casts to primitive value.
+   *
+   * @return primitive value.
+   */
+  ODataPrimitiveValue asPrimitive();
+
+  /**
+   * Check is is a geospatail value.
+   *
+   * @return 'TRUE' if geospatail; 'FALSE' otherwise.
+   */
+  boolean isGeospatial();
+
+  /**
+   * Casts to geospatail value.
+   *
+   * @return geospatail value.
+   */
+  ODataGeospatialValue asGeospatial();
+
+  /**
+   * Check is is a collection value.
+   *
+   * @return 'TRUE' if collection; 'FALSE' otherwise.
+   */
+  boolean isCollection();
+
+  /**
+   * Casts to collection value.
+   *
+   * @return collection value.
+   */
+  ODataCollectionValue asCollection();
+
+  /**
+   * Check is is a complex value.
+   *
+   * @return 'TRUE' if complex; 'FALSE' otherwise.
+   */
+  boolean isComplex();
+
+  /**
+   * Casts to complex value.
+   *
+   * @return complex value.
+   */
+  ODataComplexValue asComplex();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ContentType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ContentType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ContentType.java
new file mode 100644
index 0000000..21ed548
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ContentType.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.format;
+
+public interface ContentType {
+
+  public static final String APPLICATION_ATOM_XML = "application/atom+xml";
+
+  public static final String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";
+
+  public static final String APPLICATION_JSON = "application/json";
+
+  public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
+
+  public static final String APPLICATION_SVG_XML = "application/svg+xml";
+
+  public static final String APPLICATION_XHTML_XML = "application/xhtml+xml";
+
+  public static final String APPLICATION_XML = "application/xml";
+
+  public static final String MULTIPART_FORM_DATA = "multipart/form-data";
+
+  public static final String TEXT_HTML = "text/html";
+
+  public static final String TEXT_PLAIN = "text/plain";
+
+  public static final String TEXT_XML = "text/xml";
+
+  public static final String WILDCARD = "*/*";
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataFormat.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataFormat.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataFormat.java
new file mode 100644
index 0000000..30d9e09
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataFormat.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.format;
+
+/**
+ * Available formats to be used in various contexts.
+ */
+public enum ODataFormat {
+
+  /**
+   * JSON format with no metadata.
+   */
+  JSON_NO_METADATA(ContentType.APPLICATION_JSON + ";odata=nometadata"),
+  /**
+   * JSON format with minimal metadata (default).
+   */
+  JSON(ContentType.APPLICATION_JSON + ";odata=minimalmetadata"),
+  /**
+   * JSON format with no metadata.
+   */
+  JSON_FULL_METADATA(ContentType.APPLICATION_JSON + ";odata=fullmetadata"),
+  /**
+   * XML format.
+   */
+  XML(ContentType.APPLICATION_XML);
+
+  private final String format;
+
+  ODataFormat(final String format) {
+    this.format = format;
+  }
+
+  /**
+   * Gets format as a string.
+   *
+   * @return format as a string.
+   */
+  @Override
+  public String toString() {
+    return format;
+  }
+
+  /**
+   * Gets OData format from its string representation.
+   *
+   * @param format string representation of the format.
+   * @return OData format.
+   */
+  public static ODataFormat fromString(final String format) {
+    ODataFormat result = null;
+
+    final StringBuffer _format = new StringBuffer();
+
+    final String[] parts = format.split(";");
+    _format.append(parts[0].trim());
+    if (ContentType.APPLICATION_JSON.equals(parts[0].trim())) {
+      if (parts.length > 1) {
+        _format.append(';').append(parts[1].trim());
+      } else {
+        result = ODataFormat.JSON;
+      }
+    }
+
+    if (result == null) {
+      final String candidate = _format.toString();
+      for (ODataFormat value : values()) {
+        if (candidate.equals(value.toString())) {
+          result = value;
+        }
+      }
+    }
+
+    if (result == null) {
+      throw new IllegalArgumentException("Unsupported format: " + format);
+    }
+
+    return result;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataMediaFormat.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataMediaFormat.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataMediaFormat.java
new file mode 100644
index 0000000..c479de4
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataMediaFormat.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.format;
+
+/**
+ * Available formats for media.
+ */
+public enum ODataMediaFormat {
+
+  CHARSET_PARAMETER("charset"),
+  MEDIA_TYPE_WILDCARD("*"),
+  WILDCARD(ContentType.WILDCARD),
+  APPLICATION_XML(ContentType.APPLICATION_XML),
+  APPLICATION_ATOM_XML(ContentType.APPLICATION_ATOM_XML),
+  APPLICATION_XHTML_XML(ContentType.APPLICATION_XHTML_XML),
+  APPLICATION_SVG_XML(ContentType.APPLICATION_SVG_XML),
+  APPLICATION_JSON(ContentType.APPLICATION_JSON),
+  APPLICATION_FORM_URLENCODED(ContentType.APPLICATION_FORM_URLENCODED),
+  MULTIPART_FORM_DATA(ContentType.MULTIPART_FORM_DATA),
+  APPLICATION_OCTET_STREAM(ContentType.APPLICATION_OCTET_STREAM),
+  TEXT_PLAIN(ContentType.TEXT_PLAIN),
+  TEXT_XML(ContentType.TEXT_XML),
+  TEXT_HTML(ContentType.TEXT_HTML);
+
+  private final String format;
+
+  private ODataMediaFormat(final String format) {
+    this.format = format;
+  }
+
+  @Override
+  public String toString() {
+    return format;
+  }
+
+  public static ODataMediaFormat fromFormat(final String format) {
+    final String _format = format.split(";")[0];
+
+    ODataMediaFormat result = null;
+
+    for (ODataMediaFormat value : values()) {
+      if (_format.equals(value.toString())) {
+        result = value;
+      }
+    }
+
+    if (result == null) {
+      throw new IllegalArgumentException("Unsupported format: " + format);
+    }
+
+    return result;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataPubFormat.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataPubFormat.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataPubFormat.java
new file mode 100644
index 0000000..6cd6a05
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataPubFormat.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.format;
+
+/**
+ * Available formats for AtomPub exchange.
+ */
+public enum ODataPubFormat {
+
+  /**
+   * JSON format with no metadata.
+   */
+  JSON_NO_METADATA(ContentType.APPLICATION_JSON + ";odata=nometadata"),
+  /**
+   * JSON format with minimal metadata (default).
+   */
+  JSON(ContentType.APPLICATION_JSON + ";odata=minimalmetadata"),
+  /**
+   * JSON format with no metadata.
+   */
+  JSON_FULL_METADATA(ContentType.APPLICATION_JSON + ";odata=fullmetadata"),
+  /**
+   * Atom format.
+   */
+  ATOM(ContentType.APPLICATION_ATOM_XML);
+
+  private final String format;
+
+  ODataPubFormat(final String format) {
+    this.format = format;
+  }
+
+  /**
+   * Gets format as a string.
+   *
+   * @return format as a string.
+   */
+  @Override
+  public String toString() {
+    return format;
+  }
+
+  /**
+   * Gets OData format from its string representation.
+   *
+   * @param format string representation of the format.
+   * @return OData format.
+   */
+  public static ODataPubFormat fromString(final String format) {
+    ODataPubFormat result = null;
+
+    final StringBuffer _format = new StringBuffer();
+
+    final String[] parts = format.split(";");
+    _format.append(parts[0].trim());
+    if (ContentType.APPLICATION_JSON.equals(parts[0].trim())) {
+      if (parts.length > 1 && parts[1].startsWith("odata=")) {
+        _format.append(';').append(parts[1].trim());
+      } else {
+        result = ODataPubFormat.JSON;
+      }
+    }
+
+    if (result == null) {
+      final String candidate = _format.toString();
+      for (ODataPubFormat value : values()) {
+        if (candidate.equals(value.toString())) {
+          result = value;
+        }
+      }
+    }
+
+    if (result == null) {
+      throw new IllegalArgumentException("Unsupported format: " + format);
+    }
+
+    return result;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataValueFormat.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataValueFormat.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataValueFormat.java
new file mode 100644
index 0000000..1b290bf
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/format/ODataValueFormat.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.format;
+
+/**
+ * Available formats for property values.
+ */
+public enum ODataValueFormat {
+
+  /**
+   * Application octet stream.
+   */
+  STREAM(ContentType.APPLICATION_OCTET_STREAM),
+  /**
+   * Plain text format.
+   */
+  TEXT(ContentType.TEXT_PLAIN);
+
+  private final String format;
+
+  ODataValueFormat(final String format) {
+    this.format = format;
+  }
+
+  /**
+   * Gets format as a string.
+   *
+   * @return format as a string.
+   */
+  @Override
+  public String toString() {
+    return format;
+  }
+
+  /**
+   * Gets format from its string representation.
+   *
+   * @param format string representation of the format.
+   * @return OData format.
+   */
+  public static ODataValueFormat fromString(final String format) {
+    final String _format = format.split(";")[0];
+
+    ODataValueFormat result = null;
+
+    for (ODataValueFormat value : values()) {
+      if (_format.equals(value.toString())) {
+        result = value;
+      }
+    }
+
+    if (result == null) {
+      throw new IllegalArgumentException("Unsupported format: " + format);
+    }
+
+    return result;
+  }
+}


[4/4] git commit: [OLINGO-200] Moving domain objects to commons-api

Posted by il...@apache.org.
[OLINGO-200] Moving domain objects to commons-api


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

Branch: refs/heads/olingo200
Commit: 0b4b86c0b28ab47ad04c846c02175cfeab8454b3
Parents: 9b3e4eb
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Mon Mar 24 08:50:16 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Mon Mar 24 08:50:16 2014 +0100

----------------------------------------------------------------------
 lib/client-api/pom.xml                          |   5 -
 .../olingo/client/api/CommonConfiguration.java  |   8 +-
 .../olingo/client/api/CommonODataClient.java    |   6 +-
 .../org/apache/olingo/client/api/Constants.java |   2 +-
 .../request/cud/CommonCUDRequestFactory.java    |   8 +-
 .../request/cud/ODataDeleteRequest.java         |   2 +-
 .../request/cud/ODataEntityCreateRequest.java   |   2 +-
 .../request/cud/ODataEntityUpdateRequest.java   |   2 +-
 .../request/cud/ODataLinkCreateRequest.java     |   2 +-
 .../request/cud/ODataLinkUpdateRequest.java     |   2 +-
 .../request/cud/ODataPropertyUpdateRequest.java |   2 +-
 .../request/cud/ODataValueUpdateRequest.java    |   2 +-
 .../invoke/CommonInvokeRequestFactory.java      |   4 +-
 .../request/invoke/ODataInvokeRequest.java      |   6 +-
 .../request/invoke/ODataNoContent.java          |   2 +-
 .../request/retrieve/ODataEntityRequest.java    |   4 +-
 .../retrieve/ODataEntitySetIteratorRequest.java |   2 +-
 .../request/retrieve/ODataEntitySetRequest.java |   4 +-
 .../request/retrieve/ODataMediaRequest.java     |   2 +-
 .../request/retrieve/ODataMetadataRequest.java  |   2 +-
 .../request/retrieve/ODataPropertyRequest.java  |   4 +-
 .../retrieve/ODataServiceDocumentRequest.java   |   4 +-
 .../request/retrieve/ODataValueRequest.java     |   4 +-
 .../retrieve/v3/ODataLinkCollectionRequest.java |   2 +-
 .../streamed/ODataStreamedEntityRequest.java    |   2 +-
 .../response/ODataEntityCreateResponse.java     |   2 +-
 .../response/ODataEntityUpdateResponse.java     |   2 +-
 .../response/ODataInvokeResponse.java           |   2 +-
 .../ODataMediaEntityCreateResponse.java         |   2 +-
 .../ODataMediaEntityUpdateResponse.java         |   2 +-
 .../response/ODataPropertyUpdateResponse.java   |   2 +-
 .../response/ODataValueUpdateResponse.java      |   2 +-
 .../apache/olingo/client/api/data/Entry.java    |   2 +-
 .../client/api/domain/AbstractODataValue.java   | 127 --------
 .../client/api/domain/ODataCollectionValue.java |  98 ------
 .../client/api/domain/ODataComplexValue.java    |  97 ------
 .../olingo/client/api/domain/ODataEntity.java   | 316 -------------------
 .../client/api/domain/ODataEntitySet.java       | 120 -------
 .../api/domain/ODataEntitySetIterator.java      |   4 +-
 .../client/api/domain/ODataGeospatialValue.java |  57 ----
 .../client/api/domain/ODataInlineEntity.java    |  74 -----
 .../client/api/domain/ODataInlineEntitySet.java |  74 -----
 .../client/api/domain/ODataInvokeResult.java    |  30 --
 .../olingo/client/api/domain/ODataItem.java     | 111 -------
 .../olingo/client/api/domain/ODataLink.java     | 190 -----------
 .../olingo/client/api/domain/ODataLinkType.java |  93 ------
 .../client/api/domain/ODataObjectFactory.java   | 218 -------------
 .../client/api/domain/ODataOperation.java       |  88 ------
 .../client/api/domain/ODataPrimitiveValue.java  |  67 ----
 .../olingo/client/api/domain/ODataProperty.java | 186 -----------
 .../client/api/domain/ODataPropertyType.java    |  40 ---
 .../client/api/domain/ODataServiceDocument.java | 183 -----------
 .../olingo/client/api/domain/ODataValue.java    |  84 -----
 .../olingo/client/api/format/ODataFormat.java   |  97 ------
 .../client/api/format/ODataMediaFormat.java     |  71 -----
 .../client/api/format/ODataPubFormat.java       |  97 ------
 .../client/api/format/ODataValueFormat.java     |  76 -----
 .../olingo/client/api/op/CommonODataBinder.java |  10 +-
 .../client/api/op/CommonODataDeserializer.java  |   4 +-
 .../olingo/client/api/op/CommonODataReader.java |  12 +-
 .../olingo/client/api/op/ODataSerializer.java   |   2 +-
 .../olingo/client/api/op/ODataWriter.java       |  10 +-
 .../client/api/op/v3/ODataDeserializer.java     |   2 +-
 .../olingo/client/api/op/v3/ODataReader.java    |   2 +-
 .../client/core/AbstractConfiguration.java      |   8 +-
 .../olingo/client/core/AbstractODataClient.java |   2 +-
 .../communication/request/ODataRequestImpl.java |   6 +-
 .../request/cud/AbstractCUDRequestFactory.java  |   8 +-
 .../request/cud/ODataDeleteRequestImpl.java     |   2 +-
 .../cud/ODataEntityCreateRequestImpl.java       |   4 +-
 .../cud/ODataEntityUpdateRequestImpl.java       |   4 +-
 .../request/cud/ODataLinkCreateRequestImpl.java |   4 +-
 .../request/cud/ODataLinkUpdateRequestImpl.java |   4 +-
 .../cud/ODataPropertyUpdateRequestImpl.java     |   4 +-
 .../cud/ODataValueUpdateRequestImpl.java        |   4 +-
 .../invoke/AbstractInvokeRequestFactory.java    |   2 +-
 .../request/invoke/ODataInvokeRequestImpl.java  |  14 +-
 .../invoke/v3/InvokeRequestFactoryImpl.java     |  10 +-
 .../invoke/v4/InvokeRequestFactoryImpl.java     |   4 +-
 .../retrieve/ODataEntityRequestImpl.java        |   4 +-
 .../ODataEntitySetIteratorRequestImpl.java      |   2 +-
 .../retrieve/ODataEntitySetRequestImpl.java     |   4 +-
 .../request/retrieve/ODataMediaRequestImpl.java |   2 +-
 .../retrieve/ODataMetadataRequestImpl.java      |   2 +-
 .../retrieve/ODataPropertyRequestImpl.java      |   4 +-
 .../request/retrieve/ODataRawRequestImpl.java   |   2 +-
 .../ODataServiceDocumentRequestImpl.java        |   4 +-
 .../request/retrieve/ODataValueRequestImpl.java |   4 +-
 .../v3/ODataLinkCollectionRequestImpl.java      |   2 +-
 .../AbstractODataStreamedEntityRequest.java     |   2 +-
 .../streamed/AbstractODataStreamedRequest.java  |   2 +-
 .../ODataMediaEntityCreateRequestImpl.java      |   2 +-
 .../ODataMediaEntityUpdateRequestImpl.java      |   2 +-
 .../olingo/client/core/data/AbstractEntry.java  |   2 +-
 .../core/data/AbstractJsonDeserializer.java     |   2 +-
 .../client/core/data/AtomDeserializer.java      |   2 +-
 .../core/data/AtomPropertyDeserializer.java     |   2 +-
 .../client/core/data/JSONEntryDeserializer.java |   4 +-
 .../client/core/data/JSONEntrySerializer.java   |   2 +-
 .../core/domain/ODataGeospatialValueImpl.java   |   4 +-
 .../core/domain/ODataPrimitiveValueImpl.java    |   4 +-
 .../client/core/op/AbstractODataBinder.java     |  24 +-
 .../core/op/AbstractODataDeserializer.java      |   4 +-
 .../client/core/op/AbstractODataReader.java     |  16 +-
 .../client/core/op/AbstractODataSerializer.java |   2 +-
 .../client/core/op/ODataObjectFactoryImpl.java  |  24 +-
 .../olingo/client/core/op/ODataWriterImpl.java  |  10 +-
 .../olingo/client/core/op/ResourceFactory.java  |   2 +-
 .../core/op/impl/v3/ODataDeserializerImpl.java  |   2 +-
 .../client/core/op/impl/v3/ODataReaderImpl.java |   4 +-
 .../client/core/op/impl/v4/ODataBinderImpl.java |   2 +-
 .../core/op/impl/v4/ODataDeserializerImpl.java  |   2 +-
 .../client/core/op/impl/v4/ODataReaderImpl.java |   4 +-
 .../client/core/AbstractPrimitiveTest.java      |   8 +-
 .../client/core/AbstractPropertyTest.java       |  12 +-
 .../apache/olingo/client/core/AbstractTest.java |   4 +-
 .../client/core/it/AbstractTestITCase.java      |  20 +-
 .../client/core/it/v3/AsyncTestITCase.java      |   4 +-
 .../client/core/it/v3/CountTestITCase.java      |   4 +-
 .../core/it/v3/EntityCreateTestITCase.java      |  12 +-
 .../core/it/v3/EntityRetrieveTestITCase.java    |  14 +-
 .../client/core/it/v3/EntitySetTestITCase.java  |   4 +-
 .../core/it/v3/EntityUpdateTestITCase.java      |   4 +-
 .../client/core/it/v3/ErrorTestITCase.java      |   4 +-
 .../core/it/v3/FilterFactoryTestITCase.java     |   2 +-
 .../client/core/it/v3/FilterTestITCase.java     |   2 +-
 .../core/it/v3/KeyAsSegmentTestITCase.java      |   4 +-
 .../client/core/it/v3/LinkTestITCase.java       |   4 +-
 .../core/it/v3/MediaEntityTestITCase.java       |   8 +-
 .../it/v3/NavigationLinkCreateTestITCase.java   |  20 +-
 .../client/core/it/v3/OpenTypeTestITCase.java   |   6 +-
 .../core/it/v3/PrimitiveKeysTestITCase.java     |   4 +-
 .../core/it/v3/PropertyRetrieveTestITCase.java  |  14 +-
 .../client/core/it/v3/PropertyTestITCase.java   |  10 +-
 .../core/it/v3/PropertyValueTestITCase.java     |   6 +-
 .../core/it/v3/QueryOptionsTestITCase.java      |   8 +-
 .../v3/ServiceDocumentRetrieveTestITCase.java   |   4 +-
 .../core/it/v3/ServiceDocumentTestITCase.java   |   4 +-
 .../apache/olingo/client/core/v3/AtomTest.java  |   4 +-
 .../olingo/client/core/v3/EntitySetTest.java    |   4 +-
 .../olingo/client/core/v3/EntityTest.java       |   8 +-
 .../apache/olingo/client/core/v3/ErrorTest.java |   2 +-
 .../apache/olingo/client/core/v3/JSONTest.java  |   4 +-
 .../client/core/v3/PrimitiveValueTest.java      |   2 +-
 .../client/core/v3/ServiceDocumentTest.java     |   4 +-
 .../client/core/v4/PrimitiveValueTest.java      |   2 +-
 .../client/core/v4/ServiceDocumentTest.java     |   4 +-
 lib/commons-api/pom.xml                         |   5 +
 .../commons/api/domain/AbstractODataValue.java  | 127 ++++++++
 .../api/domain/ODataCollectionValue.java        |  98 ++++++
 .../commons/api/domain/ODataComplexValue.java   |  97 ++++++
 .../olingo/commons/api/domain/ODataEntity.java  | 316 +++++++++++++++++++
 .../commons/api/domain/ODataEntitySet.java      | 120 +++++++
 .../api/domain/ODataGeospatialValue.java        |  57 ++++
 .../commons/api/domain/ODataInlineEntity.java   |  74 +++++
 .../api/domain/ODataInlineEntitySet.java        |  74 +++++
 .../commons/api/domain/ODataInvokeResult.java   |  30 ++
 .../olingo/commons/api/domain/ODataItem.java    | 111 +++++++
 .../olingo/commons/api/domain/ODataLink.java    | 190 +++++++++++
 .../commons/api/domain/ODataLinkType.java       |  93 ++++++
 .../commons/api/domain/ODataObjectFactory.java  | 218 +++++++++++++
 .../commons/api/domain/ODataOperation.java      |  88 ++++++
 .../commons/api/domain/ODataPrimitiveValue.java |  67 ++++
 .../commons/api/domain/ODataProperty.java       | 186 +++++++++++
 .../commons/api/domain/ODataPropertyType.java   |  40 +++
 .../api/domain/ODataServiceDocument.java        | 183 +++++++++++
 .../olingo/commons/api/domain/ODataValue.java   |  84 +++++
 .../olingo/commons/api/format/ContentType.java  |  47 +++
 .../olingo/commons/api/format/ODataFormat.java  |  95 ++++++
 .../commons/api/format/ODataMediaFormat.java    |  69 ++++
 .../commons/api/format/ODataPubFormat.java      |  95 ++++++
 .../commons/api/format/ODataValueFormat.java    |  74 +++++
 172 files changed, 2938 insertions(+), 2897 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/pom.xml
----------------------------------------------------------------------
diff --git a/lib/client-api/pom.xml b/lib/client-api/pom.xml
index eb3f9e3..017ec12 100644
--- a/lib/client-api/pom.xml
+++ b/lib/client-api/pom.xml
@@ -49,11 +49,6 @@
       <groupId>org.apache.httpcomponents</groupId>
       <artifactId>httpclient</artifactId>
     </dependency>
-
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
   </dependencies>
 	
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonConfiguration.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonConfiguration.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonConfiguration.java
index 48f2614..59786f3 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonConfiguration.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonConfiguration.java
@@ -18,10 +18,10 @@
  */
 package org.apache.olingo.client.api;
 
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientFactory;
 import org.apache.olingo.client.api.http.HttpUriRequestFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 6c44360..4b708d9 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
@@ -24,9 +24,9 @@ import org.apache.olingo.client.api.communication.request.cud.CommonCUDRequestFa
 import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
 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.domain.ODataObjectFactory;
-import org.apache.olingo.client.api.domain.ODataGeospatialValue;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataObjectFactory;
+import org.apache.olingo.commons.api.domain.ODataGeospatialValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
 import org.apache.olingo.client.api.op.CommonODataBinder;
 import org.apache.olingo.client.api.op.CommonODataDeserializer;
 import org.apache.olingo.client.api.op.CommonODataReader;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/Constants.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/Constants.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/Constants.java
index 6f94915..b4c3d6b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/Constants.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/Constants.java
@@ -24,7 +24,7 @@ import javax.xml.namespace.QName;
 /**
  * Constant values related to the OData protocol.
  */
-public class Constants {
+public interface Constants {
 
   // Other stuff
   public final static String UTF8 = "UTF-8";

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 c0f5b2e..6f6f502 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
@@ -21,10 +21,10 @@ package org.apache.olingo.client.api.communication.request.cud;
 import java.io.Serializable;
 import java.net.URI;
 import org.apache.olingo.client.api.communication.request.UpdateType;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
 
 /**
  * OData request factory class.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataDeleteRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataDeleteRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataDeleteRequest.java
index 7206f50..79b2641 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataDeleteRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataDeleteRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData delete request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityCreateRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityCreateRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityCreateRequest.java
index 357ed9a..02f41e7 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityCreateRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityCreateRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData create request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityUpdateRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityUpdateRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityUpdateRequest.java
index bff13dc..11bc797 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityUpdateRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataEntityUpdateRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData update request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkCreateRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkCreateRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkCreateRequest.java
index 65c070d..adf6f0d 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkCreateRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkCreateRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataLinkOperationResponse;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an insert link OData request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkUpdateRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkUpdateRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkUpdateRequest.java
index 624c693..00f9216 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkUpdateRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataLinkUpdateRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataLinkOperationResponse;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an update link OData request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataPropertyUpdateRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataPropertyUpdateRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataPropertyUpdateRequest.java
index 683c3e3..53fa447 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataPropertyUpdateRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataPropertyUpdateRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataPropertyUpdateResponse;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData update entity property request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataValueUpdateRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataValueUpdateRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataValueUpdateRequest.java
index 7085788..753fde8 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataValueUpdateRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/cud/ODataValueUpdateRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.cud;
 
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataValueUpdateResponse;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 
 /**
  * This class implements an OData update entity property value request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
index e7104bc..0198b92 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.api.communication.request.invoke;
 import java.io.Serializable;
 import java.net.URI;
 import java.util.LinkedHashMap;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
-import org.apache.olingo.client.api.domain.ODataValue;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataInvokeRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataInvokeRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataInvokeRequest.java
index 22360fb..986a13b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataInvokeRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataInvokeRequest.java
@@ -21,9 +21,9 @@ package org.apache.olingo.client.api.communication.request.invoke;
 import java.util.Map;
 import org.apache.olingo.client.api.communication.request.ODataBasicRequest;
 import org.apache.olingo.client.api.communication.response.ODataInvokeResponse;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData invoke operation request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataNoContent.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataNoContent.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataNoContent.java
index e9c0379..4f32516 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataNoContent.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/ODataNoContent.java
@@ -19,7 +19,7 @@
 package org.apache.olingo.client.api.communication.request.invoke;
 
 import java.io.Serializable;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
 
 /**
  * Marker class for invoke with no return type.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 9dd7104..a22f82c 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,8 +18,8 @@
  */
 package org.apache.olingo.client.api.communication.request.retrieve;
 
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData retrieve query request returning a single entity.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.java
index 2d7c369..dd2cf46 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.java
@@ -19,7 +19,7 @@
 package org.apache.olingo.client.api.communication.request.retrieve;
 
 import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData EntitySet query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 d76d04a..fbafafd 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,8 +18,8 @@
  */
 package org.apache.olingo.client.api.communication.request.retrieve;
 
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData EntitySet query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.java
index 4500152..a4bbf3c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.java
@@ -19,7 +19,7 @@
 package org.apache.olingo.client.api.communication.request.retrieve;
 
 import java.io.InputStream;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
 
 /**
  * This class implements an OData media query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMetadataRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMetadataRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMetadataRequest.java
index c87e449..3dcc81b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMetadataRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataMetadataRequest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.olingo.client.api.communication.request.retrieve;
 
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.edm.Edm;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 9806a2e..7492e11 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,8 +18,8 @@
  */
 package org.apache.olingo.client.api.communication.request.retrieve;
 
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData entity property query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.java
index 862ed49..580798c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.olingo.client.api.communication.request.retrieve;
 
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData service document request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.java
index e731dfe..e78067a 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.olingo.client.api.communication.request.retrieve;
 
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 
 /**
  * This class implements an OData entity property value query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
index 7cfba7b..1494aea 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.communication.request.retrieve.v3;
 
 import org.apache.olingo.client.api.communication.request.retrieve.ODataRetrieveRequest;
 import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData link query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/ODataStreamedEntityRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/ODataStreamedEntityRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/ODataStreamedEntityRequest.java
index 3753016..7d898f5 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/ODataStreamedEntityRequest.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/ODataStreamedEntityRequest.java
@@ -21,7 +21,7 @@ package org.apache.olingo.client.api.communication.request.streamed;
 import org.apache.olingo.client.api.communication.request.ODataStreamManager;
 import org.apache.olingo.client.api.communication.request.ODataStreamedRequest;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * Abstract class representing a request concerning a streamed entity.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 c4eaf22..5fd7fb8 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.client.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntity;
 
 /**
  * This class implements the response to an OData entity create request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 fec48d6..6b84630 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.client.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntity;
 
 /**
  * This class implements the response to an OData update request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataInvokeResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataInvokeResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataInvokeResponse.java
index 8a5cdaa..ab1d890 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataInvokeResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataInvokeResponse.java
@@ -18,7 +18,7 @@
  */
 package org.apache.olingo.client.api.communication.response;
 
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
 
 /**
  * This class implements a response to a specific invoke request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 98bd90e..ea3b8b7 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.client.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntity;
 
 /**
  * This class implements the response to an Odata media entity create request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 e24b615..f55dac8 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.client.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntity;
 
 /**
  * This class implements the response to an Odata media entity update request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 c398aa2..23bfc1e 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.client.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataProperty;
 
 /**
  * This class implements the response to an OData update entity property request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataValueUpdateResponse.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataValueUpdateResponse.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataValueUpdateResponse.java
index 9d8855b..8a0ab1b 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataValueUpdateResponse.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/response/ODataValueUpdateResponse.java
@@ -18,7 +18,7 @@
  */
 package org.apache.olingo.client.api.communication.response;
 
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
 
 /**
  * This class implements the response to an OData update entity property request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/data/Entry.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/data/Entry.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/data/Entry.java
index 78a7b93..0fcf77c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/data/Entry.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/data/Entry.java
@@ -18,7 +18,7 @@
  */
 package org.apache.olingo.client.api.data;
 
-import org.apache.olingo.client.api.domain.ODataOperation;
+import org.apache.olingo.commons.api.domain.ODataOperation;
 import java.net.URI;
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/AbstractODataValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/AbstractODataValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/AbstractODataValue.java
deleted file mode 100644
index 37ca0da..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/AbstractODataValue.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-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;
-
-/**
- * Abstract representation of an OData entity property value.
- */
-public abstract class AbstractODataValue implements ODataValue {
-
-  private static final long serialVersionUID = 7445422004232581877L;
-
-  /**
-   * Check is is a primitive value.
-   *
-   * @return 'TRUE' if primitive; 'FALSE' otherwise.
-   */
-  @Override
-  public boolean isPrimitive() {
-    return (this instanceof ODataPrimitiveValue);
-  }
-
-  /**
-   * Casts to primitive value.
-   *
-   * @return primitive value.
-   */
-  @Override
-  public ODataPrimitiveValue asPrimitive() {
-    return isPrimitive() ? (ODataPrimitiveValue) this : null;
-  }
-
-  /**
-   * Check is is a geospatail value.
-   *
-   * @return 'TRUE' if geospatail; 'FALSE' otherwise.
-   */
-  @Override
-  public boolean isGeospatial() {
-    return (this instanceof ODataGeospatialValue);
-  }
-
-  /**
-   * Casts to geospatail value.
-   *
-   * @return geospatail value.
-   */
-  @Override
-  public ODataGeospatialValue asGeospatial() {
-    return isGeospatial() ? (ODataGeospatialValue) this : null;
-  }
-
-  /**
-   * Check is is a complex value.
-   *
-   * @return 'TRUE' if complex; 'FALSE' otherwise.
-   */
-  @Override
-  public boolean isComplex() {
-    return (this instanceof ODataComplexValue);
-  }
-
-  /**
-   * Casts to complex value.
-   *
-   * @return complex value.
-   */
-  @Override
-  public ODataComplexValue asComplex() {
-    return isComplex() ? (ODataComplexValue) this : null;
-  }
-
-  /**
-   * Check is is a collection value.
-   *
-   * @return 'TRUE' if collection; 'FALSE' otherwise.
-   */
-  @Override
-  public boolean isCollection() {
-    return (this instanceof ODataCollectionValue);
-  }
-
-  /**
-   * Casts to collection value.
-   *
-   * @return collection value.
-   */
-  @Override
-  public ODataCollectionValue asCollection() {
-    return isCollection() ? (ODataCollectionValue) this : null;
-  }
-
-  @Override
-  public boolean equals(final Object obj) {
-    return EqualsBuilder.reflectionEquals(this, obj);
-  }
-
-  @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/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataCollectionValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataCollectionValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataCollectionValue.java
deleted file mode 100644
index df743df..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataCollectionValue.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * OData collection property value.
- */
-public class ODataCollectionValue extends AbstractODataValue implements Iterable<ODataValue> {
-
-  private static final long serialVersionUID = -3665659846001987187L;
-
-  /**
-   * Type name;
-   */
-  private final String typeName;
-
-  /**
-   * Values.
-   */
-  private final List<ODataValue> values = new ArrayList<ODataValue>();
-
-  /**
-   * Constructor.
-   *
-   * @param typeName type name.
-   */
-  public ODataCollectionValue(final String typeName) {
-    this.typeName = typeName;
-  }
-
-  /**
-   * Adds a value to the collection.
-   *
-   * @param value value to be added.
-   */
-  public void add(final ODataValue value) {
-    if (value.isPrimitive() || value.isComplex()) {
-      values.add(value);
-    }
-  }
-
-  /**
-   * Value iterator.
-   *
-   * @return value iterator.
-   */
-  @Override
-  public Iterator<ODataValue> iterator() {
-    return values.iterator();
-  }
-
-  /**
-   * Gets value type name.
-   *
-   * @return value type name.
-   */
-  public String getType() {
-    return typeName;
-  }
-
-  /**
-   * Gets collection size.
-   *
-   * @return collection size.
-   */
-  public int size() {
-    return values.size();
-  }
-
-  /**
-   * Checks if collection is empty.
-   *
-   * @return 'TRUE' if empty; 'FALSE' otherwise.
-   */
-  public boolean isEmpty() {
-    return values.isEmpty();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataComplexValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataComplexValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataComplexValue.java
deleted file mode 100644
index d9b8a24..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataComplexValue.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * OData complex property value.
- */
-public class ODataComplexValue extends AbstractODataValue implements Iterable<ODataProperty> {
-
-  private static final long serialVersionUID = -1878555027714020431L;
-
-  /**
-   * Type name.
-   */
-  private final String typeName;
-
-  /**
-   * Complex type fields.
-   */
-  private final Map<String, ODataProperty> fields = new LinkedHashMap<String, ODataProperty>();
-
-  /**
-   * Constructor.
-   *
-   * @param type type name.
-   */
-  public ODataComplexValue(final String typeName) {
-    this.typeName = typeName;
-  }
-
-  /**
-   * Adds field to the complex type.
-   *
-   * @param field field to be added.
-   */
-  public void add(final ODataProperty field) {
-    fields.put(field.getName(), field);
-  }
-
-  /**
-   * Gets field.
-   *
-   * @param name name of the field to be retrieved.
-   * @return requested field.
-   */
-  public ODataProperty get(final String name) {
-    return fields.get(name);
-  }
-
-  /**
-   * Complex property fields iterator.
-   *
-   * @return fields iterator.
-   */
-  @Override
-  public Iterator<ODataProperty> iterator() {
-    return fields.values().iterator();
-  }
-
-  /**
-   * Gest value type name.
-   *
-   * @return value type name.
-   */
-  public String getType() {
-    return typeName;
-  }
-
-  /**
-   * Gets number of fields.
-   *
-   * @return number of fields.
-   */
-  public int size() {
-    return fields.size();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntity.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntity.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntity.java
deleted file mode 100644
index e06ca62..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntity.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * OData entity.
- */
-public class ODataEntity extends ODataItem implements ODataInvokeResult {
-
-  private static final long serialVersionUID = 8360640095932811034L;
-
-  /**
-   * ETag.
-   */
-  private String eTag;
-
-  /**
-   * Media entity flag.
-   */
-  private boolean mediaEntity = false;
-
-  /**
-   * In case of media entity, media content type.
-   */
-  private String mediaContentType;
-
-  /**
-   * In case of media entity, media content source.
-   */
-  private String mediaContentSource;
-
-  /**
-   * Edit link.
-   */
-  protected URI editLink;
-
-  /**
-   * Navigation links (might contain in-line entities or feeds).
-   */
-  protected final List<ODataLink> navigationLinks = new ArrayList<ODataLink>();
-
-  /**
-   * Association links.
-   */
-  protected final List<ODataLink> associationLinks = new ArrayList<ODataLink>();
-
-  /**
-   * Media edit links.
-   */
-  protected final List<ODataLink> editMediaLinks = new ArrayList<ODataLink>();
-
-  /**
-   * Operations (legacy, functions, actions).
-   */
-  protected final List<ODataOperation> operations = new ArrayList<ODataOperation>();
-
-  /**
-   * Entity properties.
-   */
-  protected final List<ODataProperty> properties = new ArrayList<ODataProperty>();
-
-  /**
-   * Constructor.
-   *
-   * @param name OData entity name.
-   */
-  public ODataEntity(final String name) {
-    super(name);
-  }
-
-  /**
-   * Gets ETag.
-   *
-   * @return ETag.
-   */
-  public String getETag() {
-    return eTag;
-  }
-
-  /**
-   * Sets ETag.
-   *
-   * @param eTag ETag.
-   */
-  public void setETag(final String eTag) {
-    this.eTag = eTag;
-  }
-
-  /**
-   * Searches for operation with given title.
-   *
-   * @param title operation to look for
-   * @return operation if found with given title, <tt>null</tt> otherwise
-   */
-  public ODataOperation getOperation(final String title) {
-    ODataOperation result = null;
-    for (ODataOperation operation : operations) {
-      if (title.equals(operation.getTitle())) {
-        result = operation;
-      }
-    }
-
-    return result;
-  }
-
-  /**
-   * Gets operations.
-   *
-   * @return operations.
-   */
-  public List<ODataOperation> getOperations() {
-    return this.operations;
-  }
-
-  /**
-   * Searches for property with given name.
-   *
-   * @param name property to look for
-   * @return property if found with given name, <tt>null</tt> otherwise
-   */
-  public ODataProperty getProperty(final String name) {
-    ODataProperty result = null;
-
-    if (StringUtils.isNotBlank(name)) {
-      for (ODataProperty property : properties) {
-        if (name.equals(property.getName())) {
-          result = property;
-        }
-      }
-    }
-
-    return result;
-  }
-
-  /**
-   * Returns OData entity properties.
-   *
-   * @return OData entity properties.
-   */
-  public List<ODataProperty> getProperties() {
-    return properties;
-  }
-
-  /**
-   * Puts the given link into one of available lists, based on its type.
-   *
-   * @param link to be added
-   * @return <tt>true</tt> if the given link was added in one of available lists
-   */
-  public boolean addLink(final ODataLink link) {
-    boolean result = false;
-
-    switch (link.getType()) {
-      case ASSOCIATION:
-        result = associationLinks.contains(link) ? false : associationLinks.add(link);
-        break;
-
-      case ENTITY_NAVIGATION:
-      case ENTITY_SET_NAVIGATION:
-        result = navigationLinks.contains(link) ? false : navigationLinks.add(link);
-        break;
-
-      case MEDIA_EDIT:
-        result = editMediaLinks.contains(link) ? false : editMediaLinks.add(link);
-        break;
-
-      default:
-    }
-
-    return result;
-  }
-
-  /**
-   * Removes the given link from any list (association, navigation, edit-media).
-   *
-   * @param link to be removed
-   * @return <tt>true</tt> if the given link was contained in one of available lists
-   */
-  public boolean removeLink(final ODataLink link) {
-    return associationLinks.remove(link) || navigationLinks.remove(link) || editMediaLinks.remove(link);
-  }
-
-  /**
-   * Returns all entity navigation links (including inline entities / feeds).
-   *
-   * @return OData entity links.
-   */
-  public List<ODataLink> getNavigationLinks() {
-    return navigationLinks;
-  }
-
-  /**
-   * Returns all entity association links.
-   *
-   * @return OData entity links.
-   */
-  public List<ODataLink> getAssociationLinks() {
-    return associationLinks;
-  }
-
-  /**
-   * Returns all entity media edit links.
-   *
-   * @return OData entity links.
-   */
-  public List<ODataLink> getEditMediaLinks() {
-    return editMediaLinks;
-  }
-
-  /**
-   * Returns OData entity edit link.
-   *
-   * @return entity edit link.
-   */
-  public URI getEditLink() {
-    return editLink;
-  }
-
-  /**
-   * Sets OData entity edit link.
-   *
-   * @param editLink edit link.
-   */
-  public void setEditLink(final URI editLink) {
-    this.editLink = editLink;
-  }
-
-  @Override
-  public URI getLink() {
-    return super.getLink() == null ? getEditLink() : super.getLink();
-  }
-
-  /**
-   * TRUE if read-only entity.
-   *
-   * @return TRUE if read-only; FALSE otherwise.
-   */
-  public boolean isReadOnly() {
-    return super.getLink() != null;
-  }
-
-  /**
-   * Checks if the current entity is a media entity.
-   *
-   * @return 'TRUE' if media entity; 'FALSE' otherwise.
-   */
-  public boolean isMediaEntity() {
-    return mediaEntity;
-  }
-
-  /**
-   * Sets media entity flag.
-   *
-   * @param isMediaEntity media entity flag value.
-   */
-  public void setMediaEntity(final boolean isMediaEntity) {
-    this.mediaEntity = isMediaEntity;
-  }
-
-  /**
-   * Gets media content type.
-   *
-   * @return media content type.
-   */
-  public String getMediaContentType() {
-    return mediaContentType;
-  }
-
-  /**
-   * Sets media content type.
-   *
-   * @param mediaContentType media content type.
-   */
-  public void setMediaContentType(final String mediaContentType) {
-    this.mediaContentType = mediaContentType;
-  }
-
-  /**
-   * Gets media content source.
-   *
-   * @return media content source.
-   */
-  public String getMediaContentSource() {
-    return mediaContentSource;
-  }
-
-  /**
-   * Sets media content source.
-   *
-   * @param mediaContentSource media content source.
-   */
-  public void setMediaContentSource(final String mediaContentSource) {
-    this.mediaContentSource = mediaContentSource;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySet.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySet.java
deleted file mode 100644
index 22aff1f..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySet.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * OData entity collection. If pagination was used to get this instance, forward page navigation URI will be available.
- */
-public class ODataEntitySet extends ODataItem implements ODataInvokeResult {
-
-  private static final long serialVersionUID = 9039605899821494024L;
-
-  /**
-   * Link to the next page.
-   */
-  protected URI next;
-
-  /**
-   * Number of ODataEntities contained in this feed. If <tt>$inlinecount</tt> was requested, this value comes from
-   * there.
-   */
-  protected Integer count;
-
-  /**
-   * OData entities contained in this feed.
-   */
-  protected List<ODataEntity> entities = new ArrayList<ODataEntity>();
-
-  /**
-   * Constructor.
-   */
-  public ODataEntitySet() {
-    super(null);
-  }
-
-  /**
-   * Constructor.
-   *
-   * @param next next link.
-   */
-  public ODataEntitySet(final URI next) {
-    super(null);
-    this.next = next;
-  }
-
-  /**
-   * Gets next page link.
-   *
-   * @return next page link; null value if single page or last page reached.
-   */
-  public URI getNext() {
-    return next;
-  }
-
-  /**
-   * Sets in-line count.
-   *
-   * @param count in-line count value.
-   */
-  public void setCount(final int count) {
-    this.count = count;
-  }
-
-  /**
-   * Gets in-line count.
-   *
-   * @return in-line count value.
-   */
-  public int getCount() {
-    return count == null ? entities.size() : count;
-  }
-
-  /**
-   * Adds entity to the current feed.
-   *
-   * @param entity entity to be added.
-   * @return 'FALSE' if already exists; 'TRUE' otherwise.
-   */
-  public boolean addEntity(final ODataEntity entity) {
-    return entities.contains(entity) ? false : entities.add(entity);
-  }
-
-  /**
-   * Removes an entity.
-   *
-   * @param entity entity to be removed.
-   * @return 'TRUE' in case of success; 'FALSE' otherwise.
-   */
-  public boolean removeEntity(final ODataEntity entity) {
-    return entities.remove(entity);
-  }
-
-  /**
-   * Gets contained entities.
-   *
-   * @return feed entries.
-   */
-  public List<ODataEntity> getEntities() {
-    return entities;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 26ef195..8c1db4d 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
@@ -31,7 +31,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.Constants;
 import org.apache.olingo.client.api.data.Entry;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
deleted file mode 100644
index af1c545..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import org.apache.olingo.commons.api.edm.EdmGeospatialType;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.geo.Geospatial;
-
-public interface ODataGeospatialValue extends ODataValue {
-
-  interface Builder {
-
-    Builder setType(EdmPrimitiveTypeKind type);
-
-    Builder setValue(Geospatial value);
-
-    ODataGeospatialValue build();
-
-  }
-
-  EdmPrimitiveTypeKind getTypeKind();
-
-  EdmGeospatialType getType();
-
-  /**
-   * Returns the current geospatial value.
-   *
-   * @return the current geospatial value.
-   */
-  Geospatial toValue();
-
-  /**
-   * Returns the current value casted to the given type.
-   *
-   * @param <T> cast type
-   * @param reference class reference
-   * @return the current value as typed java instance
-   */
-  <T extends Geospatial> T toCastValue(Class<T> reference);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntity.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntity.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntity.java
deleted file mode 100644
index 0d030e0..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntity.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
-/**
- * OData in-line entity.
- */
-public class ODataInlineEntity extends ODataLink {
-
-  private static final long serialVersionUID = -4763341581843700743L;
-
-  private final ODataEntity entity;
-
-  /**
-   * Constructor.
-   *
-   * @param version OData service version.
-   * @param uri edit link.
-   * @param type type.
-   * @param title title.
-   * @param entity entity.
-   */
-  public ODataInlineEntity(final ODataServiceVersion version,
-          final URI uri, final ODataLinkType type, final String title, final ODataEntity entity) {
-
-    super(version, uri, type, title);
-    this.entity = entity;
-  }
-
-  /**
-   * Constructor.
-   *
-   * @param version OData service version.
-   * @param baseURI base URI.
-   * @param href href.
-   * @param type type.
-   * @param title title.
-   * @param entity entity.
-   */
-  public ODataInlineEntity(final ODataServiceVersion version, final URI baseURI, final String href,
-          final ODataLinkType type, final String title, final ODataEntity entity) {
-
-    super(version, baseURI, href, type, title);
-    this.entity = entity;
-  }
-
-  /**
-   * Gets wrapped entity.
-   *
-   * @return wrapped entity.
-   */
-  public ODataEntity getEntity() {
-    return entity;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntitySet.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntitySet.java
deleted file mode 100644
index 331839c..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInlineEntitySet.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
-/**
- * OData in-line entity set.
- */
-public class ODataInlineEntitySet extends ODataLink {
-
-  private static final long serialVersionUID = -77628001615355449L;
-
-  private ODataEntitySet entitySet;
-
-  /**
-   * Constructor.
-   *
-   * @param version OData service version.
-   * @param uri edit link.
-   * @param type type.
-   * @param title title.
-   * @param entitySet entity set.
-   */
-  public ODataInlineEntitySet(final ODataServiceVersion version, final URI uri, final ODataLinkType type,
-          final String title, final ODataEntitySet entitySet) {
-
-    super(version, uri, type, title);
-    this.entitySet = entitySet;
-  }
-
-  /**
-   * Constructor.
-   *
-   * @param version OData service version.
-   * @param baseURI base URI.
-   * @param href href.
-   * @param type type.
-   * @param title title.
-   * @param entitySet entity set.
-   */
-  public ODataInlineEntitySet(final ODataServiceVersion version, final URI baseURI, final String href,
-          final ODataLinkType type, final String title, final ODataEntitySet entitySet) {
-
-    super(version, baseURI, href, type, title);
-    this.entitySet = entitySet;
-  }
-
-  /**
-   * Gets wrapped entity set.
-   *
-   * @return wrapped entity set.
-   */
-  public ODataEntitySet getEntitySet() {
-    return entitySet;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInvokeResult.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInvokeResult.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInvokeResult.java
deleted file mode 100644
index c55dfe6..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataInvokeResult.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-/**
- * Marker interface for any OData domain object that can be returned by an operation invocation.
- *
- * @see ODataEntitySet
- * @see ODataEntity
- * @see ODataProperty
- * @see ODataNoContent
- */
-public interface ODataInvokeResult {
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataItem.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataItem.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataItem.java
deleted file mode 100644
index f427aa6..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataItem.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.io.Serializable;
-import java.net.URI;
-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;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract representation of OData entities and links.
- */
-public abstract class ODataItem implements Serializable {
-
-  private static final long serialVersionUID = -2600707722689304686L;
-
-  /**
-   * Logger.
-   */
-  protected static final Logger LOG = LoggerFactory.getLogger(ODataItem.class);
-
-  /**
-   * OData item self link.
-   */
-  protected URI link;
-
-  /**
-   * OData entity name/type.
-   */
-  private final String name;
-
-  /**
-   * Constructor.
-   *
-   * @param name OData entity name.
-   */
-  public ODataItem(final String name) {
-    this.name = name;
-  }
-
-  /**
-   * Returns self link.
-   *
-   * @return entity edit link.
-   */
-  public URI getLink() {
-    return link;
-  }
-
-  /**
-   * Sets self link.
-   *
-   * @param link link.
-   */
-  public void setLink(final URI link) {
-    this.link = link;
-  }
-
-  /**
-   * Returns OData entity name.
-   *
-   * @return entity name.
-   */
-  public String getName() {
-    return name;
-  }
-
-  /**
-   * {@inheritDoc }
-   */
-  @Override
-  public boolean equals(final Object obj) {
-    return EqualsBuilder.reflectionEquals(this, obj);
-  }
-
-  /**
-   * {@inheritDoc }
-   */
-  @Override
-  public int hashCode() {
-    return HashCodeBuilder.reflectionHashCode(this);
-  }
-
-  /**
-   * {@inheritDoc }
-   */
-  @Override
-  public String toString() {
-    return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
-  }
-}


[3/4] [OLINGO-200] Moving domain objects to commons-api

Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLink.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLink.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLink.java
deleted file mode 100644
index 11005a7..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLink.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
-/**
- * OData link.
- */
-public class ODataLink extends ODataItem {
-
-  private static final long serialVersionUID = 7274966414277952124L;
-
-  public static class Builder {
-
-    private ODataServiceVersion version;
-
-    private URI uri;
-
-    private ODataLinkType type;
-
-    private String title;
-
-    private String mediaETag;
-
-    public Builder setVersion(final ODataServiceVersion version) {
-      this.version = version;
-      return this;
-    }
-
-    public Builder setURI(final URI uri) {
-      this.uri = uri;
-      return this;
-    }
-
-    public Builder setURI(final URI baseURI, final String href) {
-      this.uri = getURI(baseURI, href);
-      return this;
-    }
-
-    public Builder setType(final ODataLinkType type) {
-      this.type = type;
-      return this;
-    }
-
-    public Builder setTitle(final String title) {
-      this.title = title;
-      return this;
-    }
-
-    public void setMediaETag(final String mediaETag) {
-      this.mediaETag = mediaETag;
-    }
-
-    public ODataLink build() {
-      ODataLink instance = new ODataLink(version, uri, type, title);
-      instance.mediaETag = this.mediaETag;
-      return instance;
-    }
-  }
-
-  /**
-   * Build URI starting from the given base and href.
-   * <br/>
-   * If href is absolute or base is null then base will be ignored.
-   *
-   * @param base URI prefix.
-   * @param href URI suffix.
-   * @return built URI.
-   */
-  private static URI getURI(final URI base, final String href) {
-    if (href == null) {
-      throw new IllegalArgumentException("Null link provided");
-    }
-
-    URI uri = URI.create(href);
-
-    if (!uri.isAbsolute() && base != null) {
-      uri = URI.create(base.toASCIIString() + "/" + href);
-    }
-
-    return uri.normalize();
-  }
-
-  /**
-   * Link type.
-   */
-  protected final ODataLinkType type;
-
-  /**
-   * Link rel.
-   */
-  protected final String rel;
-
-  /**
-   * ETag for media edit links.
-   */
-  private String mediaETag;
-
-  /**
-   * Constructor.
-   *
-   * @param version OData service version.
-   * @param uri URI.
-   * @param type type.
-   * @param title title.
-   */
-  protected ODataLink(final ODataServiceVersion version, final URI uri, final ODataLinkType type, final String title) {
-    super(title);
-
-    this.link = uri;
-    this.type = type;
-
-    switch (this.type) {
-      case ASSOCIATION:
-        this.rel = version.getNamespaceMap().get(ODataServiceVersion.ASSOCIATION_LINK_REL) + title;
-        break;
-
-      case ENTITY_NAVIGATION:
-      case ENTITY_SET_NAVIGATION:
-        this.rel = version.getNamespaceMap().get(ODataServiceVersion.NAVIGATION_LINK_REL) + title;
-        break;
-
-      case MEDIA_EDIT:
-      default:
-        this.rel = version.getNamespaceMap().get(ODataServiceVersion.MEDIA_EDIT_LINK_REL) + title;
-        break;
-    }
-  }
-
-  /**
-   * Constructor.
-   *
-   * @param version OData service version.
-   * @param baseURI base URI.
-   * @param href href.
-   * @param type type.
-   * @param title title.
-   */
-  protected ODataLink(final ODataServiceVersion version,
-          final URI baseURI, final String href, final ODataLinkType type, final String title) {
-
-    this(version, getURI(baseURI, href), type, title);
-  }
-
-  /**
-   * Gets link type.
-   *
-   * @return link type;
-   */
-  public ODataLinkType getType() {
-    return type;
-  }
-
-  /**
-   * Gets link rel.
-   *
-   * @return link rel
-   */
-  public String getRel() {
-    return rel;
-  }
-
-  /**
-   * Gets Media ETag.
-   *
-   * @return media ETag
-   */
-  public String getMediaETag() {
-    return mediaETag;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkType.java
deleted file mode 100644
index 6702c00..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkType.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.entity.ContentType;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
-/**
- * OData link types.
- */
-public enum ODataLinkType {
-
-  /**
-   * Entity navigation link.
-   */
-  ENTITY_NAVIGATION(ODataPubFormat.ATOM + ";type=entry"),
-  /**
-   * Entity set navigation link.
-   */
-  ENTITY_SET_NAVIGATION(ODataPubFormat.ATOM + ";type=feed"),
-  /**
-   * Association link.
-   */
-  ASSOCIATION(ContentType.APPLICATION_XML.getMimeType()),
-  /**
-   * Media-edit link.
-   */
-  MEDIA_EDIT("*/*");
-
-  private String type;
-
-  private ODataLinkType(final String type) {
-    this.type = type;
-  }
-
-  private ODataLinkType setType(final String type) {
-    this.type = type;
-    return this;
-  }
-
-  /**
-   * Gets <code>LinkType</code> instance from the given rel and type.
-   *
-   * @param client OData client.
-   * @param rel rel.
-   * @param type type.
-   * @return <code>ODataLinkType</code> object.
-   */
-  public static ODataLinkType fromString(final ODataServiceVersion version, final String rel, final String type) {
-    if (StringUtils.isNotBlank(rel)
-            && rel.startsWith(version.getNamespaceMap().get(ODataServiceVersion.MEDIA_EDIT_LINK_REL))) {
-
-      return MEDIA_EDIT.setType(StringUtils.isBlank(type) ? "*/*" : type);
-    }
-
-    if (ODataLinkType.ENTITY_NAVIGATION.type.equals(type)) {
-      return ENTITY_NAVIGATION;
-    }
-
-    if (ODataLinkType.ENTITY_SET_NAVIGATION.type.equals(type)) {
-      return ENTITY_SET_NAVIGATION;
-    }
-
-    if (ODataLinkType.ASSOCIATION.type.equals(type)) {
-      return ASSOCIATION;
-    }
-
-    throw new IllegalArgumentException("Invalid link type: " + type);
-  }
-
-  @Override
-  public String toString() {
-    return type;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataObjectFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataObjectFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataObjectFactory.java
deleted file mode 100644
index ddafea4..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataObjectFactory.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-
-/**
- * Entry point for generating OData domain objects.
- *
- * @see ODataEntitySet
- * @see ODataEntity
- * @see ODataProperty
- * @see ODataLink
- */
-public interface ODataObjectFactory {
-
-  /**
-   * Instantiates a new entity set.
-   *
-   * @return entity set.
-   */
-  ODataEntitySet newEntitySet();
-
-  /**
-   * Instantiates a new entity set.
-   *
-   * @param next next link.
-   * @return entity set.
-   */
-  ODataEntitySet newEntitySet(URI next);
-
-  /**
-   * Instantiates a new entity.
-   *
-   * @param name OData entity name.
-   * @return entity.
-   */
-  ODataEntity newEntity(String name);
-
-  /**
-   * Instantiates a new entity.
-   *
-   * @param name OData entity name.
-   * @param link self link.
-   * @return entity.
-   */
-  ODataEntity newEntity(String name, URI link);
-
-  /**
-   * Instantiates a new in-line entity set.
-   *
-   * @param name name.
-   * @param link edit link.
-   * @param entitySet entity set.
-   * @return in-line entity set.
-   */
-  ODataInlineEntitySet newInlineEntitySet(String name, URI link, ODataEntitySet entitySet);
-
-  /**
-   * Instantiates a new in-line entity set.
-   *
-   * @param name name.
-   * @param baseURI base URI.
-   * @param href href.
-   * @param entitySet entity set.
-   * @return in-line entity set.
-   */
-  ODataInlineEntitySet newInlineEntitySet(String name, URI baseURI, String href, ODataEntitySet entitySet);
-
-  /**
-   * Instantiates a new in-line entity.
-   *
-   * @param name name.
-   * @param link edit link.
-   * @param entity entity.
-   * @return in-line entity.
-   */
-  ODataInlineEntity newInlineEntity(String name, URI link, ODataEntity entity);
-
-  /**
-   * Instantiates a new in-line entity.
-   *
-   * @param name name.
-   * @param baseURI base URI.
-   * @param href href.
-   * @param entity entity.
-   * @return in-line entity.
-   */
-  ODataInlineEntity newInlineEntity(String name, URI baseURI, String href, ODataEntity entity);
-
-  /**
-   * Instantiates a new entity navigation link.
-   *
-   * @param name name.
-   * @param link link.
-   * @return entity navigation link.
-   */
-  ODataLink newEntityNavigationLink(String name, URI link);
-
-  /**
-   * Instantiates a new entity navigation link.
-   *
-   * @param name name.
-   * @param baseURI base URI.
-   * @param href href.
-   * @return entity navigation link.
-   */
-  ODataLink newEntityNavigationLink(String name, URI baseURI, String href);
-
-  /**
-   * Instantiates a new entity set navigation link.
-   *
-   * @param name name.
-   * @param link link.
-   * @return entity set navigation link.
-   */
-  ODataLink newFeedNavigationLink(String name, URI link);
-
-  /**
-   * Instantiates a new entity set navigation link.
-   *
-   * @param name name.
-   * @param baseURI base URI.
-   * @param href href.
-   * @return entity set navigation link.
-   */
-  ODataLink newFeedNavigationLink(String name, URI baseURI, String href);
-
-  /**
-   * Instantiates a new association link.
-   *
-   * @param name name.
-   * @param link link.
-   * @return association link.
-   */
-  ODataLink newAssociationLink(String name, URI link);
-
-  /**
-   * Instantiates a new association link.
-   *
-   * @param name name.
-   * @param baseURI base URI.
-   * @param href href.
-   * @return association link.
-   */
-  ODataLink newAssociationLink(String name, URI baseURI, String href);
-
-  /**
-   * Instantiates a new media-edit link.
-   *
-   * @param name name.
-   * @param link link.
-   * @return media-edit link.
-   */
-  ODataLink newMediaEditLink(String name, URI link);
-
-  /**
-   * Instantiates a new media-edit link.
-   *
-   * @param name name.
-   * @param baseURI base URI.
-   * @param href href.
-   * @return media-edit link.
-   */
-  ODataLink newMediaEditLink(String name, URI baseURI, String href);
-
-  /**
-   * Instantiates a new primitive property.
-   *
-   * @param name name.
-   * @param value primitive value.
-   * @return primitive property.
-   */
-  ODataProperty newPrimitiveProperty(String name, ODataPrimitiveValue value);
-
-  /**
-   * Instantiates a new primitive property.
-   *
-   * @param name name.
-   * @param value geospatial value.
-   * @return primitive property.
-   */
-  ODataProperty newPrimitiveProperty(String name, ODataGeospatialValue value);
-
-  /**
-   * Instantiates a new complex property.
-   *
-   * @param name name.
-   * @param value value.
-   * @return complex property.
-   */
-  ODataProperty newComplexProperty(String name, ODataComplexValue value);
-
-  /**
-   * Instantiates a new collection property.
-   *
-   * @param name name.
-   * @param value value.
-   * @return collection property.
-   */
-  ODataProperty newCollectionProperty(String name, ODataCollectionValue value);
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataOperation.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataOperation.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataOperation.java
deleted file mode 100644
index c18260f..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataOperation.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.io.Serializable;
-import java.net.URI;
-
-public class ODataOperation implements Serializable {
-
-  private static final long serialVersionUID = 4155165768886762490L;
-
-  private String metadataAnchor;
-
-  private String title;
-
-  private URI target;
-
-  /**
-   * Gets metadata anchor.
-   *
-   * @return metadata anchor.
-   */
-  public String getMetadataAnchor() {
-    return metadataAnchor;
-  }
-
-  /**
-   * Sets metadata anchor.
-   *
-   * @param metadataAnchor metadata anchor.
-   */
-  public void setMetadataAnchor(final String metadataAnchor) {
-    this.metadataAnchor = metadataAnchor;
-  }
-
-  /**
-   * Gets title.
-   *
-   * @return title.
-   */
-  public String getTitle() {
-    return title;
-  }
-
-  /**
-   * Sets title.
-   *
-   * @param title title.
-   */
-  public void setTitle(final String title) {
-    this.title = title;
-  }
-
-  /**
-   * Gets target.
-   *
-   * @return target.
-   */
-  public URI getTarget() {
-    return target;
-  }
-
-  /**
-   * Sets target.
-   *
-   * @param target target.
-   */
-  public void setTarget(final URI target) {
-    this.target = target;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
deleted file mode 100644
index a615eed..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-
-public interface ODataPrimitiveValue extends ODataValue {
-
-  interface Builder {
-
-    Builder setType(EdmPrimitiveTypeKind type);
-
-    Builder setText(String text);
-
-    Builder setValue(Object value);
-
-    ODataPrimitiveValue build();
-  }
-
-  EdmPrimitiveTypeKind getTypeKind();
-
-  EdmPrimitiveType getType();
-
-  /**
-   * Returns the current value as generic Object.
-   *
-   * @return an uncasted instance of this value
-   */
-  Object toValue();
-
-  /**
-   * Returns the current value casted to the given type.
-   *
-   * @param <T> cast type
-   * @param reference class reference
-   * @return the current value as typed java instance
-   * @throws EdmPrimitiveTypeException if the object is not assignable to the type T.
-   */
-  <T> T toCastValue(Class<T> reference) throws EdmPrimitiveTypeException;
-
-  /**
-   * Serialize the current value as String.
-   *
-   * @return a String representation of this value
-   */
-  @Override
-  String toString();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataProperty.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataProperty.java
deleted file mode 100644
index 440b461..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataProperty.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.io.Serializable;
-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;
-
-/**
- * OData entity property.
- */
-public class ODataProperty implements Serializable, ODataInvokeResult {
-
-  private static final long serialVersionUID = 926939448778950450L;
-
-  /**
-   * Property name.
-   */
-  private final String name;
-
-  /**
-   * Property value.
-   */
-  private ODataValue value;
-
-  /**
-   * Constructor.
-   *
-   * @param name property name.
-   * @param value property value.
-   */
-  public ODataProperty(final String name, final ODataValue value) {
-    this.name = name;
-    this.value = value;
-  }
-
-  /**
-   * Returns property name.
-   *
-   * @return property name.
-   */
-  public String getName() {
-    return name;
-  }
-
-  /**
-   * Returns property value.
-   *
-   * @return property value.
-   */
-  public ODataValue getValue() {
-    return value;
-  }
-
-  /**
-   * Updates property value.
-   *
-   * @param value property value that replaces current.
-   */
-  public void setValue(final ODataValue value) {
-    this.value = value;
-  }
-
-  /**
-   * Checks if has null value.
-   *
-   * @return 'TRUE' if has null value; 'FALSE' otherwise.
-   */
-  public boolean hasNullValue() {
-    return this.value == null;
-  }
-
-  /**
-   * Checks if has primitive value.
-   *
-   * @return 'TRUE' if has primitive value; 'FALSE' otherwise.
-   */
-  public boolean hasPrimitiveValue() {
-    return !hasNullValue() && this.value.isPrimitive();
-  }
-
-  /**
-   * Gets primitive value.
-   *
-   * @return primitive value if exists; null otherwise.
-   */
-  public ODataPrimitiveValue getPrimitiveValue() {
-    return hasPrimitiveValue() ? this.value.asPrimitive() : null;
-  }
-
-  /**
-   * Checks if has geospatial value.
-   *
-   * @return 'TRUE' if has geospatial value; 'FALSE' otherwise.
-   */
-  public boolean hasGeospatialValue() {
-    return !hasNullValue() && this.value.isGeospatial();
-  }
-
-  /**
-   * Gets geospatial value.
-   *
-   * @return geospatial value if exists; null otherwise.
-   */
-  public ODataGeospatialValue getGeospatialValue() {
-    return hasGeospatialValue() ? this.value.asGeospatial() : null;
-  }
-
-  /**
-   * Checks if has complex value.
-   *
-   * @return 'TRUE' if has complex value; 'FALSE' otherwise.
-   */
-  public boolean hasComplexValue() {
-    return !hasNullValue() && this.value.isComplex();
-  }
-
-  /**
-   * Gets complex value.
-   *
-   * @return complex value if exists; null otherwise.
-   */
-  public ODataComplexValue getComplexValue() {
-    return hasComplexValue() ? this.value.asComplex() : null;
-  }
-
-  /**
-   * Checks if has collection value.
-   *
-   * @return 'TRUE' if has collection value; 'FALSE' otherwise.
-   */
-  public boolean hasCollectionValue() {
-    return !hasNullValue() && this.value.isCollection();
-  }
-
-  /**
-   * Gets collection value.
-   *
-   * @return collection value if exists; null otherwise.
-   */
-  public ODataCollectionValue getCollectionValue() {
-    return hasCollectionValue() ? this.value.asCollection() : null;
-  }
-
-  /**
-   * {@inheritDoc }
-   */
-  @Override
-  public boolean equals(final Object obj) {
-    return EqualsBuilder.reflectionEquals(this, obj);
-  }
-
-  /**
-   * {@inheritDoc }
-   */
-  @Override
-  public int hashCode() {
-    return HashCodeBuilder.reflectionHashCode(this);
-  }
-
-  /**
-   * {@inheritDoc }
-   */
-  @Override
-  public String toString() {
-    return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPropertyType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPropertyType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPropertyType.java
deleted file mode 100644
index 356596f..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPropertyType.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-public enum ODataPropertyType {
-
-  /**
-   * Primitive (including geospatial and enum).
-   */
-  PRIMITIVE,
-  /**
-   * Collection
-   */
-  COLLECTION,
-  /**
-   * Complex.
-   */
-  COMPLEX,
-  /**
-   * Empty type (possibly, no type information could be retrieved).
-   */
-  EMPTY
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataServiceDocument.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataServiceDocument.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataServiceDocument.java
deleted file mode 100644
index d0f495d..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataServiceDocument.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-public class ODataServiceDocument {
-
-  private URI metadataContext;
-
-  private String metadataETag;
-
-  private final Map<String, URI> entitySets = new HashMap<String, URI>();
-
-  private final Map<String, URI> functionImports = new HashMap<String, URI>();
-
-  private final Map<String, URI> singletons = new HashMap<String, URI>();
-
-  private final Map<String, URI> relatedServiceDocuments = new HashMap<String, URI>();
-
-  public URI getMetadataContext() {
-    return metadataContext;
-  }
-
-  public void setMetadataContext(final URI metadataContext) {
-    this.metadataContext = metadataContext;
-  }
-
-  public String getMetadataETag() {
-    return metadataETag;
-  }
-
-  public void setMetadataETag(final String metadataETag) {
-    this.metadataETag = metadataETag;
-  }
-
-  public Map<String, URI> getEntitySets() {
-    return entitySets;
-  }
-
-  /**
-   * Gets entity set titles.
-   *
-   * @return entity set titles.
-   */
-  public Collection<String> getEntitySetTitles() {
-    return entitySets.keySet();
-  }
-
-  /**
-   * Gets entity set URIs.
-   *
-   * @return entity set URIs.
-   */
-  public Collection<URI> getEntitySetURIs() {
-    return entitySets.values();
-  }
-
-  /**
-   * Gets URI about the given entity set.
-   *
-   * @param title title.
-   * @return URI.
-   */
-  public URI getEntitySetURI(final String title) {
-    return entitySets.get(title);
-  }
-
-  public Map<String, URI> getFunctionImports() {
-    return functionImports;
-  }
-
-  /**
-   * Gets function import titles.
-   *
-   * @return function import titles.
-   */
-  public Collection<String> getFunctionImportTitles() {
-    return functionImports.keySet();
-  }
-
-  /**
-   * Gets function import URIs.
-   *
-   * @return function import URIs.
-   */
-  public Collection<URI> getFunctionImportURIs() {
-    return functionImports.values();
-  }
-
-  /**
-   * Gets URI of the given function import.
-   *
-   * @param title title.
-   * @return URI.
-   */
-  public URI getFunctionImportURI(final String title) {
-    return functionImports.get(title);
-  }
-
-  public Map<String, URI> getSingletons() {
-    return singletons;
-  }
-
-  /**
-   * Gets singleton titles.
-   *
-   * @return singleton titles.
-   */
-  public Collection<String> getSingletonTitles() {
-    return singletons.keySet();
-  }
-
-  /**
-   * Gets singleton URIs.
-   *
-   * @return singleton URIs.
-   */
-  public Collection<URI> getSingletonURIs() {
-    return singletons.values();
-  }
-
-  /**
-   * Gets URI of the given singleton.
-   *
-   * @param title title.
-   * @return URI.
-   */
-  public URI getSingletonURI(final String title) {
-    return singletons.get(title);
-  }
-
-  public Map<String, URI> getRelatedServiceDocuments() {
-    return relatedServiceDocuments;
-  }
-
-  /**
-   * Gets related service documents titles.
-   *
-   * @return related service documents titles.
-   */
-  public Collection<String> getRelatedServiceDocumentsTitles() {
-    return relatedServiceDocuments.keySet();
-  }
-
-  /**
-   * Gets related service documents URIs.
-   *
-   * @return related service documents URIs.
-   */
-  public Collection<URI> getRelatedServiceDocumentsURIs() {
-    return relatedServiceDocuments.values();
-  }
-
-  /**
-   * Gets URI of the given related service documents.
-   *
-   * @param title title.
-   * @return URI.
-   */
-  public URI getRelatedServiceDocumentURI(final String title) {
-    return relatedServiceDocuments.get(title);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataValue.java
deleted file mode 100644
index d56f188..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataValue.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.domain;
-
-import java.io.Serializable;
-
-/**
- * Abstract representation of an OData entity property value.
- */
-public interface ODataValue extends Serializable {
-
-  /**
-   * Check is is a primitive value.
-   *
-   * @return 'TRUE' if primitive; 'FALSE' otherwise.
-   */
-  boolean isPrimitive();
-
-  /**
-   * Casts to primitive value.
-   *
-   * @return primitive value.
-   */
-  ODataPrimitiveValue asPrimitive();
-
-  /**
-   * Check is is a geospatail value.
-   *
-   * @return 'TRUE' if geospatail; 'FALSE' otherwise.
-   */
-  boolean isGeospatial();
-
-  /**
-   * Casts to geospatail value.
-   *
-   * @return geospatail value.
-   */
-  ODataGeospatialValue asGeospatial();
-
-  /**
-   * Check is is a collection value.
-   *
-   * @return 'TRUE' if collection; 'FALSE' otherwise.
-   */
-  boolean isCollection();
-
-  /**
-   * Casts to collection value.
-   *
-   * @return collection value.
-   */
-  ODataCollectionValue asCollection();
-
-  /**
-   * Check is is a complex value.
-   *
-   * @return 'TRUE' if complex; 'FALSE' otherwise.
-   */
-  boolean isComplex();
-
-  /**
-   * Casts to complex value.
-   *
-   * @return complex value.
-   */
-  ODataComplexValue asComplex();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataFormat.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataFormat.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataFormat.java
deleted file mode 100644
index 2ee704b..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataFormat.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.format;
-
-import org.apache.http.entity.ContentType;
-
-/**
- * Available formats to be used in various contexts.
- */
-public enum ODataFormat {
-
-  /**
-   * JSON format with no metadata.
-   */
-  JSON_NO_METADATA(ContentType.APPLICATION_JSON.getMimeType() + ";odata=nometadata"),
-  /**
-   * JSON format with minimal metadata (default).
-   */
-  JSON(ContentType.APPLICATION_JSON.getMimeType() + ";odata=minimalmetadata"),
-  /**
-   * JSON format with no metadata.
-   */
-  JSON_FULL_METADATA(ContentType.APPLICATION_JSON.getMimeType() + ";odata=fullmetadata"),
-  /**
-   * XML format.
-   */
-  XML(ContentType.APPLICATION_XML.getMimeType());
-
-  private final String format;
-
-  ODataFormat(final String format) {
-    this.format = format;
-  }
-
-  /**
-   * Gets format as a string.
-   *
-   * @return format as a string.
-   */
-  @Override
-  public String toString() {
-    return format;
-  }
-
-  /**
-   * Gets OData format from its string representation.
-   *
-   * @param format string representation of the format.
-   * @return OData format.
-   */
-  public static ODataFormat fromString(final String format) {
-    ODataFormat result = null;
-
-    final StringBuffer _format = new StringBuffer();
-
-    final String[] parts = format.split(";");
-    _format.append(parts[0].trim());
-    if (ContentType.APPLICATION_JSON.getMimeType().equals(parts[0].trim())) {
-      if (parts.length > 1) {
-        _format.append(';').append(parts[1].trim());
-      } else {
-        result = ODataFormat.JSON;
-      }
-    }
-
-    if (result == null) {
-      final String candidate = _format.toString();
-      for (ODataFormat value : values()) {
-        if (candidate.equals(value.toString())) {
-          result = value;
-        }
-      }
-    }
-
-    if (result == null) {
-      throw new IllegalArgumentException("Unsupported format: " + format);
-    }
-
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataMediaFormat.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataMediaFormat.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataMediaFormat.java
deleted file mode 100644
index 353edc4..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataMediaFormat.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.format;
-
-import org.apache.http.entity.ContentType;
-
-/**
- * Available formats for media.
- */
-public enum ODataMediaFormat {
-
-  CHARSET_PARAMETER("charset"),
-  MEDIA_TYPE_WILDCARD("*"),
-  WILDCARD("*/*"),
-  APPLICATION_XML(ContentType.APPLICATION_XML.getMimeType()),
-  APPLICATION_ATOM_XML(ContentType.APPLICATION_ATOM_XML.getMimeType()),
-  APPLICATION_XHTML_XML(ContentType.APPLICATION_XHTML_XML.getMimeType()),
-  APPLICATION_SVG_XML(ContentType.APPLICATION_SVG_XML.getMimeType()),
-  APPLICATION_JSON(ContentType.APPLICATION_JSON.getMimeType()),
-  APPLICATION_FORM_URLENCODED(ContentType.APPLICATION_FORM_URLENCODED.getMimeType()),
-  MULTIPART_FORM_DATA(ContentType.MULTIPART_FORM_DATA.getMimeType()),
-  APPLICATION_OCTET_STREAM(ContentType.APPLICATION_OCTET_STREAM.getMimeType()),
-  TEXT_PLAIN(ContentType.TEXT_PLAIN.getMimeType()),
-  TEXT_XML(ContentType.TEXT_XML.getMimeType()),
-  TEXT_HTML(ContentType.TEXT_HTML.getMimeType());
-
-  private final String format;
-
-  private ODataMediaFormat(final String format) {
-    this.format = format;
-  }
-
-  @Override
-  public String toString() {
-    return format;
-  }
-
-  public static ODataMediaFormat fromFormat(final String format) {
-    final String _format = format.split(";")[0];
-
-    ODataMediaFormat result = null;
-
-    for (ODataMediaFormat value : values()) {
-      if (_format.equals(value.toString())) {
-        result = value;
-      }
-    }
-
-    if (result == null) {
-      throw new IllegalArgumentException("Unsupported format: " + format);
-    }
-
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataPubFormat.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataPubFormat.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataPubFormat.java
deleted file mode 100644
index 62e5322..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataPubFormat.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.format;
-
-import org.apache.http.entity.ContentType;
-
-/**
- * Available formats for AtomPub exchange.
- */
-public enum ODataPubFormat {
-
-  /**
-   * JSON format with no metadata.
-   */
-  JSON_NO_METADATA(ContentType.APPLICATION_JSON.getMimeType() + ";odata=nometadata"),
-  /**
-   * JSON format with minimal metadata (default).
-   */
-  JSON(ContentType.APPLICATION_JSON.getMimeType() + ";odata=minimalmetadata"),
-  /**
-   * JSON format with no metadata.
-   */
-  JSON_FULL_METADATA(ContentType.APPLICATION_JSON.getMimeType() + ";odata=fullmetadata"),
-  /**
-   * Atom format.
-   */
-  ATOM(ContentType.APPLICATION_ATOM_XML.getMimeType());
-
-  private final String format;
-
-  ODataPubFormat(final String format) {
-    this.format = format;
-  }
-
-  /**
-   * Gets format as a string.
-   *
-   * @return format as a string.
-   */
-  @Override
-  public String toString() {
-    return format;
-  }
-
-  /**
-   * Gets OData format from its string representation.
-   *
-   * @param format string representation of the format.
-   * @return OData format.
-   */
-  public static ODataPubFormat fromString(final String format) {
-    ODataPubFormat result = null;
-
-    final StringBuffer _format = new StringBuffer();
-
-    final String[] parts = format.split(";");
-    _format.append(parts[0].trim());
-    if (ContentType.APPLICATION_JSON.getMimeType().equals(parts[0].trim())) {
-      if (parts.length > 1 && parts[1].startsWith("odata=")) {
-        _format.append(';').append(parts[1].trim());
-      } else {
-        result = ODataPubFormat.JSON;
-      }
-    }
-
-    if (result == null) {
-      final String candidate = _format.toString();
-      for (ODataPubFormat value : values()) {
-        if (candidate.equals(value.toString())) {
-          result = value;
-        }
-      }
-    }
-
-    if (result == null) {
-      throw new IllegalArgumentException("Unsupported format: " + format);
-    }
-
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataValueFormat.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataValueFormat.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataValueFormat.java
deleted file mode 100644
index b04ce7d..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/format/ODataValueFormat.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.format;
-
-import org.apache.http.entity.ContentType;
-
-/**
- * Available formats for property values.
- */
-public enum ODataValueFormat {
-
-  /**
-   * Application octet stream.
-   */
-  STREAM(ContentType.APPLICATION_OCTET_STREAM.getMimeType()),
-  /**
-   * Plain text format.
-   */
-  TEXT(ContentType.TEXT_PLAIN.getMimeType());
-
-  private final String format;
-
-  ODataValueFormat(final String format) {
-    this.format = format;
-  }
-
-  /**
-   * Gets format as a string.
-   *
-   * @return format as a string.
-   */
-  @Override
-  public String toString() {
-    return format;
-  }
-
-  /**
-   * Gets format from its string representation.
-   *
-   * @param format string representation of the format.
-   * @return OData format.
-   */
-  public static ODataValueFormat fromString(final String format) {
-    final String _format = format.split(";")[0];
-
-    ODataValueFormat result = null;
-
-    for (ODataValueFormat value : values()) {
-      if (_format.equals(value.toString())) {
-        result = value;
-      }
-    }
-
-    if (result == null) {
-      throw new IllegalArgumentException("Unsupported format: " + format);
-    }
-
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 94375f6..8dd7232 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,11 +25,11 @@ import org.apache.olingo.client.api.data.Feed;
 import org.apache.olingo.client.api.data.Link;
 import org.apache.olingo.client.api.data.Property;
 import org.apache.olingo.client.api.data.ServiceDocument;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
 
 public interface CommonODataBinder extends Serializable {
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
index d0edb3b..0c0428c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
@@ -26,8 +26,8 @@ import org.apache.olingo.client.api.data.Feed;
 import org.apache.olingo.client.api.data.Property;
 import org.apache.olingo.client.api.data.ServiceDocument;
 import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * Utility class for serialization.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 ceb7f6b..3f28f62 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
@@ -21,12 +21,12 @@ package org.apache.olingo.client.api.op;
 import java.io.InputStream;
 import java.io.Serializable;
 import org.apache.olingo.client.api.data.ODataError;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.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.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.edm.Edm;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataSerializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataSerializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataSerializer.java
index e7f9682..0734586 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataSerializer.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataSerializer.java
@@ -25,7 +25,7 @@ import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.Feed;
 import org.apache.olingo.client.api.data.Link;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * Utility class for serialization.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 dd7afcd..b83b2cd 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,11 +21,11 @@ package org.apache.olingo.client.api.op;
 import java.io.InputStream;
 import java.io.Serializable;
 import java.util.Collection;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * OData writer.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
index 1b4a98b..99d840d 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.op.v3;
 
 import java.io.InputStream;
 import org.apache.olingo.client.api.data.v3.LinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.CommonODataDeserializer;
 
 public interface ODataDeserializer extends CommonODataDeserializer {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
index bb436ad..7049617 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.op.v3;
 
 import java.io.InputStream;
 import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.CommonODataReader;
 
 public interface ODataReader extends CommonODataReader {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractConfiguration.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractConfiguration.java
index 5c32aec..f50ced3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractConfiguration.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractConfiguration.java
@@ -24,10 +24,10 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 import org.apache.olingo.client.api.CommonConfiguration;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientFactory;
 import org.apache.olingo.client.api.http.HttpUriRequestFactory;
 import org.apache.olingo.client.core.http.DefaultHttpClientFactory;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 b5cfdea..6c889e8 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,7 +19,7 @@
 package org.apache.olingo.client.core;
 
 import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.client.api.domain.ODataObjectFactory;
+import org.apache.olingo.commons.api.domain.ODataObjectFactory;
 import org.apache.olingo.client.api.op.ODataWriter;
 import org.apache.olingo.client.core.domain.ODataGeospatialValueImpl;
 import org.apache.olingo.client.core.domain.ODataPrimitiveValueImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/ODataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/ODataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/ODataRequestImpl.java
index d088e97..44f7c45 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/ODataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/ODataRequestImpl.java
@@ -43,9 +43,9 @@ import org.apache.olingo.client.api.communication.header.ODataHeaders;
 import org.apache.olingo.client.api.communication.request.ODataRequest;
 import org.apache.olingo.client.api.communication.request.ODataStreamer;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.data.JSONErrorImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 4659d15..cb82cbd 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.ODataLinkCreateReq
 import org.apache.olingo.client.api.communication.request.cud.ODataLinkUpdateRequest;
 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.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+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.client.api.http.HttpMethod;
 
 public abstract class AbstractCUDRequestFactory implements CommonCUDRequestFactory {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
index 720c5b6..fccfa3d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
@@ -26,7 +26,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.ODataDeleteRequest;
 import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 6cf1927..c22b5de 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,8 +28,8 @@ 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.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 012d975..565c59e 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,8 +28,8 @@ 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.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkCreateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkCreateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkCreateRequestImpl.java
index 0f91864..e64579d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkCreateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkCreateRequestImpl.java
@@ -28,8 +28,8 @@ 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.ODataLinkCreateRequest;
 import org.apache.olingo.client.api.communication.response.ODataLinkOperationResponse;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkUpdateRequestImpl.java
index 0fea3a9..2644189 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataLinkUpdateRequestImpl.java
@@ -28,8 +28,8 @@ 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.ODataLinkUpdateRequest;
 import org.apache.olingo.client.api.communication.response.ODataLinkOperationResponse;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 04c87cc..b3be3eb 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,8 +28,8 @@ 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.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
index dc3a727..d424d62 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
@@ -28,8 +28,8 @@ 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.ODataValueUpdateRequest;
 import org.apache.olingo.client.api.communication.response.ODataValueUpdateResponse;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractInvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractInvokeRequestFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractInvokeRequestFactory.java
index a9c6dfc..eb0d45b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractInvokeRequestFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractInvokeRequestFactory.java
@@ -22,7 +22,7 @@ import java.net.URI;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
 import org.apache.olingo.client.api.communication.request.invoke.ODataInvokeRequest;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 c6355e4..f15879e 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
@@ -35,13 +35,13 @@ 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.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.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.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 0ccb3c7..2487dd9 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,11 +25,11 @@ 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.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+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;
 import org.apache.olingo.client.core.communication.request.invoke.ODataInvokeRequestImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/InvokeRequestFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/InvokeRequestFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/InvokeRequestFactoryImpl.java
index 0e7f4b1..d6f929d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/InvokeRequestFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/InvokeRequestFactoryImpl.java
@@ -24,8 +24,8 @@ import org.apache.commons.lang3.NotImplementedException;
 import org.apache.olingo.client.api.v4.ODataClient;
 import org.apache.olingo.client.api.communication.request.invoke.ODataInvokeRequest;
 import org.apache.olingo.client.api.communication.request.invoke.v4.InvokeRequestFactory;
-import org.apache.olingo.client.api.domain.ODataInvokeResult;
-import org.apache.olingo.client.api.domain.ODataValue;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.client.core.communication.request.invoke.AbstractInvokeRequestFactory;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 2390ac3..447f543 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
@@ -24,8 +24,8 @@ import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData retrieve query request returning a single entity.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
index 261611c..bfdddef 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
@@ -25,7 +25,7 @@ import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetIteratorRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
 import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData EntitySet query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 1decb54..ef191ba 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
@@ -24,8 +24,8 @@ import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 /**
  * This class implements an OData EntitySet query request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
index b2a0f5d..4460be3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
@@ -27,7 +27,7 @@ import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.header.HeaderName;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataMediaRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMetadataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMetadataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMetadataRequestImpl.java
index 58c7cb7..d5ee545 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMetadataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMetadataRequestImpl.java
@@ -26,7 +26,7 @@ import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.ODataRequest;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataMetadataRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.edm.Edm;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/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 5055a75..a768906 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,8 +25,8 @@ 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.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
index 4226cc2..d6a2a99 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
@@ -27,7 +27,7 @@ import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataRawRequest;
 import org.apache.olingo.client.api.communication.response.ODataRawResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.ODataRequestImpl;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;


[2/4] [OLINGO-200] Moving domain objects to commons-api

Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
index 1fb98da..128e250 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
@@ -24,8 +24,8 @@ import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData service document request.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
index fd4e647..345bc58 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
@@ -25,8 +25,8 @@ import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.core.domain.ODataPrimitiveValueImpl;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
index 0cdd38a..70044b1 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
@@ -26,7 +26,7 @@ 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.response.ODataRetrieveResponse;
 import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.core.communication.request.retrieve.AbstractODataRetrieveRequest;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
index d19d0d5..84a2253 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
@@ -23,7 +23,7 @@ import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.ODataStreamManager;
 import org.apache.olingo.client.api.communication.request.streamed.ODataStreamedEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
index 5563a74..efd0cf2 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
@@ -34,7 +34,7 @@ import org.apache.olingo.client.api.communication.request.ODataStreamedRequest;
 import org.apache.olingo.client.api.communication.request.ODataStreamer;
 import org.apache.olingo.client.api.communication.request.batch.ODataBatchRequest;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.Wrapper;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityCreateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityCreateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityCreateRequestImpl.java
index b69a35a..f8487bc 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityCreateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityCreateRequestImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
 import org.apache.olingo.client.api.communication.request.streamed.MediaEntityCreateStreamManager;
 import org.apache.olingo.client.api.communication.request.streamed.ODataMediaEntityCreateRequest;
 import org.apache.olingo.client.api.communication.response.ODataMediaEntityCreateResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntity;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.AbstractODataStreamManager;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityUpdateRequestImpl.java
index f6dc09b..4f0edce 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/ODataMediaEntityUpdateRequestImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.communication.request.ODataBatchableRequest;
 import org.apache.olingo.client.api.communication.request.streamed.MediaEntityUpdateStreamManager;
 import org.apache.olingo.client.api.communication.request.streamed.ODataMediaEntityUpdateRequest;
 import org.apache.olingo.client.api.communication.response.ODataMediaEntityUpdateResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntity;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.AbstractODataStreamManager;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractEntry.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractEntry.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractEntry.java
index f92c44b..8b513bf 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractEntry.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractEntry.java
@@ -24,7 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.Link;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.domain.ODataOperation;
+import org.apache.olingo.commons.api.domain.ODataOperation;
 
 /**
  * Abstract base for classes implementing an OData entry in Atom and JSON.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractJsonDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractJsonDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractJsonDeserializer.java
index 74b29fb..4b0ee0e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractJsonDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AbstractJsonDeserializer.java
@@ -27,7 +27,7 @@ import org.apache.olingo.client.api.Constants;
 import org.apache.olingo.client.api.data.CollectionValue;
 import org.apache.olingo.client.api.data.ComplexValue;
 import org.apache.olingo.client.api.data.Value;
-import org.apache.olingo.client.api.domain.ODataPropertyType;
+import org.apache.olingo.commons.api.domain.ODataPropertyType;
 import org.apache.olingo.client.core.edm.EdmTypeInfo;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomDeserializer.java
index 8893b91..74d98a6 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomDeserializer.java
@@ -31,7 +31,7 @@ import javax.xml.stream.events.StartElement;
 import javax.xml.stream.events.XMLEvent;
 import org.apache.http.entity.ContentType;
 import org.apache.olingo.client.api.Constants;
-import org.apache.olingo.client.api.domain.ODataOperation;
+import org.apache.olingo.commons.api.domain.ODataOperation;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomPropertyDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomPropertyDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomPropertyDeserializer.java
index 884d815..736d791 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomPropertyDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/AtomPropertyDeserializer.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.Constants;
 import org.apache.olingo.client.api.data.CollectionValue;
 import org.apache.olingo.client.api.data.ComplexValue;
 import org.apache.olingo.client.api.data.Value;
-import org.apache.olingo.client.api.domain.ODataPropertyType;
+import org.apache.olingo.commons.api.domain.ODataPropertyType;
 import org.apache.olingo.client.core.edm.EdmTypeInfo;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntryDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntryDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntryDeserializer.java
index 378d676..2626a95 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntryDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntryDeserializer.java
@@ -36,8 +36,8 @@ import java.util.Map;
 import java.util.Set;
 import org.apache.olingo.client.api.Constants;
 import org.apache.olingo.client.api.data.Link;
-import org.apache.olingo.client.api.domain.ODataLinkType;
-import org.apache.olingo.client.api.domain.ODataOperation;
+import org.apache.olingo.commons.api.domain.ODataLinkType;
+import org.apache.olingo.commons.api.domain.ODataOperation;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntrySerializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntrySerializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntrySerializer.java
index 2e48f73..348015e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntrySerializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONEntrySerializer.java
@@ -31,7 +31,7 @@ import org.apache.olingo.client.api.Constants;
 import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.Link;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.domain.ODataLinkType;
+import org.apache.olingo.commons.api.domain.ODataLinkType;
 
 /**
  * Writes out JSON string from an entry.

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataGeospatialValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataGeospatialValueImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataGeospatialValueImpl.java
index 43ef056..daa63a3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataGeospatialValueImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataGeospatialValueImpl.java
@@ -20,8 +20,8 @@ package org.apache.olingo.client.core.domain;
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.olingo.client.api.domain.AbstractODataValue;
-import org.apache.olingo.client.api.domain.ODataGeospatialValue;
+import org.apache.olingo.commons.api.domain.AbstractODataValue;
+import org.apache.olingo.commons.api.domain.ODataGeospatialValue;
 import org.apache.olingo.commons.api.edm.EdmGeospatialType;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.geo.Geospatial;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataPrimitiveValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataPrimitiveValueImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataPrimitiveValueImpl.java
index e6a0408..aac8ee3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataPrimitiveValueImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/domain/ODataPrimitiveValueImpl.java
@@ -23,8 +23,8 @@ import java.util.Calendar;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.olingo.client.api.Constants;
-import org.apache.olingo.client.api.domain.AbstractODataValue;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.AbstractODataValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
index a7f9a44..4e53ce3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
@@ -31,18 +31,18 @@ import org.apache.olingo.client.api.data.Property;
 import org.apache.olingo.client.api.data.ServiceDocument;
 import org.apache.olingo.client.api.data.ServiceDocumentItem;
 import org.apache.olingo.client.api.data.Value;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInlineEntity;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataOperation;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataInlineEntity;
+import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataOperation;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.op.CommonODataBinder;
 import org.apache.olingo.client.core.data.CollectionValueImpl;
 import org.apache.olingo.client.core.data.ComplexValueImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataDeserializer.java
index 483dc7b..2b4385e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataDeserializer.java
@@ -24,8 +24,8 @@ import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.ODataError;
 import org.apache.olingo.client.api.data.Feed;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.op.CommonODataDeserializer;
 import org.apache.olingo.client.core.data.AtomDeserializer;
 import org.apache.olingo.client.core.data.AtomEntryImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
index 031eb50..b0869cf 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
@@ -23,16 +23,16 @@ import org.apache.commons.io.IOUtils;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.data.ODataError;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
 import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.domain.ODataValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.op.CommonODataReader;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataSerializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataSerializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataSerializer.java
index 48a0b8d..7a1a015 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataSerializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataSerializer.java
@@ -30,7 +30,7 @@ import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.Feed;
 import org.apache.olingo.client.api.data.Link;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.ODataSerializer;
 import org.apache.olingo.client.core.data.AtomEntryImpl;
 import org.apache.olingo.client.core.data.AtomFeedImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataObjectFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataObjectFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataObjectFactoryImpl.java
index 0b71abc..a7bf76d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataObjectFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataObjectFactoryImpl.java
@@ -20,18 +20,18 @@ package org.apache.olingo.client.core.op;
 
 import java.net.URI;
 import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.client.api.domain.ODataLinkType;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataGeospatialValue;
-import org.apache.olingo.client.api.domain.ODataInlineEntity;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataObjectFactory;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataLinkType;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataGeospatialValue;
+import org.apache.olingo.commons.api.domain.ODataInlineEntity;
+import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataObjectFactory;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
 
 public class ODataObjectFactoryImpl implements ODataObjectFactory {
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataWriterImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataWriterImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataWriterImpl.java
index 7e5c9b4..80f4f11 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataWriterImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ODataWriterImpl.java
@@ -25,11 +25,11 @@ import java.util.Collection;
 import java.util.Collections;
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.op.ODataWriter;
 
 public class ODataWriterImpl implements ODataWriter {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ResourceFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ResourceFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ResourceFactory.java
index da3ead2..8b44e2b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ResourceFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/ResourceFactory.java
@@ -21,7 +21,7 @@ package org.apache.olingo.client.core.op;
 import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.Feed;
 import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.core.data.AtomEntryImpl;
 import org.apache.olingo.client.core.data.AtomFeedImpl;
 import org.apache.olingo.client.core.data.AtomPropertyImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataDeserializerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataDeserializerImpl.java
index edb98a0..0baf403 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataDeserializerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataDeserializerImpl.java
@@ -22,7 +22,7 @@ import java.io.InputStream;
 
 import org.apache.olingo.client.api.data.ServiceDocument;
 import org.apache.olingo.client.api.data.v3.LinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.v3.ODataDeserializer;
 import org.apache.olingo.client.api.v3.ODataClient;
 import org.apache.olingo.client.core.data.v3.JSONLinkCollectionImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataReaderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataReaderImpl.java
index 2e8a080..2c5a7d1 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataReaderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataReaderImpl.java
@@ -20,9 +20,9 @@ package org.apache.olingo.client.core.op.impl.v3;
 
 import java.io.InputStream;
 
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
 import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.v3.ODataReader;
 import org.apache.olingo.client.api.v3.ODataClient;
 import org.apache.olingo.client.core.v3.ODataClientImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
index 80863cb..9c81baf 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.core.op.impl.v4;
 
 import org.apache.olingo.client.api.data.ServiceDocument;
 import org.apache.olingo.client.api.data.ServiceDocumentItem;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
 import org.apache.olingo.client.api.op.v4.ODataBinder;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.api.v4.ODataClient;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataDeserializerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataDeserializerImpl.java
index 95fde77..3b825e2 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataDeserializerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataDeserializerImpl.java
@@ -22,7 +22,7 @@ import java.io.InputStream;
 
 import org.apache.olingo.client.api.data.ServiceDocument;
 import org.apache.olingo.client.api.edm.xml.v4.XMLMetadata;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.v4.ODataDeserializer;
 import org.apache.olingo.client.api.v4.ODataClient;
 import org.apache.olingo.client.core.data.v4.JSONServiceDocumentImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataReaderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataReaderImpl.java
index 4260ba8..1a93ce1 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataReaderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataReaderImpl.java
@@ -20,8 +20,8 @@ package org.apache.olingo.client.core.op.impl.v4;
 
 import java.io.InputStream;
 
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.op.v4.ODataReader;
 import org.apache.olingo.client.api.v4.ODataClient;
 import org.apache.olingo.client.core.edm.EdmClientImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPrimitiveTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPrimitiveTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPrimitiveTest.java
index df66603..fe3f098 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPrimitiveTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPrimitiveTest.java
@@ -29,10 +29,10 @@ import java.util.List;
 import java.util.UUID;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.olingo.client.api.Constants;
-import org.apache.olingo.client.api.domain.ODataGeospatialValue;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataGeospatialValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPropertyTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPropertyTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPropertyTest.java
index a67f8b8..37f2688 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPropertyTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractPropertyTest.java
@@ -27,12 +27,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Iterator;
 import org.apache.commons.io.IOUtils;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractTest.java
index 9133b0e..b579962 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/AbstractTest.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.core;
 import java.util.Locale;
 
 import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.custommonkey.xmlunit.XMLUnit;
 import org.junit.BeforeClass;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
index 1a30ef7..5e7ea2f 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
@@ -52,16 +52,16 @@ import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResp
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
 import org.apache.olingo.client.api.data.Entry;
 import org.apache.olingo.client.api.data.Feed;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInlineEntity;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataInlineEntity;
+import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.core.uri.URIUtils;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
index 294d190..21d3717 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
@@ -35,8 +35,8 @@ import org.apache.olingo.client.api.communication.request.streamed.ODataMediaEnt
 import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
 import org.apache.olingo.client.api.communication.response.ODataMediaEntityCreateResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.junit.Ignore;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/CountTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/CountTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/CountTestITCase.java
index 455d376..f004c26 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/CountTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/CountTestITCase.java
@@ -23,8 +23,8 @@ import org.junit.Test;
 
 import org.apache.olingo.client.api.communication.ODataClientErrorException;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 
 public class CountTestITCase extends AbstractTestITCase {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
index d16f060..8146830 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
@@ -39,12 +39,12 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySe
 import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
 import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.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.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.NoContentException;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.core.uri.URIUtils;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityRetrieveTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityRetrieveTestITCase.java
index c05eaff..609bd9a 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityRetrieveTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityRetrieveTestITCase.java
@@ -30,13 +30,13 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRe
 import org.apache.olingo.client.api.communication.request.retrieve.ODataRawRequest;
 import org.apache.olingo.client.api.communication.response.ODataRawResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInlineEntity;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.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.ODataInlineEntity;
+import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.core.op.ResourceFactory;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntitySetTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntitySetTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntitySetTestITCase.java
index fa0d60f..aaa9ed7 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntitySetTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntitySetTestITCase.java
@@ -28,9 +28,9 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySe
 import org.apache.olingo.client.api.communication.request.retrieve.ODataRawRequest;
 import org.apache.olingo.client.api.communication.response.ODataRawResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
 import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.op.ResourceFactory;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
index 6e918e9..129f086 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
@@ -31,8 +31,8 @@ import org.apache.olingo.client.api.communication.request.UpdateType;
 import org.apache.olingo.client.api.communication.request.cud.ODataEntityUpdateRequest;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ErrorTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ErrorTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ErrorTestITCase.java
index a61b853..ed8a776 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ErrorTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ErrorTestITCase.java
@@ -32,8 +32,8 @@ import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.ODataClientErrorException;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.core.uri.URIUtils;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterFactoryTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterFactoryTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterFactoryTestITCase.java
index ece7364..28c354d 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterFactoryTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterFactoryTestITCase.java
@@ -18,7 +18,7 @@
  */
 package org.apache.olingo.client.core.it.v3;
 
-import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.api.uri.URIFilter;
 import org.apache.olingo.client.api.uri.v3.FilterArgFactory;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterTestITCase.java
index a2d9a90..cbcf046 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/FilterTestITCase.java
@@ -21,7 +21,7 @@ package org.apache.olingo.client.core.it.v3;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertEquals;
 
-import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/KeyAsSegmentTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/KeyAsSegmentTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/KeyAsSegmentTestITCase.java
index 1a3123b..9c2a9f5 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/KeyAsSegmentTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/KeyAsSegmentTestITCase.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.core.it.v3;
 import org.apache.olingo.client.api.communication.request.UpdateType;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/LinkTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/LinkTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/LinkTestITCase.java
index a296f94..b56dde6 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/LinkTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/LinkTestITCase.java
@@ -32,9 +32,9 @@ import org.apache.olingo.client.api.communication.request.cud.ODataLinkUpdateReq
 import org.apache.olingo.client.api.communication.request.retrieve.v3.ODataLinkCollectionRequest;
 import org.apache.olingo.client.api.communication.response.ODataLinkOperationResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataLink;
 import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.api.uri.v3.URIBuilder;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/MediaEntityTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/MediaEntityTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/MediaEntityTestITCase.java
index 33446cf..3350204 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/MediaEntityTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/MediaEntityTestITCase.java
@@ -36,10 +36,10 @@ import org.apache.olingo.client.api.communication.response.ODataMediaEntityCreat
 import org.apache.olingo.client.api.communication.response.ODataMediaEntityUpdateResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
 import org.apache.olingo.client.api.communication.response.ODataStreamUpdateResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataMediaFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
index a1a90f9..b1e385d 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
@@ -38,16 +38,16 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySe
 import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
 import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInlineEntity;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataInlineEntity;
+import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.core.uri.URIUtils;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
index 2d06ba0..091d0af 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
@@ -28,9 +28,9 @@ import java.util.UUID;
 import org.apache.olingo.client.api.communication.request.cud.ODataEntityCreateRequest;
 import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
 import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PrimitiveKeysTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PrimitiveKeysTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PrimitiveKeysTestITCase.java
index d69fb68..c6763e9 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PrimitiveKeysTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PrimitiveKeysTestITCase.java
@@ -25,8 +25,8 @@ import java.math.BigDecimal;
 import java.util.UUID;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.junit.Test;
 
 public class PrimitiveKeysTestITCase extends AbstractTestITCase {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyRetrieveTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyRetrieveTestITCase.java
index 331c73b..314e934 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyRetrieveTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyRetrieveTestITCase.java
@@ -29,13 +29,13 @@ import org.apache.olingo.client.api.communication.ODataClientErrorException;
 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.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataComplexValue;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
index 56eb4fb..28d487f 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
@@ -35,11 +35,11 @@ import org.apache.olingo.client.api.communication.response.ODataPropertyUpdateRe
 import org.apache.olingo.client.api.communication.response.ODataRawResponse;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
 import org.apache.olingo.client.api.communication.response.ODataValueUpdateResponse;
-import org.apache.olingo.client.api.domain.ODataCollectionValue;
-import org.apache.olingo.client.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyValueTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyValueTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyValueTestITCase.java
index 1acb6be..b8dd0a8 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyValueTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyValueTestITCase.java
@@ -24,9 +24,9 @@ import org.apache.olingo.client.api.communication.ODataClientErrorException;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataValue;
-import org.apache.olingo.client.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/QueryOptionsTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/QueryOptionsTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/QueryOptionsTestITCase.java
index 3501482..d34da88 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/QueryOptionsTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/QueryOptionsTestITCase.java
@@ -29,10 +29,10 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRe
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
 import org.apache.olingo.client.api.data.Entry;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataInlineEntitySet;
-import org.apache.olingo.client.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.ODataInlineEntitySet;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.uri.CommonURIBuilder;
 import org.apache.olingo.client.api.uri.v3.URIBuilder.InlineCount;
 import org.apache.olingo.client.core.data.AtomEntryImpl;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentRetrieveTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentRetrieveTestITCase.java
index 40a7ecf..f5a9fa9 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentRetrieveTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentRetrieveTestITCase.java
@@ -23,8 +23,8 @@ import java.net.URI;
 import org.apache.olingo.client.api.communication.ODataClientErrorException;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.junit.Test;
 
 public class ServiceDocumentRetrieveTestITCase extends AbstractTestITCase {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentTestITCase.java
index 820b3a0..0a5aefc 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/ServiceDocumentTestITCase.java
@@ -23,8 +23,8 @@ import static org.junit.Assert.assertEquals;
 import java.net.URI;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.junit.Test;
 
 public class ServiceDocumentTestITCase extends AbstractTestITCase {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/AtomTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/AtomTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/AtomTest.java
index 6963cee..755b44b 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/AtomTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/AtomTest.java
@@ -29,8 +29,8 @@ import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.client.api.v3.ODataClient;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.core.AbstractTest;
 import org.apache.olingo.client.core.AtomLinksQualifier;
 import org.custommonkey.xmlunit.Diff;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntitySetTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntitySetTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntitySetTest.java
index d33da3b..792ddb7 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntitySetTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntitySetTest.java
@@ -24,8 +24,8 @@ import static org.junit.Assert.assertEquals;
 import java.io.IOException;
 import java.io.InputStream;
 import org.apache.olingo.client.api.v3.ODataClient;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.core.AbstractTest;
 import org.apache.olingo.client.core.op.ResourceFactory;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntityTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntityTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntityTest.java
index 978da52..d8f02a6 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntityTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/EntityTest.java
@@ -24,10 +24,10 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.InputStream;
 import org.apache.olingo.client.api.v3.ODataClient;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.core.AbstractTest;
 import org.apache.olingo.client.core.op.ResourceFactory;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ErrorTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ErrorTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ErrorTest.java
index b76c453..57f3516 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ErrorTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ErrorTest.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertNull;
 
 import org.apache.olingo.client.api.v3.ODataClient;
 import org.apache.olingo.client.api.data.ODataError;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.core.AbstractTest;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/JSONTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/JSONTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/JSONTest.java
index 83c7d05..d57c561 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/JSONTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/JSONTest.java
@@ -30,8 +30,8 @@ import java.util.List;
 import java.util.Map;
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.client.api.Constants;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
 
 public class JSONTest extends AtomTest {
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
index d950d2e..e3cbd7e 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
@@ -32,7 +32,7 @@ import java.util.TimeZone;
 import java.util.UUID;
 import javax.xml.datatype.Duration;
 import org.apache.commons.codec.binary.Base64;
-import org.apache.olingo.client.api.domain.ODataValue;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.client.api.v3.ODataClient;
 import org.apache.olingo.client.core.AbstractTest;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ServiceDocumentTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ServiceDocumentTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ServiceDocumentTest.java
index b42b513..dd49fec 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ServiceDocumentTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/ServiceDocumentTest.java
@@ -19,8 +19,8 @@
 package org.apache.olingo.client.core.v3;
 
 import org.apache.olingo.client.api.v3.ODataClient;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.core.AbstractTest;
 
 import static org.junit.Assert.assertNotNull;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
index d879e5b..0fc9b18 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
@@ -22,7 +22,7 @@ import java.util.Calendar;
 import static org.junit.Assert.assertEquals;
 
 import org.apache.olingo.client.api.v4.ODataClient;
-import org.apache.olingo.client.api.domain.ODataValue;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.client.core.AbstractTest;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/ServiceDocumentTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/ServiceDocumentTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/ServiceDocumentTest.java
index 7945692..4dc4fae 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/ServiceDocumentTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/ServiceDocumentTest.java
@@ -25,8 +25,8 @@ import static org.junit.Assert.assertTrue;
 import java.net.URI;
 
 import org.apache.olingo.client.api.v4.ODataClient;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.core.AbstractTest;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0b4b86c0/lib/commons-api/pom.xml
----------------------------------------------------------------------
diff --git a/lib/commons-api/pom.xml b/lib/commons-api/pom.xml
index e398eaa..4b75469 100644
--- a/lib/commons-api/pom.xml
+++ b/lib/commons-api/pom.xml
@@ -39,6 +39,11 @@
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
     </dependency>
+    
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>    
   </dependencies>
     
 </project>