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 2016/03/01 13:51:47 UTC

[2/2] olingo-odata4 git commit: [OLINGO-866] Test and Bugfix for metadata action import serialization

[OLINGO-866] Test and Bugfix for metadata action import serialization


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

Branch: refs/heads/master
Commit: 6c2676452cf5a11efdf57e46df6b56bff847e407
Parents: 1563f95
Author: Christian Amend <ch...@sap.com>
Authored: Tue Mar 1 13:50:48 2016 +0100
Committer: Christian Amend <ch...@sap.com>
Committed: Tue Mar 1 13:50:48 2016 +0100

----------------------------------------------------------------------
 .../org/apache/olingo/fit/tecsvc/client/BasicITCase.java  | 10 ++++++++++
 .../serializer/xml/MetadataDocumentXmlSerializer.java     |  2 +-
 .../olingo/server/tecsvc/provider/ContainerProvider.java  | 10 ++++++++--
 3 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6c267645/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
index a45f548..0a34983 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
@@ -69,6 +69,7 @@ import org.apache.olingo.client.api.domain.ClientValue;
 import org.apache.olingo.client.api.edm.xml.Reference;
 import org.apache.olingo.client.api.edm.xml.XMLMetadata;
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmActionImport;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
 import org.apache.olingo.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
@@ -159,6 +160,15 @@ public class BasicITCase extends AbstractParamTecSvcITCase {
     EdmAnnotation annotation =
         entitySet.getAnnotation(edm.getTerm(new FullQualifiedName("Org.OData.Core.V1", "Description")), null);
     assertNotNull(annotation);
+    
+    EdmActionImport actionImport = edm.getEntityContainer().getActionImport("AIRTString");
+    annotations = actionImport.getAnnotations();
+    assertNotNull(annotations);
+    // Just one is necessary to not make the test too strict
+    assertTrue(annotations.size() > 1);
+    annotation =
+        entitySet.getAnnotation(edm.getTerm(new FullQualifiedName("Org.OData.Core.V1", "Description")), null);
+    assertNotNull(annotation);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6c267645/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
index 55c7ede..c867815 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
@@ -597,8 +597,8 @@ public class MetadataDocumentXmlSerializer {
       writer.writeStartElement(XML_ACTION_IMPORT);
       writer.writeAttribute(XML_NAME, actionImport.getName());
       writer.writeAttribute(XML_ACTION, getAliasedFullQualifiedName(actionImport.getUnboundAction(), false));
-      writer.writeEndElement();
       appendAnnotations(writer, actionImport);
+      writer.writeEndElement();
     }
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6c267645/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
index 0fa3e78..9f06b89 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
@@ -644,7 +644,7 @@ public class ContainerProvider {
                 new CsdlAnnotation().setTerm("Core.Description")
                     .setExpression(new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String)
                         .setValue("Entity set will be streamed and it contains entities with various properties of " +
-                                "type primitive, collection of primitive, complex and collection of complex")),
+                            "type primitive, collection of primitive, complex and collection of complex")),
                 new CsdlAnnotation().setTerm(TermProvider.TERM_DATA.getFullQualifiedNameAsString()).setExpression(
                     new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.Bool, "true"))));
       }
@@ -659,7 +659,13 @@ public class ContainerProvider {
       if (name.equals(AIRT_STRING)) {
         return new CsdlActionImport()
             .setName(AIRT_STRING)
-            .setAction(ActionProvider.nameUARTString);
+            .setAction(ActionProvider.nameUARTString)
+            .setAnnotations(Arrays.asList(new CsdlAnnotation().setTerm("Core.Description").setExpression(
+                new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String,
+                    "Action Import returns a simple String")),
+                new CsdlAnnotation().setTerm(TermProvider.TERM_DATA.getFullQualifiedNameAsString()).setExpression(
+                    new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.Bool, "true"))
+                ));
 
       } else if (name.equals(AIRT_COLL_STRING_TWO_PARAM)) {
         return new CsdlActionImport()