You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/03/17 14:21:30 UTC
[5/8] olingo-odata4 git commit: [OLINGO-575] Merge edm provider
classes
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotatableDynamicAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotatableDynamicAnnotationExpression.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotatableDynamicAnnotationExpression.java
index da9691e..c530fc9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotatableDynamicAnnotationExpression.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotatableDynamicAnnotationExpression.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.core.edm.xml.annotation;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.client.api.edm.xml.Annotatable;
-import org.apache.olingo.client.api.edm.xml.Annotation;
+import org.apache.olingo.commons.api.edm.provider.Annotatable;
+import org.apache.olingo.commons.api.edm.provider.Annotation;
abstract class AbstractAnnotatableDynamicAnnotationExpression
extends AbstractDynamicAnnotationExpression implements Annotatable {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotationExpression.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotationExpression.java
index 82c0a3d..00def87 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotationExpression.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractAnnotationExpression.java
@@ -18,10 +18,10 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.ConstantAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
-import org.apache.olingo.client.core.edm.xml.AbstractEdmItem;
+import org.apache.olingo.commons.api.edm.provider.AbstractEdmItem;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.ConstantAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
public abstract class AbstractAnnotationExpression extends AbstractEdmItem implements AnnotationExpression {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractDynamicAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractDynamicAnnotationExpression.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractDynamicAnnotationExpression.java
index f94bac6..a8d0bcd 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractDynamicAnnotationExpression.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AbstractDynamicAnnotationExpression.java
@@ -18,24 +18,24 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationPath;
-import org.apache.olingo.client.api.edm.xml.annotation.Apply;
-import org.apache.olingo.client.api.edm.xml.annotation.Cast;
-import org.apache.olingo.client.api.edm.xml.annotation.Collection;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.If;
-import org.apache.olingo.client.api.edm.xml.annotation.IsOf;
-import org.apache.olingo.client.api.edm.xml.annotation.LabeledElement;
-import org.apache.olingo.client.api.edm.xml.annotation.LabeledElementReference;
-import org.apache.olingo.client.api.edm.xml.annotation.NavigationPropertyPath;
-import org.apache.olingo.client.api.edm.xml.annotation.Not;
-import org.apache.olingo.client.api.edm.xml.annotation.Null;
-import org.apache.olingo.client.api.edm.xml.annotation.Path;
-import org.apache.olingo.client.api.edm.xml.annotation.PropertyPath;
-import org.apache.olingo.client.api.edm.xml.annotation.PropertyValue;
-import org.apache.olingo.client.api.edm.xml.annotation.Record;
-import org.apache.olingo.client.api.edm.xml.annotation.TwoParamsOpDynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.UrlRef;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.Apply;
+import org.apache.olingo.commons.api.edm.provider.annotation.Cast;
+import org.apache.olingo.commons.api.edm.provider.annotation.Collection;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.If;
+import org.apache.olingo.commons.api.edm.provider.annotation.IsOf;
+import org.apache.olingo.commons.api.edm.provider.annotation.LabeledElement;
+import org.apache.olingo.commons.api.edm.provider.annotation.LabeledElementReference;
+import org.apache.olingo.commons.api.edm.provider.annotation.NavigationPropertyPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.Not;
+import org.apache.olingo.commons.api.edm.provider.annotation.Null;
+import org.apache.olingo.commons.api.edm.provider.annotation.Path;
+import org.apache.olingo.commons.api.edm.provider.annotation.PropertyPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.PropertyValue;
+import org.apache.olingo.commons.api.edm.provider.annotation.Record;
+import org.apache.olingo.commons.api.edm.provider.annotation.TwoParamsOpDynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.UrlRef;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AnnotationPathImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AnnotationPathImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AnnotationPathImpl.java
index 0893613..86a7503 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AnnotationPathImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/AnnotationPathImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationPath;
public class AnnotationPathImpl extends AbstractElementOrAttributeExpression implements AnnotationPath {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ApplyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ApplyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ApplyImpl.java
index 60ed4ae..da0fad3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ApplyImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ApplyImpl.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.core.edm.xml.annotation;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.Apply;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.Apply;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CastImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CastImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CastImpl.java
index 48fd310..23c86ed 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CastImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CastImpl.java
@@ -18,9 +18,9 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.Cast;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
import org.apache.olingo.commons.api.edm.geo.SRID;
+import org.apache.olingo.commons.api.edm.provider.annotation.Cast;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CollectionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CollectionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CollectionImpl.java
index 0dfe18e..bd48c1a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CollectionImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/CollectionImpl.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.core.edm.xml.annotation;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.Collection;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.Collection;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ConstantAnnotationExpressionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ConstantAnnotationExpressionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ConstantAnnotationExpressionImpl.java
index 7530e48..5e1cc93 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ConstantAnnotationExpressionImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/ConstantAnnotationExpressionImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.ConstantAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.ConstantAnnotationExpression;
public class ConstantAnnotationExpressionImpl
extends AbstractAnnotationExpression implements ConstantAnnotationExpression {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/DynamicAnnotationExpressionDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/DynamicAnnotationExpressionDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/DynamicAnnotationExpressionDeserializer.java
index e33a572..2210a08 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/DynamicAnnotationExpressionDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/DynamicAnnotationExpressionDeserializer.java
@@ -22,21 +22,21 @@ import java.io.IOException;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.ClassUtils;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationPath;
-import org.apache.olingo.client.api.edm.xml.annotation.Apply;
-import org.apache.olingo.client.api.edm.xml.annotation.Cast;
-import org.apache.olingo.client.api.edm.xml.annotation.Collection;
-import org.apache.olingo.client.api.edm.xml.annotation.If;
-import org.apache.olingo.client.api.edm.xml.annotation.IsOf;
-import org.apache.olingo.client.api.edm.xml.annotation.LabeledElement;
-import org.apache.olingo.client.api.edm.xml.annotation.NavigationPropertyPath;
-import org.apache.olingo.client.api.edm.xml.annotation.Null;
-import org.apache.olingo.client.api.edm.xml.annotation.Path;
-import org.apache.olingo.client.api.edm.xml.annotation.PropertyPath;
-import org.apache.olingo.client.api.edm.xml.annotation.Record;
-import org.apache.olingo.client.api.edm.xml.annotation.TwoParamsOpDynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.UrlRef;
import org.apache.olingo.client.core.edm.xml.AbstractEdmDeserializer;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.Apply;
+import org.apache.olingo.commons.api.edm.provider.annotation.Cast;
+import org.apache.olingo.commons.api.edm.provider.annotation.Collection;
+import org.apache.olingo.commons.api.edm.provider.annotation.If;
+import org.apache.olingo.commons.api.edm.provider.annotation.IsOf;
+import org.apache.olingo.commons.api.edm.provider.annotation.LabeledElement;
+import org.apache.olingo.commons.api.edm.provider.annotation.NavigationPropertyPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.Null;
+import org.apache.olingo.commons.api.edm.provider.annotation.Path;
+import org.apache.olingo.commons.api.edm.provider.annotation.PropertyPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.Record;
+import org.apache.olingo.commons.api.edm.provider.annotation.TwoParamsOpDynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.UrlRef;
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.core.JsonParseException;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IfImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IfImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IfImpl.java
index dd62bd4..e6dd688 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IfImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IfImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.If;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.If;
public class IfImpl extends AbstractAnnotatableDynamicAnnotationExpression implements If {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IsOfImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IsOfImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IsOfImpl.java
index 1c41c77..0eb95de 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IsOfImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/IsOfImpl.java
@@ -18,9 +18,9 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.IsOf;
import org.apache.olingo.commons.api.edm.geo.SRID;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.IsOf;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementImpl.java
index 9b5a6d2..8b24a4f 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.LabeledElement;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.LabeledElement;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementReferenceImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementReferenceImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementReferenceImpl.java
index 0da0ce5..7bd3a14 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementReferenceImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/LabeledElementReferenceImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.LabeledElementReference;
+import org.apache.olingo.commons.api.edm.provider.annotation.LabeledElementReference;
public class LabeledElementReferenceImpl
extends AbstractElementOrAttributeExpression implements LabeledElementReference {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NavigationPropertyPathImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NavigationPropertyPathImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NavigationPropertyPathImpl.java
index c93cd09..8e04ebb 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NavigationPropertyPathImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NavigationPropertyPathImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.NavigationPropertyPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.NavigationPropertyPath;
public class NavigationPropertyPathImpl extends AbstractElementOrAttributeExpression implements NavigationPropertyPath {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NotImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NotImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NotImpl.java
index 7013e30..044385d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NotImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NotImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.Not;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.Not;
public class NotImpl extends AbstractDynamicAnnotationExpression implements Not {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NullImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NullImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NullImpl.java
index f779b5f..0aa5d61 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NullImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/NullImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.Null;
+import org.apache.olingo.commons.api.edm.provider.annotation.Null;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PathImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PathImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PathImpl.java
index 73e9571..a3597e0 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PathImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PathImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.Path;
+import org.apache.olingo.commons.api.edm.provider.annotation.Path;
public class PathImpl extends AbstractElementOrAttributeExpression implements Path {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyPathImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyPathImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyPathImpl.java
index f8d1916..97dd2e6 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyPathImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyPathImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.PropertyPath;
+import org.apache.olingo.commons.api.edm.provider.annotation.PropertyPath;
public class PropertyPathImpl extends AbstractElementOrAttributeExpression implements PropertyPath {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyValueImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyValueImpl.java
index 61cf85d..5f36ec8 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyValueImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/PropertyValueImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.PropertyValue;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.PropertyValue;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/RecordImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/RecordImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/RecordImpl.java
index 46f322b..bafb185 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/RecordImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/RecordImpl.java
@@ -21,8 +21,8 @@ package org.apache.olingo.client.core.edm.xml.annotation;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.client.api.edm.xml.annotation.PropertyValue;
-import org.apache.olingo.client.api.edm.xml.annotation.Record;
+import org.apache.olingo.commons.api.edm.provider.annotation.PropertyValue;
+import org.apache.olingo.commons.api.edm.provider.annotation.Record;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/TwoParamsOpDynamicAnnotationExpressionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/TwoParamsOpDynamicAnnotationExpressionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/TwoParamsOpDynamicAnnotationExpressionImpl.java
index 5b1f7fa..00857c3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/TwoParamsOpDynamicAnnotationExpressionImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/TwoParamsOpDynamicAnnotationExpressionImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.DynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.TwoParamsOpDynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.DynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.TwoParamsOpDynamicAnnotationExpression;
public class TwoParamsOpDynamicAnnotationExpressionImpl
extends AbstractDynamicAnnotationExpression implements TwoParamsOpDynamicAnnotationExpression {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/UrlRefImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/UrlRefImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/UrlRefImpl.java
index 3e7eeba..9ec31b0 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/UrlRefImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/annotation/UrlRefImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.client.core.edm.xml.annotation;
-import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.UrlRef;
+import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.UrlRef;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/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 1b38732..98d817b 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
@@ -26,7 +26,6 @@ import org.apache.commons.io.IOUtils;
import org.apache.olingo.client.api.ODataClient;
import org.apache.olingo.client.api.data.ServiceDocument;
import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
-import org.apache.olingo.client.api.edm.xml.Schema;
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
import org.apache.olingo.client.api.serialization.ODataReader;
import org.apache.olingo.client.core.edm.EdmClientImpl;
@@ -42,6 +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.format.ODataFormat;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.slf4j.Logger;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/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 8a4da6f..2bea290 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
@@ -26,21 +26,7 @@ import static org.junit.Assert.assertTrue;
import java.util.List;
import org.apache.olingo.client.api.ODataClient;
-import org.apache.olingo.client.api.edm.xml.Annotation;
-import org.apache.olingo.client.api.edm.xml.Annotations;
-import org.apache.olingo.client.api.edm.xml.ComplexType;
-import org.apache.olingo.client.api.edm.xml.EntityContainer;
-import org.apache.olingo.client.api.edm.xml.EntityType;
-import org.apache.olingo.client.api.edm.xml.Function;
-import org.apache.olingo.client.api.edm.xml.FunctionImport;
-import org.apache.olingo.client.api.edm.xml.Schema;
-import org.apache.olingo.client.api.edm.xml.Singleton;
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.client.api.edm.xml.annotation.Apply;
-import org.apache.olingo.client.api.edm.xml.annotation.Collection;
-import org.apache.olingo.client.api.edm.xml.annotation.ConstantAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.TwoParamsOpDynamicAnnotationExpression;
-import org.apache.olingo.client.api.edm.xml.annotation.UrlRef;
import org.apache.olingo.client.core.AbstractTest;
import org.apache.olingo.client.core.edm.xml.annotation.ConstantAnnotationExpressionImpl;
import org.apache.olingo.client.core.edm.xml.annotation.PathImpl;
@@ -63,6 +49,20 @@ 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.annotation.Apply;
+import org.apache.olingo.commons.api.edm.provider.annotation.Collection;
+import org.apache.olingo.commons.api.edm.provider.annotation.ConstantAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.TwoParamsOpDynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.annotation.UrlRef;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal;
import org.apache.olingo.commons.core.edm.primitivetype.EdmInt32;
@@ -193,7 +193,6 @@ public class MetadataTest extends AbstractTest {
final EntityContainer entityContainer = second.getEntityContainer();
assertNotNull(entityContainer);
assertEquals("NorthwindEntities", entityContainer.getName());
- assertTrue(entityContainer.isLazyLoadingEnabled());
}
/**
@@ -209,7 +208,7 @@ public class MetadataTest extends AbstractTest {
assertEquals("Org.OData.Measures.V1", metadata.getReferences().get(1).getIncludes().get(0).getNamespace());
final EntityType product = metadata.getSchema(0).getEntityType("Product");
- assertTrue(product.isHasStream());
+ assertTrue(product.hasStream());
assertEquals("UoM.ISOCurrency", product.getProperty("Price").getAnnotations().get(0).getTerm());
assertEquals("Products", product.getNavigationProperty("Supplier").getPartner());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
index 199de6c..ff0936c 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
@@ -33,7 +33,7 @@ public interface EdmNavigationProperty extends EdmElement, EdmAnnotationsTarget,
/**
* @return true if nullable or null if not specified
*/
- Boolean isNullable();
+ boolean isNullable();
/**
* @return true if containsTarget or null if not specified
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmParameter.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmParameter.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmParameter.java
index 42380aa..79c3e20 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmParameter.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmParameter.java
@@ -28,7 +28,7 @@ public interface EdmParameter extends EdmElement, EdmMappable, EdmAnnotatable {
/**
* @return true if nullable or null if not specified
*/
- Boolean isNullable();
+ boolean isNullable();
/**
* @return the maximum length as an Integer or null if not specified
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
index 68bbd94..50028f3 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
@@ -44,7 +44,7 @@ public interface EdmProperty extends EdmElement, EdmMappable, EdmAnnotationsTarg
/**
* @return true if nullable or null if not specified
*/
- Boolean isNullable();
+ boolean isNullable();
/**
* @return the maximum length as an Integer or null if not specified
@@ -69,7 +69,7 @@ public interface EdmProperty extends EdmElement, EdmMappable, EdmAnnotationsTarg
/**
* @return true if unicode or null if not specified
*/
- Boolean isUnicode();
+ boolean isUnicode();
/**
* @return the default value as a String or null if not specified
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReturnType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReturnType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReturnType.java
index 46d3249..5b1b22a 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReturnType.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReturnType.java
@@ -28,7 +28,7 @@ public interface EdmReturnType extends EdmTyped {
/**
* @return true if nullable or null if not specified
*/
- Boolean isNullable();
+ boolean isNullable();
/**
* @return the maximum length as an Integer or null if not specified
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/FullQualifiedName.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/FullQualifiedName.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/FullQualifiedName.java
index 4657b20..61a6ff1 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/FullQualifiedName.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/FullQualifiedName.java
@@ -18,13 +18,17 @@
*/
package org.apache.olingo.commons.api.edm;
+import java.io.Serializable;
+
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
/**
* A full qualified name of any element in the EDM consists of a name and a namespace.
*/
-public class FullQualifiedName {
+public class FullQualifiedName implements Serializable{
+
+ private static final long serialVersionUID = -4063629050858999076L;
private final String namespace;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Target.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Target.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Target.java
index 91b1c98..5fb2259 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Target.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Target.java
@@ -33,16 +33,20 @@ public class Target {
private final Target instance;
public Builder(final String target, final EdmEntityContainer defaultContainer) {
- final String[] bindingTargetParts = target.split("/");
-
- instance = new Target();
- if (bindingTargetParts.length == 1) {
- instance.setEntityContainer(defaultContainer.getFullQualifiedName()).
- setTargetName(bindingTargetParts[0]);
+ if (target != null) {
+ final String[] bindingTargetParts = target.split("/");
+ instance = new Target();
+ if (bindingTargetParts.length == 1) {
+ instance.setEntityContainer(defaultContainer.getFullQualifiedName()).
+ setTargetName(bindingTargetParts[0]);
+ } else {
+ instance.setEntityContainer(new FullQualifiedName(bindingTargetParts[0])).
+ setTargetName(bindingTargetParts[1]);
+ }
} else {
- instance.setEntityContainer(new FullQualifiedName(bindingTargetParts[0])).
- setTargetName(bindingTargetParts[1]);
+ instance = null;
}
+
}
public Target build() {
@@ -74,4 +78,12 @@ public class Target {
return this;
}
+ @Override
+ public String toString() {
+ if(entityContainer == null){
+ return targetName;
+ }
+ return entityContainer.getFullQualifiedNameAsString() + "/" + targetName;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/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
new file mode 100644
index 0000000..0c375ae
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AbstractEdmItem.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 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/8a58a678/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
new file mode 100644
index 0000000..1a614a7
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Action.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 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/8a58a678/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
new file mode 100644
index 0000000..a773039
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ActionImport.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 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/8a58a678/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
new file mode 100644
index 0000000..b4493f5
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/AliasInfo.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 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/8a58a678/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
new file mode 100644
index 0000000..1e97719
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotatable.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 Annotatable {
+
+ List<Annotation> getAnnotations();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/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
new file mode 100644
index 0000000..ed1d8a4
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotation.java
@@ -0,0 +1,80 @@
+/*
+ * 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.provider.annotation.AnnotationExpression;
+
+public class Annotation extends AbstractEdmItem implements Annotatable{
+
+ private static final long serialVersionUID = -7137313445729486860L;
+
+ private String term;
+
+ // Target should be a target path
+// private String targetPath;
+ private String qualifier;
+
+ private AnnotationExpression expression;
+
+ private List<Annotation> annotation;
+
+ 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 AnnotationExpression getExpression() {
+ return expression;
+ }
+
+ public Annotation setExpression(final AnnotationExpression expression) {
+ this.expression = expression;
+ return this;
+ }
+
+ public List<Annotation> getAnnotation() {
+ return annotation;
+ }
+
+ public Annotation setAnnotation(final List<Annotation> annotation) {
+ this.annotation = annotation;
+ return this;
+ }
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/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
new file mode 100644
index 0000000..c01566d
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/Annotations.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 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/8a58a678/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
new file mode 100644
index 0000000..4612857
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/BindingTarget.java
@@ -0,0 +1,79 @@
+/*
+ * 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/8a58a678/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
new file mode 100644
index 0000000..07f4d3b
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/ComplexType.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 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/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EdmProvider.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EdmProvider.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EdmProvider.java
new file mode 100644
index 0000000..d221ca1
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EdmProvider.java
@@ -0,0 +1,195 @@
+/*
+ * 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.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+import java.util.List;
+
+public abstract class EdmProvider {
+
+ /**
+ * This method should return an {@link EnumType} or <b>null</b> if nothing is found
+ *
+ * @param enumTypeName
+ * @return {@link EnumType} for given name
+ * @throws ODataException
+ */
+ public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link TypeDefinition} or <b>null</b> if nothing is found
+ *
+ * @param typeDefinitionName
+ * @return {@link TypeDefinition} for given name
+ * @throws ODataException
+ */
+ public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link EntityType} or <b>null</b> if nothing is found
+ *
+ * @param entityTypeName
+ * @return {@link EntityType} for the given name
+ * @throws ODataException
+ */
+ public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a {@link ComplexType} or <b>null</b> if nothing is found.
+ *
+ * @param complexTypeName
+ * @return {@link ComplexType} for the given name
+ * @throws ODataException
+ */
+ public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a list of all {@link Action} for the FullQualifiedname or <b>null</b> if nothing is found
+ *
+ * @param actionName
+ * @return List of {@link Action} or null
+ * @throws ODataException
+ */
+ public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a list of all {@link Function} for the FullQualifiedname or <b>null</b> if nothing is
+ * found
+ *
+ * @param functionName
+ * @return List of {@link Function} or null
+ * @throws ODataException
+ */
+ public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a {@link Term} for the FullQualifiedName or <b>null</b> if nothing is found.
+ * @param termName the name of the Term
+ * @return {@link Term} or null
+ * @throws ODataException
+ */
+ public Term getTerm(final FullQualifiedName termName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link EntitySet} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this EntitySet is contained in
+ * @param entitySetName
+ * @return {@link EntitySet} for the given container and entityset name
+ * @throws ODataException
+ */
+ public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link Singleton} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this Singleton is contained in
+ * @param singletonName
+ * @return {@link Singleton} for given container and singleton name
+ * @throws ODataException
+ */
+ public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link ActionImport} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this ActionImport is contained in
+ * @param actionImportName
+ * @return {@link ActionImport} for the given container and ActionImport name
+ * @throws ODataException
+ */
+ public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a {@link FunctionImport} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this FunctionImport is contained in
+ * @param functionImportName
+ * @return {@link FunctionImport} for the given container name and function import name
+ * @throws ODataException
+ */
+ public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link EntityContainerInfo} or <b>null</b> if nothing is found
+ *
+ * @param entityContainerName (null for default container)
+ * @return {@link EntityContainerInfo} for the given name
+ * @throws ODataException
+ */
+ public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a list of all namespaces which have an alias
+ *
+ * @return List of alias info
+ * @throws ODataException
+ */
+ public List<AliasInfo> getAliasInfos() throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a collection of all {@link Schema}
+ *
+ * @return List<{@link Schema}>
+ * @throws ODataException
+ */
+ public List<Schema> getSchemas() throws ODataException {
+ return null;
+ }
+
+ /**
+ * Returns the entity container of this edm
+ * @return {@link EntityContainer} of this edm
+ */
+ public EntityContainer getEntityContainer() throws ODataException {
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainer.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainer.java
new file mode 100644
index 0000000..802da48
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainer.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 EntityContainer extends AbstractEdmItem implements Named, Annotatable {
+
+ private static final long serialVersionUID = 5384682515007129458L;
+
+ private String name;
+
+ private FullQualifiedName extendsContainer;
+
+ private List<EntitySet> entitySets = new ArrayList<EntitySet>();
+
+ private List<ActionImport> actionImports = new ArrayList<ActionImport>();
+
+ private List<FunctionImport> functionImports = new ArrayList<FunctionImport>();
+
+ private List<Singleton> singletons = new ArrayList<Singleton>();
+
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ // Annotations
+ public String getName() {
+ return name;
+ }
+
+ public EntityContainer 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 EntityContainer setExtendsContainer(final String extendsContainer) {
+ this.extendsContainer = new FullQualifiedName(extendsContainer);
+ return this;
+ }
+
+ public List<EntitySet> getEntitySets() {
+ return entitySets;
+ }
+
+ public EntitySet getEntitySet(final String name) {
+ return getOneByName(name, getEntitySets());
+ }
+
+ public EntityContainer setEntitySets(final List<EntitySet> entitySets) {
+ this.entitySets = entitySets;
+ return this;
+ }
+
+ public List<ActionImport> getActionImports() {
+ return actionImports;
+ }
+
+ /**
+ * Gets the first action import with given name.
+ *
+ * @param name name.
+ * @return action import.
+ */
+ public ActionImport getActionImport(final String name) {
+ return getOneByName(name, getActionImports());
+ }
+
+ /**
+ * Gets all action imports with given name.
+ *
+ * @param name name.
+ * @return action imports.
+ */
+ public List<ActionImport> getActionImports(final String name) {
+ return getAllByName(name, getActionImports());
+ }
+
+ public EntityContainer setActionImports(final List<ActionImport> actionImports) {
+ this.actionImports = actionImports;
+ return this;
+ }
+
+ public List<FunctionImport> getFunctionImports() {
+ return functionImports;
+ }
+
+ /**
+ * Gets the first function import with given name.
+ *
+ * @param name name.
+ * @return function import.
+ */
+ public FunctionImport getFunctionImport(final String name) {
+ return getOneByName(name, getFunctionImports());
+ }
+
+ /**
+ * Gets all function imports with given name.
+ *
+ * @param name name.
+ * @return function imports.
+ */
+ public List<FunctionImport> getFunctionImports(final String name) {
+ return getAllByName(name, getFunctionImports());
+ }
+
+ public EntityContainer setFunctionImports(final List<FunctionImport> functionImports) {
+ this.functionImports = functionImports;
+ return this;
+ }
+
+ public List<Singleton> getSingletons() {
+ return singletons;
+ }
+
+ public Singleton getSingleton(final String name) {
+ return getOneByName(name, getSingletons());
+ }
+
+ public EntityContainer setSingletons(final List<Singleton> singletons) {
+ this.singletons = singletons;
+ return this;
+ }
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainerInfo.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainerInfo.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainerInfo.java
new file mode 100644
index 0000000..8de97de
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityContainerInfo.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 EntityContainerInfo {
+
+ private FullQualifiedName containerName;
+
+ private FullQualifiedName extendsContainer;
+
+ public FullQualifiedName getContainerName() {
+ return containerName;
+ }
+
+ public EntityContainerInfo setContainerName(final FullQualifiedName containerName) {
+ this.containerName = containerName;
+ return this;
+ }
+
+ public FullQualifiedName getExtendsContainer() {
+ return extendsContainer;
+ }
+
+ public EntityContainerInfo setExtendsContainer(final FullQualifiedName extendsContainer) {
+ this.extendsContainer = extendsContainer;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySet.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySet.java
new file mode 100644
index 0000000..b6356f7
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySet.java
@@ -0,0 +1,63 @@
+/*
+ * 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 EntitySet extends BindingTarget {
+
+ private static final long serialVersionUID = 5291570018480936643L;
+
+ private boolean includeInServiceDocument = true;
+
+ @Override
+ public EntitySet setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public EntitySet setNavigationPropertyBindings(final List<NavigationPropertyBinding> navigationPropertyBindings) {
+ this.navigationPropertyBindings = navigationPropertyBindings;
+ return this;
+ }
+
+ @Override
+ public EntitySet setType(final String type) {
+ this.type = new FullQualifiedName(type);
+ return this;
+ }
+
+ @Override
+ public EntitySet setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public boolean isIncludeInServiceDocument() {
+ return includeInServiceDocument;
+ }
+
+ public EntitySet setIncludeInServiceDocument(final boolean includeInServiceDocument) {
+ this.includeInServiceDocument = includeInServiceDocument;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySetPath.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySetPath.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySetPath.java
new file mode 100644
index 0000000..3bc8d45
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntitySetPath.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 EntitySetPath {
+
+ private String bindingParameter;
+
+ private String path;
+
+ public String getBindingParameter() {
+ return bindingParameter;
+ }
+
+ public EntitySetPath setBindingParameter(final String bindingParameter) {
+ this.bindingParameter = bindingParameter;
+ return this;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public EntitySetPath setPath(final String path) {
+ this.path = path;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityType.java
new file mode 100644
index 0000000..9994e9e
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EntityType.java
@@ -0,0 +1,92 @@
+/*
+ * 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 EntityType extends StructuralType {
+
+ private static final long serialVersionUID = -1564752618679704024L;
+
+ private List<PropertyRef> key;
+
+ private boolean hasStream = false;
+
+ public boolean hasStream() {
+ return hasStream;
+ }
+
+ public EntityType setHasStream(final boolean hasStream) {
+ this.hasStream = hasStream;
+ return this;
+ }
+
+ public List<PropertyRef> getKey() {
+ return key;
+ }
+
+ public EntityType setKey(final List<PropertyRef> key) {
+ this.key = key;
+ return this;
+ }
+
+ @Override
+ public EntityType setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public EntityType setOpenType(final boolean isOpenType) {
+ this.isOpenType = isOpenType;
+ return this;
+ }
+
+ @Override
+ public EntityType setBaseType(final String baseType) {
+ this.baseType = new FullQualifiedName(baseType);
+ return this;
+ }
+
+ @Override
+ public EntityType setBaseType(final FullQualifiedName baseType) {
+ this.baseType = baseType;
+ return this;
+ }
+
+ @Override
+ public EntityType setAbstract(final boolean isAbstract) {
+ this.isAbstract = isAbstract;
+ return this;
+ }
+
+ @Override
+ public EntityType setProperties(final List<Property> properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ @Override
+ public EntityType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
+ this.navigationProperties = navigationProperties;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8a58a678/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EnumMember.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EnumMember.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EnumMember.java
new file mode 100644
index 0000000..2787e3f
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/EnumMember.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EnumMember extends AbstractEdmItem implements Named, Annotatable{
+
+ private static final long serialVersionUID = 5618984420582832094L;
+
+ private String name;
+
+ private String value;
+
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ public String getName() {
+ return name;
+ }
+
+ public EnumMember setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public EnumMember setValue(final String value) {
+ this.value = value;
+ return this;
+ }
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
+}