You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/03/17 14:21:27 UTC

[2/8] olingo-odata4 git commit: [OLINGO-575] Merge edm provider classes

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ReturnType.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ReturnType.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ReturnType.java
deleted file mode 100644
index 0dd380d..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ReturnType.java
+++ /dev/null
@@ -1,91 +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.server.api.edm.provider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public class ReturnType {
-
-  private FullQualifiedName type;
-
-  private boolean isCollection;
-
-  // facets
-  private Boolean nullable;
-
-  private Integer maxLength;
-
-  private Integer precision;
-
-  private Integer scale;
-
-  public FullQualifiedName getType() {
-    return type;
-  }
-
-  public ReturnType setType(final FullQualifiedName type) {
-    this.type = type;
-    return this;
-  }
-
-  public boolean isCollection() {
-    return isCollection;
-  }
-
-  public ReturnType setCollection(final boolean isCollection) {
-    this.isCollection = isCollection;
-    return this;
-  }
-
-  public Boolean getNullable() {
-    return nullable;
-  }
-
-  public ReturnType setNullable(final Boolean nullable) {
-    this.nullable = nullable;
-    return this;
-  }
-
-  public Integer getMaxLength() {
-    return maxLength;
-  }
-
-  public ReturnType setMaxLength(final Integer maxLength) {
-    this.maxLength = maxLength;
-    return this;
-  }
-
-  public Integer getPrecision() {
-    return precision;
-  }
-
-  public ReturnType setPrecision(final Integer precision) {
-    this.precision = precision;
-    return this;
-  }
-
-  public Integer getScale() {
-    return scale;
-  }
-
-  public ReturnType setScale(final Integer scale) {
-    this.scale = scale;
-    return this;
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Schema.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Schema.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Schema.java
deleted file mode 100644
index 235a16e..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Schema.java
+++ /dev/null
@@ -1,135 +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.server.api.edm.provider;
-
-import java.util.List;
-
-public class Schema {
-
-  private String namespace;
-
-  private String alias;
-
-  private List<EnumType> enumTypes;
-
-  private List<TypeDefinition> typeDefinitions;
-
-  private List<EntityType> entityTypes;
-
-  private List<ComplexType> complexTypes;
-
-  private List<Action> actions;
-
-  private List<Function> functions;
-
-  private EntityContainer entityContainer;
-
-  private List<Term> terms;
-
-  // Annotations
-  public String getNamespace() {
-    return namespace;
-  }
-
-  public Schema setNamespace(final String namespace) {
-    this.namespace = namespace;
-    return this;
-  }
-
-  public String getAlias() {
-    return alias;
-  }
-
-  public Schema setAlias(final String alias) {
-    this.alias = alias;
-    return this;
-  }
-
-  public List<EnumType> getEnumTypes() {
-    return enumTypes;
-  }
-
-  public Schema setEnumTypes(final List<EnumType> enumTypes) {
-    this.enumTypes = enumTypes;
-    return this;
-  }
-
-  public List<TypeDefinition> getTypeDefinitions() {
-    return typeDefinitions;
-  }
-
-  public Schema setTypeDefinitions(final List<TypeDefinition> typeDefinitions) {
-    this.typeDefinitions = typeDefinitions;
-    return this;
-  }
-
-  public List<EntityType> getEntityTypes() {
-    return entityTypes;
-  }
-
-  public Schema setEntityTypes(final List<EntityType> entityTypes) {
-    this.entityTypes = entityTypes;
-    return this;
-  }
-
-  public List<ComplexType> getComplexTypes() {
-    return complexTypes;
-  }
-
-  public Schema setComplexTypes(final List<ComplexType> complexTypes) {
-    this.complexTypes = complexTypes;
-    return this;
-  }
-
-  public List<Action> getActions() {
-    return actions;
-  }
-
-  public Schema setActions(final List<Action> actions) {
-    this.actions = actions;
-    return this;
-  }
-
-  public List<Function> getFunctions() {
-    return functions;
-  }
-
-  public Schema setFunctions(final List<Function> functions) {
-    this.functions = functions;
-    return this;
-  }
-
-  public EntityContainer getEntityContainer() {
-    return entityContainer;
-  }
-
-  public Schema setEntityContainer(final EntityContainer entityContainer) {
-    this.entityContainer = entityContainer;
-    return this;
-  }
-
-  public List<Term> getTerms() {
-    return terms;
-  }
-
-  public Schema setTerms(final List<Term> terms) {
-    this.terms = terms;
-    return this;
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Singleton.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Singleton.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Singleton.java
deleted file mode 100644
index c7dc885..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Singleton.java
+++ /dev/null
@@ -1,44 +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.server.api.edm.provider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-import java.util.List;
-
-public class Singleton extends BindingTarget {
-
-  @Override
-  public Singleton setName(final String name) {
-    this.name = name;
-    return this;
-  }
-
-  @Override
-  public Singleton setType(final FullQualifiedName type) {
-    this.type = type;
-    return this;
-  }
-
-  @Override
-  public Singleton setNavigationPropertyBindings(final List<NavigationPropertyBinding> navigationPropertyBindings) {
-    this.navigationPropertyBindings = navigationPropertyBindings;
-    return this;
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/StructuredType.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/StructuredType.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/StructuredType.java
deleted file mode 100644
index 8f0d866..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/StructuredType.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.server.api.edm.provider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-import java.util.List;
-
-public abstract class StructuredType {
-
-  protected String name;
-
-  protected boolean isOpenType;
-
-  protected FullQualifiedName baseType;
-
-  protected boolean isAbstract;
-
-  protected List<Property> properties;
-
-  protected List<NavigationProperty> navigationProperties;
-
-  // What about mapping and annotations?
-  public String getName() {
-    return name;
-  }
-
-  public StructuredType setName(final String name) {
-    this.name = name;
-    return this;
-  }
-
-  public boolean isOpenType() {
-    return isOpenType;
-  }
-
-  public StructuredType setOpenType(final boolean isOpenType) {
-    this.isOpenType = isOpenType;
-    return this;
-  }
-
-  public FullQualifiedName getBaseType() {
-    return baseType;
-  }
-
-  public StructuredType setBaseType(final FullQualifiedName baseType) {
-    this.baseType = baseType;
-    return this;
-  }
-
-  public boolean isAbstract() {
-    return isAbstract;
-  }
-
-  public StructuredType setAbstract(final boolean isAbstract) {
-    this.isAbstract = isAbstract;
-    return this;
-  }
-
-  public List<Property> getProperties() {
-    return properties;
-  }
-
-  public StructuredType setProperties(final List<Property> properties) {
-    this.properties = properties;
-    return this;
-  }
-
-  public List<NavigationProperty> getNavigationProperties() {
-    return navigationProperties;
-  }
-
-  public StructuredType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
-    this.navigationProperties = navigationProperties;
-    return this;
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Term.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Term.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Term.java
deleted file mode 100644
index 4ba3eb7..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Term.java
+++ /dev/null
@@ -1,149 +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.server.api.edm.provider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-import java.util.List;
-
-public class Term {
-
-  private String name;
-
-  private FullQualifiedName type;
-
-  private FullQualifiedName baseTerm;
-
-  private String appliesTo;
-
-  private boolean isCollection;
-
-  // Facets
-  private String defaultValue;
-
-  private Boolean nullable;
-
-  private Integer maxLength;
-
-  private Integer precision;
-
-  private Integer scale;
-
-  // Annotation
-  private List<Annotation> annotations;
-
-  public String getName() {
-    return name;
-  }
-
-  public Term setName(final String name) {
-    this.name = name;
-    return this;
-  }
-
-  public FullQualifiedName getType() {
-    return type;
-  }
-
-  public Term setType(final FullQualifiedName type) {
-    this.type = type;
-    return this;
-  }
-
-  public FullQualifiedName getBaseTerm() {
-    return baseTerm;
-  }
-
-  public Term setBaseTerm(final FullQualifiedName baseTerm) {
-    this.baseTerm = baseTerm;
-    return this;
-  }
-
-  public String getAppliesTo() {
-    return appliesTo;
-  }
-
-  public Term setAppliesTo(final String appliesTo) {
-    this.appliesTo = appliesTo;
-    return this;
-  }
-
-  public boolean isCollection() {
-    return isCollection;
-  }
-
-  public Term setCollection(final boolean isCollection) {
-    this.isCollection = isCollection;
-    return this;
-  }
-
-  public String getDefaultValue() {
-    return defaultValue;
-  }
-
-  public Term setDefaultValue(final String defaultValue) {
-    this.defaultValue = defaultValue;
-    return this;
-  }
-
-  public Boolean getNullable() {
-    return nullable;
-  }
-
-  public Term setNullable(final Boolean nullable) {
-    this.nullable = nullable;
-    return this;
-  }
-
-  public Integer getMaxLength() {
-    return maxLength;
-  }
-
-  public Term setMaxLength(final Integer maxLength) {
-    this.maxLength = maxLength;
-    return this;
-  }
-
-  public Integer getPrecision() {
-    return precision;
-  }
-
-  public Term setPrecision(final Integer precision) {
-    this.precision = precision;
-    return this;
-  }
-
-  public Integer getScale() {
-    return scale;
-  }
-
-  public Term setScale(final Integer scale) {
-    this.scale = scale;
-    return this;
-  }
-
-  public List<Annotation> getAnnotations() {
-    return annotations;
-  }
-
-  public Term setAnnotations(final List<Annotation> annotations) {
-    this.annotations = annotations;
-    return this;
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/TypeDefinition.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/TypeDefinition.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/TypeDefinition.java
deleted file mode 100644
index 1ddcbe2..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/TypeDefinition.java
+++ /dev/null
@@ -1,94 +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.server.api.edm.provider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public class TypeDefinition {
-
-  private String name;
-
-  // TODO: UnderlyingType can only be primitve...
-  private FullQualifiedName underlyingType;
-
-  // Facets
-  private Integer maxLength;
-
-  private Integer precision;
-
-  private Integer scale;
-
-  private Boolean isUnicode;
-
-  // Annotations
-  public String getName() {
-    return name;
-  }
-
-  public TypeDefinition setName(final String name) {
-    this.name = name;
-    return this;
-  }
-
-  public FullQualifiedName getUnderlyingType() {
-    return underlyingType;
-  }
-
-  public TypeDefinition setUnderlyingType(final FullQualifiedName underlyingType) {
-    this.underlyingType = underlyingType;
-    return this;
-  }
-
-  public Integer getMaxLength() {
-    return maxLength;
-  }
-
-  public TypeDefinition setMaxLength(final Integer maxLength) {
-    this.maxLength = maxLength;
-    return this;
-  }
-
-  public Integer getPrecision() {
-    return precision;
-  }
-
-  public TypeDefinition setPrecision(final Integer precision) {
-    this.precision = precision;
-    return this;
-  }
-
-  public Integer getScale() {
-    return scale;
-  }
-
-  public TypeDefinition setScale(final Integer scale) {
-    this.scale = scale;
-    return this;
-  }
-
-  public Boolean getIsUnicode() {
-    return isUnicode;
-  }
-
-  public TypeDefinition setIsUnicode(final Boolean isUnicode) {
-    this.isUnicode = isUnicode;
-    return this;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataImpl.java
index 9e43e71..c05b4ae 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataImpl.java
@@ -20,6 +20,7 @@ package org.apache.olingo.server.core;
 
 import java.util.List;
 
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
 import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataHttpHandler;
@@ -27,7 +28,6 @@ import org.apache.olingo.server.api.ServiceMetadata;
 import org.apache.olingo.server.api.deserializer.DeserializerException;
 import org.apache.olingo.server.api.deserializer.FixedFormatDeserializer;
 import org.apache.olingo.server.api.deserializer.ODataDeserializer;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
 import org.apache.olingo.server.api.edmx.EdmxReference;
 import org.apache.olingo.server.api.serializer.FixedFormatSerializer;
 import org.apache.olingo.server.api.serializer.ODataSerializer;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/ServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ServiceMetadataImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ServiceMetadataImpl.java
index 06743d5..0dfc813 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ServiceMetadataImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ServiceMetadataImpl.java
@@ -20,9 +20,9 @@ package org.apache.olingo.server.core;
 
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
 import org.apache.olingo.server.api.edmx.EdmxReference;
 import org.apache.olingo.server.api.ServiceMetadata;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
 import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializer.java
index 6892aff..4533c6a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializer.java
@@ -237,7 +237,7 @@ public class ODataJsonDeserializer implements ODataDeserializer {
       JsonNode jsonNode = node.get(navigationPropertyName);
       if (jsonNode != null) {
         EdmNavigationProperty edmNavigationProperty = edmEntityType.getNavigationProperty(navigationPropertyName);
-        boolean isNullable = edmNavigationProperty.isNullable() == null ? true : edmNavigationProperty.isNullable();
+        boolean isNullable = edmNavigationProperty.isNullable();
         if (jsonNode.isNull() && !isNullable) {
           throw new DeserializerException("Property: " + navigationPropertyName + " must not be null.",
               DeserializerException.MessageKeys.INVALID_NULL_PROPERTY, navigationPropertyName);
@@ -463,7 +463,7 @@ public class ODataJsonDeserializer implements ODataDeserializer {
   }
 
   private boolean isNullable(EdmProperty edmProperty) {
-    return edmProperty.isNullable() == null ? true : edmProperty.isNullable();
+    return edmProperty.isNullable();
   }
 
   private Object readTypeDefinitionValue(EdmProperty edmProperty, JsonNode jsonNode) throws DeserializerException {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImpl.java
index e96e165..95e4abb 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImpl.java
@@ -22,7 +22,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAction;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.server.api.edm.provider.Action;
+import org.apache.olingo.commons.api.edm.provider.Action;
 
 public class EdmActionImpl extends EdmOperationImpl implements EdmAction {
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImpl.java
index 0278f6b..c0af4ff 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImpl.java
@@ -22,7 +22,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAction;
 import org.apache.olingo.commons.api.edm.EdmActionImport;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.server.api.edm.provider.ActionImport;
+import org.apache.olingo.commons.api.edm.provider.ActionImport;
 
 public class EdmActionImportImpl extends EdmOperationImportImpl implements EdmActionImport {
 
@@ -36,7 +36,7 @@ public class EdmActionImportImpl extends EdmOperationImportImpl implements EdmAc
 
   @Override
   public EdmAction getUnboundAction() {
-    return edm.getUnboundAction(actionImport.getAction());
+    return edm.getUnboundAction(actionImport.getActionFQN());
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
index bd3df0a..8bda193 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
@@ -18,17 +18,16 @@
  */
 package org.apache.olingo.server.core.edm.provider;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
-import org.apache.olingo.commons.api.edm.Target;
+import org.apache.olingo.commons.api.edm.provider.BindingTarget;
+import org.apache.olingo.commons.api.edm.provider.NavigationPropertyBinding;
 import org.apache.olingo.commons.core.edm.AbstractEdmBindingTarget;
 import org.apache.olingo.commons.core.edm.EdmNavigationPropertyBindingImpl;
-import org.apache.olingo.server.api.edm.provider.BindingTarget;
-import org.apache.olingo.server.api.edm.provider.NavigationPropertyBinding;
-
-import java.util.ArrayList;
-import java.util.List;
 
 public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
 
@@ -36,7 +35,7 @@ public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
   private List<EdmNavigationPropertyBinding> navigationPropertyBindings;
 
   public EdmBindingTargetImpl(final Edm edm, final EdmEntityContainer container, final BindingTarget target) {
-    super(edm, container, target.getName(), target.getType());
+    super(edm, container, target.getName(), target.getTypeFQN());
     this.target = target;
   }
 
@@ -47,13 +46,7 @@ public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
       navigationPropertyBindings = new ArrayList<EdmNavigationPropertyBinding>();
       if (providerBindings != null) {
         for (NavigationPropertyBinding binding : providerBindings) {
-          Target providerTarget = binding.getTarget();
-          String targetString = "";
-          if (providerTarget.getEntityContainer() != null) {
-            targetString = targetString + providerTarget.getEntityContainer().getFullQualifiedNameAsString() + "/";
-          }
-          targetString = targetString + providerTarget.getTargetName();
-          navigationPropertyBindings.add(new EdmNavigationPropertyBindingImpl(binding.getPath(), targetString));
+          navigationPropertyBindings.add(new EdmNavigationPropertyBindingImpl(binding.getPath(), binding.getTarget()));
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
index 89305d2..87b2be8 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
@@ -24,9 +24,9 @@ import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
 import org.apache.olingo.commons.api.edm.EdmProperty;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.ComplexType;
 import org.apache.olingo.commons.core.edm.AbstractEdmComplexType;
 import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
 
 import java.util.List;
 import java.util.Map;
@@ -42,7 +42,7 @@ public class EdmComplexTypeImpl extends AbstractEdmComplexType {
   }
 
   private EdmComplexTypeImpl(final Edm edm, final FullQualifiedName name, final ComplexType complexType) {
-    super(edm, name, complexType.getBaseType());
+    super(edm, name, complexType.getBaseTypeFQN());
     helper = new EdmStructuredTypeHelperImpl(edm, name, complexType);
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
index 3cf7bd2..8ecc844 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
@@ -28,14 +28,14 @@ import org.apache.olingo.commons.api.edm.EdmFunctionImport;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.ActionImport;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.EntityContainer;
+import org.apache.olingo.commons.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.commons.api.edm.provider.EntitySet;
+import org.apache.olingo.commons.api.edm.provider.FunctionImport;
+import org.apache.olingo.commons.api.edm.provider.Singleton;
 import org.apache.olingo.commons.core.edm.AbstractEdmEntityContainer;
-import org.apache.olingo.server.api.edm.provider.ActionImport;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
-import org.apache.olingo.server.api.edm.provider.FunctionImport;
-import org.apache.olingo.server.api.edm.provider.Singleton;
 
 import java.util.List;
 
@@ -53,7 +53,7 @@ public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
 
   public EdmEntityContainerImpl(final Edm edm, final EdmProvider provider, final FullQualifiedName containerFQN,
       final EntityContainer entityContainer) {
-    super(edm, containerFQN, entityContainer.getExtendsContainer());
+    super(edm, containerFQN, entityContainer.getExtendsContainerFQN());
     this.provider = provider;
     container = entityContainer;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
index c657a02..4ab66fd 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
@@ -23,7 +23,7 @@ import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
+import org.apache.olingo.commons.api.edm.provider.EntitySet;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
index 755f358..7be3760 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
@@ -26,10 +26,10 @@ import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
 import org.apache.olingo.commons.api.edm.EdmProperty;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.EntityType;
+import org.apache.olingo.commons.api.edm.provider.PropertyRef;
 import org.apache.olingo.commons.core.edm.AbstractEdmEntityType;
 import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.PropertyRef;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -50,7 +50,7 @@ public class EdmEntityTypeImpl extends AbstractEdmEntityType {
   }
 
   private EdmEntityTypeImpl(final Edm edm, final FullQualifiedName name, final EntityType entityType) {
-    super(edm, name, entityType.getBaseType(), entityType.hasStream());
+    super(edm, name, entityType.getBaseTypeFQN(), entityType.hasStream());
     this.entityType = entityType;
     helper = new EdmStructuredTypeHelperImpl(edm, name, entityType);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java
index ac1c83d..86fb92a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java
@@ -26,10 +26,10 @@ import org.apache.olingo.commons.api.edm.EdmMember;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.EnumMember;
+import org.apache.olingo.commons.api.edm.provider.EnumType;
 import org.apache.olingo.commons.core.edm.AbstractEdmEnumType;
 import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-import org.apache.olingo.server.api.edm.provider.EnumMember;
-import org.apache.olingo.server.api.edm.provider.EnumType;
 
 public class EdmEnumTypeImpl extends AbstractEdmEnumType {
 
@@ -46,8 +46,7 @@ public class EdmEnumTypeImpl extends AbstractEdmEnumType {
       underlyingType = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32);
     } else {
       underlyingType = EdmPrimitiveTypeFactory.getInstance(
-          EdmPrimitiveTypeKind.valueOf(enumType.getUnderlyingType().getName()));
-      // TODO: Should we validate that the underlying type is of byte, sbyte, in16, int32 or int64?
+          EdmPrimitiveTypeKind.valueOfFQN(enumType.getUnderlyingType()));
     }
 
     this.enumType = enumType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImpl.java
index f23e0a8..d45f5c8 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImpl.java
@@ -24,7 +24,7 @@ import org.apache.olingo.commons.api.edm.EdmFunction;
 import org.apache.olingo.commons.api.edm.EdmReturnType;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.server.api.edm.provider.Function;
+import org.apache.olingo.commons.api.edm.provider.Function;
 
 public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImportImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImportImpl.java
index f832b39..b676ff6 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImportImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImportImpl.java
@@ -24,7 +24,7 @@ import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmFunction;
 import org.apache.olingo.commons.api.edm.EdmFunctionImport;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.FunctionImport;
+import org.apache.olingo.commons.api.edm.provider.FunctionImport;
 
 import java.util.List;
 
@@ -40,7 +40,7 @@ public class EdmFunctionImportImpl extends EdmOperationImportImpl implements Edm
 
   @Override
   public FullQualifiedName getFunctionFqn() {
-    return functionImport.getFunction();
+    return functionImport.getFunctionFQN();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmKeyPropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmKeyPropertyRefImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmKeyPropertyRefImpl.java
index 564e745..2e5a342 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmKeyPropertyRefImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmKeyPropertyRefImpl.java
@@ -19,8 +19,8 @@
 package org.apache.olingo.server.core.edm.provider;
 
 import org.apache.olingo.commons.api.edm.EdmEntityType;
+import org.apache.olingo.commons.api.edm.provider.PropertyRef;
 import org.apache.olingo.commons.core.edm.AbstractEdmKeyPropertyRef;
-import org.apache.olingo.server.api.edm.provider.PropertyRef;
 
 public class EdmKeyPropertyRefImpl extends AbstractEdmKeyPropertyRef {
 
@@ -33,7 +33,7 @@ public class EdmKeyPropertyRefImpl extends AbstractEdmKeyPropertyRef {
 
   @Override
   public String getName() {
-    return ref.getPropertyName();
+    return ref.getName();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
index ab41a86..f643914 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
@@ -23,9 +23,9 @@ import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.NavigationProperty;
+import org.apache.olingo.commons.api.edm.provider.ReferentialConstraint;
 import org.apache.olingo.commons.core.edm.AbstractEdmNavigationProperty;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.ReferentialConstraint;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -49,7 +49,7 @@ public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
 
   @Override
   protected FullQualifiedName getTypeFQN() {
-    return navigationProperty.getType();
+    return navigationProperty.getTypeFQN();
   }
 
   @Override
@@ -58,8 +58,8 @@ public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
   }
 
   @Override
-  public Boolean isNullable() {
-    return navigationProperty.getNullable();
+  public boolean isNullable() {
+    return navigationProperty.isNullable();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
index 75d47d9..3958d7d 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
@@ -18,19 +18,18 @@
  */
 package org.apache.olingo.server.core.edm.provider;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmParameter;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.commons.api.edm.provider.Operation;
+import org.apache.olingo.commons.api.edm.provider.Parameter;
 import org.apache.olingo.commons.core.edm.AbstractEdmOperation;
-import org.apache.olingo.server.api.edm.provider.EntitySetPath;
-import org.apache.olingo.server.api.edm.provider.Operation;
-import org.apache.olingo.server.api.edm.provider.Parameter;
-
-import java.util.ArrayList;
-import java.util.List;
 
 public abstract class EdmOperationImpl extends AbstractEdmOperation {
 
@@ -46,9 +45,9 @@ public abstract class EdmOperationImpl extends AbstractEdmOperation {
       instance.setParameters(_parameters);
     }
 
-    final EntitySetPath entitySetPath = instance.operation.getEntitySetPath();
-    if (entitySetPath != null && entitySetPath.getPath() != null) {
-      instance.setEntitySetPath(entitySetPath.getPath());
+    final String entitySetPath = instance.operation.getEntitySetPath();
+    if (entitySetPath != null) {
+      instance.setEntitySetPath(entitySetPath);
     }
 
     instance.setIsBound(instance.operation.isBound());
@@ -71,7 +70,7 @@ public abstract class EdmOperationImpl extends AbstractEdmOperation {
   public FullQualifiedName getBindingParameterTypeFqn() {
     if (isBound()) {
       Parameter bindingParameter = operation.getParameters().get(0);
-      return bindingParameter.getType();
+      return bindingParameter.getTypeFQN();
     }
     return null;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
index fc1ab31..07da565 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
@@ -22,8 +22,9 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmTerm;
+import org.apache.olingo.commons.api.edm.Target;
+import org.apache.olingo.commons.api.edm.provider.OperationImport;
 import org.apache.olingo.commons.core.edm.AbstractEdmOperationImport;
-import org.apache.olingo.server.api.edm.provider.OperationImport;
 
 import java.util.List;
 
@@ -31,7 +32,8 @@ public abstract class EdmOperationImportImpl extends AbstractEdmOperationImport
 
   public EdmOperationImportImpl(final Edm edm, final EdmEntityContainer container,
       final OperationImport operationImport) {
-    super(edm, container, operationImport.getName(), operationImport.getEntitySet());
+    super(edm, container, operationImport.getName(), new Target.Builder(operationImport.getEntitySet(), container
+        ).build());
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
index 8a1e840..397dc64 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
@@ -23,8 +23,8 @@ import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmMapping;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.geo.SRID;
+import org.apache.olingo.commons.api.edm.provider.Parameter;
 import org.apache.olingo.commons.core.edm.AbstractEdmParameter;
-import org.apache.olingo.server.api.edm.provider.Parameter;
 
 import java.util.List;
 
@@ -33,7 +33,7 @@ public class EdmParameterImpl extends AbstractEdmParameter {
   private final Parameter parameter;
 
   public EdmParameterImpl(final Edm edm, final Parameter parameter) {
-    super(edm, parameter.getName(), parameter.getType());
+    super(edm, parameter.getName(), parameter.getTypeFQN());
     this.parameter = parameter;
   }
 
@@ -48,8 +48,8 @@ public class EdmParameterImpl extends AbstractEdmParameter {
   }
 
   @Override
-  public Boolean isNullable() {
-    return parameter.getNullable();
+  public boolean isNullable() {
+    return parameter.isNullable();
   }
 
   @Override
@@ -69,7 +69,7 @@ public class EdmParameterImpl extends AbstractEdmParameter {
 
   @Override
   public SRID getSrid() {
-    return null; // TODO: provide implementation
+    return parameter.getSrid();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
index 3f6b8d1..1c8d5eb 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
@@ -26,9 +26,9 @@ import org.apache.olingo.commons.api.edm.EdmMapping;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.geo.SRID;
+import org.apache.olingo.commons.api.edm.provider.Property;
 import org.apache.olingo.commons.core.edm.AbstractEdmProperty;
 import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import org.apache.olingo.server.api.edm.provider.Property;
 
 public class EdmPropertyImpl extends AbstractEdmProperty {
 
@@ -67,8 +67,8 @@ public class EdmPropertyImpl extends AbstractEdmProperty {
   }
 
   @Override
-  public Boolean isNullable() {
-    return property.getNullable();
+  public boolean isNullable() {
+    return property.isNullable();
   }
 
   @Override
@@ -88,11 +88,11 @@ public class EdmPropertyImpl extends AbstractEdmProperty {
 
   @Override
   public SRID getSrid() {
-    return null; // TODO: provide implementation
+    return property.getSrid();
   }
 
   @Override
-  public Boolean isUnicode() {
+  public boolean isUnicode() {
     return property.isUnicode();
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmProviderImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmProviderImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmProviderImpl.java
index e5f35fd..649401b 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmProviderImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmProviderImpl.java
@@ -32,18 +32,18 @@ import org.apache.olingo.commons.api.edm.EdmSchema;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.Action;
+import org.apache.olingo.commons.api.edm.provider.AliasInfo;
+import org.apache.olingo.commons.api.edm.provider.ComplexType;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.commons.api.edm.provider.EntityType;
+import org.apache.olingo.commons.api.edm.provider.EnumType;
+import org.apache.olingo.commons.api.edm.provider.Function;
+import org.apache.olingo.commons.api.edm.provider.Parameter;
+import org.apache.olingo.commons.api.edm.provider.Schema;
+import org.apache.olingo.commons.api.edm.provider.TypeDefinition;
 import org.apache.olingo.commons.core.edm.AbstractEdm;
-import org.apache.olingo.server.api.edm.provider.Action;
-import org.apache.olingo.server.api.edm.provider.AliasInfo;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.EnumType;
-import org.apache.olingo.server.api.edm.provider.Function;
-import org.apache.olingo.server.api.edm.provider.Parameter;
-import org.apache.olingo.server.api.edm.provider.Schema;
-import org.apache.olingo.server.api.edm.provider.TypeDefinition;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -149,7 +149,7 @@ public class EdmProviderImpl extends AbstractEdm {
         if (action.isBound()) {
           final List<Parameter> parameters = action.getParameters();
           final Parameter parameter = parameters.get(0);
-          if (bindingParameterTypeName.equals(parameter.getType())
+          if (bindingParameterTypeName.equals(parameter.getTypeFQN())
               && isBindingParameterCollection.booleanValue() == parameter.isCollection()) {
 
             return EdmActionImpl.getInstance(this, actionName, action);
@@ -187,7 +187,7 @@ public class EdmProviderImpl extends AbstractEdm {
             throw new EdmException("No parameter specified for bound function: " + functionName);
           }
           final Parameter bindingParameter = providerParameters.get(0);
-          if (bindingParameterTypeName.equals(bindingParameter.getType())
+          if (bindingParameterTypeName.equals(bindingParameter.getTypeFQN())
               && isBindingParameterCollection.booleanValue() == bindingParameter.isCollection()) {
 
             if (parameterNamesCopy.size() == providerParameters.size() - 1) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReturnTypeImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReturnTypeImpl.java
index 95c2c83..0cdf8bf 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReturnTypeImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReturnTypeImpl.java
@@ -20,15 +20,15 @@ package org.apache.olingo.server.core.edm.provider;
 
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.geo.SRID;
+import org.apache.olingo.commons.api.edm.provider.ReturnType;
 import org.apache.olingo.commons.core.edm.AbstractEdmReturnType;
-import org.apache.olingo.server.api.edm.provider.ReturnType;
 
 public class EdmReturnTypeImpl extends AbstractEdmReturnType {
 
   private final ReturnType returnType;
 
   public EdmReturnTypeImpl(final Edm edm, final ReturnType returnType) {
-    super(edm, returnType.getType());
+    super(edm, returnType.getTypeFQN());
     this.returnType = returnType;
   }
 
@@ -38,8 +38,8 @@ public class EdmReturnTypeImpl extends AbstractEdmReturnType {
   }
 
   @Override
-  public Boolean isNullable() {
-    return returnType.getNullable();
+  public boolean isNullable() {
+    return returnType.isNullable();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
index 8f8ccff..86c1842 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
@@ -33,15 +33,15 @@ import org.apache.olingo.commons.api.edm.EdmFunction;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.Action;
+import org.apache.olingo.commons.api.edm.provider.ComplexType;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.EntityType;
+import org.apache.olingo.commons.api.edm.provider.EnumType;
+import org.apache.olingo.commons.api.edm.provider.Function;
+import org.apache.olingo.commons.api.edm.provider.Schema;
+import org.apache.olingo.commons.api.edm.provider.TypeDefinition;
 import org.apache.olingo.commons.core.edm.AbstractEdmSchema;
-import org.apache.olingo.server.api.edm.provider.Action;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.EnumType;
-import org.apache.olingo.server.api.edm.provider.Function;
-import org.apache.olingo.server.api.edm.provider.Schema;
-import org.apache.olingo.server.api.edm.provider.TypeDefinition;
 
 public class EdmSchemaImpl extends AbstractEdmSchema {
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
index 7bf41d8..1ea0058 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
@@ -23,7 +23,7 @@ import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
 import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.server.api.edm.provider.Singleton;
+import org.apache.olingo.commons.api.edm.provider.Singleton;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmStructuredTypeHelperImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmStructuredTypeHelperImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmStructuredTypeHelperImpl.java
index cc4c7f1..d672838 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmStructuredTypeHelperImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmStructuredTypeHelperImpl.java
@@ -22,10 +22,10 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
 import org.apache.olingo.commons.api.edm.EdmProperty;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.provider.NavigationProperty;
+import org.apache.olingo.commons.api.edm.provider.Property;
+import org.apache.olingo.commons.api.edm.provider.StructuralType;
 import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.Property;
-import org.apache.olingo.server.api.edm.provider.StructuredType;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -36,14 +36,14 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
 
   private final FullQualifiedName structuredTypeName;
 
-  private final StructuredType structuredType;
+  private final StructuralType structuredType;
 
   private Map<String, EdmProperty> properties;
 
   private Map<String, EdmNavigationProperty> navigationProperties;
 
   public EdmStructuredTypeHelperImpl(
-      final Edm edm, final FullQualifiedName structuredTypeName, final StructuredType structuredType) {
+      final Edm edm, final FullQualifiedName structuredTypeName, final StructuralType structuredType) {
 
     this.edm = edm;
     this.structuredTypeName = structuredTypeName;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
index 0b830a8..95849b4 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
@@ -28,9 +28,9 @@ import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.geo.SRID;
+import org.apache.olingo.commons.api.edm.provider.TypeDefinition;
 import org.apache.olingo.commons.core.edm.AbstractEdmTypeDefinition;
 import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-import org.apache.olingo.server.api.edm.provider.TypeDefinition;
 
 public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition {
 
@@ -50,7 +50,7 @@ public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition {
     if (edmPrimitiveTypeInstance == null) {
       try {
         edmPrimitiveTypeInstance = EdmPrimitiveTypeFactory.getInstance(
-            EdmPrimitiveTypeKind.valueOf(typeDefinition.getUnderlyingType().getName()));
+            EdmPrimitiveTypeKind.valueOfFQN(typeDefinition.getUnderlyingType()));
       } catch (IllegalArgumentException e) {
         throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
       }
@@ -80,7 +80,7 @@ public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition {
 
   @Override
   public Boolean isUnicode() {
-    return typeDefinition.getIsUnicode();
+    return typeDefinition.isUnicode();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
index 9151158..54f366a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
@@ -385,7 +385,7 @@ public class MetadataDocumentXmlSerializer {
 
   private void appendReturnTypeFacets(final XMLStreamWriter writer, final EdmReturnType returnType)
       throws XMLStreamException {
-    if (returnType.isNullable() != null) {
+    if (returnType.isNullable() == false) {
       writer.writeAttribute(XML_NULLABLE, "" + returnType.isNullable());
     }
     if (returnType.getMaxLength() != null) {
@@ -401,7 +401,7 @@ public class MetadataDocumentXmlSerializer {
 
   private void appendParameterFacets(final XMLStreamWriter writer, final EdmParameter parameter)
       throws XMLStreamException {
-    if (parameter.isNullable() != null) {
+    if (parameter.isNullable() == false) {
       writer.writeAttribute(XML_NULLABLE, "" + parameter.isNullable());
     }
     if (parameter.getMaxLength() != null) {
@@ -478,7 +478,7 @@ public class MetadataDocumentXmlSerializer {
       writer.writeAttribute(XML_NAME, navigationPropertyName);
       writer.writeAttribute(XML_TYPE, getAliasedFullQualifiedName(navigationProperty.getType(), navigationProperty
           .isCollection()));
-      if (navigationProperty.isNullable() != null) {
+      if (navigationProperty.isNullable() == false) {
         writer.writeAttribute(XML_NULLABLE, "" + navigationProperty.isNullable());
       }
 
@@ -517,11 +517,11 @@ public class MetadataDocumentXmlSerializer {
       writer.writeAttribute(XML_TYPE, fqnString);
 
       // Facets
-      if (property.isNullable() != null) {
+      if (property.isNullable() == false) {
         writer.writeAttribute(XML_NULLABLE, "" + property.isNullable());
       }
 
-      if (property.isUnicode() != null) {
+      if (property.isUnicode() == false) {
         writer.writeAttribute(XML_UNICODE, "" + property.isUnicode());
       }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
index 4a4463a..e3e2c3c 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
@@ -608,7 +608,7 @@ public class UriValidator {
         throw new UriValidationException("Attempt to patch collection property.",
             UriValidationException.MessageKeys.UNSUPPORTED_HTTP_METHOD, method.toString());
       }
-      if (method == HttpMethod.DELETE && property.isNullable() != null && !property.isNullable()) {
+      if (method == HttpMethod.DELETE && !property.isNullable()) {
         throw new UriValidationException("Attempt to delete non-nullable property.",
             UriValidationException.MessageKeys.UNSUPPORTED_HTTP_METHOD, method.toString());
       }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImplTest.java
index f48f05c..f3c849b 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImplTest.java
@@ -18,6 +18,18 @@
  */
 package org.apache.olingo.server.core.edm.provider;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.olingo.commons.api.edm.EdmAction;
 import org.apache.olingo.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.commons.api.edm.EdmException;
@@ -25,25 +37,12 @@ import org.apache.olingo.commons.api.edm.EdmParameter;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.server.api.edm.provider.Action;
-import org.apache.olingo.server.api.edm.provider.EntitySetPath;
-import org.apache.olingo.server.api.edm.provider.Parameter;
-import org.apache.olingo.server.api.edm.provider.ReturnType;
+import org.apache.olingo.commons.api.edm.provider.Action;
+import org.apache.olingo.commons.api.edm.provider.Parameter;
+import org.apache.olingo.commons.api.edm.provider.ReturnType;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
 public class EdmActionImplTest {
 
   private EdmAction actionImpl1;
@@ -66,10 +65,9 @@ public class EdmActionImplTest {
     actionImpl2 = EdmActionImpl.getInstance(provider, action2Name, action2);
 
     FullQualifiedName action3Name = new FullQualifiedName("namespace", "action3");
-    EntitySetPath entitySetPath = new EntitySetPath().setBindingParameter("Id").setPath("path");
     Action action3 =
         new Action().setName("action3").setParameters(parameters).setReturnType(returnType).setEntitySetPath(
-            entitySetPath);
+            "path/Id");
     actionImpl3 = EdmActionImpl.getInstance(provider, action3Name, action3);
   }
 
@@ -127,7 +125,7 @@ public class EdmActionImplTest {
   @Test
   public void action3getReturnedEntitySetWithEntitySet() {
     EdmEntitySet set = mock(EdmEntitySet.class);
-    when(set.getRelatedBindingTarget("path")).thenReturn(set);
+    when(set.getRelatedBindingTarget("path/Id")).thenReturn(set);
 
     EdmEntitySet returnedEntitySet = actionImpl3.getReturnedEntitySet(set);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImplTest.java
index 1b4f82c..8f1ce78 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmActionImportImplTest.java
@@ -25,7 +25,7 @@ import org.apache.olingo.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.commons.api.edm.EdmException;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.Target;
-import org.apache.olingo.server.api.edm.provider.ActionImport;
+import org.apache.olingo.commons.api.edm.provider.ActionImport;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -51,7 +51,7 @@ public class EdmActionImportImplTest {
     FullQualifiedName entityContainerFqn = new FullQualifiedName("namespace", "containerName");
     Target target = new Target().setEntityContainer(entityContainerFqn).setTargetName("entitySetName");
     ActionImport providerActionImport =
-        new ActionImport().setName("actionImportName").setAction(actionFqn).setEntitySet(target);
+        new ActionImport().setName("actionImportName").setAction(actionFqn).setEntitySet(target.toString());
 
     EdmProviderImpl edm = mock(EdmProviderImpl.class);
     container = mock(EdmEntityContainer.class);
@@ -83,8 +83,8 @@ public class EdmActionImportImplTest {
 
   @Test(expected = EdmException.class)
   public void getReturnedEntitySetNonExistingContainer() {
-    Target target = new Target();
-    ActionImport providerActionImport = new ActionImport().setName("actionImportName").setEntitySet(target);
+    Target target = new Target().setEntityContainer(new FullQualifiedName("alias.nonexisting")).setTargetName("Es");
+    ActionImport providerActionImport = new ActionImport().setName("actionImportName").setEntitySet(target.toString());
     EdmActionImport actionImport =
         new EdmActionImportImpl(mock(EdmProviderImpl.class), container, providerActionImport);
     actionImport.getReturnedEntitySet();
@@ -92,8 +92,8 @@ public class EdmActionImportImplTest {
 
   @Test(expected = EdmException.class)
   public void getReturnedEntitySetNonExistingEntitySet() {
-    Target target = new Target();
-    ActionImport providerActionImport = new ActionImport().setName("actionImportName").setEntitySet(target);
+    Target target = new Target().setTargetName("nonExisting");
+    ActionImport providerActionImport = new ActionImport().setName("actionImportName").setEntitySet(target.toString());
     EdmProviderImpl edm = mock(EdmProviderImpl.class);
     when(edm.getEntityContainer(null)).thenReturn(container);
     EdmActionImport actionImport = new EdmActionImportImpl(edm, container, providerActionImport);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImplTest.java
index 8a66230..ea91594 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImplTest.java
@@ -23,10 +23,10 @@ import org.apache.olingo.commons.api.edm.EdmElement;
 import org.apache.olingo.commons.api.edm.EdmException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.Property;
+import org.apache.olingo.commons.api.edm.provider.ComplexType;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.NavigationProperty;
+import org.apache.olingo.commons.api.edm.provider.Property;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -55,7 +55,8 @@ public class EdmComplexTypeImplTest {
     FullQualifiedName baseName = new FullQualifiedName("namespace", "BaseTypeName");
     ComplexType baseComplexType = new ComplexType();
     List<Property> baseProperties = new ArrayList<Property>();
-    baseProperties.add(new Property().setName("prop1").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    baseProperties.add(new Property().setName("prop1").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
     List<NavigationProperty> baseNavigationProperties = new ArrayList<NavigationProperty>();
     baseNavigationProperties.add(new NavigationProperty().setName("nav1"));
     baseComplexType.setName("BaseTypeName").setAbstract(false).setOpenType(false).setProperties(baseProperties)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImplTest.java
index 0889106..8a7bf22 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImplTest.java
@@ -26,13 +26,13 @@ import org.apache.olingo.commons.api.edm.EdmException;
 import org.apache.olingo.commons.api.edm.EdmFunctionImport;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.ActionImport;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
-import org.apache.olingo.server.api.edm.provider.FunctionImport;
-import org.apache.olingo.server.api.edm.provider.Singleton;
+import org.apache.olingo.commons.api.edm.provider.ActionImport;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.EntityContainer;
+import org.apache.olingo.commons.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.commons.api.edm.provider.EntitySet;
+import org.apache.olingo.commons.api.edm.provider.FunctionImport;
+import org.apache.olingo.commons.api.edm.provider.Singleton;
 import org.junit.Before;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImplTest.java
index 90563d6..52effee 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImplTest.java
@@ -24,12 +24,12 @@ import org.apache.olingo.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.commons.api.edm.EdmEntityType;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.Target;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.NavigationPropertyBinding;
-import org.apache.olingo.server.api.edm.provider.PropertyRef;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.commons.api.edm.provider.EntitySet;
+import org.apache.olingo.commons.api.edm.provider.EntityType;
+import org.apache.olingo.commons.api.edm.provider.NavigationPropertyBinding;
+import org.apache.olingo.commons.api.edm.provider.PropertyRef;
 import org.junit.Test;
 
 import java.util.Arrays;
@@ -64,7 +64,7 @@ public class EdmEntitySetImplTest {
         .setIncludeInServiceDocument(true)
         .setNavigationPropertyBindings(Arrays.asList(
             new NavigationPropertyBinding().setPath("path")
-                .setTarget(new Target().setEntityContainer(containerName).setTargetName(entitySetName))));
+                .setTarget(new Target().setEntityContainer(containerName).setTargetName(entitySetName).toString())));
     when(provider.getEntitySet(containerName, entitySetName)).thenReturn(entitySetProvider);
 
     final EdmEntitySet entitySet = new EdmEntitySetImpl(edm, entityContainer, entitySetProvider);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImplTest.java
index 46ef67d..360f9d1 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImplTest.java
@@ -18,6 +18,17 @@
  */
 package org.apache.olingo.server.core.edm.provider;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.olingo.commons.api.edm.EdmComplexType;
 import org.apache.olingo.commons.api.edm.EdmElement;
 import org.apache.olingo.commons.api.edm.EdmEntityType;
@@ -26,26 +37,15 @@ import org.apache.olingo.commons.api.edm.EdmKeyPropertyRef;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.EdmProperty;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.Property;
-import org.apache.olingo.server.api.edm.provider.PropertyRef;
+import org.apache.olingo.commons.api.edm.provider.ComplexType;
+import org.apache.olingo.commons.api.edm.provider.EdmProvider;
+import org.apache.olingo.commons.api.edm.provider.EntityType;
+import org.apache.olingo.commons.api.edm.provider.NavigationProperty;
+import org.apache.olingo.commons.api.edm.provider.Property;
+import org.apache.olingo.commons.api.edm.provider.PropertyRef;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
 public class EdmEntityTypeImplTest {
 
   private EdmEntityType baseType;
@@ -81,8 +81,10 @@ public class EdmEntityTypeImplTest {
     type.setName(typeName.getName());
     type.setBaseType(baseName);
     List<Property> typeProperties = new ArrayList<Property>();
-    typeProperties.add(new Property().setName("address").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
-    typeProperties.add(new Property().setName("email").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    typeProperties.add(new Property().setName("address").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    typeProperties.add(new Property().setName("email").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
     type.setProperties(typeProperties);
     List<NavigationProperty> typeNavigationProperties = new ArrayList<NavigationProperty>();
     typeNavigationProperties.add(new NavigationProperty().setName("nav2"));
@@ -115,7 +117,7 @@ public class EdmEntityTypeImplTest {
 
     typeWithComplexKey = EdmEntityTypeImpl.getInstance(edm, typeWithComplexKeyName, typeWithComplexKeyProvider);
   }
-  
+
   @Test
   public void testAbstractBaseTypeWithoutKey() throws Exception {
     EdmProvider provider = mock(EdmProvider.class);
@@ -134,18 +136,20 @@ public class EdmEntityTypeImplTest {
     when(provider.getEntityType(baseName)).thenReturn(baseType);
     baseType.setAbstract(true);
     EdmEntityType edmAbstarctBaseType = EdmEntityTypeImpl.getInstance(edm, baseName, baseType);
-    
+
     assertEquals(2, edmAbstarctBaseType.getPropertyNames().size());
     assertEquals("Id", edmAbstarctBaseType.getPropertyNames().get(0));
     assertEquals("Name", edmAbstarctBaseType.getPropertyNames().get(1));
-    
+
     FullQualifiedName typeName = new FullQualifiedName("namespace", "typeName");
     EntityType type = new EntityType();
     type.setName(typeName.getName());
     type.setBaseType(baseName);
     List<Property> typeProperties = new ArrayList<Property>();
-    typeProperties.add(new Property().setName("address").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
-    typeProperties.add(new Property().setName("email").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    typeProperties.add(new Property().setName("address").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    typeProperties.add(new Property().setName("email").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
     type.setProperties(typeProperties);
     List<PropertyRef> key = new ArrayList<PropertyRef>();
     key.add(new PropertyRef().setName("email"));
@@ -156,24 +160,24 @@ public class EdmEntityTypeImplTest {
     when(provider.getEntityType(typeName)).thenReturn(type);
 
     EdmEntityType edmType = EdmEntityTypeImpl.getInstance(edm, typeName, type);
-    
+
     assertNotNull(edmType.getBaseType());
     assertEquals(2, edmAbstarctBaseType.getPropertyNames().size());
-    
+
     assertEquals(1, edmType.getKeyPropertyRefs().size());
     assertEquals("email", edmType.getKeyPredicateNames().get(0));
-    
+
     assertEquals(4, edmType.getPropertyNames().size());
     assertEquals("Id", edmType.getPropertyNames().get(0));
     assertEquals("Name", edmType.getPropertyNames().get(1));
     assertEquals("address", edmType.getPropertyNames().get(2));
     assertEquals("email", edmType.getPropertyNames().get(3));
-    
+
     assertEquals(2, edmType.getNavigationPropertyNames().size());
     assertEquals("nav1", edmType.getNavigationPropertyNames().get(0));
     assertEquals("nav2", edmType.getNavigationPropertyNames().get(1));
   }
-  
+
   @Test
   public void testAbstractBaseTypeWithtKey() throws Exception {
     EdmProvider provider = mock(EdmProvider.class);
@@ -195,38 +199,40 @@ public class EdmEntityTypeImplTest {
     when(provider.getEntityType(baseName)).thenReturn(baseType);
     baseType.setAbstract(true);
     EdmEntityType edmAbstarctBaseType = EdmEntityTypeImpl.getInstance(edm, baseName, baseType);
-    
+
     FullQualifiedName typeName = new FullQualifiedName("namespace", "typeName");
     EntityType type = new EntityType();
     type.setName(typeName.getName());
     type.setBaseType(baseName);
     List<Property> typeProperties = new ArrayList<Property>();
-    typeProperties.add(new Property().setName("address").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
-    typeProperties.add(new Property().setName("email").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    typeProperties.add(new Property().setName("address").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
+    typeProperties.add(new Property().setName("email").setType(
+        EdmPrimitiveTypeKind.String.getFullQualifiedName()));
     type.setProperties(typeProperties);
     List<NavigationProperty> typeNavigationProperties = new ArrayList<NavigationProperty>();
     typeNavigationProperties.add(new NavigationProperty().setName("nav2"));
     type.setNavigationProperties(typeNavigationProperties);
     when(provider.getEntityType(typeName)).thenReturn(type);
     EdmEntityType edmType = EdmEntityTypeImpl.getInstance(edm, typeName, type);
-    
+
     assertNotNull(edmType.getBaseType());
     assertEquals(2, edmAbstarctBaseType.getPropertyNames().size());
-    
+
     assertEquals(1, edmType.getKeyPropertyRefs().size());
     assertEquals("Id", edmType.getKeyPredicateNames().get(0));
-    
+
     assertEquals(4, edmType.getPropertyNames().size());
     assertEquals("Id", edmType.getPropertyNames().get(0));
     assertEquals("Name", edmType.getPropertyNames().get(1));
     assertEquals("address", edmType.getPropertyNames().get(2));
     assertEquals("email", edmType.getPropertyNames().get(3));
-    
+
     assertEquals(2, edmType.getNavigationPropertyNames().size());
     assertEquals("nav1", edmType.getNavigationPropertyNames().get(0));
     assertEquals("nav2", edmType.getNavigationPropertyNames().get(1));
   }
-  
+
   @Test
   public void hasStream() {
     assertFalse(typeWithBaseType.hasStream());