Repository: olingo-odata4
Updated Branches:
  refs/heads/olingo786 2ffb81393 -> d9d33abe8


[OLINGO-786] Make Annotations annotatable


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/1ac59b22
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/1ac59b22
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/1ac59b22

Branch: refs/heads/olingo786
Commit: 1ac59b22a8dec83a2e6b1a2e6d6d7e6b6dee424c
Parents: 2ffb813
Author: Christian Amend <[email protected]>
Authored: Fri Oct 9 16:06:06 2015 +0200
Committer: Christian Amend <[email protected]>
Committed: Fri Oct 9 16:06:06 2015 +0200

----------------------------------------------------------------------
 .../olingo/commons/api/edm/EdmAnnotations.java  | 14 +-------
 .../commons/core/edm/EdmAnnotationsImpl.java    | 36 ++------------------
 2 files changed, 3 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1ac59b22/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotations.java
----------------------------------------------------------------------
diff --git 
a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotations.java
 
b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotations.java
index 229cce8..f105c58 100644
--- 
a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotations.java
+++ 
b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmAnnotations.java
@@ -18,12 +18,11 @@
  */
 package org.apache.olingo.commons.api.edm;
 
-import java.util.List;
 
 /**
  * This is used to apply a group of annotations to a single model element.
  */
-public interface EdmAnnotations {
+public interface EdmAnnotations extends EdmAnnotatable{
 
   /**
    * @return a model element in the entity model to which this annotations is 
targeted
@@ -41,15 +40,4 @@ public interface EdmAnnotations {
    * @return the path to the target
    */
   String getTargetPath();
-
-  /**
-   * @param term
-   * @return the annotation for the given term or null if not present
-   */
-  EdmAnnotation getAnnotation(EdmTerm term);
-
-  /**
-   * @return a list of all annotations
-   */
-  List<EdmAnnotation> getAnnotations();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1ac59b22/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationsImpl.java
----------------------------------------------------------------------
diff --git 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationsImpl.java
 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationsImpl.java
index 8c0ad5c..9f983f8 100644
--- 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationsImpl.java
+++ 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmAnnotationsImpl.java
@@ -18,31 +18,24 @@
  */
 package org.apache.olingo.commons.core.edm;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmAnnotations;
 import org.apache.olingo.commons.api.edm.EdmAnnotationsTarget;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
 import org.apache.olingo.commons.api.edm.EdmEnumType;
 import org.apache.olingo.commons.api.edm.EdmStructuredType;
-import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.CsdlAnnotation;
 import org.apache.olingo.commons.api.edm.provider.CsdlAnnotations;
 
-public class EdmAnnotationsImpl implements EdmAnnotations {
+public class EdmAnnotationsImpl extends AbstractEdmAnnotatable implements 
EdmAnnotations {
 
   private final Edm edm;
   private final CsdlAnnotations annotationGroup;
   private EdmAnnotationsTarget target;
-  private List<EdmAnnotation> annotations;
 
   public EdmAnnotationsImpl(final Edm edm, final CsdlAnnotations 
annotationGroup) {
+    super(edm, annotationGroup);
     this.edm = edm;
     this.annotationGroup = annotationGroup;
   }
@@ -122,32 +115,7 @@ public class EdmAnnotationsImpl implements EdmAnnotations {
   }
 
   @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() {
-    if (annotations == null) {
-      List<EdmAnnotation> annotationsLocal = new ArrayList<EdmAnnotation>();
-      for (CsdlAnnotation annotation : annotationGroup.getAnnotations()) {
-        annotationsLocal.add(new EdmAnnotationImpl(edm, annotation));
-      }
-
-      annotations = Collections.unmodifiableList(annotationsLocal);
-    }
-    return annotations;
-  }
-
-  @Override
   public String getTargetPath() {
     return annotationGroup.getTarget();
   }
-
 }

Reply via email to