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 a5ae08858..250544068 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); 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 449253f72..b6db975a4 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("" + assertTrue(metadata.contains("" + "" + "" + ""));