You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/05/05 12:30:14 UTC

[2/5] [OLINGO-264] More client-side tests

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
index 683e3ca..0728b01 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
@@ -31,6 +31,7 @@ import org.apache.olingo.client.core.edm.xml.v3.ValueTermImpl;
 import org.apache.olingo.client.core.edm.xml.v4.ActionImpl;
 import org.apache.olingo.client.core.edm.xml.v4.AnnotationImpl;
 import org.apache.olingo.client.core.edm.xml.v4.FunctionImpl;
+import org.apache.olingo.client.core.edm.xml.v4.TermImpl;
 import org.apache.olingo.client.core.edm.xml.v4.TypeDefinitionImpl;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 
@@ -112,23 +113,10 @@ public class SchemaDeserializer extends AbstractEdmDeserializer<AbstractSchema>
             ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).
                     setEntityContainer(entityContainer);
           }
-        } else if ("Annotations".equals(jp.getCurrentName())) {
-          jp.nextToken();
-          if (schema instanceof org.apache.olingo.client.core.edm.xml.v3.SchemaImpl) {
-            ((org.apache.olingo.client.core.edm.xml.v3.SchemaImpl) schema).getAnnotationGroups().
-                    add(jp.readValueAs(org.apache.olingo.client.core.edm.xml.v3.AnnotationsImpl.class));
-          } else {
-            ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getAnnotationGroups().
-                    add(jp.readValueAs(org.apache.olingo.client.core.edm.xml.v4.AnnotationsImpl.class));
-          }
         } else if ("Action".equals(jp.getCurrentName())) {
           jp.nextToken();
           ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getActions().
                   add(jp.readValueAs(ActionImpl.class));
-        } else if ("Annotation".equals(jp.getCurrentName())) {
-          jp.nextToken();
-          ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getAnnotations().
-                  add(jp.readValueAs(AnnotationImpl.class));
         } else if ("Function".equals(jp.getCurrentName())) {
           jp.nextToken();
           ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getFunctions().
@@ -138,6 +126,23 @@ public class SchemaDeserializer extends AbstractEdmDeserializer<AbstractSchema>
           ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).
                   getTypeDefinitions().add(jp.readValueAs(TypeDefinitionImpl.class));
         }
+      } else if ("Annotations".equals(jp.getCurrentName())) {
+        jp.nextToken();
+        if (schema instanceof org.apache.olingo.client.core.edm.xml.v3.SchemaImpl) {
+          ((org.apache.olingo.client.core.edm.xml.v3.SchemaImpl) schema).getAnnotationGroups().
+                  add(jp.readValueAs(org.apache.olingo.client.core.edm.xml.v3.AnnotationsImpl.class));
+        } else {
+          ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getAnnotationGroups().
+                  add(jp.readValueAs(org.apache.olingo.client.core.edm.xml.v4.AnnotationsImpl.class));
+        }
+      } else if ("Annotation".equals(jp.getCurrentName())) {
+        jp.nextToken();
+        ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getAnnotations().
+                add(jp.readValueAs(AnnotationImpl.class));
+      } else if ("Term".equals(jp.getCurrentName())) {
+        jp.nextToken();
+        ((org.apache.olingo.client.core.edm.xml.v4.SchemaImpl) schema).getTerms().
+                add(jp.readValueAs(TermImpl.class));
       }
     }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/ReferenceImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/ReferenceImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/ReferenceImpl.java
index c7b88aa..a8d0fd9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/ReferenceImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/ReferenceImpl.java
@@ -24,14 +24,12 @@ import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.olingo.client.api.edm.xml.v4.Annotation;
 import org.apache.olingo.client.api.edm.xml.v4.Include;
 import org.apache.olingo.client.api.edm.xml.v4.IncludeAnnotations;
 import org.apache.olingo.client.api.edm.xml.v4.Reference;
-import org.apache.olingo.client.core.edm.xml.AbstractEdmItem;
 
 @JsonDeserialize(using = ReferenceDeserializer.class)
