You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/04/30 17:02:31 UTC
[18/50] [abbrv] olingo-odata4 git commit: [OLINGO-564] Renamed
'edm.provider.*' classes
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientTypeDefinition.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientTypeDefinition.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientTypeDefinition.java
index e0dd12b..fd79ec4 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientTypeDefinition.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientTypeDefinition.java
@@ -23,14 +23,14 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.TypeDefinition;
+import org.apache.olingo.commons.api.edm.provider.CsdlTypeDefinition;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.io.IOException;
@JsonDeserialize(using = ClientTypeDefinition.TypeDefinitionDeserializer.class)
-class ClientTypeDefinition extends TypeDefinition {
+class ClientTypeDefinition extends CsdlTypeDefinition {
private static final long serialVersionUID = -902407149079419602L;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
index f153ddb..c1b4e7c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
@@ -41,7 +41,7 @@ import org.apache.olingo.commons.api.domain.ODataServiceDocument;
import org.apache.olingo.commons.api.domain.ODataValue;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.provider.Schema;
+import org.apache.olingo.commons.api.edm.provider.CsdlSchema;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.edm.EdmProviderImpl;
@@ -67,7 +67,7 @@ public class ODataReaderImpl implements ODataReader {
}
@Override
- public Edm readMetadata(final Map<String, Schema> xmlSchemas) {
+ public Edm readMetadata(final Map<String, CsdlSchema> xmlSchemas) {
ClientEdmProvider prov = new ClientEdmProvider(xmlSchemas);
return new EdmProviderImpl(prov);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
index 2245a14..aad1dc7 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
@@ -32,7 +32,7 @@ import org.apache.olingo.commons.api.edm.EdmEnumType;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.Point;
-import org.apache.olingo.commons.api.edm.provider.EnumType;
+import org.apache.olingo.commons.api.edm.provider.CsdlEnumType;
import org.apache.olingo.commons.core.edm.EdmEnumTypeImpl;
import org.junit.Test;
@@ -51,7 +51,7 @@ public class URIEscapeTest {
@Test
public void _enum() throws UnsupportedEncodingException {
final EdmEnumType pattern =
- new EdmEnumTypeImpl(null, new FullQualifiedName("Sales", "Pattern"), new EnumType());
+ new EdmEnumTypeImpl(null, new FullQualifiedName("Sales", "Pattern"), new CsdlEnumType());
assertEquals("Sales.Pattern'Yellow'", URIUtils.escape( pattern.toUriLiteral("Yellow")));
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
index aa94a80..eff892e 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
@@ -33,7 +33,7 @@ import org.apache.olingo.client.core.AbstractTest;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.edm.EdmEnumType;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.EnumType;
+import org.apache.olingo.commons.api.edm.provider.CsdlEnumType;
import org.apache.olingo.commons.core.edm.EdmEnumTypeImpl;
import org.junit.Test;
@@ -55,7 +55,7 @@ public class FilterFactoryTest extends AbstractTest {
@Test
public void has() {
final EdmEnumType pattern =
- new EdmEnumTypeImpl(null, new FullQualifiedName("Sales", "Pattern"), new EnumType());
+ new EdmEnumTypeImpl(null, new FullQualifiedName("Sales", "Pattern"), new CsdlEnumType());
final URIFilter filter = getFilterFactory().has(getFilterArgFactory().property("style"), pattern, "Yellow");
assertEquals("(style has Sales.Pattern'Yellow')", filter.build());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/MetadataTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/MetadataTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/MetadataTest.java
index 19b6881..8d359a7 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/MetadataTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/MetadataTest.java
@@ -48,16 +48,16 @@ import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.api.edm.annotation.EdmUrlRef;
import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.commons.api.edm.provider.Annotation;
-import org.apache.olingo.commons.api.edm.provider.Annotations;
-import org.apache.olingo.commons.api.edm.provider.ComplexType;
-import org.apache.olingo.commons.api.edm.provider.EntityContainer;
-import org.apache.olingo.commons.api.edm.provider.EntityType;
-import org.apache.olingo.commons.api.edm.provider.Function;
-import org.apache.olingo.commons.api.edm.provider.FunctionImport;
-import org.apache.olingo.commons.api.edm.provider.Schema;
-import org.apache.olingo.commons.api.edm.provider.Singleton;
-import org.apache.olingo.commons.api.edm.provider.Term;
+import org.apache.olingo.commons.api.edm.provider.CsdlAnnotation;
+import org.apache.olingo.commons.api.edm.provider.CsdlAnnotations;
+import org.apache.olingo.commons.api.edm.provider.CsdlComplexType;
+import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainer;
+import org.apache.olingo.commons.api.edm.provider.CsdlEntityType;
+import org.apache.olingo.commons.api.edm.provider.CsdlFunction;
+import org.apache.olingo.commons.api.edm.provider.CsdlFunctionImport;
+import org.apache.olingo.commons.api.edm.provider.CsdlSchema;
+import org.apache.olingo.commons.api.edm.provider.CsdlSingleton;
+import org.apache.olingo.commons.api.edm.provider.CsdlTerm;
import org.apache.olingo.commons.api.edm.provider.annotation.Apply;
import org.apache.olingo.commons.api.edm.provider.annotation.Collection;
import org.apache.olingo.commons.api.edm.provider.annotation.ConstantAnnotationExpression;
@@ -145,7 +145,7 @@ public class MetadataTest extends AbstractTest {
assertNotNull(metadata);
assertFalse(metadata.getSchema(0).getAnnotationGroups().isEmpty());
- final Annotations annots = metadata.getSchema(0).getAnnotationGroup("ODataDemo.DemoService/Suppliers");
+ final CsdlAnnotations annots = metadata.getSchema(0).getAnnotationGroup("ODataDemo.DemoService/Suppliers");
assertNotNull(annots);
assertFalse(annots.getAnnotations().isEmpty());
assertEquals(ConstantAnnotationExpression.Type.String,
@@ -185,13 +185,13 @@ public class MetadataTest extends AbstractTest {
toMetadata(getClass().getResourceAsStream("northwind-metadata.xml"));
assertNotNull(metadata);
- final Schema first = metadata.getSchema("NorthwindModel");
+ final CsdlSchema first = metadata.getSchema("NorthwindModel");
assertNotNull(first);
- final Schema second = metadata.getSchema("ODataWebExperimental.Northwind.Model");
+ final CsdlSchema second = metadata.getSchema("ODataWebExperimental.Northwind.Model");
assertNotNull(second);
- final EntityContainer entityContainer = second.getEntityContainer();
+ final CsdlEntityContainer entityContainer = second.getEntityContainer();
assertNotNull(entityContainer);
assertEquals("NorthwindEntities", entityContainer.getName());
}
@@ -208,31 +208,31 @@ public class MetadataTest extends AbstractTest {
assertFalse(metadata.getReferences().isEmpty());
assertEquals("Org.OData.Measures.V1", metadata.getReferences().get(1).getIncludes().get(0).getNamespace());
- final EntityType product = metadata.getSchema(0).getEntityType("Product");
+ final CsdlEntityType product = metadata.getSchema(0).getEntityType("Product");
assertTrue(product.hasStream());
assertEquals("UoM.ISOCurrency", product.getProperty("Price").getAnnotations().get(0).getTerm());
assertEquals("Products", product.getNavigationProperty("Supplier").getPartner());
- final EntityType category = metadata.getSchema(0).getEntityType("Category");
+ final CsdlEntityType category = metadata.getSchema(0).getEntityType("Category");
assertNotNull(category);
- final ComplexType address = metadata.getSchema(0).getComplexType("Address");
+ final CsdlComplexType address = metadata.getSchema(0).getComplexType("Address");
assertFalse(address.getNavigationProperty("Country").getReferentialConstraints().isEmpty());
assertEquals("Name",
address.getNavigationProperty("Country").getReferentialConstraints().get(0).getReferencedProperty());
- final Function productsByRating = metadata.getSchema(0).getFunctions("ProductsByRating").get(0);
+ final CsdlFunction productsByRating = metadata.getSchema(0).getFunctions("ProductsByRating").get(0);
assertNotNull(productsByRating.getParameter("Rating"));
assertEquals("Edm.Int32", productsByRating.getParameter("Rating").getType());
assertEquals("ODataDemo.Product", productsByRating.getReturnType().getType());
assertTrue(productsByRating.getReturnType().isCollection());
- final Singleton contoso = metadata.getSchema(0).getEntityContainer().getSingleton("Contoso");
+ final CsdlSingleton contoso = metadata.getSchema(0).getEntityContainer().getSingleton("Contoso");
assertNotNull(contoso);
assertFalse(contoso.getNavigationPropertyBindings().isEmpty());
assertEquals("Products", contoso.getNavigationPropertyBindings().get(0).getPath());
- final FunctionImport functionImport = metadata.getSchema(0).getEntityContainer().
+ final CsdlFunctionImport functionImport = metadata.getSchema(0).getEntityContainer().
getFunctionImport("ProductsByRating");
assertNotNull(functionImport);
assertEquals(metadata.getSchema(0).getNamespace() + "." + productsByRating.getName(),
@@ -286,7 +286,7 @@ public class MetadataTest extends AbstractTest {
assertNotNull(metadata);
// Check displayName
- final Annotation displayName = metadata.getSchema(0).getAnnotationGroup("ODataDemo.Supplier").
+ final CsdlAnnotation displayName = metadata.getSchema(0).getAnnotationGroup("ODataDemo.Supplier").
getAnnotation("Vocabulary1.DisplayName");
assertNotNull(displayName);
assertTrue(displayName.getExpression().isDynamic());
@@ -308,7 +308,7 @@ public class MetadataTest extends AbstractTest {
assertEquals("Address/CountryName", thirdArg.getValue());
// Check Tags
- final Annotation tags = metadata.getSchema(0).getAnnotationGroup("ODataDemo.Product").
+ final CsdlAnnotation tags = metadata.getSchema(0).getAnnotationGroup("ODataDemo.Product").
getAnnotation("Vocabulary1.Tags");
assertNotNull(tags);
assertTrue(tags.getExpression().isDynamic());
@@ -347,10 +347,10 @@ public class MetadataTest extends AbstractTest {
toMetadata(getClass().getResourceAsStream("fromdoc4-metadata.xml"));
assertNotNull(metadata);
- final Annotations group = metadata.getSchema(0).getAnnotationGroups().get(0);
+ final CsdlAnnotations group = metadata.getSchema(0).getAnnotationGroups().get(0);
assertNotNull(group);
- Annotation annotation = group.getAnnotations().get(0);
+ CsdlAnnotation annotation = group.getAnnotations().get(0);
assertTrue(annotation.getExpression().isDynamic());
assertTrue(annotation.getExpression().asDynamic().isCast());
assertEquals("Edm.Decimal", annotation.getExpression().asDynamic().asCast().getType());
@@ -402,11 +402,11 @@ public class MetadataTest extends AbstractTest {
final XMLMetadata metadata = getClient().getDeserializer(ODataFormat.XML).
toMetadata(input);
- Schema schema = metadata.getSchema("Capabilities");
+ CsdlSchema schema = metadata.getSchema("Capabilities");
assertNotNull(schema);
assertEquals(23, schema.getTerms().size());
- final Term deleteRestrictions = schema.getTerm("DeleteRestrictions");
+ final CsdlTerm deleteRestrictions = schema.getTerm("DeleteRestrictions");
assertNotNull(deleteRestrictions);
assertEquals("Capabilities.DeleteRestrictionsType", deleteRestrictions.getType());
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmItem.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmItem.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmItem.java
deleted file mode 100644
index 0c375ae..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmItem.java
+++ /dev/null
@@ -1,64 +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.commons.api.edm.provider;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-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;
-
-public abstract class AbstractEdmItem implements Serializable {
-
- private static final long serialVersionUID = 241190986363884784L;
-
- protected <T extends Named> T getOneByName(final String name, final Collection<T> items) {
- final List<T> result = getAllByName(name, items);
- return result.isEmpty() ? null : result.get(0);
- }
-
- protected <T extends Named> List<T> getAllByName(final String name, final Collection<T> items) {
- final List<T> result = new ArrayList<T>();
- for (T type : items) {
- if (name.equals(type.getName())) {
- result.add(type);
- }
- }
- 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/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmProvider.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmProvider.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmProvider.java
deleted file mode 100644
index d1ada55..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmProvider.java
+++ /dev/null
@@ -1,116 +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.commons.api.edm.provider;
-
-import java.util.List;
-
-import org.apache.olingo.commons.api.ODataException;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public abstract class AbstractEdmProvider implements EdmProvider {
-
- @Override
- public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
- return null;
- }
-
- @Override
- public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
- return null;
- }
-
- @Override
- public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
- return null;
- }
-
- @Override
- public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
- return null;
- }
-
- @Override
- public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
- return null;
- }
-
- @Override
- public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
- return null;
- }
-
- @Override
- public Term getTerm(final FullQualifiedName termName) throws ODataException {
- return null;
- }
-
- @Override
- public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
- throws ODataException {
- return null;
- }
-
- @Override
- public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
- throws ODataException {
- return null;
- }
-
- @Override
- public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
- throws ODataException {
- return null;
- }
-
- @Override
- public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
- throws ODataException {
- return null;
- }
-
- @Override
- public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
- return null;
- }
-
- @Override
- public List<AliasInfo> getAliasInfos() throws ODataException {
- return null;
- }
-
- @Override
- public List<Schema> getSchemas() throws ODataException {
- return null;
- }
-
- @Override
- public EntityContainer getEntityContainer() throws ODataException {
- return null;
- }
-
- @Override
- public Annotations getAnnotationsGroup(FullQualifiedName targetName) throws ODataException {
- return null;
- }
-
- @Override
- public Annotatable getAnnoatatable(FullQualifiedName annotatedName) throws ODataException {
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Action.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Action.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Action.java
deleted file mode 100644
index 1a614a7..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Action.java
+++ /dev/null
@@ -1,56 +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.commons.api.edm.provider;
-
-import java.util.List;
-
-public class Action extends Operation {
-
- private static final long serialVersionUID = 211295197043448841L;
-
- @Override
- public Action setName(final String name) {
- this.name = name;
- return this;
- }
-
- @Override
- public Action setBound(final boolean isBound) {
- this.isBound = isBound;
- return this;
- }
-
- @Override
- public Action setEntitySetPath(final String entitySetPath) {
- this.entitySetPath = entitySetPath;
- return this;
- }
-
- @Override
- public Action setParameters(final List<Parameter> parameters) {
- this.parameters = parameters;
- return this;
- }
-
- @Override
- public Action setReturnType(final ReturnType returnType) {
- this.returnType = returnType;
- return this;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ActionImport.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ActionImport.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ActionImport.java
deleted file mode 100644
index a773039..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ActionImport.java
+++ /dev/null
@@ -1,59 +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.commons.api.edm.provider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-
-public class ActionImport extends OperationImport {
-
- private static final long serialVersionUID = 9186148718228340987L;
-
- private FullQualifiedName action;
-
- @Override
- public ActionImport setName(final String name) {
- this.name = name;
- return this;
- }
-
- @Override
- public ActionImport setEntitySet(final String entitySet) {
- this.entitySet = entitySet;
- return this;
- }
-
- public String getAction() {
- return action.getFullQualifiedNameAsString();
- }
-
- public FullQualifiedName getActionFQN() {
- return action;
- }
-
- public ActionImport setAction(final String action) {
- this.action = new FullQualifiedName(action);
- return this;
- }
-
- public ActionImport setAction(final FullQualifiedName action) {
- this.action = action;
- return this;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AliasInfo.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AliasInfo.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AliasInfo.java
deleted file mode 100644
index b4493f5..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AliasInfo.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.commons.api.edm.provider;
-
-public class AliasInfo {
-
- private String namespace;
-
- private String alias;
-
- public String getNamespace() {
- return namespace;
- }
-
- public AliasInfo setNamespace(final String namespace) {
- this.namespace = namespace;
- return this;
- }
-
- public String getAlias() {
- return alias;
- }
-
- public AliasInfo setAlias(final String alias) {
- this.alias = alias;
- return this;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotatable.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotatable.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotatable.java
deleted file mode 100644
index 1e97719..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotatable.java
+++ /dev/null
@@ -1,26 +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.commons.api.edm.provider;
-
-import java.util.List;
-
-public interface Annotatable {
-
- List<Annotation> getAnnotations();
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotation.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotation.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotation.java
deleted file mode 100644
index 67791c9..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotation.java
+++ /dev/null
@@ -1,77 +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.commons.api.edm.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
-
-public class Annotation extends AbstractEdmItem implements Annotatable {
-
- private static final long serialVersionUID = -7137313445729486860L;
-
- private String term;
-
- private String qualifier;
-
- private List<Annotation> annotation = new ArrayList<Annotation>();
-
- private AnnotationExpression annotationExpression;
-
- public AnnotationExpression getExpression() {
- return annotationExpression;
- }
-
- public void setExpression(final AnnotationExpression annotationExpression) {
- this.annotationExpression = annotationExpression;
- }
-
- public String getTerm() {
- return term;
- }
-
- public Annotation setTerm(final String term) {
- this.term = term;
- return this;
- }
-
- public String getQualifier() {
- return qualifier;
- }
-
- public Annotation setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- return this;
- }
-
-// public List<Annotation> getAnnotation() {
-// return annotation;
-// }
-
- public Annotation setAnnotations(final List<Annotation> annotation) {
- this.annotation = annotation;
- return this;
- }
-
- @Override
- public List<Annotation> getAnnotations() {
- return annotation;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotations.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotations.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotations.java
deleted file mode 100644
index c01566d..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotations.java
+++ /dev/null
@@ -1,66 +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.commons.api.edm.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class Annotations extends AbstractEdmItem implements Annotatable{
-
- private static final long serialVersionUID = 8283036066408166150L;
-
- private final List<Annotation> annotations = new ArrayList<Annotation>();
-
- private String target;
-
- private String qualifier;
-
- public String getTarget() {
- return target;
- }
-
- public Annotations setTarget(final String target) {
- this.target = target;
- return this;
- }
-
- public String getQualifier() {
- return qualifier;
- }
-
- public Annotations setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- return this;
- }
-
- @Override
- public List<Annotation> getAnnotations() {
- return annotations;
- }
-
- public Annotation getAnnotation(final String term) {
- Annotation result = null;
- for (Annotation annotation : getAnnotations()) {
- if (term.equals(annotation.getTerm())) {
- result = annotation;
- }
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/BindingTarget.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/BindingTarget.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/BindingTarget.java
deleted file mode 100644
index 4612857..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/BindingTarget.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.commons.api.edm.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public abstract class BindingTarget extends AbstractEdmItem implements Named, Annotatable {
-
- private static final long serialVersionUID = -7011724617956042182L;
-
- protected String name;
-
- protected FullQualifiedName type;
-
- protected List<NavigationPropertyBinding> navigationPropertyBindings = new ArrayList<NavigationPropertyBinding>();
-
- private final List<Annotation> annotations = new ArrayList<Annotation>();
-
- public String getName() {
- return name;
- }
-
- public BindingTarget setName(final String name) {
- this.name = name;
- return this;
- }
-
- public String getType() {
- return type.getFullQualifiedNameAsString();
- }
-
- public FullQualifiedName getTypeFQN() {
- return type;
- }
-
- public BindingTarget setType(final String type) {
- this.type = new FullQualifiedName(type);
- return this;
- }
-
- public BindingTarget setType(final FullQualifiedName type) {
- this.type = type;
- return this;
- }
-
- public List<NavigationPropertyBinding> getNavigationPropertyBindings() {
- return navigationPropertyBindings;
- }
-
- public BindingTarget setNavigationPropertyBindings(final List<NavigationPropertyBinding> navigationPropertyBindings) {
- this.navigationPropertyBindings = navigationPropertyBindings;
- return this;
- }
-
- @Override
- public List<Annotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ComplexType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ComplexType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ComplexType.java
deleted file mode 100644
index 07f4d3b..0000000
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ComplexType.java
+++ /dev/null
@@ -1,70 +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.commons.api.edm.provider;
-
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public class ComplexType extends StructuralType {
-
- private static final long serialVersionUID = 1089771609327713928L;
-
- @Override
- public ComplexType setName(final String name) {
- this.name = name;
- return this;
- }
-
- @Override
- public ComplexType setOpenType(final boolean isOpenType) {
- this.isOpenType = isOpenType;
- return this;
- }
-
- @Override
- public ComplexType setBaseType(final String baseType) {
- this.baseType = new FullQualifiedName(baseType);
- return this;
- }
-
- @Override
- public ComplexType setBaseType(final FullQualifiedName baseType) {
- this.baseType = baseType;
- return this;
- }
-
- @Override
- public ComplexType setAbstract(final boolean isAbstract) {
- this.isAbstract = isAbstract;
- return this;
- }
-
- @Override
- public ComplexType setProperties(final List<Property> properties) {
- this.properties = properties;
- return this;
- }
-
- @Override
- public ComplexType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
- this.navigationProperties = navigationProperties;
- return this;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmItem.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmItem.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmItem.java
new file mode 100644
index 0000000..0b02947
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmItem.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+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;
+
+public abstract class CsdlAbstractEdmItem implements Serializable {
+
+ private static final long serialVersionUID = 241190986363884784L;
+
+ protected <T extends CsdlNamed> T getOneByName(final String name, final Collection<T> items) {
+ final List<T> result = getAllByName(name, items);
+ return result.isEmpty() ? null : result.get(0);
+ }
+
+ protected <T extends CsdlNamed> List<T> getAllByName(final String name, final Collection<T> items) {
+ final List<T> result = new ArrayList<T>();
+ for (T type : items) {
+ if (name.equals(type.getName())) {
+ result.add(type);
+ }
+ }
+ 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/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmProvider.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmProvider.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmProvider.java
new file mode 100644
index 0000000..802cef8
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAbstractEdmProvider.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public abstract class CsdlAbstractEdmProvider implements CsdlEdmProvider {
+
+ @Override
+ public CsdlEnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlTypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public List<CsdlAction> getActions(final FullQualifiedName actionName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public List<CsdlFunction> getFunctions(final FullQualifiedName functionName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlTerm getTerm(final FullQualifiedName termName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
+ throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlSingleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
+ throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
+ throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlFunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
+ throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlEntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName)
+ throws ODataException {
+ return null;
+ }
+
+ @Override
+ public List<CsdlAliasInfo> getAliasInfos() throws ODataException {
+ return null;
+ }
+
+ @Override
+ public List<CsdlSchema> getSchemas() throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlEntityContainer getEntityContainer() throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlAnnotations getAnnotationsGroup(FullQualifiedName targetName) throws ODataException {
+ return null;
+ }
+
+ @Override
+ public CsdlAnnotatable getAnnoatatable(FullQualifiedName annotatedName) throws ODataException {
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAction.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAction.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAction.java
new file mode 100644
index 0000000..bfd0d83
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAction.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.List;
+
+public class CsdlAction extends CsdlOperation {
+
+ private static final long serialVersionUID = 211295197043448841L;
+
+ @Override
+ public CsdlAction setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public CsdlAction setBound(final boolean isBound) {
+ this.isBound = isBound;
+ return this;
+ }
+
+ @Override
+ public CsdlAction setEntitySetPath(final String entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ return this;
+ }
+
+ @Override
+ public CsdlAction setParameters(final List<CsdlParameter> parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ @Override
+ public CsdlAction setReturnType(final CsdlReturnType returnType) {
+ this.returnType = returnType;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlActionImport.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlActionImport.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlActionImport.java
new file mode 100644
index 0000000..eb47c5c
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlActionImport.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+
+public class CsdlActionImport extends CsdlOperationImport {
+
+ private static final long serialVersionUID = 9186148718228340987L;
+
+ private FullQualifiedName action;
+
+ @Override
+ public CsdlActionImport setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public CsdlActionImport setEntitySet(final String entitySet) {
+ this.entitySet = entitySet;
+ return this;
+ }
+
+ public String getAction() {
+ return action.getFullQualifiedNameAsString();
+ }
+
+ public FullQualifiedName getActionFQN() {
+ return action;
+ }
+
+ public CsdlActionImport setAction(final String action) {
+ this.action = new FullQualifiedName(action);
+ return this;
+ }
+
+ public CsdlActionImport setAction(final FullQualifiedName action) {
+ this.action = action;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAliasInfo.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAliasInfo.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAliasInfo.java
new file mode 100644
index 0000000..ba6067a
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAliasInfo.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+public class CsdlAliasInfo {
+
+ private String namespace;
+
+ private String alias;
+
+ public String getNamespace() {
+ return namespace;
+ }
+
+ public CsdlAliasInfo setNamespace(final String namespace) {
+ this.namespace = namespace;
+ return this;
+ }
+
+ public String getAlias() {
+ return alias;
+ }
+
+ public CsdlAliasInfo setAlias(final String alias) {
+ this.alias = alias;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotatable.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotatable.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotatable.java
new file mode 100644
index 0000000..393f353
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotatable.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.List;
+
+public interface CsdlAnnotatable {
+
+ List<CsdlAnnotation> getAnnotations();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
new file mode 100644
index 0000000..580c03f
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+
+public class CsdlAnnotation extends CsdlAbstractEdmItem implements CsdlAnnotatable {
+
+ private static final long serialVersionUID = -7137313445729486860L;
+
+ private String term;
+
+ private String qualifier;
+
+ private List<CsdlAnnotation> annotation = new ArrayList<CsdlAnnotation>();
+
+ private AnnotationExpression annotationExpression;
+
+ public AnnotationExpression getExpression() {
+ return annotationExpression;
+ }
+
+ public void setExpression(final AnnotationExpression annotationExpression) {
+ this.annotationExpression = annotationExpression;
+ }
+
+ public String getTerm() {
+ return term;
+ }
+
+ public CsdlAnnotation setTerm(final String term) {
+ this.term = term;
+ return this;
+ }
+
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ public CsdlAnnotation setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ return this;
+ }
+
+// public List<Annotation> getAnnotation() {
+// return annotation;
+// }
+
+ public CsdlAnnotation setAnnotations(final List<CsdlAnnotation> annotation) {
+ this.annotation = annotation;
+ return this;
+ }
+
+ @Override
+ public List<CsdlAnnotation> getAnnotations() {
+ return annotation;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotations.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotations.java
new file mode 100644
index 0000000..595eb96
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotations.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CsdlAnnotations extends CsdlAbstractEdmItem implements CsdlAnnotatable {
+
+ private static final long serialVersionUID = 8283036066408166150L;
+
+ private final List<CsdlAnnotation> annotations = new ArrayList<CsdlAnnotation>();
+
+ private String target;
+
+ private String qualifier;
+
+ public String getTarget() {
+ return target;
+ }
+
+ public CsdlAnnotations setTarget(final String target) {
+ this.target = target;
+ return this;
+ }
+
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ public CsdlAnnotations setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ return this;
+ }
+
+ @Override
+ public List<CsdlAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+ public CsdlAnnotation getAnnotation(final String term) {
+ CsdlAnnotation result = null;
+ for (CsdlAnnotation annotation : getAnnotations()) {
+ if (term.equals(annotation.getTerm())) {
+ result = annotation;
+ }
+ }
+ return result;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlBindingTarget.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlBindingTarget.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlBindingTarget.java
new file mode 100644
index 0000000..c7143c7
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlBindingTarget.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public abstract class CsdlBindingTarget extends CsdlAbstractEdmItem implements CsdlNamed, CsdlAnnotatable {
+
+ private static final long serialVersionUID = -7011724617956042182L;
+
+ protected String name;
+
+ protected FullQualifiedName type;
+
+ protected List<CsdlNavigationPropertyBinding> navigationPropertyBindings =
+ new ArrayList<CsdlNavigationPropertyBinding>();
+
+ private final List<CsdlAnnotation> annotations = new ArrayList<CsdlAnnotation>();
+
+ public String getName() {
+ return name;
+ }
+
+ public CsdlBindingTarget setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getType() {
+ return type.getFullQualifiedNameAsString();
+ }
+
+ public FullQualifiedName getTypeFQN() {
+ return type;
+ }
+
+ public CsdlBindingTarget setType(final String type) {
+ this.type = new FullQualifiedName(type);
+ return this;
+ }
+
+ public CsdlBindingTarget setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public List<CsdlNavigationPropertyBinding> getNavigationPropertyBindings() {
+ return navigationPropertyBindings;
+ }
+
+ public CsdlBindingTarget setNavigationPropertyBindings(
+ final List<CsdlNavigationPropertyBinding> navigationPropertyBindings) {
+ this.navigationPropertyBindings = navigationPropertyBindings;
+ return this;
+ }
+
+ @Override
+ public List<CsdlAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlComplexType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlComplexType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlComplexType.java
new file mode 100644
index 0000000..208d377
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlComplexType.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class CsdlComplexType extends CsdlStructuralType {
+
+ private static final long serialVersionUID = 1089771609327713928L;
+
+ @Override
+ public CsdlComplexType setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public CsdlComplexType setOpenType(final boolean isOpenType) {
+ this.isOpenType = isOpenType;
+ return this;
+ }
+
+ @Override
+ public CsdlComplexType setBaseType(final String baseType) {
+ this.baseType = new FullQualifiedName(baseType);
+ return this;
+ }
+
+ @Override
+ public CsdlComplexType setBaseType(final FullQualifiedName baseType) {
+ this.baseType = baseType;
+ return this;
+ }
+
+ @Override
+ public CsdlComplexType setAbstract(final boolean isAbstract) {
+ this.isAbstract = isAbstract;
+ return this;
+ }
+
+ @Override
+ public CsdlComplexType setProperties(final List<CsdlProperty> properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ @Override
+ public CsdlComplexType setNavigationProperties(final List<CsdlNavigationProperty> navigationProperties) {
+ this.navigationProperties = navigationProperties;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEdmProvider.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEdmProvider.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEdmProvider.java
new file mode 100644
index 0000000..db40de1
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEdmProvider.java
@@ -0,0 +1,179 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public interface CsdlEdmProvider {
+
+ /**
+ * This method should return an {@link CsdlEnumType} or <b>null</b> if nothing is found
+ *
+ * @param enumTypeName
+ * @return {@link CsdlEnumType} for given name
+ * @throws ODataException
+ */
+ public CsdlEnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException;
+
+ /**
+ * This method should return an {@link CsdlTypeDefinition} or <b>null</b> if nothing is found
+ *
+ * @param typeDefinitionName
+ * @return {@link CsdlTypeDefinition} for given name
+ * @throws ODataException
+ */
+ public CsdlTypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException;
+
+ /**
+ * This method should return an {@link CsdlEntityType} or <b>null</b> if nothing is found
+ *
+ * @param entityTypeName
+ * @return {@link CsdlEntityType} for the given name
+ * @throws ODataException
+ */
+ public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException;
+
+ /**
+ * This method should return a {@link CsdlComplexType} or <b>null</b> if nothing is found.
+ *
+ * @param complexTypeName
+ * @return {@link CsdlComplexType} for the given name
+ * @throws ODataException
+ */
+ public CsdlComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException;
+
+ /**
+ * This method should return a list of all {@link CsdlAction} for the FullQualifiedname
+ * or <b>null</b> if nothing is found
+ *
+ * @param actionName
+ * @return List of {@link CsdlAction} or null
+ * @throws ODataException
+ */
+ public List<CsdlAction> getActions(final FullQualifiedName actionName) throws ODataException;
+
+ /**
+ * This method should return a list of all {@link CsdlFunction} for the FullQualifiedname or <b>null</b> if nothing is
+ * found
+ *
+ * @param functionName
+ * @return List of {@link CsdlFunction} or null
+ * @throws ODataException
+ */
+ public List<CsdlFunction> getFunctions(final FullQualifiedName functionName) throws ODataException;
+
+ /**
+ * This method should return a {@link CsdlTerm} for the FullQualifiedName or <b>null</b> if nothing is found.
+ * @param termName the name of the Term
+ * @return {@link CsdlTerm} or null
+ * @throws ODataException
+ */
+ public CsdlTerm getTerm(final FullQualifiedName termName) throws ODataException;
+
+ /**
+ * This method should return an {@link CsdlEntitySet} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this EntitySet is contained in
+ * @param entitySetName
+ * @return {@link CsdlEntitySet} for the given container and entityset name
+ * @throws ODataException
+ */
+ public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
+ throws ODataException;
+
+ /**
+ * This method should return an {@link CsdlSingleton} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this Singleton is contained in
+ * @param singletonName
+ * @return {@link CsdlSingleton} for given container and singleton name
+ * @throws ODataException
+ */
+ public CsdlSingleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
+ throws ODataException;
+
+ /**
+ * This method should return an {@link CsdlActionImport} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this ActionImport is contained in
+ * @param actionImportName
+ * @return {@link CsdlActionImport} for the given container and ActionImport name
+ * @throws ODataException
+ */
+ public CsdlActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
+ throws ODataException;
+
+ /**
+ * This method should return a {@link CsdlFunctionImport} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this FunctionImport is contained in
+ * @param functionImportName
+ * @return {@link CsdlFunctionImport} for the given container name and function import name
+ * @throws ODataException
+ */
+ public CsdlFunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
+ throws ODataException;
+
+ /**
+ * This method should return an {@link CsdlEntityContainerInfo} or <b>null</b> if nothing is found
+ *
+ * @param entityContainerName (null for default container)
+ * @return {@link CsdlEntityContainerInfo} for the given name
+ * @throws ODataException
+ */
+ public CsdlEntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName)
+ throws ODataException;
+
+ /**
+ * This method should return a list of all namespaces which have an alias
+ *
+ * @return List of alias info
+ * @throws ODataException
+ */
+ public List<CsdlAliasInfo> getAliasInfos() throws ODataException;
+
+ /**
+ * This method should return a collection of all {@link CsdlSchema}
+ *
+ * @return List<{@link Schema}>
+ * @throws ODataException
+ */
+ public List<CsdlSchema> getSchemas() throws ODataException;
+
+ /**
+ * Returns the entity container of this edm
+ * @return {@link CsdlEntityContainer} of this edm
+ */
+ public CsdlEntityContainer getEntityContainer() throws ODataException;
+
+ /**
+ * @param targetName
+ * @return {@link CsdlAnnotations} group for the given Target
+ */
+ public CsdlAnnotations getAnnotationsGroup(FullQualifiedName targetName) throws ODataException;
+
+ /**
+ * @param annotatedName
+ * @return Annotatble element by target name
+ */
+ public CsdlAnnotatable getAnnoatatable(FullQualifiedName annotatedName) throws ODataException;
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainer.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainer.java
new file mode 100644
index 0000000..ee0a772
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainer.java
@@ -0,0 +1,159 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class CsdlEntityContainer extends CsdlAbstractEdmItem implements CsdlNamed, CsdlAnnotatable {
+
+ private static final long serialVersionUID = 5384682515007129458L;
+
+ private String name;
+
+ private FullQualifiedName extendsContainer;
+
+ private List<CsdlEntitySet> entitySets = new ArrayList<CsdlEntitySet>();
+
+ private List<CsdlActionImport> actionImports = new ArrayList<CsdlActionImport>();
+
+ private List<CsdlFunctionImport> functionImports = new ArrayList<CsdlFunctionImport>();
+
+ private List<CsdlSingleton> singletons = new ArrayList<CsdlSingleton>();
+
+ private final List<CsdlAnnotation> annotations = new ArrayList<CsdlAnnotation>();
+
+ // Annotations
+ public String getName() {
+ return name;
+ }
+
+ public CsdlEntityContainer setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getExtendsContainer() {
+ if (extendsContainer != null) {
+ return extendsContainer.getFullQualifiedNameAsString();
+ }
+ return null;
+ }
+
+ public FullQualifiedName getExtendsContainerFQN() {
+ return extendsContainer;
+ }
+
+ public CsdlEntityContainer setExtendsContainer(final String extendsContainer) {
+ this.extendsContainer = new FullQualifiedName(extendsContainer);
+ return this;
+ }
+
+ public List<CsdlEntitySet> getEntitySets() {
+ return entitySets;
+ }
+
+ public CsdlEntitySet getEntitySet(final String name) {
+ return getOneByName(name, getEntitySets());
+ }
+
+ public CsdlEntityContainer setEntitySets(final List<CsdlEntitySet> entitySets) {
+ this.entitySets = entitySets;
+ return this;
+ }
+
+ public List<CsdlActionImport> getActionImports() {
+ return actionImports;
+ }
+
+ /**
+ * Gets the first action import with given name.
+ *
+ * @param name name.
+ * @return action import.
+ */
+ public CsdlActionImport getActionImport(final String name) {
+ return getOneByName(name, getActionImports());
+ }
+
+ /**
+ * Gets all action imports with given name.
+ *
+ * @param name name.
+ * @return action imports.
+ */
+ public List<CsdlActionImport> getActionImports(final String name) {
+ return getAllByName(name, getActionImports());
+ }
+
+ public CsdlEntityContainer setActionImports(final List<CsdlActionImport> actionImports) {
+ this.actionImports = actionImports;
+ return this;
+ }
+
+ public List<CsdlFunctionImport> getFunctionImports() {
+ return functionImports;
+ }
+
+ /**
+ * Gets the first function import with given name.
+ *
+ * @param name name.
+ * @return function import.
+ */
+ public CsdlFunctionImport getFunctionImport(final String name) {
+ return getOneByName(name, getFunctionImports());
+ }
+
+ /**
+ * Gets all function imports with given name.
+ *
+ * @param name name.
+ * @return function imports.
+ */
+ public List<CsdlFunctionImport> getFunctionImports(final String name) {
+ return getAllByName(name, getFunctionImports());
+ }
+
+ public CsdlEntityContainer setFunctionImports(final List<CsdlFunctionImport> functionImports) {
+ this.functionImports = functionImports;
+ return this;
+ }
+
+ public List<CsdlSingleton> getSingletons() {
+ return singletons;
+ }
+
+ public CsdlSingleton getSingleton(final String name) {
+ return getOneByName(name, getSingletons());
+ }
+
+ public CsdlEntityContainer setSingletons(final List<CsdlSingleton> singletons) {
+ this.singletons = singletons;
+ return this;
+ }
+
+ @Override
+ public List<CsdlAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainerInfo.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainerInfo.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainerInfo.java
new file mode 100644
index 0000000..9445c89
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntityContainerInfo.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class CsdlEntityContainerInfo {
+
+ private FullQualifiedName containerName;
+
+ private FullQualifiedName extendsContainer;
+
+ public FullQualifiedName getContainerName() {
+ return containerName;
+ }
+
+ public CsdlEntityContainerInfo setContainerName(final FullQualifiedName containerName) {
+ this.containerName = containerName;
+ return this;
+ }
+
+ public FullQualifiedName getExtendsContainer() {
+ return extendsContainer;
+ }
+
+ public CsdlEntityContainerInfo setExtendsContainer(final FullQualifiedName extendsContainer) {
+ this.extendsContainer = extendsContainer;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySet.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySet.java
new file mode 100644
index 0000000..d4a6002
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySet.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class CsdlEntitySet extends CsdlBindingTarget {
+
+ private static final long serialVersionUID = 5291570018480936643L;
+
+ //Default for EntitySets is true
+ private boolean includeInServiceDocument = true;
+
+ @Override
+ public CsdlEntitySet setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public CsdlEntitySet setNavigationPropertyBindings(
+ final List<CsdlNavigationPropertyBinding> navigationPropertyBindings) {
+ this.navigationPropertyBindings = navigationPropertyBindings;
+ return this;
+ }
+
+ @Override
+ public CsdlEntitySet setType(final String type) {
+ this.type = new FullQualifiedName(type);
+ return this;
+ }
+
+ @Override
+ public CsdlEntitySet setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public boolean isIncludeInServiceDocument() {
+ return includeInServiceDocument;
+ }
+
+ public CsdlEntitySet setIncludeInServiceDocument(final boolean includeInServiceDocument) {
+ this.includeInServiceDocument = includeInServiceDocument;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2318953c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySetPath.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySetPath.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySetPath.java
new file mode 100644
index 0000000..073559e
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlEntitySetPath.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+public class CsdlEntitySetPath {
+
+ private String bindingParameter;
+
+ private String path;
+
+ public String getBindingParameter() {
+ return bindingParameter;
+ }
+
+ public CsdlEntitySetPath setBindingParameter(final String bindingParameter) {
+ this.bindingParameter = bindingParameter;
+ return this;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public CsdlEntitySetPath setPath(final String path) {
+ this.path = path;
+ return this;
+ }
+}