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 2015/08/04 16:57:47 UTC
[11/13] olingo-odata4 git commit: [OLINGO-640] Minor adjustments to
tests and deleted logger
[OLINGO-640] Minor adjustments to tests and deleted logger
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/db0b9d39
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/db0b9d39
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/db0b9d39
Branch: refs/heads/master
Commit: db0b9d39de3a708320e5141bf4c9fed3b9c0e68a
Parents: 3665970
Author: Christian Amend <ch...@sap.com>
Authored: Tue Aug 4 16:23:42 2015 +0200
Committer: Christian Amend <ch...@sap.com>
Committed: Tue Aug 4 16:23:42 2015 +0200
----------------------------------------------------------------------
.../fit/tecsvc/client/NavigationITCase.java | 8 +-
.../core/serializer/xml/ODataXmlSerializer.java | 247 +-
.../serializer/xml/ODataXmlSerializerTest.java | 2434 +++++++++---------
3 files changed, 1386 insertions(+), 1303 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/db0b9d39/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
index a153f06..efcb168 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
@@ -38,7 +38,7 @@ import org.apache.olingo.fit.util.StringHelper;
import org.junit.Assert;
import org.junit.Test;
-public final class NavigationITCase extends AbstractBaseTestITCase {
+public class NavigationITCase extends AbstractBaseTestITCase {
private final ODataClient client = getClient();
@@ -60,7 +60,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
appendKeySegment(32767).build()).rawExecute();
String zeroLevelResponseBody = StringHelper.asString(zeroLevelResponse);
- assertTrue(zeroLevelResponseBody.contains("\"@odata.context\":\"$metadata#ESAllPrim/$entity\""));
+ assertTrue(zeroLevelResponseBody.contains("\"$metadata#ESAllPrim/$entity\""));
// one navigation
final InputStream oneLevelResponse = client.getRetrieveRequestFactory().getEntityRequest(
@@ -70,7 +70,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
.rawExecute();
String oneLevelResponseBody = StringHelper.asString(oneLevelResponse);
- assertTrue(oneLevelResponseBody.contains("\"@odata.context\":\"../$metadata#ESTwoPrim/$entity\""));
+ assertTrue(oneLevelResponseBody.contains("\"../$metadata#ESTwoPrim/$entity\""));
// two navigation
final InputStream twoLevelResponse = client.getRetrieveRequestFactory().getEntityRequest(
@@ -81,7 +81,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
.rawExecute();
String twoLevelResponseBody = StringHelper.asString(twoLevelResponse);
- assertTrue(twoLevelResponseBody.contains("\"@odata.context\":\"../../$metadata#ESTwoPrim/$entity\""));
+ assertTrue(twoLevelResponseBody.contains("\"../../$metadata#ESTwoPrim/$entity\""));
}
@Test
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/db0b9d39/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/ODataXmlSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/ODataXmlSerializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/ODataXmlSerializer.java
index de50032..b9413f7 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/ODataXmlSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/ODataXmlSerializer.java
@@ -6,9 +6,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -67,8 +67,6 @@ import org.apache.olingo.server.core.serializer.SerializerResultImpl;
import org.apache.olingo.server.core.serializer.utils.CircleStreamBuffer;
import org.apache.olingo.server.core.serializer.utils.ContextURLBuilder;
import org.apache.olingo.server.core.serializer.utils.ExpandSelectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class ODataXmlSerializer implements ODataSerializer {
private static final String DATA = "d";
@@ -81,18 +79,16 @@ public class ODataXmlSerializer implements ODataSerializer {
private static final String NS_METADATA = "http://docs.oasis-open.org/odata/ns/metadata";
private static final String NS_DATA = "http://docs.oasis-open.org/odata/ns/data";
private static final String NS_SCHEMA = "http://docs.oasis-open.org/odata/ns/scheme";
-
- private static final Logger log = LoggerFactory.getLogger(ODataXmlSerializer.class);
@Override
public SerializerResult serviceDocument(final ServiceMetadata metadata, final String serviceRoot)
throws SerializerException {
CircleStreamBuffer buffer;
XMLStreamWriter xmlStreamWriter = null;
-
+ SerializerException cachedException = null;
try {
buffer = new CircleStreamBuffer();
- xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(),
+ xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(),
DEFAULT_CHARSET);
ServiceDocumentXmlSerializer serializer = new ServiceDocumentXmlSerializer(metadata, serviceRoot);
serializer.writeServiceDocument(xmlStreamWriter);
@@ -101,16 +97,20 @@ public class ODataXmlSerializer implements ODataSerializer {
return SerializerResultImpl.with().content(buffer.getInputStream()).build();
} catch (final XMLStreamException e) {
- log.error(e.getMessage(), e);
- throw new SerializerException("An I/O exception occurred.", e,
- SerializerException.MessageKeys.IO_EXCEPTION);
+ cachedException =
+ new SerializerException("An I/O exception occurred.", e, SerializerException.MessageKeys.IO_EXCEPTION);
+ throw cachedException;
} finally {
if (xmlStreamWriter != null) {
try {
xmlStreamWriter.close();
} catch (XMLStreamException e) {
- throw new SerializerException("An I/O exception occurred.", e,
- SerializerException.MessageKeys.IO_EXCEPTION);
+ if (cachedException != null) {
+ throw cachedException;
+ } else {
+ throw new SerializerException("An I/O exception occurred.", e,
+ SerializerException.MessageKeys.IO_EXCEPTION);
+ }
}
}
}
@@ -120,10 +120,10 @@ public class ODataXmlSerializer implements ODataSerializer {
public SerializerResult metadataDocument(final ServiceMetadata serviceMetadata) throws SerializerException {
CircleStreamBuffer buffer;
XMLStreamWriter xmlStreamWriter = null;
-
+ SerializerException cachedException = null;
try {
buffer = new CircleStreamBuffer();
- xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(),
+ xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(),
DEFAULT_CHARSET);
MetadataDocumentXmlSerializer serializer = new MetadataDocumentXmlSerializer(serviceMetadata);
serializer.writeMetadataDocument(xmlStreamWriter);
@@ -132,16 +132,20 @@ public class ODataXmlSerializer implements ODataSerializer {
return SerializerResultImpl.with().content(buffer.getInputStream()).build();
} catch (final XMLStreamException e) {
- log.error(e.getMessage(), e);
- throw new SerializerException("An I/O exception occurred.", e,
- SerializerException.MessageKeys.IO_EXCEPTION);
+ cachedException =
+ new SerializerException("An I/O exception occurred.", e, SerializerException.MessageKeys.IO_EXCEPTION);
+ throw cachedException;
} finally {
if (xmlStreamWriter != null) {
try {
xmlStreamWriter.close();
} catch (XMLStreamException e) {
- throw new SerializerException("An I/O exception occurred.", e,
- SerializerException.MessageKeys.IO_EXCEPTION);
+ if (cachedException != null) {
+ throw cachedException;
+ } else {
+ throw new SerializerException("An I/O exception occurred.", e,
+ SerializerException.MessageKeys.IO_EXCEPTION);
+ }
}
}
}
@@ -151,31 +155,31 @@ public class ODataXmlSerializer implements ODataSerializer {
public SerializerResult error(final ODataServerError error) throws SerializerException {
CircleStreamBuffer buffer;
XMLStreamWriter writer = null;
-
+
if (error == null) {
throw new SerializerException("ODataError object MUST NOT be null!",
SerializerException.MessageKeys.NULL_INPUT);
}
-
+
try {
buffer = new CircleStreamBuffer();
- writer = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(),
+ writer = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(),
DEFAULT_CHARSET);
writer.writeStartDocument(ODataSerializer.DEFAULT_CHARSET, "1.0");
-
+
writer.writeStartElement("error");
writer.writeDefaultNamespace(NS_METADATA);
writeErrorDetails(String.valueOf(error.getStatusCode()), error.getMessage(), error.getTarget(), writer);
if (error.getDetails() != null && !error.getDetails().isEmpty()) {
writer.writeStartElement("details");
- for (ODataErrorDetail inner:error.getDetails()) {
+ for (ODataErrorDetail inner : error.getDetails()) {
writeErrorDetails(inner.getCode(), inner.getMessage(), inner.getTarget(), writer);
}
writer.writeEndElement();
}
- writer.writeEndElement();
+ writer.writeEndElement();
writer.writeEndDocument();
-
+
writer.flush();
writer.close();
return SerializerResultImpl.with().content(buffer.getInputStream()).build();
@@ -192,7 +196,7 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeCharacters(String.valueOf(code));
writer.writeEndElement();
}
-
+
writer.writeStartElement("message");
writer.writeCharacters(message);
writer.writeEndElement();
@@ -200,22 +204,22 @@ public class ODataXmlSerializer implements ODataSerializer {
if (target != null) {
writer.writeStartElement("target");
writer.writeCharacters(target);
- writer.writeEndElement();
+ writer.writeEndElement();
}
}
-
+
@Override
public SerializerResult entityCollection(final ServiceMetadata metadata,
final EdmEntityType entityType, final EntityCollection entitySet,
final EntityCollectionSerializerOptions options) throws SerializerException {
-
+
final ContextURL contextURL = checkContextURL(options == null ? null : options.getContextURL());
if (options.onlyReferences()) {
ReferenceCollectionSerializerOptions rso = ReferenceCollectionSerializerOptions.with()
.contextURL(contextURL).build();
return entityReferenceCollection(metadata, entityType, entitySet, rso);
}
-
+
CircleStreamBuffer buffer;
XMLStreamWriter writer = null;
try {
@@ -226,11 +230,11 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeNamespace(ATOM, NS_ATOM);
writer.writeNamespace(METADATA, NS_METADATA);
writer.writeNamespace(DATA, NS_DATA);
-
- writer.writeAttribute(METADATA, NS_METADATA, "context",
+
+ writer.writeAttribute(METADATA, NS_METADATA, "context",
ContextURLBuilder.create(contextURL).toASCIIString());
writeMetadataETag(metadata, writer);
-
+
writer.writeStartElement(ATOM, "id", NS_ATOM);
writer.writeCharacters(options.getId());
writer.writeEndElement();
@@ -242,7 +246,7 @@ public class ODataXmlSerializer implements ODataSerializer {
if (entitySet.getNext() != null) {
writeNextLink(entitySet, writer);
}
-
+
writeEntitySet(metadata, entityType, entitySet,
options.getExpand(), options.getSelect(), options.onlyReferences(), writer);
@@ -261,13 +265,13 @@ public class ODataXmlSerializer implements ODataSerializer {
public SerializerResult entity(final ServiceMetadata metadata, final EdmEntityType entityType,
final Entity entity, final EntitySerializerOptions options) throws SerializerException {
final ContextURL contextURL = checkContextURL(options == null ? null : options.getContextURL());
-
+
if (options.onlyReferences()) {
ReferenceSerializerOptions rso = ReferenceSerializerOptions.with()
.contextURL(contextURL).build();
return entityReference(metadata, entityType, entity, rso);
}
-
+
CircleStreamBuffer buffer;
XMLStreamWriter writer = null;
try {
@@ -295,12 +299,12 @@ public class ODataXmlSerializer implements ODataSerializer {
return contextURL;
}
- private void writeMetadataETag(final ServiceMetadata metadata, XMLStreamWriter writer)
+ private void writeMetadataETag(final ServiceMetadata metadata, XMLStreamWriter writer)
throws XMLStreamException {
if (metadata != null
&& metadata.getServiceMetadataETagSupport() != null
&& metadata.getServiceMetadataETagSupport().getMetadataETag() != null) {
- writer.writeAttribute(METADATA, NS_METADATA, "metadata-etag",
+ writer.writeAttribute(METADATA, NS_METADATA, "metadata-etag",
metadata.getServiceMetadataETagSupport().getMetadataETag());
}
}
@@ -316,7 +320,7 @@ public class ODataXmlSerializer implements ODataSerializer {
protected void writeEntity(final ServiceMetadata metadata, final EdmEntityType entityType,
final Entity entity, final ContextURL contextURL, final ExpandOption expand,
- final SelectOption select, final boolean onlyReference, final XMLStreamWriter writer,
+ final SelectOption select, final boolean onlyReference, final XMLStreamWriter writer,
final boolean top) throws XMLStreamException, SerializerException {
writer.writeStartElement(ATOM, "entry", NS_ATOM);
@@ -324,24 +328,24 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeNamespace(ATOM, NS_ATOM);
writer.writeNamespace(METADATA, NS_METADATA);
writer.writeNamespace(DATA, NS_DATA);
-
+
if (contextURL != null) { // top-level entity
- writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
+ writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
ContextURLBuilder.create(contextURL).toASCIIString());
writeMetadataETag(metadata, writer);
-
+
}
}
if (entity.getETag() != null) {
writer.writeAttribute(METADATA, NS_METADATA, "etag", entity.getETag());
}
-
+
writer.writeStartElement(NS_ATOM, "id");
writer.writeCharacters(entity.getId().toASCIIString());
writer.writeEndElement();
writerAuthorInfo(entity.getTitle(), writer);
-
+
writer.writeStartElement(NS_ATOM, "link");
writer.writeAttribute("rel", "edit");
writer.writeAttribute("href", entity.getId().toASCIIString());
@@ -355,41 +359,41 @@ public class ODataXmlSerializer implements ODataSerializer {
} else {
String id = entity.getId().toASCIIString();
if (id.endsWith("/")) {
- writer.writeAttribute("src", id+"$value");
+ writer.writeAttribute("src", id + "$value");
} else {
- writer.writeAttribute("src", id+"/$value");
+ writer.writeAttribute("src", id + "/$value");
}
}
writer.writeEndElement();
}
-
+
// write media links
- for (Link link:entity.getMediaEditLinks()) {
+ for (Link link : entity.getMediaEditLinks()) {
writeLink(writer, link);
}
EdmEntityType resolvedType = resolveEntityType(metadata, entityType, entity.getType());
writeNavigationProperties(metadata, resolvedType, entity, expand, writer);
-
+
writer.writeStartElement(ATOM, "category", NS_ATOM);
writer.writeAttribute("scheme", NS_SCHEMA);
- writer.writeAttribute("term", "#"+resolvedType.getFullQualifiedName().getFullQualifiedNameAsString());
+ writer.writeAttribute("term", "#" + resolvedType.getFullQualifiedName().getFullQualifiedNameAsString());
writer.writeEndElement();
-
+
// In the case media, content is sibiling
if (!entityType.hasStream()) {
writer.writeStartElement(NS_ATOM, "content");
writer.writeAttribute("type", "application/xml");
}
-
+
writer.writeStartElement(METADATA, "properties", NS_METADATA);
writeProperties(metadata, resolvedType, entity.getProperties(), select, writer);
writer.writeEndElement(); // properties
-
+
if (!entityType.hasStream()) { // content
writer.writeEndElement();
}
- writer.writeEndElement(); //entry
+ writer.writeEndElement(); // entry
}
private void writerAuthorInfo(final String title, final XMLStreamWriter writer) throws XMLStreamException {
@@ -400,12 +404,12 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeEndElement();
writer.writeStartElement(NS_ATOM, "summary");
writer.writeEndElement();
-
+
writer.writeStartElement(NS_ATOM, "updated");
writer.writeCharacters(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
- .format(new Date(System.currentTimeMillis())));
+ .format(new Date(System.currentTimeMillis())));
writer.writeEndElement();
-
+
writer.writeStartElement(NS_ATOM, "author");
writer.writeStartElement(NS_ATOM, "name");
writer.writeEndElement();
@@ -460,9 +464,9 @@ public class ODataXmlSerializer implements ODataSerializer {
.getFullQualifiedName().getFullQualifiedNameAsString());
}
- protected void writeProperties(final ServiceMetadata metadata, final EdmStructuredType type,
- final List<Property> properties, final SelectOption select, final XMLStreamWriter writer)
- throws XMLStreamException, SerializerException {
+ protected void writeProperties(final ServiceMetadata metadata, final EdmStructuredType type,
+ final List<Property> properties, final SelectOption select, final XMLStreamWriter writer)
+ throws XMLStreamException, SerializerException {
final boolean all = ExpandSelectHelper.isAll(select);
final Set<String> selected = all ? null :
ExpandSelectHelper.getSelectedPropertyNames(select.getSelectItems());
@@ -486,7 +490,7 @@ public class ODataXmlSerializer implements ODataSerializer {
ExpandSelectHelper.getExpandedPropertyNames(expand.getExpandItems());
for (final String propertyName : type.getNavigationPropertyNames()) {
final EdmNavigationProperty property = type.getNavigationProperty(propertyName);
- final Link navigationLink = getOrCreateLink(linked, propertyName);
+ final Link navigationLink = getOrCreateLink(linked, propertyName);
if (expandAll || expanded.contains(propertyName)) {
final ExpandItem innerOptions = expandAll ? null :
ExpandSelectHelper.getExpandItem(expand.getExpandItems(), propertyName);
@@ -495,14 +499,14 @@ public class ODataXmlSerializer implements ODataSerializer {
SerializerException.MessageKeys.NOT_IMPLEMENTED);
}
if (navigationLink != null) {
- writeLink(writer, navigationLink, false);
+ writeLink(writer, navigationLink, false);
writer.writeStartElement(METADATA, "inline", NS_METADATA);
writeExpandedNavigationProperty(metadata, property, navigationLink,
innerOptions == null ? null : innerOptions.getExpandOption(),
- innerOptions == null ? null : innerOptions.getSelectOption(),
- innerOptions == null ? false: innerOptions.isRef(),
+ innerOptions == null ? null : innerOptions.getSelectOption(),
+ innerOptions == null ? false : innerOptions.isRef(),
writer);
- writer.writeEndElement();
+ writer.writeEndElement();
writer.writeEndElement();
}
} else {
@@ -512,33 +516,34 @@ public class ODataXmlSerializer implements ODataSerializer {
} else {
for (final String propertyName : type.getNavigationPropertyNames()) {
writeLink(writer, getOrCreateLink(linked, propertyName));
- }
+ }
}
- for (Link link:linked.getAssociationLinks()) {
+ for (Link link : linked.getAssociationLinks()) {
writeLink(writer, link);
- }
+ }
}
-
- protected Link getOrCreateLink(final Linked linked, final String navigationPropertyName)
+
+ protected Link getOrCreateLink(final Linked linked, final String navigationPropertyName)
throws XMLStreamException {
Link link = linked.getNavigationLink(navigationPropertyName);
if (link == null) {
link = new Link();
- link.setRel("http://docs.oasis-open.org/odata/ns/related/"+navigationPropertyName);
+ link.setRel("http://docs.oasis-open.org/odata/ns/related/" + navigationPropertyName);
link.setType(Constants.ENTITY_SET_NAVIGATION_LINK_TYPE);
link.setTitle(navigationPropertyName);
EntityCollection target = new EntityCollection();
link.setInlineEntitySet(target);
- link.setHref(linked.getId().toASCIIString()+"/"+navigationPropertyName);
+ link.setHref(linked.getId().toASCIIString() + "/" + navigationPropertyName);
}
return link;
- }
-
+ }
+
private void writeLink(final XMLStreamWriter writer, final Link link) throws XMLStreamException {
writeLink(writer, link, true);
}
+
private void writeLink(final XMLStreamWriter writer, final Link link, final boolean close)
- throws XMLStreamException {
+ throws XMLStreamException {
writer.writeStartElement(ATOM, "link", NS_ATOM);
writer.writeAttribute("rel", link.getRel());
if (link.getType() != null) {
@@ -550,12 +555,12 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeAttribute("href", link.getHref());
if (close) {
writer.writeEndElement();
- }
- }
+ }
+ }
protected void writeExpandedNavigationProperty(final ServiceMetadata metadata,
final EdmNavigationProperty property, final Link navigationLink,
- final ExpandOption innerExpand, final SelectOption innerSelect, boolean onlyReference,
+ final ExpandOption innerExpand, final SelectOption innerSelect, boolean onlyReference,
final XMLStreamWriter writer)
throws XMLStreamException, SerializerException {
if (property.isCollection()) {
@@ -577,7 +582,7 @@ public class ODataXmlSerializer implements ODataSerializer {
}
}
- protected void writeProperty(final ServiceMetadata metadata, final EdmProperty edmProperty,
+ protected void writeProperty(final ServiceMetadata metadata, final EdmProperty edmProperty,
final Property property,
final Set<List<String>> selectedPaths, final XMLStreamWriter writer) throws XMLStreamException,
SerializerException {
@@ -594,25 +599,25 @@ public class ODataXmlSerializer implements ODataSerializer {
}
writer.writeEndElement();
}
-
+
private String collectionType(EdmType type) {
- return "#Collection("+type.getFullQualifiedName().getFullQualifiedNameAsString()+")";
+ return "#Collection(" + type.getFullQualifiedName().getFullQualifiedNameAsString() + ")";
}
-
- private String complexType(ServiceMetadata metadata, EdmComplexType baseType, String definedType)
+
+ private String complexType(ServiceMetadata metadata, EdmComplexType baseType, String definedType)
throws SerializerException {
EdmComplexType type = resolveComplexType(metadata, baseType, definedType);
return type.getFullQualifiedName().getFullQualifiedNameAsString();
}
-
- private String derivedComplexType(ServiceMetadata metadata, EdmComplexType baseType, String definedType)
+
+ private String derivedComplexType(ServiceMetadata metadata, EdmComplexType baseType, String definedType)
throws SerializerException {
String derived = baseType.getFullQualifiedName().getFullQualifiedNameAsString();
if (derived.equals(definedType)) {
return null;
}
return definedType;
- }
+ }
private void writePropertyValue(final ServiceMetadata metadata, final EdmProperty edmProperty,
final Property property, final Set<List<String>> selectedPaths,
@@ -620,7 +625,7 @@ public class ODataXmlSerializer implements ODataSerializer {
try {
if (edmProperty.isPrimitive()) {
if (edmProperty.isCollection()) {
- writer.writeAttribute(METADATA, NS_METADATA, "type", "#Collection("+edmProperty.getType().getName()+")");
+ writer.writeAttribute(METADATA, NS_METADATA, "type", "#Collection(" + edmProperty.getType().getName() + ")");
writePrimitiveCollection((EdmPrimitiveType) edmProperty.getType(), property,
edmProperty.isNullable(), edmProperty.getMaxLength(),
edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode(),
@@ -635,8 +640,8 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeAttribute(METADATA, NS_METADATA, "type", collectionType(edmProperty.getType()));
writeComplexCollection(metadata, (EdmComplexType) edmProperty.getType(), property, selectedPaths, writer);
} else if (property.isComplex()) {
- writer.writeAttribute(METADATA, NS_METADATA, "type",
- "#"+complexType(metadata, (EdmComplexType) edmProperty.getType(), property.getType()));
+ writer.writeAttribute(METADATA, NS_METADATA, "type",
+ "#" + complexType(metadata, (EdmComplexType) edmProperty.getType(), property.getType()));
writeComplexValue(metadata, (EdmComplexType) edmProperty.getType(), property.asComplex().getValue(),
selectedPaths, writer);
} else if (property.isEnum()) {
@@ -677,7 +682,7 @@ public class ODataXmlSerializer implements ODataSerializer {
}
}
- private void writeComplexCollection(final ServiceMetadata metadata, final EdmComplexType type,
+ private void writeComplexCollection(final ServiceMetadata metadata, final EdmComplexType type,
final Property property, final Set<List<String>> selectedPaths, final XMLStreamWriter writer)
throws XMLStreamException, EdmPrimitiveTypeException, SerializerException {
for (Object value : property.asCollection()) {
@@ -711,7 +716,7 @@ public class ODataXmlSerializer implements ODataSerializer {
throw new SerializerException("Property type not yet supported!",
SerializerException.MessageKeys.UNSUPPORTED_PROPERTY_TYPE, property.getName());
} else if (property.isEnum()) {
- writer.writeAttribute(METADATA, NS_METADATA, "type", "#"+type.getName());
+ writer.writeAttribute(METADATA, NS_METADATA, "type", "#" + type.getName());
writePrimitiveValue(type, property.asEnum(),
isNullable, maxLength, precision, scale, isUnicode, writer);
} else {
@@ -728,8 +733,8 @@ public class ODataXmlSerializer implements ODataSerializer {
isNullable, maxLength, precision, scale, isUnicode);
if (value == null) {
writer.writeAttribute(DATA, NS_DATA, "null", "true");
- } else if(type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Boolean)) {
- writer.writeCharacters(value);
+ } else if (type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Boolean)) {
+ writer.writeCharacters(value);
} else if (type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Byte)
|| type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Decimal)
|| type == EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Double)
@@ -744,7 +749,7 @@ public class ODataXmlSerializer implements ODataSerializer {
}
}
- protected void writeComplexValue(final ServiceMetadata metadata, final EdmComplexType type,
+ protected void writeComplexValue(final ServiceMetadata metadata, final EdmComplexType type,
final List<Property> properties, final Set<List<String>> selectedPaths, final XMLStreamWriter writer)
throws XMLStreamException, EdmPrimitiveTypeException, SerializerException {
for (final String propertyName : type.getPropertyNames()) {
@@ -781,11 +786,11 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeStartElement(METADATA, "value", NS_METADATA);
writer.writeNamespace(METADATA, NS_METADATA);
if (contextURL != null) {
- writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
+ writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
ContextURLBuilder.create(contextURL).toASCIIString());
}
writeMetadataETag(metadata, writer);
- if(property.isNull()) {
+ if (property.isNull()) {
writer.writeAttribute(METADATA, NS_METADATA, "null", "true");
} else {
writePrimitive(type, property,
@@ -797,7 +802,7 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeEndDocument();
writer.flush();
writer.close();
-
+
return SerializerResultImpl.with().content(buffer.getInputStream()).build();
} catch (final XMLStreamException e) {
throw new SerializerException("An I/O exception occurred.", e,
@@ -816,7 +821,7 @@ public class ODataXmlSerializer implements ODataSerializer {
property.getName(), property.getValue().toString());
}
}
- }
+ }
}
@Override
@@ -835,7 +840,7 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeNamespace(DATA, NS_DATA);
writer.writeAttribute(METADATA, NS_METADATA, "type", "#"
+ resolvedType.getFullQualifiedName().getFullQualifiedNameAsString());
- writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
+ writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
ContextURLBuilder.create(contextURL).toASCIIString());
writeMetadataETag(metadata, writer);
if (property.isNull()) {
@@ -869,11 +874,11 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeStartElement(METADATA, "value", NS_METADATA);
writer.writeNamespace(METADATA, NS_METADATA);
if (contextURL != null) {
- writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
+ writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
ContextURLBuilder.create(contextURL).toASCIIString());
- }
+ }
writeMetadataETag(metadata, writer);
- writer.writeAttribute(METADATA, NS_METADATA, "type", "#Collection("+type.getName()+")");
+ writer.writeAttribute(METADATA, NS_METADATA, "type", "#Collection(" + type.getName() + ")");
writePrimitiveCollection(type, property,
options.isNullable(), options.getMaxLength(), options.getPrecision(), options.getScale(),
options.isUnicode(),
@@ -882,7 +887,7 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeEndDocument();
writer.flush();
writer.close();
-
+
return SerializerResultImpl.with().content(buffer.getInputStream()).build();
} catch (final XMLStreamException e) {
throw new SerializerException("An I/O exception occurred.", e,
@@ -901,7 +906,7 @@ public class ODataXmlSerializer implements ODataSerializer {
property.getName(), property.getValue().toString());
}
}
- }
+ }
}
@Override
@@ -918,8 +923,8 @@ public class ODataXmlSerializer implements ODataSerializer {
writer.writeStartElement(METADATA, "value", NS_METADATA);
writer.writeNamespace(METADATA, NS_METADATA);
writer.writeNamespace(DATA, NS_DATA);
- writer.writeAttribute(METADATA, NS_METADATA, "type", collectionType(type));
- writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
+ writer.writeAttribute(METADATA, NS_METADATA, "type", collectionType(type));
+ writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
ContextURLBuilder.create(contextURL).toASCIIString());
writeMetadataETag(metadata, writer);
writeComplexCollection(metadata, type, property, null, writer);
@@ -939,11 +944,11 @@ public class ODataXmlSerializer implements ODataSerializer {
}
@Override
- public SerializerResult reference(final ServiceMetadata metadata, final EdmEntitySet edmEntitySet,
+ public SerializerResult reference(final ServiceMetadata metadata, final EdmEntitySet edmEntitySet,
final Entity entity, final ReferenceSerializerOptions options) throws SerializerException {
return entityReference(metadata, edmEntitySet.getEntityType(), entity, options);
}
-
+
protected SerializerResult entityReference(final ServiceMetadata metadata, final EdmEntityType entityType,
final Entity entity, ReferenceSerializerOptions options) throws SerializerException {
CircleStreamBuffer buffer;
@@ -962,14 +967,14 @@ public class ODataXmlSerializer implements ODataSerializer {
SerializerException.MessageKeys.IO_EXCEPTION);
}
}
-
- private void writeReference(ServiceMetadata metadata, EdmEntityType entityType,
+
+ private void writeReference(ServiceMetadata metadata, EdmEntityType entityType,
Entity entity, ContextURL contextURL, XMLStreamWriter writer, boolean top) throws XMLStreamException {
writer.writeStartElement(METADATA, "ref", NS_METADATA);
if (top) {
writer.writeNamespace(METADATA, NS_METADATA);
if (contextURL != null) { // top-level entity
- writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
+ writer.writeAttribute(METADATA, NS_METADATA, CONTEXT,
ContextURLBuilder.create(contextURL).toASCIIString());
}
}
@@ -978,12 +983,12 @@ public class ODataXmlSerializer implements ODataSerializer {
}
@Override
- public SerializerResult referenceCollection(final ServiceMetadata metadata, final EdmEntitySet edmEntitySet,
- final EntityCollection entityCollection, ReferenceCollectionSerializerOptions options)
- throws SerializerException {
+ public SerializerResult referenceCollection(final ServiceMetadata metadata, final EdmEntitySet edmEntitySet,
+ final EntityCollection entityCollection, ReferenceCollectionSerializerOptions options)
+ throws SerializerException {
return entityReferenceCollection(metadata, edmEntitySet.getEntityType(), entityCollection, options);
}
-
+
protected SerializerResult entityReferenceCollection(final ServiceMetadata metadata,
final EdmEntityType entityType, final EntityCollection entitySet,
ReferenceCollectionSerializerOptions options) throws SerializerException {
@@ -1019,16 +1024,16 @@ public class ODataXmlSerializer implements ODataSerializer {
throw new SerializerException("An I/O exception occurred.", e,
SerializerException.MessageKeys.IO_EXCEPTION);
}
- }
-
- private void writeCount(final EntityCollection entitySet, XMLStreamWriter writer)
+ }
+
+ private void writeCount(final EntityCollection entitySet, XMLStreamWriter writer)
throws XMLStreamException {
writer.writeStartElement(METADATA, "count", NS_METADATA);
writer.writeCharacters(String.valueOf(entitySet.getCount()));
writer.writeEndElement();
}
- private void writeNextLink(final EntityCollection entitySet, XMLStreamWriter writer)
+ private void writeNextLink(final EntityCollection entitySet, XMLStreamWriter writer)
throws XMLStreamException {
writer.writeStartElement(ATOM, "link", NS_ATOM);
writer.writeAttribute("rel", "next");