Repository: olingo-odata4 Updated Branches: refs/heads/master c2c5111a6 -> d0f52977e
OLINGO-1230: adding missing OpenType attribute to complex and entity type in metadata document Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/d0f52977 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/d0f52977 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/d0f52977 Branch: refs/heads/master Commit: d0f52977e66645f79ddfe22aff17be3be22e9acb Parents: c2c5111 Author: Ramesh Reddy <[email protected]> Authored: Fri Aug 3 15:59:00 2018 -0500 Committer: Ramesh Reddy <[email protected]> Committed: Fri Aug 3 15:59:00 2018 -0500 ---------------------------------------------------------------------- .../serializer/xml/MetadataDocumentXmlSerializer.java | 11 ++++++++++- .../xml/MetadataDocumentXmlSerializerTest.java | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d0f52977/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 a5ae088..2505440 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 @@ -139,6 +139,7 @@ public class MetadataDocumentXmlSerializer { private static final String ABSTRACT = "Abstract"; private static final String XML_ANNOTATIONS = "Annotations"; + private static final String OPEN_TYPE = "OpenType"; private static final String EDMX = "Edmx"; private static final String PREFIX_EDMX = "edmx"; @@ -772,7 +773,11 @@ public class MetadataDocumentXmlSerializer { if (complexType.isAbstract()) { writer.writeAttribute(ABSTRACT, TRUE); } - + + if (complexType.isOpenType()) { + writer.writeAttribute(OPEN_TYPE, TRUE); + } + appendProperties(writer, complexType); appendNavigationProperties(writer, complexType); @@ -801,6 +806,10 @@ public class MetadataDocumentXmlSerializer { writer.writeAttribute(ABSTRACT, TRUE); } + if (entityType.isOpenType()) { + writer.writeAttribute(OPEN_TYPE, TRUE); + } + appendKey(writer, entityType); appendProperties(writer, entityType); http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d0f52977/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializerTest.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializerTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializerTest.java index 449253f..b6db975 100644 --- a/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializerTest.java +++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializerTest.java @@ -450,7 +450,7 @@ public class MetadataDocumentXmlSerializerTest { InputStream metadataStream = serializer.metadataDocument(serviceMetadata).getContent(); String metadata = IOUtils.toString(metadataStream); - assertTrue(metadata.contains("<ComplexType Name=\"ComplexType\" Abstract=\"true\">" + assertTrue(metadata.contains("<ComplexType Name=\"ComplexType\" Abstract=\"true\" OpenType=\"true\">" + "<Property Name=\"prop1\" Type=\"Edm.String\"/>" + "<Property Name=\"prop2\" Type=\"Edm.String\"/>" + "</ComplexType>"));