-public class ReferenceImpl extends AbstractEdmItem implements Reference {
+public class ReferenceImpl extends AbstractAnnotatable implements Reference {
 
   private static final long serialVersionUID = -5600031479702563436L;
 
@@ -41,8 +39,6 @@ public class ReferenceImpl extends AbstractEdmItem implements Reference {
 
   private final List<IncludeAnnotations> includeAnnotations = new ArrayList<IncludeAnnotations>();
 
-  private final List<Annotation> annotations = new ArrayList<Annotation>();
-
   @Override
   public URI getUri() {
     return uri;
@@ -62,9 +58,4 @@ public class ReferenceImpl extends AbstractEdmItem implements Reference {
     return includeAnnotations;
   }
 
-  @Override
-  public List<Annotation> getAnnotations() {
-    return annotations;
-  }
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/SchemaImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/SchemaImpl.java
index 742cf9b..064e679 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/SchemaImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/v4/SchemaImpl.java
@@ -202,7 +202,6 @@ public class SchemaImpl extends AbstractSchema implements Schema {
       for (ComplexType complexType : getComplexTypes()) {
         annotatables.put(complexType.getName(), complexType);
       }
-      annotatables.put(entityContainer.getName(), entityContainer);
       for (EntityType entityType : getEntityTypes()) {
         annotatables.put(entityType.getName(), entityType);
       }
@@ -218,6 +217,9 @@ public class SchemaImpl extends AbstractSchema implements Schema {
       for (TypeDefinition typedef : getTypeDefinitions()) {
         annotatables.put(typedef.getName(), typedef);
       }
+      if (entityContainer != null) {
+        annotatables.put(entityContainer.getName(), entityContainer);
+      }
     }
     return annotatables;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotatable.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotatable.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotatable.java
index 4366b5a..2e3d14a 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotatable.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotatable.java
@@ -25,5 +25,7 @@ import java.util.List;
  */
 public interface EdmAnnotatable {
 
+  EdmAnnotation getAnnotation(EdmTerm term);
+
   List<EdmAnnotation> getAnnotations();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdm.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdm.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdm.java
index 58c979c..0aa7404 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdm.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdm.java
@@ -177,6 +177,12 @@ public abstract class AbstractEdm implements Edm {
     EdmSchema schema = null;
     if (schemas != null) {
       schema = schemas.get(namespace);
+      if (schema == null) {
+        if (aliasToNamespaceInfo == null) {
+          aliasToNamespaceInfo = createAliasToNamespaceInfo();
+        }
+        schema = schemas.get(aliasToNamespaceInfo.get(namespace));
+      }
     }
     return schema;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmSchema.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmSchema.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmSchema.java
index 6e1356e..d1c8e2d 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmSchema.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmSchema.java
@@ -60,7 +60,7 @@ public abstract class AbstractEdmSchema implements EdmSchema {
 
   private EdmEntityContainer entityContainer;
 
-  public AbstractEdmSchema(String namespace, String alias) {
+  public AbstractEdmSchema(final String namespace, final String alias) {
     this.namespace = namespace;
     this.alias = alias;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationHelper.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationHelper.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationHelper.java
index db4ef6f..c4a1b2c 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationHelper.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationHelper.java
@@ -18,10 +18,7 @@
  */
 package org.apache.olingo.commons.core.edm;
 
-import java.util.List;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
+import org.apache.olingo.commons.api.edm.EdmAnnotatable;
 
-public interface EdmAnnotationHelper {
-
-  List<EdmAnnotation> getAnnotations();
+public interface EdmAnnotationHelper extends EdmAnnotatable {
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/AbstractEdmAnnotatableDynamicAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/AbstractEdmAnnotatableDynamicAnnotationExpression.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/AbstractEdmAnnotatableDynamicAnnotationExpression.java
index 711c505..849dec9 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/AbstractEdmAnnotatableDynamicAnnotationExpression.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/AbstractEdmAnnotatableDynamicAnnotationExpression.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.olingo.commons.api.edm.EdmAnnotatable;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 
 public abstract class AbstractEdmAnnotatableDynamicAnnotationExpression
         extends AbstractEdmDynamicAnnotationExpression implements EdmAnnotatable {
@@ -29,6 +30,18 @@ public abstract class AbstractEdmAnnotatableDynamicAnnotationExpression
   private final List<EdmAnnotation> annotations = new ArrayList<EdmAnnotation>();
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    EdmAnnotation result = null;
+    for (EdmAnnotation annotation : getAnnotations()) {
+      if (term.getFullQualifiedName().equals(annotation.getTerm().getFullQualifiedName())) {
+        result = annotation;
+      }
+    }
+
+    return result;
+  }
+
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     return annotations;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
index 2ffd793..2a4a991 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImpl.java
@@ -25,6 +25,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
 import org.apache.olingo.commons.api.edm.EdmProperty;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.core.edm.AbstractEdmComplexType;
 import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
@@ -67,6 +68,12 @@ public class EdmComplexTypeImpl extends AbstractEdmComplexType {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
index f500648..52c94b6 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
@@ -28,6 +28,7 @@ import org.apache.olingo.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.commons.api.edm.EdmException;
 import org.apache.olingo.commons.api.edm.EdmFunctionImport;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.core.edm.AbstractEdmEntityContainer;
 import org.apache.olingo.server.api.edm.provider.ActionImport;
@@ -194,7 +195,13 @@ public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
       }
     }
   }
-
+  
+  @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
   @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
index 882022f..300d2b8 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntitySetImpl.java
@@ -23,6 +23,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.server.api.edm.provider.EntitySet;
 
 public class EdmEntitySetImpl extends EdmBindingTargetImpl implements EdmEntitySet {
@@ -43,7 +44,13 @@ public class EdmEntitySetImpl extends EdmBindingTargetImpl implements EdmEntityS
   public TargetType getAnnotationsTargetType() {
     return TargetType.EntitySet;
   }
-
+  
+  @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
   @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
index 04a1256..40edd0d 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImpl.java
@@ -28,6 +28,7 @@ import org.apache.olingo.commons.api.edm.EdmEntityType;
 import org.apache.olingo.commons.api.edm.EdmKeyPropertyRef;
 import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
 import org.apache.olingo.commons.api.edm.EdmProperty;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.core.edm.AbstractEdmEntityType;
 import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
@@ -100,6 +101,12 @@ public class EdmEntityTypeImpl extends AbstractEdmEntityType {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmMemberImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmMemberImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmMemberImpl.java
index f91ccd3..f7a1667 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmMemberImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmMemberImpl.java
@@ -21,6 +21,7 @@ package org.apache.olingo.server.core.edm.provider;
 import java.util.List;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.core.edm.AbstractEdmMember;
 
@@ -31,6 +32,12 @@ public class EdmMemberImpl extends AbstractEdmMember {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
index f48ddb3..0430679 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.core.edm.AbstractEdmNavigationProperty;
 import org.apache.olingo.server.api.edm.provider.NavigationProperty;
@@ -105,6 +106,12 @@ public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
index 0667c50..c805919 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImpl.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmParameter;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
 import org.apache.olingo.commons.core.edm.AbstractEdmOperation;
@@ -85,6 +86,12 @@ public abstract class EdmOperationImpl extends AbstractEdmOperation {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
index 3c7324e..cd68204 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmOperationImportImpl.java
@@ -22,6 +22,7 @@ import java.util.List;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.core.edm.AbstractEdmOperationImport;
 import org.apache.olingo.server.api.edm.provider.OperationImport;
 
@@ -33,6 +34,12 @@ public abstract class EdmOperationImportImpl extends AbstractEdmOperationImport
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
index e3abedc..9bf20b0 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmParameterImpl.java
@@ -22,6 +22,7 @@ import java.util.List;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmMapping;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.geo.SRID;
 import org.apache.olingo.commons.core.edm.AbstractEdmParameter;
 import org.apache.olingo.server.api.edm.provider.Parameter;
@@ -71,6 +72,12 @@ public class EdmParameterImpl extends AbstractEdmParameter {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
index 82c9c44..8ca8edf 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImpl.java
@@ -23,6 +23,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmMapping;
 import org.apache.olingo.commons.api.edm.EdmProperty;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.geo.SRID;
 import org.apache.olingo.commons.core.edm.AbstractEdmProperty;
@@ -106,6 +107,12 @@ public class EdmPropertyImpl extends AbstractEdmProperty implements EdmProperty
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReferentialConstraintImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReferentialConstraintImpl.java
index 24a0ea3..a92dd39 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReferentialConstraintImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmReferentialConstraintImpl.java
@@ -20,6 +20,7 @@ package org.apache.olingo.server.core.edm.provider;
 
 import java.util.List;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.core.edm.AbstractEdmReferentialConstraint;
 
 public class EdmReferentialConstraintImpl extends AbstractEdmReferentialConstraint {
@@ -29,6 +30,12 @@ public class EdmReferentialConstraintImpl extends AbstractEdmReferentialConstrai
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
index c8f64be..9ab1f3a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSchemaImpl.java
@@ -161,6 +161,12 @@ public class EdmSchemaImpl extends AbstractEdmSchema {
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
index 9b9bc60..41b1a54 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmSingletonImpl.java
@@ -23,6 +23,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.server.api.edm.provider.Singleton;
 
 public class EdmSingletonImpl extends EdmBindingTargetImpl implements EdmSingleton {
@@ -35,7 +36,13 @@ public class EdmSingletonImpl extends EdmBindingTargetImpl implements EdmSinglet
   public TargetType getAnnotationsTargetType() {
     return TargetType.Singleton;
   }
-
+  
+  @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
   @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3b366002/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
index 29e47b9..fc8f6f2 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImpl.java
@@ -24,6 +24,7 @@ import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmException;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.edm.geo.SRID;
@@ -83,6 +84,12 @@ public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition implements
   }
 
   @Override
+  public EdmAnnotation getAnnotation(final EdmTerm term) {
+    // TODO: implement
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+  
+  @Override
   public List<EdmAnnotation> getAnnotations() {
     // TODO: implement
     throw new UnsupportedOperationException("Not supported yet.");