You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/03/10 10:02:48 UTC

[32/51] [abbrv] [partial] [OLINGO-192] rename java packages

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetBuilder.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetBuilder.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetBuilder.java
deleted file mode 100644
index 8d4faad..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetBuilder.java
+++ /dev/null
@@ -1,72 +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.odata4.client.core.deserializer;
-
-import java.io.IOException;
-
-import org.apache.olingo.odata4.client.api.deserializer.EntitySet;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-
-public class EntitySetBuilder {
-
-  private final JsonParser parser;
-
-  public EntitySetBuilder(final JsonParser jp) {
-    parser = jp;
-  }
-
-  public EntitySet buildEntitySet() throws JsonParseException, IOException {
-    return parseEntitySet(parser);
-  }
-
-  private EntitySet parseEntitySet(final JsonParser jp) throws JsonParseException, IOException {
-    final EntitySetImpl entitySet = new EntitySetImpl();
-    boolean arrayStarted = false;
-
-    while (jp.nextToken() != null) {
-      final JsonToken token = jp.getCurrentToken();
-      switch (token) {
-        case START_ARRAY:
-          final PropertyCollectionBuilder builder = new PropertyCollectionBuilder(jp, entitySet);
-          entitySet.setPropertyCollectionBuilder(builder);
-          arrayStarted = true;
-          break;
-
-        case START_OBJECT:
-          if (arrayStarted) {
-            return entitySet;
-          }
-          break;
-
-        case VALUE_NUMBER_INT:
-        case VALUE_STRING:
-          entitySet.addAnnotation(jp.getCurrentName(), jp.getValueAsString());
-          break;
-
-        default:
-          break;
-      }
-    }
-
-    return entitySet;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetImpl.java
deleted file mode 100644
index 1c9dd66..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/EntitySetImpl.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.odata4.client.core.deserializer;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.olingo.odata4.client.api.deserializer.Entity;
-import org.apache.olingo.odata4.client.api.deserializer.EntitySet;
-
-import com.fasterxml.jackson.core.JsonParseException;
-
-public class EntitySetImpl implements EntitySet, Iterator<Entity> {
-
-  private String odataContext;
-
-  private Long odataCount;
-
-  private String odataNextLink;
-
-  private String odataDeltaLink;
-
-  private List<Entity> entities = null;
-
-  private PropertyCollectionBuilder propertyCollectionsBuilder;
-
-  @Override
-  public String getODataContext() {
-    return odataContext;
-  }
-
-  @Override
-  public Long getODataCount() {
-    return odataCount;
-  }
-
-  @Override
-  public String getODataNextLink() {
-    return odataNextLink;
-  }
-
-  @Override
-  public String getODataDeltaLink() {
-    return odataDeltaLink;
-  }
-
-  public void addAnnotation(final String name, final String value) {
-    if ("odata.context".equalsIgnoreCase(name)) {
-      odataContext = value;
-    } else if ("odata.deltaLink".equalsIgnoreCase(name)) {
-      odataDeltaLink = value;
-    } else if ("odata.count".equalsIgnoreCase(name)) {
-      odataCount = Long.parseLong(value);
-    } else if ("odata.nextLink".equalsIgnoreCase(name)) {
-      odataNextLink = value;
-    }
-  }
-
-  @Override
-  public List<Entity> getEntities() {
-    if (entities == null) {
-      entities = new ArrayList<Entity>();
-
-      while (propertyCollectionsBuilder.parseNext()) {
-        entities.add(propertyCollectionsBuilder.buildEntity());
-      }
-    }
-
-    return entities;
-  }
-
-  public void setPropertyCollectionBuilder(final PropertyCollectionBuilder builder) {
-    propertyCollectionsBuilder = builder;
-  }
-
-  @Override
-  public boolean hasNext() {
-    try {
-      return propertyCollectionsBuilder.hasNext();
-    } catch (JsonParseException e) {
-    } catch (IOException e) {
-    }
-    return false;
-  }
-
-  @Override
-  public Entity next() {
-    if (propertyCollectionsBuilder.parseNext()) {
-      return propertyCollectionsBuilder.buildEntity();
-    }
-    return null;
-  }
-
-  @Override
-  public void remove() {
-  }
-
-  @Override
-  public Iterator<Entity> iterator() {
-    return this;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/JsonReader.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/JsonReader.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/JsonReader.java
deleted file mode 100644
index 1cbe6c1..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/JsonReader.java
+++ /dev/null
@@ -1,89 +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.odata4.client.core.deserializer;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-
-import org.apache.olingo.odata4.client.api.deserializer.ClientException;
-import org.apache.olingo.odata4.client.api.deserializer.Entity;
-import org.apache.olingo.odata4.client.api.deserializer.EntitySet;
-import org.apache.olingo.odata4.client.api.deserializer.Property;
-import org.apache.olingo.odata4.client.api.deserializer.Reader;
-import org.apache.olingo.odata4.client.api.deserializer.StructuralProperty;
-
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-
-public class JsonReader implements Reader {
-
-  @Override
-  public EntitySet readEntitySet(final InputStream in) throws ClientException {
-
-    final JsonFactory jsonFactory = new JsonFactory();
-    // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory
-    try {
-      JsonParser jp = jsonFactory.createParser(in);
-      EntitySetBuilder entitySet = new EntitySetBuilder(jp);
-      return entitySet.buildEntitySet();
-    } catch (JsonParseException e) {
-      throw new ClientException("JSON Parsing failed.", e);
-    } catch (IOException e) {
-      throw new ClientException("JSON Parsing failed.", e);
-    }
-  }
-
-  @Override
-  public Entity readEntity(final InputStream in) throws ClientException {
-    Entity entity = null;
-
-    final JsonFactory jsonFactory = new JsonFactory();
-    // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory
-    try {
-      final JsonParser jp = jsonFactory.createParser(in);
-      final PropertyCollectionBuilder builder = new PropertyCollectionBuilder(jp);
-      builder.parseNext();
-      entity = builder.buildEntity();
-    } catch (JsonParseException e) {
-      throw new ClientException("JSON Parsing failed.", e);
-    } catch (IOException e) {
-      throw new ClientException("JSON Parsing failed.", e);
-    }
-
-    return entity;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.apache.olingo.core.consumer.Reader#parseProperty(java.io.InputStream)
-   */
-  @Override
-  public Property readProperty(final InputStream in) throws ClientException {
-    final Entity entity = readEntity(in);
-
-    final Map<String, StructuralProperty> properties = entity.getStructuralProperties();
-    if (properties.size() == 1) {
-      return properties.values().iterator().next();
-    }
-    return null;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/NavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/NavigationPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/NavigationPropertyImpl.java
deleted file mode 100644
index c16dafb..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/NavigationPropertyImpl.java
+++ /dev/null
@@ -1,89 +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.odata4.client.core.deserializer;
-
-import org.apache.olingo.odata4.client.api.deserializer.NavigationProperty;
-
-public class NavigationPropertyImpl implements NavigationProperty {
-
-  private final String name;
-
-  private String associationLink;
-
-  private String navigationLink;
-
-  public NavigationPropertyImpl(final String name) {
-    this.name = parseName(name);
-  }
-
-  public NavigationPropertyImpl(final String name, final String link) {
-    this(name);
-    updateLink(name, link);
-  }
-
-  @Override
-  public String getName() {
-    return name;
-  }
-
-  @Override
-  public String getAssociationLink() {
-    return associationLink;
-  }
-
-  @Override
-  public String getNavigationLink() {
-    return navigationLink;
-  }
-
-  public void updateLink(final String name, final String link) {
-    final String regexNavigationLink = ".*@odata.navigationLink$";
-    final String regexAssociationLink = ".*@odata.associationLink$";
-    if (name.matches(regexNavigationLink)) {
-      navigationLink = link;
-    } else if (name.matches(regexAssociationLink)) {
-      associationLink = link;
-    }
-  }
-
-  private String parseName(final String nameToParse) {
-    final String[] split = nameToParse.split("@");
-    if (split.length == 2) {
-      return split[0];
-    } else {
-      throw new IllegalArgumentException("Got OData Navigation with unparseable format '"
-              + nameToParse + "'.");
-    }
-  }
-
-  public void updateLink(final NavigationProperty navigationProperty) {
-    if (navigationProperty.getAssociationLink() != null) {
-      associationLink = navigationProperty.getAssociationLink();
-    }
-    if (navigationProperty.getNavigationLink() != null) {
-      navigationLink = navigationProperty.getNavigationLink();
-    }
-  }
-
-  @Override
-  public String toString() {
-    return "NavigationPropertyImpl [name=" + name + ", associationLink=" + associationLink
-            + ", navigationLink=" + navigationLink + "]";
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PrimitiveValue.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PrimitiveValue.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PrimitiveValue.java
deleted file mode 100644
index b0de76d..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PrimitiveValue.java
+++ /dev/null
@@ -1,51 +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.odata4.client.core.deserializer;
-
-import org.apache.olingo.odata4.client.api.deserializer.Value;
-
-public class PrimitiveValue implements Value {
-
-  private final Object content;
-
-  public PrimitiveValue(final Object content) {
-    this.content = content;
-  }
-
-  @Override
-  public boolean isComplex() {
-    return false;
-  }
-
-  @Override
-  public Object getContent() {
-    return content;
-  }
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public <T> T getContentAs(final T type) {
-    return (T) content;
-  }
-
-  @Override
-  public String toString() {
-    return String.valueOf(content);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollection.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollection.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollection.java
deleted file mode 100644
index 0784ea4..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollection.java
+++ /dev/null
@@ -1,96 +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.odata4.client.core.deserializer;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.odata4.client.api.deserializer.AnnotationProperty;
-import org.apache.olingo.odata4.client.api.deserializer.NavigationProperty;
-import org.apache.olingo.odata4.client.api.deserializer.Property;
-import org.apache.olingo.odata4.client.api.deserializer.StructuralProperty;
-
-abstract class PropertyCollection {
-
-  protected Map<String, AnnotationProperty> annotationProperties = new HashMap<String, AnnotationProperty>();
-
-  protected Map<String, NavigationProperty> navigationProperties = new HashMap<String, NavigationProperty>();
-
-  protected Map<String, StructuralProperty> structuralProperties = new HashMap<String, StructuralProperty>();
-
-  public PropertyCollection() {
-  }
-
-  protected PropertyCollection(final Map<String, AnnotationProperty> annotationProperties,
-          final Map<String, NavigationProperty> navigationProperties,
-          final Map<String, StructuralProperty> structuralProperties) {
-
-    this.annotationProperties = annotationProperties;
-    this.navigationProperties = navigationProperties;
-    this.structuralProperties = structuralProperties;
-  }
-
-  public List<Property> getProperties() {
-    final int initialCapacity = annotationProperties.size() + navigationProperties.size() + structuralProperties.size();
-
-    final List<Property> properties = new ArrayList<Property>(initialCapacity);
-    properties.addAll(annotationProperties.values());
-    properties.addAll(navigationProperties.values());
-    properties.addAll(structuralProperties.values());
-
-    return properties;
-  }
-
-  public Map<String, AnnotationProperty> getAnnotationProperties() {
-    return Collections.unmodifiableMap(annotationProperties);
-  }
-
-  public Map<String, NavigationProperty> getNavigationProperties() {
-    return Collections.unmodifiableMap(navigationProperties);
-  }
-
-  public Map<String, StructuralProperty> getStructuralProperties() {
-    return Collections.unmodifiableMap(structuralProperties);
-  }
-
-  public void addProperty(final Property property) {
-    if (property == null) {
-      throw new IllegalArgumentException("Property parameter MUST NOT be NULL.");
-    }
-
-    if (property instanceof NavigationPropertyImpl) {
-      final NavigationPropertyImpl navProperty = (NavigationPropertyImpl) navigationProperties.get(property.getName());
-      if (navProperty == null) {
-        navigationProperties.put(property.getName(), (NavigationPropertyImpl) property);
-      } else {
-        final NavigationProperty temp = (NavigationProperty) property;
-        navProperty.updateLink(temp);
-      }
-    } else if (property instanceof AnnotationPropertyImpl) {
-      annotationProperties.put(property.getName(), (AnnotationPropertyImpl) property);
-    } else if (property instanceof StructuralProperty) {
-      structuralProperties.put(property.getName(), (StructuralProperty) property);
-    } else {
-      throw new IllegalArgumentException("Unknown class '" + property.getClass() + "'.");
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollectionBuilder.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollectionBuilder.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollectionBuilder.java
deleted file mode 100644
index 30f048d..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/PropertyCollectionBuilder.java
+++ /dev/null
@@ -1,220 +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.odata4.client.core.deserializer;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.apache.olingo.odata4.client.api.deserializer.AnnotationProperty;
-import org.apache.olingo.odata4.client.api.deserializer.ComplexValue;
-import org.apache.olingo.odata4.client.api.deserializer.Entity;
-import org.apache.olingo.odata4.client.api.deserializer.NavigationProperty;
-import org.apache.olingo.odata4.client.api.deserializer.Property;
-import org.apache.olingo.odata4.client.api.deserializer.StructuralProperty;
-import org.apache.olingo.odata4.client.api.deserializer.Value;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class PropertyCollectionBuilder extends PropertyCollection {
-
-  private static final Logger LOG = LoggerFactory.getLogger(PropertyCollectionBuilder.class);
-
-  private JsonParser parser;
-
-  private EntitySetImpl enclosingEntitySet;
-
-  private PropertyCollectionBuilder next = null;
-
-  public PropertyCollectionBuilder(final JsonParser parser) {
-    this.parser = parser;
-  }
-
-  private PropertyCollectionBuilder() {
-  }
-
-  public PropertyCollectionBuilder(final JsonParser jp, final EntitySetImpl entitySet) {
-    this(jp);
-    enclosingEntitySet = entitySet;
-  }
-
-  public Entity buildEntity() {
-    final Entity entity = new EntityImpl(annotationProperties, navigationProperties, structuralProperties);
-    resetProperties();
-    return entity;
-  }
-
-  public ComplexValue buildComplexValue() {
-    final ComplexValue value = new ComplexValueImpl(annotationProperties, navigationProperties, structuralProperties);
-    resetProperties();
-    return value;
-  }
-
-  private void resetProperties() {
-    annotationProperties = new HashMap<String, AnnotationProperty>();
-    navigationProperties = new HashMap<String, NavigationProperty>();
-    structuralProperties = new HashMap<String, StructuralProperty>();
-  }
-
-  public boolean hasNext() throws JsonParseException, IOException {
-    if (parser.isClosed()) {
-      return false;
-    }
-    next = parseNextObject(parser, this);
-    return (next != null);
-  }
-
-  public boolean parseNext() {
-    try {
-      if (hasNext()) {
-        if (next != null) {
-          return true;
-        }
-
-        if (next == null) {
-          parser.close();
-          return false;
-        }
-        return true;
-      }
-    } catch (JsonParseException e) {
-      LOG.error("While parsing", e);
-    } catch (IOException e) {
-      LOG.error("While parsing", e);
-    }
-    return false;
-
-  }
-
-  /**
-   *
-   * @param jp
-   * @param builder
-   * @return
-   * @throws IOException
-   * @throws JsonParseException
-   */
-  private PropertyCollectionBuilder parseNextObject(final JsonParser jp, final PropertyCollectionBuilder builder)
-          throws JsonParseException, IOException {
-
-    boolean endReached = readToStartObjectOrEnd(jp);
-    if (endReached) {
-      return null;
-    }
-
-    //
-    String currentFieldName = null;
-    List<Value> values = null;
-
-    while (jp.nextToken() != null) {
-      final JsonToken token = jp.getCurrentToken();
-      switch (token) {
-        case START_OBJECT:
-          if (currentFieldName != null) {
-            final ComplexValue cvp = parseNextObject(jp, new PropertyCollectionBuilder()).buildComplexValue();
-            if (values == null) {
-              builder.addProperty(new StructuralPropertyImpl(currentFieldName, cvp));
-            } else {
-              values.add(cvp);
-            }
-          }
-          break;
-        case END_OBJECT:
-          return builder;
-        case START_ARRAY:
-          values = new ArrayList<Value>();
-          break;
-        case END_ARRAY:
-          if (values != null) {
-            builder.addProperty(new StructuralPropertyImpl(currentFieldName, values));
-            values = null;
-          }
-          break;
-        case FIELD_NAME:
-          currentFieldName = jp.getCurrentName();
-          break;
-        case NOT_AVAILABLE:
-          break;
-        case VALUE_EMBEDDED_OBJECT:
-          break;
-        case VALUE_NULL:
-          Property nullProperty = createProperty(jp.getCurrentName(), null);
-          builder.addProperty(nullProperty);
-          break;
-        case VALUE_FALSE:
-        case VALUE_NUMBER_FLOAT:
-        case VALUE_NUMBER_INT:
-        case VALUE_STRING:
-        case VALUE_TRUE:
-          if (values == null) {
-            Property property = createProperty(jp.getCurrentName(), jp.getValueAsString());
-            builder.addProperty(property);
-          } else {
-            PrimitiveValue value = new PrimitiveValue(jp.getValueAsString());
-            values.add(value);
-          }
-          break;
-        default:
-          break;
-      }
-    }
-
-    return null;
-  }
-
-  private boolean readToStartObjectOrEnd(final JsonParser jp) throws IOException, JsonParseException {
-    final JsonToken endToken = JsonToken.START_OBJECT;
-    JsonToken token = jp.getCurrentToken() == null ? jp.nextToken() : jp.getCurrentToken();
-    while (token != null && token != endToken) {
-      if (enclosingEntitySet != null) {
-        switch (token) {
-          case VALUE_FALSE:
-          case VALUE_NUMBER_FLOAT:
-          case VALUE_NUMBER_INT:
-          case VALUE_TRUE:
-          case VALUE_STRING:
-            enclosingEntitySet.addAnnotation(jp.getCurrentName(), jp.getValueAsString());
-            break;
-
-          default:
-            break;
-        }
-      }
-      //
-      token = jp.nextToken();
-    }
-
-    return token == null;
-  }
-
-  private Property createProperty(final String name, final String value) {
-    if (name.contains("@")) {
-      return new NavigationPropertyImpl(name, value);
-    } else if (name.contains(".")) {
-      return new AnnotationPropertyImpl(name, value);
-    } else {
-      return new StructuralPropertyImpl(name, new PrimitiveValue(value));
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/StructuralPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/StructuralPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/StructuralPropertyImpl.java
deleted file mode 100644
index 8e4f62e..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/deserializer/StructuralPropertyImpl.java
+++ /dev/null
@@ -1,83 +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.odata4.client.core.deserializer;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.odata4.client.api.deserializer.StructuralProperty;
-import org.apache.olingo.odata4.client.api.deserializer.Value;
-
-public class StructuralPropertyImpl implements StructuralProperty {
-
-  private final List<Value> values;
-
-  private final String name;
-
-  private final boolean containsCollection;
-
-  public StructuralPropertyImpl(final String name, final Value value) {
-    this(name, false, value);
-  }
-
-  public StructuralPropertyImpl(final String name, final List<Value> values) {
-    // XXX: ugly -> refactor
-    this(name, true, values.toArray(new Value[0]));
-  }
-
-  public StructuralPropertyImpl(final String name, final boolean asCollection, final Value... value) {
-    if (value == null || value.length == 0) {
-      throw new IllegalArgumentException("Missing or NULL value argument.");
-    }
-
-    containsCollection = asCollection;
-    this.name = name;
-    values = new ArrayList<Value>(value.length);
-    for (Value v : value) {
-      values.add(v);
-    }
-  }
-
-  @Override
-  public Value getValue() {
-    return values.get(0);
-  }
-
-  @Override
-  public List<Value> getValues() {
-    return Collections.unmodifiableList(values);
-  }
-
-  @Override
-  public String getName() {
-    return name;
-  }
-
-  @Override
-  public boolean containsCollection() {
-    return containsCollection;
-  }
-
-  @Override
-  public String toString() {
-    return "StructuralPropertyImpl [name=" + name + ", containsCollection=" + containsCollection
-            + ", values=" + values + "]";
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java
deleted file mode 100644
index 15e7e2c..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.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.odata4.client.core.edm;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import org.apache.olingo.odata4.client.api.edm.xml.EntityContainer;
-import org.apache.olingo.odata4.client.api.edm.xml.EntitySet;
-import org.apache.olingo.odata4.client.api.edm.xml.Schema;
-import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.odata4.commons.api.edm.EdmActionImportInfo;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySetInfo;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
-import org.apache.olingo.odata4.commons.api.edm.EdmServiceMetadata;
-import org.apache.olingo.odata4.commons.core.edm.EdmEntitySetInfoImpl;
-
-public abstract class AbstractEdmServiceMetadataImpl implements EdmServiceMetadata {
-
-  protected final XMLMetadata xmlMetadata;
-
-  private List<EdmEntitySetInfo> entitySetInfos;
-
-  protected List<EdmFunctionImportInfo> functionImportInfos;
-
-  protected List<EdmActionImportInfo> actionImportInfos;
-
-  public static EdmServiceMetadata getInstance(final XMLMetadata xmlMetadata) {
-    return xmlMetadata instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl
-            ? new org.apache.olingo.odata4.client.core.edm.v3.EdmServiceMetadataImpl(
-                    (org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl) xmlMetadata)
-            : new org.apache.olingo.odata4.client.core.edm.v4.EdmServiceMetadataImpl(
-                    (org.apache.olingo.odata4.client.core.edm.xml.v4.XMLMetadataImpl) xmlMetadata);
-
-  }
-
-  public AbstractEdmServiceMetadataImpl(final XMLMetadata xmlMetadata) {
-    this.xmlMetadata = xmlMetadata;
-  }
-
-  @Override
-  public InputStream getMetadata() {
-    throw new UnsupportedOperationException("Not supported in client code.");
-  }
-
-  @Override
-  public List<EdmEntitySetInfo> getEntitySetInfos() {
-    synchronized (this) {
-      if (entitySetInfos == null) {
-        entitySetInfos = new ArrayList<EdmEntitySetInfo>();
-        for (Schema schema : xmlMetadata.getSchemas()) {
-          for (EntityContainer entityContainer : schema.getEntityContainers()) {
-            for (EntitySet entitySet : entityContainer.getEntitySets()) {
-              entitySetInfos.add(
-                      new EdmEntitySetInfoImpl(entityContainer.getName(), entitySet.getName()));
-            }
-          }
-        }
-      }
-      return entitySetInfos;
-    }
-  }
-
-  @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/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java
deleted file mode 100644
index 8cf1eed..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java
+++ /dev/null
@@ -1,37 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.Action;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmAction;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
-
-public class EdmActionImpl extends EdmOperationImpl implements EdmAction {
-
-  public static EdmActionImpl getInstance(final Edm edm, final FullQualifiedName name, final Action action) {
-    return EdmOperationImpl.getInstance(new EdmActionImpl(edm, name, action));
-  }
-
-  private EdmActionImpl(final Edm edm, final FullQualifiedName name, final Action action) {
-    super(edm, name, action, EdmTypeKind.ACTION);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java
deleted file mode 100644
index 1af0f47..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java
+++ /dev/null
@@ -1,45 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.ActionImport;
-import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmAction;
-import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-
-public class EdmActionImportImpl extends EdmOperationImportImpl implements EdmActionImport {
-
-  private final ActionImport actionImport;
-
-  public EdmActionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
-          final ActionImport actionImport) {
-
-    super(edm, container, name, actionImport.getEntitySet());
-    this.actionImport = actionImport;
-  }
-
-  @Override
-  public EdmAction getAction() {
-    return edm.getAction(
-            new EdmTypeInfo(actionImport.getAction(), container.getNamespace()).getFullQualifiedName(), null, null);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java
deleted file mode 100644
index fd4c66a..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java
+++ /dev/null
@@ -1,78 +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.odata4.client.core.edm;
-
-import java.util.Iterator;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.BindingTarget;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationPropertyBinding;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.Target;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmBindingTarget;
-
-public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
-
-  private final BindingTarget target;
-
-  public EdmBindingTargetImpl(final Edm edm, final EdmEntityContainer container,
-          final String name, final FullQualifiedName type, final BindingTarget target) {
-
-    super(edm, container, name, type);
-    this.target = target;
-  }
-
-  @Override
-  public EdmBindingTarget getRelatedBindingTarget(final String path) {
-    EdmBindingTarget bindingTarget = null;
-
-    final List<? extends NavigationPropertyBinding> navigationPropertyBindings = target.getNavigationPropertyBindings();
-    boolean found = false;
-    for (final Iterator<? extends NavigationPropertyBinding> itor = navigationPropertyBindings.iterator();
-            itor.hasNext() && !found;) {
-
-      final NavigationPropertyBinding binding = itor.next();
-      if (binding.getPath().equals(path)) {
-        final Target edmTarget = new Target.Builder(binding.getTarget(), container).build();
-
-        final EdmEntityContainer entityContainer = edm.getEntityContainer(edmTarget.getEntityContainer());
-        if (entityContainer == null) {
-          throw new EdmException("Cannot find entity container with name: " + edmTarget.getEntityContainer());
-        }
-        bindingTarget = entityContainer.getEntitySet(edmTarget.getTargetName());
-        if (bindingTarget == null) {
-          bindingTarget = entityContainer.getSingleton(edmTarget.getTargetName());
-          if (bindingTarget == null) {
-            throw new EdmException("Cannot find target with name: " + edmTarget.getTargetName());
-          }
-
-          found = true;
-        } else {
-          found = true;
-        }
-      }
-    }
-
-    return bindingTarget;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java
deleted file mode 100644
index 905a310..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java
+++ /dev/null
@@ -1,370 +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.odata4.client.core.edm;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
-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.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
-import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
-import org.apache.olingo.odata4.client.api.edm.xml.Schema;
-import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
-import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.TypeDefinition;
-import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
-import org.apache.olingo.odata4.client.api.UnsupportedInV3Exception;
-import org.apache.olingo.odata4.client.api.edm.xml.EntityContainer;
-import org.apache.olingo.odata4.client.api.edm.xml.v3.FunctionImport;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.Action;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.Function;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmActionProxy;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmFunctionProxy;
-import org.apache.olingo.odata4.client.core.edm.v3.V3FunctionImportUtils;
-import org.apache.olingo.odata4.commons.api.edm.EdmAction;
-import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
-import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
-import org.apache.olingo.odata4.commons.api.edm.EdmServiceMetadata;
-import org.apache.olingo.odata4.commons.api.edm.EdmTypeDefinition;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmImpl;
-
-public class EdmClientImpl extends AbstractEdmImpl {
-
-  private final XMLMetadata xmlMetadata;
-
-  private final EdmServiceMetadata serviceMetadata;
-
-  public EdmClientImpl(final XMLMetadata xmlMetadata) {
-    this.xmlMetadata = xmlMetadata;
-    this.serviceMetadata = AbstractEdmServiceMetadataImpl.getInstance(xmlMetadata);
-  }
-
-  public XMLMetadata getXMLMetadata() {
-    return xmlMetadata;
-  }
-
-  @Override
-  protected EdmServiceMetadata createServiceMetadata() {
-    return serviceMetadata;
-  }
-
-  @Override
-  protected Map<String, String> createAliasToNamespaceInfo() {
-    final Map<String, String> aliasToNamespace = new HashMap<String, String>();
-
-    for (Schema schema : xmlMetadata.getSchemas()) {
-      aliasToNamespace.put(null, schema.getNamespace());
-      if (StringUtils.isNotBlank(schema.getAlias())) {
-        aliasToNamespace.put(schema.getAlias(), schema.getNamespace());
-      }
-    }
-
-    return aliasToNamespace;
-  }
-
-  @Override
-  protected EdmEntityContainer createEntityContainer(final FullQualifiedName containerName) {
-    EdmEntityContainer result = null;
-
-    final Schema schema = xmlMetadata.getSchema(containerName.getNamespace());
-    if (schema != null) {
-      final EntityContainer xmlEntityContainer = schema.getDefaultEntityContainer();
-      if (xmlEntityContainer != null) {
-        result = new EdmEntityContainerImpl(this, containerName, xmlEntityContainer, xmlMetadata);
-      }
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmEnumType createEnumType(final FullQualifiedName enumName) {
-    EdmEnumType result = null;
-
-    final Schema schema = xmlMetadata.getSchema(enumName.getNamespace());
-    if (schema != null) {
-      final EnumType xmlEnumType = schema.getEnumType(enumName.getName());
-      if (xmlEnumType != null) {
-        result = new EdmEnumTypeImpl(this, enumName, xmlEnumType);
-      }
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmTypeDefinition createTypeDefinition(final FullQualifiedName typeDefinitionName) {
-    EdmTypeDefinition result = null;
-
-    final Schema schema = xmlMetadata.getSchema(typeDefinitionName.getNamespace());
-    if (schema instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) {
-      final TypeDefinition xmlTypeDefinition = ((org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) schema).
-              getTypeDefinition(typeDefinitionName.getName());
-      if (xmlTypeDefinition != null) {
-        result = new EdmTypeDefinitionImpl(this, typeDefinitionName, xmlTypeDefinition);
-      }
-    } else {
-      throw new UnsupportedInV3Exception();
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmEntityType createEntityType(final FullQualifiedName entityTypeName) {
-    EdmEntityType result = null;
-
-    final Schema schema = xmlMetadata.getSchema(entityTypeName.getNamespace());
-    final EntityType xmlEntityType = schema.getEntityType(entityTypeName.getName());
-    if (xmlEntityType != null) {
-      result = EdmEntityTypeImpl.getInstance(this, entityTypeName, xmlEntityType);
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmComplexType createComplexType(final FullQualifiedName complexTypeName) {
-    EdmComplexType result = null;
-
-    final Schema schema = xmlMetadata.getSchema(complexTypeName.getNamespace());
-    final ComplexType xmlComplexType = schema.getComplexType(complexTypeName.getName());
-    if (xmlComplexType != null) {
-      result = EdmComplexTypeImpl.getInstance(this, complexTypeName, xmlComplexType);
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmAction createUnboundAction(final FullQualifiedName actionName) {
-    EdmAction result = null;
-
-    final Schema schema = xmlMetadata.getSchema(actionName.getNamespace());
-    if (schema instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) {
-      final List<Action> actions = ((org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) schema).
-              getActions(actionName.getName());
-      boolean found = false;
-      for (final Iterator<Action> itor = actions.iterator(); itor.hasNext() && !found;) {
-        final Action action = itor.next();
-        if (!action.isBound()) {
-          found = true;
-          result = EdmActionImpl.getInstance(this, actionName, action);
-        }
-      }
-    } else {
-      for (EntityContainer entityContainer : schema.getEntityContainers()) {
-        @SuppressWarnings("unchecked")
-        final List<FunctionImport> functionImports = (List<FunctionImport>) entityContainer.
-                getFunctionImports(actionName.getName());
-        boolean found = false;
-        for (final Iterator<FunctionImport> itor = functionImports.iterator(); itor.hasNext() && !found;) {
-          final FunctionImport functionImport = itor.next();
-          if (!V3FunctionImportUtils.canProxyFunction(functionImport) && !functionImport.isBindable()) {
-            found = functionImport.getParameters().isEmpty();
-            result = EdmActionProxy.getInstance(this, actionName, functionImport);
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmFunction createUnboundFunction(final FullQualifiedName functionName, final List<String> parameterNames) {
-    EdmFunction result = null;
-
-    final Schema schema = xmlMetadata.getSchema(functionName.getNamespace());
-    if (schema instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) {
-      final List<Function> functions = ((org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) schema).
-              getFunctions(functionName.getName());
-      boolean found = false;
-      for (final Iterator<Function> itor = functions.iterator(); itor.hasNext() && !found;) {
-        final Function function = itor.next();
-        if (!function.isBound()) {
-          final Set<String> functionParamNames = new HashSet<String>();
-          for (CommonParameter param : function.getParameters()) {
-            functionParamNames.add(param.getName());
-          }
-          found = parameterNames == null
-                  ? functionParamNames.isEmpty()
-                  : functionParamNames.containsAll(parameterNames);
-          result = EdmFunctionImpl.getInstance(this, functionName, function);
-        }
-      }
-    } else {
-      for (EntityContainer entityContainer : schema.getEntityContainers()) {
-        @SuppressWarnings("unchecked")
-        final List<FunctionImport> functionImports = (List<FunctionImport>) entityContainer.
-                getFunctionImports(functionName.getName());
-        boolean found = false;
-        for (final Iterator<FunctionImport> itor = functionImports.iterator(); itor.hasNext() && !found;) {
-          final FunctionImport functionImport = itor.next();
-          if (V3FunctionImportUtils.canProxyFunction(functionImport) && !functionImport.isBindable()) {
-            final Set<String> functionParamNames = new HashSet<String>();
-            for (CommonParameter param : functionImport.getParameters()) {
-              functionParamNames.add(param.getName());
-            }
-            found = parameterNames == null
-                    ? functionParamNames.isEmpty()
-                    : functionParamNames.containsAll(parameterNames);
-            result = EdmFunctionProxy.getInstance(this, functionName, functionImport);
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmAction createBoundAction(final FullQualifiedName actionName,
-          final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection) {
-
-    EdmAction result = null;
-
-    final Schema schema = xmlMetadata.getSchema(actionName.getNamespace());
-    if (schema instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) {
-      final List<Action> actions = ((org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) schema).
-              getActions(actionName.getName());
-      boolean found = false;
-      for (final Iterator<Action> itor = actions.iterator(); itor.hasNext() && !found;) {
-        final Action action = itor.next();
-        if (action.isBound()) {
-          final EdmTypeInfo boundParam = new EdmTypeInfo(action.getParameters().get(0).getType());
-          if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())
-                  && isBindingParameterCollection.booleanValue() == boundParam.isCollection()) {
-
-            found = true;
-            result = EdmActionImpl.getInstance(this, actionName, action);
-          }
-        }
-      }
-    } else {
-      for (EntityContainer entityContainer : schema.getEntityContainers()) {
-        @SuppressWarnings("unchecked")
-        final List<FunctionImport> functionImports = (List<FunctionImport>) entityContainer.
-                getFunctionImports(actionName.getName());
-        boolean found = false;
-        for (final Iterator<FunctionImport> itor = functionImports.iterator(); itor.hasNext() && !found;) {
-          final FunctionImport functionImport = itor.next();
-          if (!V3FunctionImportUtils.canProxyFunction(functionImport) && functionImport.isBindable()) {
-            final EdmTypeInfo boundParam = new EdmTypeInfo(functionImport.getParameters().get(0).getType());
-            if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())
-                    && isBindingParameterCollection.booleanValue() == boundParam.isCollection()) {
-
-              found = true;
-              result = EdmActionProxy.getInstance(this, actionName, functionImport);
-            }
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  @Override
-  protected EdmFunction createBoundFunction(final FullQualifiedName functionName,
-          final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection,
-          final List<String> parameterNames) {
-
-    EdmFunction result = null;
-
-    final Schema schema = xmlMetadata.getSchema(functionName.getNamespace());
-    if (schema instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) {
-      final List<Function> functions = ((org.apache.olingo.odata4.client.api.edm.xml.v4.Schema) schema).
-              getFunctions(functionName.getName());
-      boolean found = false;
-      for (final Iterator<Function> itor = functions.iterator(); itor.hasNext() && !found;) {
-        final Function function = itor.next();
-        if (function.isBound()) {
-          final EdmTypeInfo boundParam = new EdmTypeInfo(function.getParameters().get(0).getType());
-          if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())
-                  && isBindingParameterCollection.booleanValue() == boundParam.isCollection()) {
-
-            final Set<String> functionParamNames = new HashSet<String>();
-            for (CommonParameter param : function.getParameters()) {
-              functionParamNames.add(param.getName());
-            }
-            found = parameterNames == null
-                    ? functionParamNames.isEmpty()
-                    : functionParamNames.containsAll(parameterNames);
-            result = EdmFunctionImpl.getInstance(this, functionName, function);
-          }
-        }
-      }
-    } else {
-      for (EntityContainer entityContainer : schema.getEntityContainers()) {
-        @SuppressWarnings("unchecked")
-        final List<FunctionImport> functionImports = (List<FunctionImport>) entityContainer.
-                getFunctionImports(functionName.getName());
-        boolean found = false;
-        for (final Iterator<FunctionImport> itor = functionImports.iterator(); itor.hasNext() && !found;) {
-          final FunctionImport functionImport = itor.next();
-          if (!V3FunctionImportUtils.canProxyFunction(functionImport) && functionImport.isBindable()) {
-            final EdmTypeInfo boundParam = new EdmTypeInfo(functionImport.getParameters().get(0).getType());
-            if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())
-                    && isBindingParameterCollection.booleanValue() == boundParam.isCollection()) {
-
-              final Set<String> functionParamNames = new HashSet<String>();
-              for (CommonParameter param : functionImport.getParameters()) {
-                functionParamNames.add(param.getName());
-              }
-              found = parameterNames == null
-                      ? functionParamNames.isEmpty()
-                      : functionParamNames.containsAll(parameterNames);
-              result = EdmFunctionProxy.getInstance(this, functionName, functionImport);
-            }
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  @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/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.java
deleted file mode 100644
index b10bf79..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.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.odata4.client.core.edm;
-
-import java.util.Map;
-import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
-import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmComplexType;
-import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
-
-public class EdmComplexTypeImpl extends AbstractEdmComplexType {
-
-  private final EdmStructuredTypeHelper helper;
-
-  public static EdmComplexTypeImpl getInstance(final Edm edm, final FullQualifiedName fqn,
-          final ComplexType complexType) {
-
-    FullQualifiedName baseTypeName = null;
-    if (complexType instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.ComplexType) {
-      final String baseType = ((org.apache.olingo.odata4.client.api.edm.xml.v4.ComplexType) complexType).getBaseType();
-      baseTypeName = baseType == null
-              ? null : new EdmTypeInfo(baseType).getFullQualifiedName();
-    }
-    final EdmComplexTypeImpl instance = new EdmComplexTypeImpl(edm, fqn, baseTypeName, complexType);
-    instance.baseType = instance.buildBaseType(baseTypeName);
-
-    return instance;
-  }
-
-  private EdmComplexTypeImpl(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName,
-          final ComplexType complexType) {
-
-    super(edm, fqn, baseTypeName);
-    this.helper = new EdmStructuredTypeHelperImpl(edm, complexType);
-  }
-
-  @Override
-  protected Map<String, EdmProperty> getProperties() {
-    return helper.getProperties();
-  }
-
-  @Override
-  protected Map<String, EdmNavigationProperty> getNavigationProperties() {
-    return helper.getNavigationProperties();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java
deleted file mode 100644
index 9cde1b1..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java
+++ /dev/null
@@ -1,125 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.ActionImport;
-import org.apache.olingo.odata4.client.api.edm.xml.EntitySet;
-import org.apache.olingo.odata4.client.api.edm.xml.CommonFunctionImport;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.Singleton;
-import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
-import org.apache.olingo.odata4.client.api.UnsupportedInV3Exception;
-import org.apache.olingo.odata4.client.api.edm.xml.EntityContainer;
-import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.odata4.client.api.edm.xml.v3.FunctionImport;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmActionImportProxy;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmEntitySetProxy;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmFunctionImportProxy;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
-import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEntityContainer;
-
-public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
-
-  private final EntityContainer xmlEntityContainer;
-
-  private final XMLMetadata xmlMetadata;
-
-  public EdmEntityContainerImpl(final Edm edm, final FullQualifiedName entityContainerName,
-          final EntityContainer xmlEntityContainer, final XMLMetadata xmlMetadata) {
-
-    super(edm, entityContainerName);
-
-    this.xmlEntityContainer = xmlEntityContainer;
-    this.xmlMetadata = xmlMetadata;
-  }
-
-  @Override
-  protected EdmSingleton createSingleton(final String singletonName) {
-    if (!(xmlEntityContainer instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer)) {
-      throw new UnsupportedInV3Exception();
-    }
-
-    final Singleton singleton = ((org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).
-            getSingleton(singletonName);
-    if (singleton == null) {
-      throw new EdmException("Singleton named '" + singletonName + "' not found in " + entityContainerName);
-    }
-    return new EdmSingletonImpl(edm, this, singletonName,
-            new EdmTypeInfo(singleton.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
-            singleton);
-  }
-
-  @Override
-  protected EdmEntitySet createEntitySet(final String entitySetName) {
-    final EntitySet entitySet = xmlEntityContainer.getEntitySet(entitySetName);
-    if (entitySet == null) {
-      throw new EdmException("EntitySet named '" + entitySetName + "' not found in " + entityContainerName);
-    }
-
-    if (entitySet instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet) {
-      return new EdmEntitySetImpl(edm, this, entitySetName,
-              new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
-              (org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet) entitySet);
-    } else {
-      return new EdmEntitySetProxy(edm, this, entitySetName,
-              new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
-              xmlMetadata);
-    }
-  }
-
-  @Override
-  protected EdmActionImport createActionImport(final String actionImportName) {
-    if (xmlEntityContainer instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer) {
-      final ActionImport actionImport
-              = ((org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).
-              getActionImport(actionImportName);
-      if (actionImport == null) {
-        throw new EdmException("ActionImport named '" + actionImportName + "' not found in " + entityContainerName);
-      }
-      return new EdmActionImportImpl(edm, this, actionImportName, actionImport);
-    } else {
-      final FunctionImport functionImport = (FunctionImport) xmlEntityContainer.getFunctionImport(actionImportName);
-      if (functionImport == null) {
-        throw new EdmException("FunctionImport named '" + actionImportName + "' not found in " + entityContainerName);
-      }
-      return new EdmActionImportProxy(edm, this, actionImportName, functionImport);
-    }
-  }
-
-  @Override
-  protected EdmFunctionImport createFunctionImport(final String functionImportName) {
-    final CommonFunctionImport functionImport = xmlEntityContainer.getFunctionImport(functionImportName);
-    if (functionImport == null) {
-      throw new EdmException("FunctionImport named '" + functionImportName + "' not found in " + entityContainerName);
-    }
-
-    if (functionImport instanceof org.apache.olingo.odata4.client.api.edm.xml.v4.FunctionImport) {
-      return new EdmFunctionImportImpl(edm, this, functionImportName,
-              (org.apache.olingo.odata4.client.api.edm.xml.v4.FunctionImport) functionImport);
-    } else {
-      return new EdmFunctionImportProxy(edm, this, functionImportName,
-              (org.apache.olingo.odata4.client.api.edm.xml.v3.FunctionImport) functionImport);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java
deleted file mode 100644
index 669e431..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java
+++ /dev/null
@@ -1,35 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-
-public class EdmEntitySetImpl extends EdmBindingTargetImpl implements EdmEntitySet {
-
-  public EdmEntitySetImpl(final Edm edm, final EdmEntityContainer container, final String name,
-          final FullQualifiedName type, final EntitySet entitySet) {
-
-    super(edm, container, name, type, entitySet);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java
deleted file mode 100644
index f94807d..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java
+++ /dev/null
@@ -1,79 +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.odata4.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import org.apache.olingo.odata4.client.api.edm.xml.PropertyRef;
-import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
-import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
-import org.apache.olingo.odata4.commons.api.edm.EdmKeyPropertyRef;
-import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEntityType;
-import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
-
-public class EdmEntityTypeImpl extends AbstractEdmEntityType {
-
-  private final EdmStructuredTypeHelper helper;
-
-  public static EdmEntityTypeImpl getInstance(final Edm edm, final FullQualifiedName fqn, final EntityType entityType) {
-    final FullQualifiedName baseTypeName = entityType.getBaseType() == null
-            ? null : new EdmTypeInfo(entityType.getBaseType()).getFullQualifiedName();
-    final EdmEntityTypeImpl instance = new EdmEntityTypeImpl(edm, fqn, baseTypeName, entityType);
-    instance.baseType = instance.buildBaseType(baseTypeName);
-
-    if (instance.baseType == null) {
-      instance.entityBaseType = null;
-
-      final List<EdmKeyPropertyRef> edmKey = new ArrayList<EdmKeyPropertyRef>(
-              entityType.getKey().getPropertyRefs().size());
-      for (PropertyRef ref : entityType.getKey().getPropertyRefs()) {
-        edmKey.add(new EdmKeyPropertyRefImpl(instance, ref));
-      }
-      instance.setEdmKeyPropertyRef(edmKey);
-    } else {
-      instance.entityBaseType = (EdmEntityType) instance.baseType;
-    }
-
-    return instance;
-  }
-
-  private EdmEntityTypeImpl(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName,
-          final EntityType entityType) {
-
-    super(edm, fqn, baseTypeName, entityType.isHasStream());
-    this.helper = new EdmStructuredTypeHelperImpl(edm, entityType);
-  }
-
-  @Override
-  protected Map<String, EdmProperty> getProperties() {
-    return helper.getProperties();
-  }
-
-  @Override
-  protected Map<String, EdmNavigationProperty> getNavigationProperties() {
-    return helper.getNavigationProperties();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java
deleted file mode 100644
index 6d090ab..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java
+++ /dev/null
@@ -1,83 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.commons.core.edm.EdmMemberImpl;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
-import org.apache.olingo.odata4.client.api.edm.xml.Member;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
-import org.apache.olingo.odata4.commons.api.edm.EdmMember;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEnumType;
-import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
-
-public class EdmEnumTypeImpl extends AbstractEdmEnumType implements EdmEnumType {
-
-  private final EdmPrimitiveType underlyingType;
-
-  private final List<String> memberNames;
-
-  private final Map<String, EdmMember> members;
-
-  public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName fqn, final EnumType xmlEnumType) {
-    super(edm, fqn, xmlEnumType.isFlags());
-
-    if (xmlEnumType.getUnderlyingType() == null) {
-      this.underlyingType = EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance();
-    } else {
-      this.underlyingType = EdmPrimitiveTypeKind.fromString(
-              xmlEnumType.getUnderlyingType()).getEdmPrimitiveTypeInstance();
-      // TODO: Should we validate that the underlying type is of byte, sbyte, in16, int32 or int64?
-    }
-
-    final List<? extends Member> xmlMembers = xmlEnumType.getMembers();
-    final List<String> _memberNames = new ArrayList<String>();
-    final Map<String, EdmMember> _members = new LinkedHashMap<String, EdmMember>(xmlMembers.size());
-    for (Member xmlMember : xmlMembers) {
-      _memberNames.add(xmlMember.getName());
-      _members.put(xmlMember.getName(), new EdmMemberImpl(edm, xmlMember.getName(), xmlMember.getValue()));
-    }
-    this.memberNames = Collections.unmodifiableList(_memberNames);
-    this.members = Collections.unmodifiableMap(_members);
-  }
-
-  @Override
-  public EdmPrimitiveType getUnderlyingType() {
-    return underlyingType;
-  }
-
-  @Override
-  public List<String> getMemberNames() {
-    return memberNames;
-  }
-
-  @Override
-  protected Collection<? extends EdmMember> getMembers() {
-    return members.values();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java
deleted file mode 100644
index aa83cb3..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.Function;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
-
-public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
-
-  private final Function function;
-
-  public static EdmFunctionImpl getInstance(final Edm edm, final FullQualifiedName name, final Function function) {
-    return EdmOperationImpl.getInstance(new EdmFunctionImpl(edm, name, function));
-  }
-
-  private EdmFunctionImpl(final Edm edm, final FullQualifiedName name, final Function function) {
-    super(edm, name, function, EdmTypeKind.FUNCTION);
-    this.function = function;
-  }
-
-  @Override
-  public boolean isComposable() {
-    return function.isComposable();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java b/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java
deleted file mode 100644
index 8a7ef6d..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java
+++ /dev/null
@@ -1,47 +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.odata4.client.core.edm;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.FunctionImport;
-import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
-import org.apache.olingo.odata4.commons.api.edm.Edm;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
-
-public class EdmFunctionImportImpl extends EdmOperationImportImpl implements EdmFunctionImport {
-
-  private final FunctionImport functionImport;
-
-  public EdmFunctionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
-          final FunctionImport functionImport) {
-
-    super(edm, container, name, functionImport.getEntitySet());
-    this.functionImport = functionImport;
-  }
-
-  @Override
-  public EdmFunction getFunction(final List<String> parameterNames) {
-    return edm.getFunction(
-            new EdmTypeInfo(functionImport.getFunction(), container.getNamespace()).getFullQualifiedName(),
-            null, null, parameterNames);
-  }
-
-}