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/03/05 16:51:38 UTC
[1/3] olingo-odata4 git commit: [OLINGO-575] Cleanup service version
enum
Repository: olingo-odata4
Updated Branches:
refs/heads/master 3c36eaeae -> a3789c7cc
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonSerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonSerializer.java
index 6a50ad3..f054be5 100755
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonSerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonSerializer.java
@@ -1,36 +1,41 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerator;
+import java.io.IOException;
+import java.io.Writer;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotatable;
import org.apache.olingo.commons.api.data.Annotation;
+import org.apache.olingo.commons.api.data.ComplexValue;
import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.data.Link;
import org.apache.olingo.commons.api.data.Linked;
-import org.apache.olingo.commons.api.data.ComplexValue;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.data.Valuable;
@@ -38,7 +43,6 @@ import org.apache.olingo.commons.api.data.ValueType;
import org.apache.olingo.commons.api.domain.ODataLinkType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.commons.api.serialization.ODataSerializer;
@@ -46,13 +50,8 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-import java.io.IOException;
-import java.io.Writer;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
public class JsonSerializer implements ODataSerializer {
@@ -65,18 +64,15 @@ public class JsonSerializer implements ODataSerializer {
private final JsonGeoValueSerializer geoSerializer = new JsonGeoValueSerializer();
- protected ODataServiceVersion version;
-
protected boolean serverMode;
protected ODataFormat format;
- public JsonSerializer(final ODataServiceVersion version, final boolean serverMode) {
- this(version, serverMode, ODataFormat.JSON_FULL_METADATA);
+ public JsonSerializer(final boolean serverMode) {
+ this(serverMode, ODataFormat.JSON_FULL_METADATA);
}
- public JsonSerializer(final ODataServiceVersion version, final boolean serverMode, ODataFormat format) {
- this.version = version;
+ public JsonSerializer(final boolean serverMode, ODataFormat format) {
this.serverMode = serverMode;
this.format = format;
}
@@ -86,11 +82,11 @@ public class JsonSerializer implements ODataSerializer {
try {
final JsonGenerator json = new JsonFactory().createGenerator(writer);
if (obj instanceof EntitySet) {
- new JsonEntitySetSerializer(version, serverMode).doSerialize((EntitySet) obj, json);
+ new JsonEntitySetSerializer(serverMode).doSerialize((EntitySet) obj, json);
} else if (obj instanceof Entity) {
- new JsonEntitySerializer(version, serverMode, format).doSerialize((Entity) obj, json);
+ new JsonEntitySerializer(serverMode, format).doSerialize((Entity) obj, json);
} else if (obj instanceof Property) {
- new JsonPropertySerializer(version, serverMode).doSerialize((Property) obj, json);
+ new JsonPropertySerializer(serverMode).doSerialize((Property) obj, json);
} else if (obj instanceof Link) {
link((Link) obj, json);
}
@@ -102,12 +98,12 @@ public class JsonSerializer implements ODataSerializer {
}
}
- private void reference(ResWrap<URI>container, JsonGenerator json) throws IOException {
+ private void reference(ResWrap<URI> container, JsonGenerator json) throws IOException {
json.writeStartObject();
-
+
json.writeStringField(Constants.JSON_CONTEXT, container.getContextURL().toASCIIString());
json.writeStringField(Constants.JSON_ID, container.getPayload().toASCIIString());
-
+
json.writeEndObject();
}
@@ -118,14 +114,14 @@ public class JsonSerializer implements ODataSerializer {
try {
final JsonGenerator json = new JsonFactory().createGenerator(writer);
if (obj instanceof EntitySet) {
- new JsonEntitySetSerializer(version, serverMode).doContainerSerialize((ResWrap<EntitySet>) container, json);
+ new JsonEntitySetSerializer(serverMode).doContainerSerialize((ResWrap<EntitySet>) container, json);
} else if (obj instanceof Entity) {
- new JsonEntitySerializer(version, serverMode).doContainerSerialize((ResWrap<Entity>) container, json);
+ new JsonEntitySerializer(serverMode).doContainerSerialize((ResWrap<Entity>) container, json);
} else if (obj instanceof Property) {
- new JsonPropertySerializer(version, serverMode).doContainerSerialize((ResWrap<Property>) container, json);
+ new JsonPropertySerializer(serverMode).doContainerSerialize((ResWrap<Property>) container, json);
} else if (obj instanceof Link) {
link((Link) obj, json);
- } else if(obj instanceof URI) {
+ } else if (obj instanceof URI) {
reference((ResWrap<URI>) container, json);
}
json.flush();
@@ -143,7 +139,7 @@ public class JsonSerializer implements ODataSerializer {
}
protected void links(final Linked linked, final JsonGenerator jgen)
- throws IOException, EdmPrimitiveTypeException {
+ throws IOException, EdmPrimitiveTypeException {
if (serverMode) {
serverLinks(linked, jgen);
@@ -153,7 +149,7 @@ public class JsonSerializer implements ODataSerializer {
}
protected void clientLinks(final Linked linked, final JsonGenerator jgen)
- throws IOException, EdmPrimitiveTypeException {
+ throws IOException, EdmPrimitiveTypeException {
final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>();
for (Link link : linked.getNavigationLinks()) {
@@ -163,7 +159,7 @@ public class JsonSerializer implements ODataSerializer {
ODataLinkType type = null;
try {
- type = ODataLinkType.fromString(version, link.getRel(), link.getType());
+ type = ODataLinkType.fromString(link.getRel(), link.getType());
} catch (IllegalArgumentException e) {
// ignore
}
@@ -187,10 +183,10 @@ public class JsonSerializer implements ODataSerializer {
if (link.getInlineEntity() != null) {
jgen.writeFieldName(link.getTitle());
- new JsonEntitySerializer(version, serverMode).doSerialize(link.getInlineEntity(), jgen);
+ new JsonEntitySerializer(serverMode).doSerialize(link.getInlineEntity(), jgen);
} else if (link.getInlineEntitySet() != null) {
jgen.writeArrayFieldStart(link.getTitle());
- final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(version, serverMode);
+ final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(serverMode);
for (Entity subEntry : link.getInlineEntitySet().getEntities()) {
entitySerializer.doSerialize(subEntry, jgen);
}
@@ -214,8 +210,7 @@ public class JsonSerializer implements ODataSerializer {
for (Link link : ((Entity) linked).getMediaEditLinks()) {
if (StringUtils.isNotBlank(link.getHref())) {
jgen.writeStringField(
- link.getTitle() + StringUtils.prependIfMissing(
- version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_EDIT_LINK), "@"),
+ link.getTitle() + StringUtils.prependIfMissing(Constants.JSON_MEDIA_EDIT_LINK, "@"),
link.getHref());
}
}
@@ -224,7 +219,7 @@ public class JsonSerializer implements ODataSerializer {
for (Link link : linked.getAssociationLinks()) {
if (StringUtils.isNotBlank(link.getHref())) {
jgen.writeStringField(
- link.getTitle() + version.getJsonName(ODataServiceVersion.JsonKey.ASSOCIATION_LINK),
+ link.getTitle() + Constants.JSON_ASSOCIATION_LINK,
link.getHref());
}
}
@@ -236,16 +231,16 @@ public class JsonSerializer implements ODataSerializer {
if (StringUtils.isNotBlank(link.getHref())) {
jgen.writeStringField(
- link.getTitle() + version.getJsonName(ODataServiceVersion.JsonKey.NAVIGATION_LINK),
+ link.getTitle() + Constants.JSON_NAVIGATION_LINK,
link.getHref());
}
if (link.getInlineEntity() != null) {
jgen.writeFieldName(link.getTitle());
- new JsonEntitySerializer(version, serverMode).doSerialize(link.getInlineEntity(), jgen);
+ new JsonEntitySerializer(serverMode).doSerialize(link.getInlineEntity(), jgen);
} else if (link.getInlineEntitySet() != null) {
jgen.writeArrayFieldStart(link.getTitle());
- JsonEntitySerializer entitySerializer = new JsonEntitySerializer(version, serverMode);
+ JsonEntitySerializer entitySerializer = new JsonEntitySerializer(serverMode);
for (Entity subEntry : link.getInlineEntitySet().getEntities()) {
entitySerializer.doSerialize(subEntry, jgen);
}
@@ -255,36 +250,36 @@ public class JsonSerializer implements ODataSerializer {
}
private void collection(final JsonGenerator jgen, final EdmTypeInfo typeInfo,
- final ValueType valueType, final List<?> value)
+ final ValueType valueType, final List<?> value)
throws IOException, EdmPrimitiveTypeException {
jgen.writeStartArray();
for (Object item : value) {
final EdmTypeInfo itemTypeInfo = typeInfo == null
- ? null
- : new EdmTypeInfo.Builder().setTypeExpression(typeInfo.getFullQualifiedName().toString()).build();
+ ? null
+ : new EdmTypeInfo.Builder().setTypeExpression(typeInfo.getFullQualifiedName().toString()).build();
switch (valueType) {
- case COLLECTION_PRIMITIVE:
- primitiveValue(jgen, itemTypeInfo, item);
- break;
-
- case COLLECTION_GEOSPATIAL:
- jgen.writeStartObject();
- geoSerializer.serialize(jgen, (Geospatial) item);
- jgen.writeEndObject();
- break;
-
- case COLLECTION_ENUM:
- jgen.writeString(item.toString());
- break;
-
- case COLLECTION_COMPLEX:
- final ComplexValue complexItem2 = (ComplexValue) item;
- complexValue(jgen, itemTypeInfo, complexItem2.getValue(), complexItem2);
- break;
-
- default:
+ case COLLECTION_PRIMITIVE:
+ primitiveValue(jgen, itemTypeInfo, item);
+ break;
+
+ case COLLECTION_GEOSPATIAL:
+ jgen.writeStartObject();
+ geoSerializer.serialize(jgen, (Geospatial) item);
+ jgen.writeEndObject();
+ break;
+
+ case COLLECTION_ENUM:
+ jgen.writeString(item.toString());
+ break;
+
+ case COLLECTION_COMPLEX:
+ final ComplexValue complexItem2 = (ComplexValue) item;
+ complexValue(jgen, itemTypeInfo, complexItem2.getValue(), complexItem2);
+ break;
+
+ default:
}
}
@@ -292,7 +287,7 @@ public class JsonSerializer implements ODataSerializer {
}
protected void primitiveValue(final JsonGenerator jgen, final EdmTypeInfo typeInfo, final Object value)
- throws IOException, EdmPrimitiveTypeException {
+ throws IOException, EdmPrimitiveTypeException {
final EdmPrimitiveTypeKind kind = typeInfo == null ? null : typeInfo.getPrimitiveTypeKind();
final boolean isNumber = kind == null ? value instanceof Number : ArrayUtils.contains(NUMBER_TYPES, kind);
@@ -304,9 +299,9 @@ public class JsonSerializer implements ODataSerializer {
jgen.writeBoolean((Boolean) value);
} else {
final String serialized = kind == null
- ? value.toString()
- // TODO: add facets
- : EdmPrimitiveTypeFactory.getInstance(kind).
+ ? value.toString()
+ // TODO: add facets
+ : EdmPrimitiveTypeFactory.getInstance(kind).
valueToString(value, null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null);
if (isNumber) {
jgen.writeNumber(serialized);
@@ -317,12 +312,12 @@ public class JsonSerializer implements ODataSerializer {
}
private void complexValue(final JsonGenerator jgen, final EdmTypeInfo typeInfo,
- final List<Property> value, final Linked linked)
+ final List<Property> value, final Linked linked)
throws IOException, EdmPrimitiveTypeException {
jgen.writeStartObject();
if (typeInfo != null && format != ODataFormat.JSON_NO_METADATA) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.TYPE), typeInfo.external(version));
+ jgen.writeStringField(Constants.JSON_TYPE, typeInfo.external());
}
for (Property property : value) {
@@ -336,7 +331,7 @@ public class JsonSerializer implements ODataSerializer {
}
private void value(final JsonGenerator jgen, final String type, final Valuable value)
- throws IOException, EdmPrimitiveTypeException {
+ throws IOException, EdmPrimitiveTypeException {
final EdmTypeInfo typeInfo = type == null ? null : new EdmTypeInfo.Builder().setTypeExpression(type).build();
if (value.isNull()) {
@@ -357,10 +352,10 @@ public class JsonSerializer implements ODataSerializer {
}
protected void valuable(final JsonGenerator jgen, final Valuable valuable, final String name)
- throws IOException, EdmPrimitiveTypeException {
+ throws IOException, EdmPrimitiveTypeException {
if (!Constants.VALUE.equals(name) && !(valuable instanceof Annotation)
- && !valuable.isComplex() && !valuable.isComplex()) {
+ && !valuable.isComplex() && !valuable.isComplex()) {
String type = valuable.getType();
if (StringUtils.isBlank(type) && valuable.isPrimitive() || valuable.isNull()) {
@@ -368,8 +363,8 @@ public class JsonSerializer implements ODataSerializer {
}
if (StringUtils.isNotBlank(type) && format != ODataFormat.JSON_NO_METADATA) {
jgen.writeFieldName(
- name + StringUtils.prependIfMissing(version.getJsonName(ODataServiceVersion.JsonKey.TYPE), "@"));
- jgen.writeString(new EdmTypeInfo.Builder().setTypeExpression(type).build().external(version));
+ name + StringUtils.prependIfMissing(Constants.JSON_TYPE, "@"));
+ jgen.writeString(new EdmTypeInfo.Builder().setTypeExpression(type).build().external());
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/test/java/org/apache/olingo/commons/core/serialization/AtomDeserializerTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/serialization/AtomDeserializerTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/serialization/AtomDeserializerTest.java
index 3126fc2..0c47160 100644
--- a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/serialization/AtomDeserializerTest.java
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/serialization/AtomDeserializerTest.java
@@ -18,7 +18,9 @@
*/
package org.apache.olingo.commons.core.serialization;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -26,7 +28,6 @@ import java.io.InputStream;
import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.junit.Test;
public class AtomDeserializerTest {
@@ -35,23 +36,23 @@ public class AtomDeserializerTest {
public void emptyInlineEntityOlingo540() throws Exception {
final String content = "" +
"<entry xmlns=\"http://www.w3.org/2005/Atom\" "
- + "xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" "
- + "xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\" "
+ + "xmlns:data=\"http://docs.oasis-open.org/odata/ns/data\" "
+ + "xmlns:metadata=\"http://docs.oasis-open.org/odata/ns/metadata\" "
+ "xmlns:georss=\"http://www.georss.org/georss\" xmlns:gml=\"http://www.opengis.net/gml\" "
+ "xml:base=\"http://services.odata.org/V3/OData/OData.svc/\">\r\n" +
" <id>http://services.odata.org/V3/OData/OData.svc/Products(3)</id>\r\n" +
" <category term=\"ODataDemo.Product\" "
- + "scheme=\"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme\" />\r\n" +
+ + "scheme=\"http://docs.oasis-open.org/odata/ns/scheme\" />\r\n" +
" \r\n" +
" <link rel=\"edit\" title=\"Product\" href=\"Products\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Categories\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Categories\" href=\"Products(3)/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Supplier\" "
+ "type=\"application/atom+xml;type=entry\" title=\"Supplier\" href=\"Products(3)/Supplier\">\r\n" +
- " <m:inline>\r\n" +
- " </m:inline>\r\n" +
+ " <metadata:inline>\r\n" +
+ " </metadata:inline>\r\n" +
" </link>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail\""
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/ProductDetail\""
+ " type=\"application/atom+xml;type=entry\" title=\"ProductDetail\" "
+ "href=\"Products(3)/ProductDetail\" />\r\n" +
" <title type=\"text\">Havina Cola</title>\r\n" +
@@ -60,24 +61,25 @@ public class AtomDeserializerTest {
" <author>\r\n" +
" <name />\r\n" +
" </author>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Categories\" "
+ "type=\"application/xml\" title=\"Categories\" href=\"Products(3)/$links/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Supplier\" "
+ "type=\"application/xml\" title=\"Supplier\" href=\"Products(3)/$links/Supplier\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/ProductDetail\""
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/ProductDetail\""
+ " type=\"application/xml\" title=\"ProductDetail\" href=\"Products(3)/$links/ProductDetail\" />\r\n" +
" <content type=\"application/xml\">\r\n" +
- " <m:properties>\r\n" +
- " <d:ID m:type=\"Edm.Int32\">3</d:ID>\r\n" +
- " <d:ReleaseDate m:type=\"Edm.DateTime\">2005-10-01T00:00:00</d:ReleaseDate>\r\n" +
- " <d:DiscontinuedDate m:type=\"Edm.DateTime\">2006-10-01T00:00:00</d:DiscontinuedDate>\r\n" +
- " <d:Rating m:type=\"Edm.Int16\">3</d:Rating>\r\n" +
- " <d:Price m:type=\"Edm.Double\">19.9</d:Price>\r\n" +
- " </m:properties>\r\n" +
+ " <metadata:properties>\r\n" +
+ " <data:ID metadata:type=\"Edm.Int32\">3</data:ID>\r\n" +
+ " <data:ReleaseDate metadata:type=\"Edm.DateTime\">2005-10-01T00:00:00</data:ReleaseDate>\r\n" +
+ " <data:DiscontinuedDate metadata:type=\"Edm.DateTime\">2006-10-01T00:00:00</data:DiscontinuedDate>\r\n" +
+ " <data:Rating metadata:type=\"Edm.Int16\">3</data:Rating>\r\n" +
+ " <data:Price metadata:type=\"Edm.Double\">19.9</data:Price>\r\n" +
+ " </metadata:properties>\r\n" +
" </content>\r\n" +
" </entry>";
- final AtomDeserializer deserializer = new AtomDeserializer(ODataServiceVersion.V30);
+ //TODO: THis was a test for V3
+ final AtomDeserializer deserializer = new AtomDeserializer();
final InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
final ResWrap<Entity> entity = deserializer.toEntity(in);
@@ -89,58 +91,58 @@ public class AtomDeserializerTest {
public void filledInlineEntity() throws Exception {
final String content = "" +
"<entry xmlns=\"http://www.w3.org/2005/Atom\" "
- + "xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" "
- + "xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\" "
+ + "xmlns:data=\"http://docs.oasis-open.org/odata/ns/data\" "
+ + "xmlns:metadata=\"http://docs.oasis-open.org/odata/ns/metadata\" "
+ "xmlns:georss=\"http://www.georss.org/georss\" "
+ "xmlns:gml=\"http://www.opengis.net/gml\" "
- + "xml:base=\"http://services.odata.org/V3/OData/OData.svc/\">\r\n" +
- " <id>http://services.odata.org/V3/OData/OData.svc/Products(3)</id>\r\n" +
- " <category term=\"ODataDemo.Product\" "
- + "scheme=\"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme\" />\r\n" +
+ + "xml:base=\"http://services.odata.org/V4/OData/OData.svc/\">\r\n" +
+ " <id>http://services.odata.org/V4/OData/OData.svc/Products(3)</id>\r\n" +
+ " <category term=\"#ODataDemo.Product\" "
+ + "scheme=\"http://docs.oasis-open.org/odata/ns/scheme\" />\r\n" +
" \r\n" +
" <link rel=\"edit\" title=\"Product\" href=\"Products\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Categories\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Categories\" href=\"Products(3)/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Supplier\" "
+ "type=\"application/atom+xml;type=entry\" title=\"Supplier\" href=\"Products(3)/Supplier\">\r\n" +
- " <m:inline>\r\n" +
+ " <metadata:inline>\r\n" +
" <entry>\r\n" +
- " <id>http://services.odata.org/V3/OData/OData.svc/Suppliers(0)</id>\r\n" +
+ " <id>http://services.odata.org/V4/OData/OData.svc/Suppliers(0)</id>\r\n" +
" <category term=\"ODataDemo.Supplier\" "
- + "scheme=\"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme\" />\r\n" +
+ + "scheme=\"http://docs.oasis-open.org/odata/ns/scheme\" />\r\n" +
" <link rel=\"edit\" title=\"Supplier\" href=\"Suppliers(0)\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Products\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Products\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Products\" href=\"Suppliers(0)/Products\" />\r\n" +
" <title type=\"text\">Exotic Liquids</title>\r\n" +
" <updated>2015-01-26T08:57:02Z</updated>\r\n" +
" <author>\r\n" +
" <name />\r\n" +
" </author>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Products\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Products\" "
+ "type=\"application/xml\" title=\"Products\" href=\"Suppliers(0)/$links/Products\" />\r\n" +
" <content type=\"application/xml\">\r\n" +
- " <m:properties>\r\n" +
- " <d:ID m:type=\"Edm.Int32\">0</d:ID>\r\n" +
- " <d:Name>Exotic Liquids</d:Name>\r\n" +
- " <d:Address m:type=\"ODataDemo.Address\">\r\n" +
- " <d:Street>NE 228th</d:Street>\r\n" +
- " <d:City>Sammamish</d:City>\r\n" +
- " <d:State>WA</d:State>\r\n" +
- " <d:ZipCode>98074</d:ZipCode>\r\n" +
- " <d:Country>USA</d:Country>\r\n" +
- " </d:Address>\r\n" +
- " <d:Location m:type=\"Edm.GeographyPoint\">\r\n" +
+ " <metadata:properties>\r\n" +
+ " <data:ID metadata:type=\"Edm.Int32\">0</data:ID>\r\n" +
+ " <data:Name>Exotic Liquids</data:Name>\r\n" +
+ " <data:Address metadata:type=\"ODataDemo.Address\">\r\n" +
+ " <data:Street>NE 228th</data:Street>\r\n" +
+ " <data:City>Sammamish</data:City>\r\n" +
+ " <data:State>WA</data:State>\r\n" +
+ " <data:ZipCode>98074</data:ZipCode>\r\n" +
+ " <data:Country>USA</data:Country>\r\n" +
+ " </data:Address>\r\n" +
+ " <data:Location metadata:type=\"Edm.GeographyPoint\">\r\n" +
" <gml:Point gml:srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\">\r\n" +
" <gml:pos>47.6316604614258 -122.03547668457</gml:pos>\r\n" +
" </gml:Point>\r\n" +
- " </d:Location>\r\n" +
- " <d:Concurrency m:type=\"Edm.Int32\">0</d:Concurrency>\r\n" +
- " </m:properties>\r\n" +
+ " </data:Location>\r\n" +
+ " <data:Concurrency metadata:type=\"Edm.Int32\">0</data:Concurrency>\r\n" +
+ " </metadata:properties>\r\n" +
" </content>\r\n" +
" </entry>" +
- " </m:inline>\r\n" +
+ " </metadata:inline>\r\n" +
" </link>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/ProductDetail\" "
+ "type=\"application/atom+xml;type=entry\" "
+ "title=\"ProductDetail\" href=\"Products(3)/ProductDetail\" />\r\n" +
" <title type=\"text\">Havina Cola</title>\r\n" +
@@ -149,24 +151,23 @@ public class AtomDeserializerTest {
" <author>\r\n" +
" <name />\r\n" +
" </author>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Categories\" "
+ "type=\"application/xml\" title=\"Categories\" href=\"Products(3)/$links/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Supplier\" "
+ "type=\"application/xml\" title=\"Supplier\" href=\"Products(3)/$links/Supplier\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/ProductDetail\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/ProductDetail\" "
+ "type=\"application/xml\" title=\"ProductDetail\" href=\"Products(3)/$links/ProductDetail\" />\r\n" +
" <content type=\"application/xml\">\r\n" +
- " <m:properties>\r\n" +
- " <d:ID m:type=\"Edm.Int32\">3</d:ID>\r\n" +
- " <d:ReleaseDate m:type=\"Edm.DateTime\">2005-10-01T00:00:00</d:ReleaseDate>\r\n" +
- " <d:DiscontinuedDate m:type=\"Edm.DateTime\">2006-10-01T00:00:00</d:DiscontinuedDate>\r\n" +
- " <d:Rating m:type=\"Edm.Int16\">3</d:Rating>\r\n" +
- " <d:Price m:type=\"Edm.Double\">19.9</d:Price>\r\n" +
- " </m:properties>\r\n" +
+ " <metadata:properties>\r\n" +
+ " <data:ID metadata:type=\"Edm.Int32\">3</data:ID>\r\n" +
+ " <data:ReleaseDate metadata:type=\"Edm.DateTime\">2005-10-01T00:00:00</data:ReleaseDate>\r\n" +
+ " <data:DiscontinuedDate metadata:type=\"Edm.DateTime\">2006-10-01T00:00:00</data:DiscontinuedDate>\r\n" +
+ " <data:Rating metadata:type=\"Edm.Int16\">3</data:Rating>\r\n" +
+ " <data:Price metadata:type=\"Edm.Double\">19.9</data:Price>\r\n" +
+ " </metadata:properties>\r\n" +
" </content>\r\n" +
" </entry>";
-
- final AtomDeserializer deserializer = new AtomDeserializer(ODataServiceVersion.V30);
+ final AtomDeserializer deserializer = new AtomDeserializer();
final InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
final ResWrap<Entity> entity = deserializer.toEntity(in);
@@ -182,25 +183,25 @@ public class AtomDeserializerTest {
public void emptyInlineEntityCollection() throws Exception {
final String content = "" +
"<entry xmlns=\"http://www.w3.org/2005/Atom\" "
- + "xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" "
- + "xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\" "
+ + "xmlns:data=\"http://docs.oasis-open.org/odata/ns/data\" "
+ + "xmlns:metadata=\"http://docs.oasis-open.org/odata/ns/metadata\" "
+ "xmlns:georss=\"http://www.georss.org/georss\" xmlns:gml=\"http://www.opengis.net/gml\" "
+ "xml:base=\"http://services.odata.org/V3/OData/OData.svc/\">\r\n" +
" <id>http://services.odata.org/V3/OData/OData.svc/Products(3)</id>\r\n" +
" <category term=\"ODataDemo.Product\" "
- + "scheme=\"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme\" />\r\n" +
+ + "scheme=\"http://docs.oasis-open.org/odata/ns/scheme\" />\r\n" +
" \r\n" +
" <link rel=\"edit\" title=\"Product\" href=\"Products(3)\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Categories\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Categories\" href=\"Products(3)/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Supplier\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Supplier\" href=\"Products(3)/Supplier\">\r\n" +
- " <m:inline>\r\n" +
+ " <metadata:inline>\r\n" +
" <feed>\r\n" +
" </feed>\r\n" +
- " </m:inline>\r\n" +
+ " </metadata:inline>\r\n" +
" </link>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/ProductDetail\" "
+ "type=\"application/atom+xml;type=entry\" "
+ "title=\"ProductDetail\" href=\"Products(3)/ProductDetail\" />\r\n" +
" <title type=\"text\">Havina Cola</title>\r\n" +
@@ -209,24 +210,24 @@ public class AtomDeserializerTest {
" <author>\r\n" +
" <name />\r\n" +
" </author>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Categories\" "
+ "type=\"application/xml\" title=\"Categories\" href=\"Products(3)/$links/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Supplier\" "
+ "type=\"application/xml\" title=\"Supplier\" href=\"Products(3)/$links/Supplier\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/ProductDetail\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/ProductDetail\" "
+ "type=\"application/xml\" title=\"ProductDetail\" href=\"Products(3)/$links/ProductDetail\" />\r\n" +
" <content type=\"application/xml\">\r\n" +
- " <m:properties>\r\n" +
- " <d:ID m:type=\"Edm.Int32\">3</d:ID>\r\n" +
- " <d:ReleaseDate m:type=\"Edm.DateTime\">2005-10-01T00:00:00</d:ReleaseDate>\r\n" +
- " <d:DiscontinuedDate m:type=\"Edm.DateTime\">2006-10-01T00:00:00</d:DiscontinuedDate>\r\n" +
- " <d:Rating m:type=\"Edm.Int16\">3</d:Rating>\r\n" +
- " <d:Price m:type=\"Edm.Double\">19.9</d:Price>\r\n" +
- " </m:properties>\r\n" +
+ " <metadata:properties>\r\n" +
+ " <data:ID metadata:type=\"Edm.Int32\">3</data:ID>\r\n" +
+ " <data:ReleaseDate metadata:type=\"Edm.DateTime\">2005-10-01T00:00:00</data:ReleaseDate>\r\n" +
+ " <data:DiscontinuedDate metadata:type=\"Edm.DateTime\">2006-10-01T00:00:00</data:DiscontinuedDate>\r\n" +
+ " <data:Rating metadata:type=\"Edm.Int16\">3</data:Rating>\r\n" +
+ " <data:Price metadata:type=\"Edm.Double\">19.9</data:Price>\r\n" +
+ " </metadata:properties>\r\n" +
" </content>\r\n" +
" </entry>";
-
- final AtomDeserializer deserializer = new AtomDeserializer(ODataServiceVersion.V30);
+ //TODO: THis was a test for V3
+ final AtomDeserializer deserializer = new AtomDeserializer();
final InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
final ResWrap<Entity> entity = deserializer.toEntity(in);
@@ -240,59 +241,59 @@ public class AtomDeserializerTest {
public void filledInlineEntityCollection() throws Exception {
final String content = "" +
"<entry xmlns=\"http://www.w3.org/2005/Atom\" "
- + "xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" "
- + "xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\" "
+ + "xmlns:data=\"http://docs.oasis-open.org/odata/ns/data\" "
+ + "xmlns:metadata=\"http://docs.oasis-open.org/odata/ns/metadata\" "
+ "xmlns:georss=\"http://www.georss.org/georss\" xmlns:gml=\"http://www.opengis.net/gml\" "
+ "xml:base=\"http://services.odata.org/V3/OData/OData.svc/\">\r\n" +
" <id>http://services.odata.org/V3/OData/OData.svc/Products(3)</id>\r\n" +
" <category term=\"ODataDemo.Product\" "
- + "scheme=\"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme\" />\r\n" +
+ + "scheme=\"http://docs.oasis-open.org/odata/ns/scheme\" />\r\n" +
" \r\n" +
" <link rel=\"edit\" title=\"Product\" href=\"Products(3)\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Categories\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Categories\" href=\"Products(3)/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Supplier\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Supplier\" href=\"Products(3)/Supplier\">\r\n" +
- " <m:inline>\r\n" +
+ " <metadata:inline>\r\n" +
" <feed>\r\n" +
" <entry>\r\n" +
" <id>http://services.odata.org/V3/OData/OData.svc/Suppliers(0)</id>\r\n" +
" <category term=\"ODataDemo.Supplier\" "
- + "scheme=\"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme\" />\r\n" +
+ + "scheme=\"http://docs.oasis-open.org/odata/ns/scheme\" />\r\n" +
" <link rel=\"edit\" title=\"Supplier\" href=\"Suppliers(0)\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Products\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/Products\" "
+ "type=\"application/atom+xml;type=feed\" title=\"Products\" href=\"Suppliers(0)/Products\" />\r\n" +
" <title type=\"text\">Exotic Liquids</title>\r\n" +
" <updated>2015-01-26T08:57:02Z</updated>\r\n" +
" <author>\r\n" +
" <name />\r\n" +
" </author>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Products\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Products\" "
+ "type=\"application/xml\" title=\"Products\" href=\"Suppliers(0)/$links/Products\" />\r\n" +
" <content type=\"application/xml\">\r\n" +
- " <m:properties>\r\n" +
- " <d:ID m:type=\"Edm.Int32\">0</d:ID>\r\n" +
- " <d:Name>Exotic Liquids</d:Name>\r\n" +
- " <d:Address m:type=\"ODataDemo.Address\">\r\n" +
- " <d:Street>NE 228th</d:Street>\r\n" +
- " <d:City>Sammamish</d:City>\r\n" +
- " <d:State>WA</d:State>\r\n" +
- " <d:ZipCode>98074</d:ZipCode>\r\n" +
- " <d:Country>USA</d:Country>\r\n" +
- " </d:Address>\r\n" +
- " <d:Location m:type=\"Edm.GeographyPoint\">\r\n" +
+ " <metadata:properties>\r\n" +
+ " <data:ID metadata:type=\"Edm.Int32\">0</data:ID>\r\n" +
+ " <data:Name>Exotic Liquids</data:Name>\r\n" +
+ " <data:Address metadata:type=\"ODataDemo.Address\">\r\n" +
+ " <data:Street>NE 228th</data:Street>\r\n" +
+ " <data:City>Sammamish</data:City>\r\n" +
+ " <data:State>WA</data:State>\r\n" +
+ " <data:ZipCode>98074</data:ZipCode>\r\n" +
+ " <data:Country>USA</data:Country>\r\n" +
+ " </data:Address>\r\n" +
+ " <data:Location metadata:type=\"Edm.GeographyPoint\">\r\n" +
" <gml:Point gml:srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\">\r\n" +
" <gml:pos>47.6316604614258 -122.03547668457</gml:pos>\r\n" +
" </gml:Point>\r\n" +
- " </d:Location>\r\n" +
- " <d:Concurrency m:type=\"Edm.Int32\">0</d:Concurrency>\r\n" +
- " </m:properties>\r\n" +
+ " </data:Location>\r\n" +
+ " <data:Concurrency metadata:type=\"Edm.Int32\">0</data:Concurrency>\r\n" +
+ " </metadata:properties>\r\n" +
" </content>\r\n" +
" </entry>\r\n" +
" </feed>\r\n" +
- " </m:inline>\r\n" +
+ " </metadata:inline>\r\n" +
" </link>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/related/ProductDetail\" "
+ "type=\"application/atom+xml;type=entry\" "
+ "title=\"ProductDetail\" href=\"Products(3)/ProductDetail\" />\r\n" +
" <title type=\"text\">Havina Cola</title>\r\n" +
@@ -301,24 +302,24 @@ public class AtomDeserializerTest {
" <author>\r\n" +
" <name />\r\n" +
" </author>\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Categories\" "
+ "type=\"application/xml\" title=\"Categories\" href=\"Products(3)/$links/Categories\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/Supplier\" "
+ "type=\"application/xml\" title=\"Supplier\" href=\"Products(3)/$links/Supplier\" />\r\n" +
- " <link rel=\"http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/ProductDetail\" "
+ " <link rel=\"http://docs.oasis-open.org/odata/ns/relatedlinks/ProductDetail\" "
+ "type=\"application/xml\" title=\"ProductDetail\" href=\"Products(3)/$links/ProductDetail\" />\r\n" +
" <content type=\"application/xml\">\r\n" +
- " <m:properties>\r\n" +
- " <d:ID m:type=\"Edm.Int32\">3</d:ID>\r\n" +
- " <d:ReleaseDate m:type=\"Edm.DateTime\">2005-10-01T00:00:00</d:ReleaseDate>\r\n" +
- " <d:DiscontinuedDate m:type=\"Edm.DateTime\">2006-10-01T00:00:00</d:DiscontinuedDate>\r\n" +
- " <d:Rating m:type=\"Edm.Int16\">3</d:Rating>\r\n" +
- " <d:Price m:type=\"Edm.Double\">19.9</d:Price>\r\n" +
- " </m:properties>\r\n" +
+ " <metadata:properties>\r\n" +
+ " <data:ID metadata:type=\"Edm.Int32\">3</data:ID>\r\n" +
+ " <data:ReleaseDate metadata:type=\"Edm.DateTime\">2005-10-01T00:00:00</data:ReleaseDate>\r\n" +
+ " <data:DiscontinuedDate metadata:type=\"Edm.DateTime\">2006-10-01T00:00:00</data:DiscontinuedDate>\r\n" +
+ " <data:Rating metadata:type=\"Edm.Int16\">3</data:Rating>\r\n" +
+ " <data:Price metadata:type=\"Edm.Double\">19.9</data:Price>\r\n" +
+ " </metadata:properties>\r\n" +
" </content>\r\n" +
" </entry>";
-
- final AtomDeserializer deserializer = new AtomDeserializer(ODataServiceVersion.V30);
+ //TODO: THis was a test for V3
+ final AtomDeserializer deserializer = new AtomDeserializer();
final InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
final ResWrap<Entity> entity = deserializer.toEntity(in);
[3/3] olingo-odata4 git commit: [OLINGO-575] Cleanup service version
enum
Posted by ch...@apache.org.
[OLINGO-575] Cleanup service version enum
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/a3789c7c
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/a3789c7c
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/a3789c7c
Branch: refs/heads/master
Commit: a3789c7cce8be59ea2e8378525a4bdbdf01f9729
Parents: 3c36eae
Author: Christian Amend <ch...@apache.org>
Authored: Thu Mar 5 16:50:55 2015 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Thu Mar 5 16:50:55 2015 +0100
----------------------------------------------------------------------
.../olingo/ext/proxy/AbstractService.java | 2 +-
.../org/apache/olingo/fit/AbstractServices.java | 10 +-
.../fit/serializer/FITAtomDeserializer.java | 16 +-
.../olingo/fit/utils/AbstractUtilities.java | 245 +++++++++----------
.../org/apache/olingo/fit/utils/FSManager.java | 4 +-
.../olingo/client/core/ODataClientImpl.java | 6 +-
.../data/JSONServiceDocumentDeserializer.java | 5 +-
.../data/XMLServiceDocumentDeserializer.java | 5 +-
.../olingo/client/core/edm/EdmClientImpl.java | 13 +-
.../olingo/client/core/edm/EdmEnumTypeImpl.java | 5 +-
.../olingo/client/core/edm/EdmSchemaImpl.java | 10 +-
.../client/core/edm/EdmTypeDefinitionImpl.java | 23 +-
.../ClientODataDeserializerImpl.java | 20 +-
.../core/serialization/ODataBinderImpl.java | 12 +-
.../core/serialization/ODataReaderImpl.java | 81 +++---
.../olingo/client/core/uri/URIEscapeTest.java | 28 +--
.../client/core/uri/v4/FilterFactoryTest.java | 45 ++--
.../apache/olingo/client/core/v4/JSONTest.java | 93 ++++---
.../apache/olingo/commons/api/Constants.java | 18 ++
.../commons/api/domain/ODataInlineEntity.java | 13 +-
.../api/domain/ODataInlineEntitySet.java | 12 +-
.../olingo/commons/api/domain/ODataLink.java | 30 +--
.../commons/api/domain/ODataLinkType.java | 13 +-
.../commons/api/edm/EdmPrimitiveTypeKind.java | 13 +-
.../api/edm/constants/ODataServiceVersion.java | 92 -------
.../core/domain/ODataObjectFactoryImpl.java | 12 +-
.../olingo/commons/core/edm/EdmTypeInfo.java | 13 +-
.../core/serialization/AbstractAtomDealer.java | 25 +-
.../core/serialization/AtomDeserializer.java | 30 +--
.../core/serialization/AtomSerializer.java | 34 +--
.../serialization/JsonDeltaDeserializer.java | 23 +-
.../core/serialization/JsonDeserializer.java | 112 ++++-----
.../serialization/JsonEntityDeserializer.java | 36 +--
.../serialization/JsonEntitySerializer.java | 53 ++--
.../JsonEntitySetDeserializer.java | 22 +-
.../serialization/JsonEntitySetSerializer.java | 28 +--
.../serialization/JsonGeoValueDeserializer.java | 20 +-
.../JsonODataErrorDeserializer.java | 23 +-
.../JsonODataErrorDetailDeserializer.java | 14 +-
.../serialization/JsonPropertyDeserializer.java | 20 +-
.../serialization/JsonPropertySerializer.java | 20 +-
.../core/serialization/JsonSerializer.java | 153 ++++++------
.../serialization/AtomDeserializerTest.java | 239 +++++++++---------
43 files changed, 754 insertions(+), 937 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
index e17bfdf..7fac96c 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
@@ -84,7 +84,7 @@ public abstract class AbstractService<C extends EdmEnabledODataClient> {
IOUtils.closeQuietly(bais);
}
- final Edm edm = metadata == null ? null : new EdmClientImpl(version, metadata.getSchemaByNsOrAlias());
+ final Edm edm = metadata == null ? null : new EdmClientImpl(metadata.getSchemaByNsOrAlias());
//TODO: check runtime exception or not
if(version.compareTo(ODataServiceVersion.V40) < 0){
throw new ODataRuntimeException("Only OData V4 or higher supported.");
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
index 77e3478..424789f 100644
--- a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
+++ b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
@@ -149,10 +149,10 @@ public abstract class AbstractServices {
this.version = version;
this.metadata = metadata;
- atomDeserializer = new FITAtomDeserializer(version);
- jsonDeserializer = new JsonDeserializer(version, true);
- atomSerializer = new AtomSerializer(version, true);
- jsonSerializer = new JsonSerializer(version, true);
+ atomDeserializer = new FITAtomDeserializer();
+ jsonDeserializer = new JsonDeserializer(true);
+ atomSerializer = new AtomSerializer(true);
+ jsonSerializer = new JsonSerializer(true);
xml = new XMLUtilities(version, metadata);
json = new JSONUtilities(version, metadata);
@@ -1827,7 +1827,7 @@ public abstract class AbstractServices {
}
private String stringValue(final Property property) {
- EdmPrimitiveTypeKind kind = EdmPrimitiveTypeKind.valueOfFQN(version, property.getType());
+ EdmPrimitiveTypeKind kind = EdmPrimitiveTypeKind.valueOfFQN(property.getType());
try {
return EdmPrimitiveTypeFactory.getInstance(kind)
.valueToString(property.asPrimitive(), null, null,
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/fit/src/main/java/org/apache/olingo/fit/serializer/FITAtomDeserializer.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/serializer/FITAtomDeserializer.java b/fit/src/main/java/org/apache/olingo/fit/serializer/FITAtomDeserializer.java
index bf932f7..f667d93 100644
--- a/fit/src/main/java/org/apache/olingo/fit/serializer/FITAtomDeserializer.java
+++ b/fit/src/main/java/org/apache/olingo/fit/serializer/FITAtomDeserializer.java
@@ -18,24 +18,24 @@
*/
package org.apache.olingo.fit.serializer;
-import org.apache.olingo.commons.api.Constants;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.core.serialization.AtomDeserializer;
-
-import javax.xml.stream.XMLEventReader;
-import javax.xml.stream.XMLStreamException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.olingo.commons.api.Constants;
+import org.apache.olingo.commons.core.serialization.AtomDeserializer;
+
public class FITAtomDeserializer extends AtomDeserializer {
private static final Charset ENCODING = Charset.forName(Constants.UTF8);
- public FITAtomDeserializer(final ODataServiceVersion version) {
- super(version);
+ public FITAtomDeserializer() {
+ super();
}
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
index 8305eda..f8cab08 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
@@ -103,10 +103,10 @@ public abstract class AbstractUtilities {
this.version = version;
this.metadata = metadata;
fsManager = FSManager.instance(version);
- atomDeserializer = new FITAtomDeserializer(version);
- jsonDeserializer = new JsonDeserializer(version, true);
- atomSerializer = new AtomSerializer(version, true);
- jsonSerializer = new JsonSerializer(version, true);
+ atomDeserializer = new FITAtomDeserializer();
+ jsonDeserializer = new JsonDeserializer(true);
+ atomSerializer = new AtomSerializer(true);
+ jsonSerializer = new JsonSerializer(true);
}
public boolean isMediaContent(final String entityName) {
@@ -123,8 +123,8 @@ public abstract class AbstractUtilities {
* @return
*/
protected abstract InputStream addLinks(
- final String entitySetName, final String entitykey, final InputStream is, final Set<String> links)
- throws Exception;
+ final String entitySetName, final String entitykey, final InputStream is, final Set<String> links)
+ throws Exception;
/**
* Retrieve all entity link names.
@@ -144,7 +144,7 @@ public abstract class AbstractUtilities {
* @return
*/
protected abstract NavigationLinks retrieveNavigationInfo(final String entitySetName, final InputStream is)
- throws Exception;
+ throws Exception;
/**
* Normalize navigation info and add edit link if missing.
@@ -156,20 +156,20 @@ public abstract class AbstractUtilities {
* @return
*/
protected abstract InputStream normalizeLinks(
- final String entitySetName, final String entityKey, final InputStream is, final NavigationLinks links)
- throws Exception;
+ final String entitySetName, final String entityKey, final InputStream is, final NavigationLinks links)
+ throws Exception;
public InputStream saveSingleEntity(
- final String key,
- final String entitySetName,
- final InputStream is,
- final NavigationLinks links) throws Exception {
+ final String key,
+ final String entitySetName,
+ final InputStream is,
+ final NavigationLinks links) throws Exception {
// -----------------------------------------
// 0. Get the path
// -----------------------------------------
final String path =
- entitySetName + File.separatorChar + Commons.getEntityKey(key) + File.separatorChar
+ entitySetName + File.separatorChar + Commons.getEntityKey(key) + File.separatorChar
+ Constants.get(version, ConstantKey.ENTITY);
// -----------------------------------------
@@ -196,10 +196,10 @@ public abstract class AbstractUtilities {
}
public InputStream addOrReplaceEntity(
- final String key,
- final String entitySetName,
- final InputStream is,
- final Entity entry) throws Exception {
+ final String key,
+ final String entitySetName,
+ final InputStream is,
+ final Entity entry) throws Exception {
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
IOUtils.copy(is, bos);
@@ -214,7 +214,7 @@ public abstract class AbstractUtilities {
try {
linksToBeKept = new HashSet<String>(navigationProperties.keySet());
} catch (NullPointerException e) {
- linksToBeKept = Collections.<String>emptySet();
+ linksToBeKept = Collections.<String> emptySet();
}
for (String availableLink : new HashSet<String>(linksToBeKept)) {
@@ -248,7 +248,7 @@ public abstract class AbstractUtilities {
// 3. Normalize navigation info; add edit link; ... and save entity ....
// -----------------------------------------
final InputStream createdEntity = saveSingleEntity(
- entityKey, entitySetName, new ByteArrayInputStream(bos.toByteArray()), links);
+ entityKey, entitySetName, new ByteArrayInputStream(bos.toByteArray()), links);
// -----------------------------------------
bos.reset();
@@ -258,7 +258,7 @@ public abstract class AbstractUtilities {
// 4. Add navigation links to be kept
// -----------------------------------------
final InputStream normalizedEntity =
- addLinks(entitySetName, entityKey, new ByteArrayInputStream(bos.toByteArray()), linksToBeKept);
+ addLinks(entitySetName, entityKey, new ByteArrayInputStream(bos.toByteArray()), linksToBeKept);
// -----------------------------------------
IOUtils.closeQuietly(bos);
@@ -267,8 +267,8 @@ public abstract class AbstractUtilities {
// 5. save the entity
// -----------------------------------------
final FileObject fo = fsManager.putInMemory(
- normalizedEntity,
- fsManager.getAbsolutePath(path + Constants.get(version, ConstantKey.ENTITY), getDefaultFormat()));
+ normalizedEntity,
+ fsManager.getAbsolutePath(path + Constants.get(version, ConstantKey.ENTITY), getDefaultFormat()));
// -----------------------------------------
// -----------------------------------------
@@ -282,17 +282,17 @@ public abstract class AbstractUtilities {
for (final Link link : entry.getNavigationLinks()) {
final NavigationProperty navProp =
- navigationProperties == null ? null : navigationProperties.get(link.getTitle());
+ navigationProperties == null ? null : navigationProperties.get(link.getTitle());
if (navProp != null) {
final String inlineEntitySetName = navProp.getTarget();
if (link.getInlineEntity() != null) {
final String inlineEntryKey = getDefaultEntryKey(inlineEntitySetName, link.getInlineEntity());
addOrReplaceEntity(
- inlineEntryKey,
- inlineEntitySetName,
- toInputStream(link.getInlineEntity()),
- link.getInlineEntity());
+ inlineEntryKey,
+ inlineEntitySetName,
+ toInputStream(link.getInlineEntity()),
+ link.getInlineEntity());
hrefs.add(inlineEntitySetName + "(" + inlineEntryKey + ")");
} else if (link.getInlineEntitySet() != null) {
@@ -300,10 +300,10 @@ public abstract class AbstractUtilities {
final String inlineEntryKey = getDefaultEntryKey(inlineEntitySetName, subentry);
addOrReplaceEntity(
- inlineEntryKey,
- inlineEntitySetName,
- toInputStream(subentry),
- subentry);
+ inlineEntryKey,
+ inlineEntitySetName,
+ toInputStream(subentry),
+ subentry);
hrefs.add(inlineEntitySetName + "(" + inlineEntryKey + ")");
}
@@ -320,9 +320,9 @@ public abstract class AbstractUtilities {
}
public void addMediaEntityValue(
- final String entitySetName,
- final String entityKey,
- final InputStream is) throws Exception {
+ final String entitySetName,
+ final String entityKey,
+ final InputStream is) throws Exception {
// -----------------------------------------
// 0. Get default entry key and path (N.B. operation will consume/close the stream; use a copy instead)
@@ -334,17 +334,17 @@ public abstract class AbstractUtilities {
// 1. save the media entity value
// -----------------------------------------
fsManager.putInMemory(is, fsManager.getAbsolutePath(path
- + Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME), null));
+ + Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME), null));
IOUtils.closeQuietly(is);
// -----------------------------------------
}
public void putLinksInMemory(
- final String basePath,
- final String entitySetName,
- final String entityKey,
- final String linkName,
- final Collection<String> links) throws Exception {
+ final String basePath,
+ final String entitySetName,
+ final String entityKey,
+ final String linkName,
+ final Collection<String> links) throws Exception {
final HashSet<String> uris = new HashSet<String>();
@@ -355,8 +355,7 @@ public abstract class AbstractUtilities {
try {
final Map.Entry<String, List<String>> currents = extractLinkURIs(entitySetName, entityKey, linkName);
uris.addAll(currents.getValue());
- } catch (Exception ignore) {
- }
+ } catch (Exception ignore) {}
}
uris.addAll(links);
@@ -365,20 +364,20 @@ public abstract class AbstractUtilities {
}
public void putLinksInMemory(
- final String basePath, final String entitySetName, final String linkName, final Collection<String> uris)
- throws Exception {
+ final String basePath, final String entitySetName, final String linkName, final Collection<String> uris)
+ throws Exception {
fsManager.putInMemory(
- Commons.getLinksAsJSON(version, entitySetName, new SimpleEntry<String, Collection<String>>(linkName, uris)),
- Commons.getLinksPath(version, basePath, linkName, Accept.JSON_FULLMETA));
+ Commons.getLinksAsJSON(version, entitySetName, new SimpleEntry<String, Collection<String>>(linkName, uris)),
+ Commons.getLinksPath(version, basePath, linkName, Accept.JSON_FULLMETA));
fsManager.putInMemory(
- Commons.getLinksAsATOM(version, new SimpleEntry<String, Collection<String>>(linkName, uris)),
- Commons.getLinksPath(version, basePath, linkName, Accept.XML));
+ Commons.getLinksAsATOM(version, new SimpleEntry<String, Collection<String>>(linkName, uris)),
+ Commons.getLinksPath(version, basePath, linkName, Accept.XML));
}
public Response createResponse(
- final String location, final InputStream entity, final String etag, final Accept accept) {
+ final String location, final InputStream entity, final String etag, final Accept accept) {
return createResponse(location, entity, etag, accept, null);
}
@@ -413,26 +412,26 @@ public abstract class AbstractUtilities {
public Response createBatchResponse(final InputStream stream) {
final Response.ResponseBuilder builder = version.compareTo(ODataServiceVersion.V30) <= 0
- ? Response.accepted(stream)
- : Response.ok(stream);
+ ? Response.accepted(stream)
+ : Response.ok(stream);
builder.header(Constants.get(version, ConstantKey.ODATA_SERVICE_VERSION), version.toString() + ";");
return builder.build();
}
public Response createResponse(
- final InputStream entity,
- final String etag,
- final Accept accept,
- final Response.Status status) {
+ final InputStream entity,
+ final String etag,
+ final Accept accept,
+ final Response.Status status) {
return createResponse(null, entity, etag, accept, status);
}
public Response createResponse(
- final String location,
- final InputStream entity,
- final String etag,
- final Accept accept,
- final Response.Status status) {
+ final String location,
+ final InputStream entity,
+ final String etag,
+ final Accept accept,
+ final Response.Status status) {
final Response.ResponseBuilder builder = Response.ok();
if (version.compareTo(ODataServiceVersion.V30) <= 0) {
@@ -527,14 +526,14 @@ public abstract class AbstractUtilities {
}
public EntitySet readEntitySet(final Accept accept, final InputStream entitySet)
- throws ODataDeserializerException {
+ throws ODataDeserializerException {
return (accept == Accept.ATOM || accept == Accept.XML ? atomDeserializer.toEntitySet(entitySet) : jsonDeserializer.
- toEntitySet(entitySet))
- .getPayload();
+ toEntitySet(entitySet))
+ .getPayload();
}
public InputStream writeEntitySet(final Accept accept, final ResWrap<EntitySet> container)
- throws ODataSerializerException, IOException {
+ throws ODataSerializerException, IOException {
final StringWriter writer = new StringWriter();
if (accept == Accept.ATOM || accept == Accept.XML) {
@@ -549,19 +548,19 @@ public abstract class AbstractUtilities {
}
public ResWrap<Entity> readContainerEntity(final Accept accept, final InputStream entity)
- throws ODataDeserializerException {
+ throws ODataDeserializerException {
return accept == Accept.ATOM || accept == Accept.XML
- ? atomDeserializer.toEntity(entity)
- : jsonDeserializer.toEntity(entity);
+ ? atomDeserializer.toEntity(entity)
+ : jsonDeserializer.toEntity(entity);
}
public Entity readEntity(final Accept accept, final InputStream entity)
- throws IOException, ODataDeserializerException {
+ throws IOException, ODataDeserializerException {
return readContainerEntity(accept, entity).getPayload();
}
public InputStream writeEntity(final Accept accept, final ResWrap<Entity> container)
- throws ODataSerializerException {
+ throws ODataSerializerException {
StringWriter writer = new StringWriter();
if (accept == Accept.ATOM || accept == Accept.XML) {
@@ -574,7 +573,7 @@ public abstract class AbstractUtilities {
}
public InputStream writeProperty(final Accept accept, final Property property)
- throws ODataSerializerException {
+ throws ODataSerializerException {
final StringWriter writer = new StringWriter();
if (accept == Accept.XML || accept == Accept.ATOM) {
@@ -588,12 +587,12 @@ public abstract class AbstractUtilities {
public Property readProperty(final Accept accept, final InputStream property) throws ODataDeserializerException {
return (Accept.ATOM == accept || Accept.XML == accept ? atomDeserializer.toProperty(property) : jsonDeserializer.
- toProperty(property))
- .getPayload();
+ toProperty(property))
+ .getPayload();
}
public InputStream writeProperty(final Accept accept, final ResWrap<Property> container)
- throws ODataSerializerException {
+ throws ODataSerializerException {
final StringWriter writer = new StringWriter();
if (accept == Accept.XML || accept == Accept.ATOM) {
@@ -606,7 +605,7 @@ public abstract class AbstractUtilities {
}
private String getDefaultEntryKey(final String entitySetName, final Entity entry, final String propertyName)
- throws IOException {
+ throws IOException {
String res;
if (entry.getProperty(propertyName) == null) {
@@ -639,7 +638,7 @@ public abstract class AbstractUtilities {
} else {
productID = (Integer) entity.getProperty("OrderID").asPrimitive();
res = "OrderID=" + entity.getProperty("OrderID").asPrimitive()
- + ",ProductID=" + entity.getProperty("ProductID").asPrimitive();
+ + ",ProductID=" + entity.getProperty("ProductID").asPrimitive();
}
Commons.SEQUENCE.put(entitySetName, productID);
} else if ("Message".equals(entitySetName)) {
@@ -654,7 +653,7 @@ public abstract class AbstractUtilities {
} else {
messageId = (Integer) entity.getProperty("MessageId").asPrimitive();
res = "FromUsername=" + entity.getProperty("FromUsername").asPrimitive()
- + ",MessageId=" + entity.getProperty("MessageId").asPrimitive();
+ + ",MessageId=" + entity.getProperty("MessageId").asPrimitive();
}
Commons.SEQUENCE.put(entitySetName, messageId);
} else if ("PersonDetails".equals(entitySetName)) {
@@ -701,7 +700,7 @@ public abstract class AbstractUtilities {
productId = (Integer) entity.getProperty("ProductID").asPrimitive();
productDetailId = (Integer) entity.getProperty("ProductDetailID").asPrimitive();
res = "ProductID=" + entity.getProperty("ProductID").asPrimitive()
- + ",ProductDetailID=" + entity.getProperty("ProductDetailID").asPrimitive();
+ + ",ProductDetailID=" + entity.getProperty("ProductDetailID").asPrimitive();
}
Commons.SEQUENCE.put(entitySetName, productDetailId);
Commons.SEQUENCE.put("Products", productId);
@@ -723,7 +722,7 @@ public abstract class AbstractUtilities {
public String getLinksBasePath(final String entitySetName, final String entityId) {
return entitySetName + File.separatorChar + Commons.getEntityKey(entityId) + File.separatorChar
- + Constants.get(version, ConstantKey.LINKS_FILE_PATH) + File.separatorChar;
+ + Constants.get(version, ConstantKey.LINKS_FILE_PATH) + File.separatorChar;
}
/**
@@ -736,8 +735,8 @@ public abstract class AbstractUtilities {
* @return a pair of ETag/links stream
*/
public LinkInfo readLinks(
- final String entitySetName, final String entityId, final String linkName, final Accept accept)
- throws Exception {
+ final String entitySetName, final String entityId, final String linkName, final Accept accept)
+ throws Exception {
final String basePath = getLinksBasePath(entitySetName, entityId);
@@ -751,16 +750,16 @@ public abstract class AbstractUtilities {
}
public InputStream putMediaInMemory(
- final String entitySetName, final String entityId, final InputStream value)
- throws IOException {
+ final String entitySetName, final String entityId, final InputStream value)
+ throws IOException {
return putMediaInMemory(entitySetName, entityId, null, value);
}
public InputStream putMediaInMemory(
- final String entitySetName, final String entityId, final String name, final InputStream value)
- throws IOException {
+ final String entitySetName, final String entityId, final String name, final InputStream value)
+ throws IOException {
final FileObject fo = fsManager.putInMemory(value, fsManager.getAbsolutePath(
- Commons.getEntityBasePath(entitySetName, entityId)
+ Commons.getEntityBasePath(entitySetName, entityId)
+ (name == null ? Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME) : name), null));
return fo.getContent().getInputStream();
@@ -771,14 +770,14 @@ public abstract class AbstractUtilities {
}
public Map.Entry<String, InputStream> readMediaEntity(
- final String entitySetName, final String entityId, final String name) {
+ final String entitySetName, final String entityId, final String name) {
final String basePath = Commons.getEntityBasePath(entitySetName, entityId);
return new SimpleEntry<String, InputStream>(basePath, fsManager.readFile(basePath
- + (name == null ? Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME) : name)));
+ + (name == null ? Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME) : name)));
}
public Map.Entry<String, InputStream> readEntity(
- final String entitySetName, final String entityId, final Accept accept) {
+ final String entitySetName, final String entityId, final Accept accept) {
if (accept == Accept.XML || accept == Accept.TEXT) {
throw new UnsupportedMediaTypeException("Unsupported media type");
@@ -786,14 +785,14 @@ public abstract class AbstractUtilities {
final String basePath = Commons.getEntityBasePath(entitySetName, entityId);
return new SimpleEntry<String, InputStream>(basePath,
- fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), accept));
+ fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), accept));
}
public InputStream expandEntity(
- final String entitySetName,
- final String entityId,
- final String linkName)
- throws Exception {
+ final String entitySetName,
+ final String entityId,
+ final String linkName)
+ throws Exception {
// --------------------------------
// 0. Retrieve all 'linkName' navigation link uris (NotFoundException if missing)
@@ -807,18 +806,18 @@ public abstract class AbstractUtilities {
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
return readEntities(
- links.getValue(),
- linkName,
- links.getKey(),
- navigationProperties.get(linkName).isEntitySet());
+ links.getValue(),
+ linkName,
+ links.getKey(),
+ navigationProperties.get(linkName).isEntitySet());
}
public InputStream expandEntity(
- final String entitySetName,
- final String entityId,
- final InputStream entity,
- final String linkName)
- throws Exception {
+ final String entitySetName,
+ final String entityId,
+ final InputStream entity,
+ final String linkName)
+ throws Exception {
// --------------------------------
// 2. Retrieve expanded object (entry or feed)
// --------------------------------
@@ -827,14 +826,14 @@ public abstract class AbstractUtilities {
}
public InputStream deleteProperty(
- final String entitySetName,
- final String entityId,
- final List<String> path,
- final Accept accept) throws Exception {
+ final String entitySetName,
+ final String entityId,
+ final List<String> path,
+ final Accept accept) throws Exception {
final String basePath = Commons.getEntityBasePath(entitySetName, entityId);
final Accept acceptType = accept == null || Accept.TEXT == accept
- ? Accept.XML : accept.getExtension().equals(Accept.JSON.getExtension()) ? Accept.JSON_FULLMETA : accept;
+ ? Accept.XML : accept.getExtension().equals(Accept.JSON.getExtension()) ? Accept.JSON_FULLMETA : accept;
// read atom
InputStream stream = fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType);
@@ -844,44 +843,44 @@ public abstract class AbstractUtilities {
// save atom
fsManager.putInMemory(stream,
- fsManager.getAbsolutePath(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType));
+ fsManager.getAbsolutePath(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType));
return fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType);
}
public abstract InputStream readEntities(
- final List<String> links, final String linkName, final String next, final boolean forceFeed)
- throws Exception;
+ final List<String> links, final String linkName, final String next, final boolean forceFeed)
+ throws Exception;
protected abstract InputStream replaceLink(
- final InputStream toBeChanged, final String linkName, final InputStream replacement)
- throws Exception;
+ final InputStream toBeChanged, final String linkName, final InputStream replacement)
+ throws Exception;
public abstract InputStream selectEntity(final InputStream entity, final String[] propertyNames)
- throws Exception;
+ throws Exception;
protected abstract Accept getDefaultFormat();
protected abstract Map<String, InputStream> getChanges(final InputStream src) throws Exception;
public abstract InputStream addEditLink(
- final InputStream content, final String title, final String href) throws Exception;
+ final InputStream content, final String title, final String href) throws Exception;
public abstract InputStream addOperation(
- final InputStream content, final String name, final String metaAnchor, final String href)
- throws Exception;
+ final InputStream content, final String name, final String metaAnchor, final String href)
+ throws Exception;
protected abstract InputStream replaceProperty(
- final InputStream src, final InputStream replacement, final List<String> path, final boolean justValue)
- throws Exception;
+ final InputStream src, final InputStream replacement, final List<String> path, final boolean justValue)
+ throws Exception;
protected abstract InputStream deleteProperty(final InputStream src, final List<String> path)
- throws Exception;
+ throws Exception;
public abstract Map.Entry<String, List<String>> extractLinkURIs(final InputStream is)
- throws Exception;
+ throws Exception;
public abstract Map.Entry<String, List<String>> extractLinkURIs(
- final String entitySetName, final String entityId, final String linkName)
- throws Exception;
+ final String entitySetName, final String entityId, final String linkName)
+ throws Exception;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java b/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
index dc8e105..158807c 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
@@ -118,13 +118,13 @@ public class FSManager {
ByteArrayOutputStream content = new ByteArrayOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(content, Constants.ENCODING);
- new AtomSerializer(version, true).write(writer, container);
+ new AtomSerializer(true).write(writer, container);
writer.flush();
putInMemory(new ByteArrayInputStream(content.toByteArray()), getAbsolutePath(relativePath, Accept.ATOM));
content.reset();
- new JsonSerializer(version, true).write(writer, container);
+ new JsonSerializer(true).write(writer, container);
writer.flush();
putInMemory(new ByteArrayInputStream(content.toByteArray()), getAbsolutePath(relativePath, Accept.JSON_FULLMETA));
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/ODataClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/ODataClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/ODataClientImpl.java
index a01ccfb..bd9282f 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/ODataClientImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/ODataClientImpl.java
@@ -126,14 +126,14 @@ public class ODataClientImpl implements ODataClient {
@Override
public ClientODataDeserializer getDeserializer(final ODataFormat format) {
- return new ClientODataDeserializerImpl(getServiceVersion(), false, format);
+ return new ClientODataDeserializerImpl(false, format);
}
@Override
public ODataSerializer getSerializer(final ODataFormat format) {
return format == ODataFormat.ATOM || format == ODataFormat.XML ?
- new AtomSerializer(getServiceVersion()) :
- new JsonSerializer(getServiceVersion(), false, format);
+ new AtomSerializer() :
+ new JsonSerializer(false, format);
}
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONServiceDocumentDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONServiceDocumentDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONServiceDocumentDeserializer.java
index fc9b27e..4d3e83c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONServiceDocumentDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/JSONServiceDocumentDeserializer.java
@@ -27,7 +27,6 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.client.api.data.ServiceDocument;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.serialization.JsonDeserializer;
@@ -39,8 +38,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
public class JSONServiceDocumentDeserializer extends JsonDeserializer {
- public JSONServiceDocumentDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JSONServiceDocumentDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ResWrap<ServiceDocument> doDeserialize(final JsonParser parser) throws IOException {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/data/XMLServiceDocumentDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/XMLServiceDocumentDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/XMLServiceDocumentDeserializer.java
index ee67b5e..0b37722 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/data/XMLServiceDocumentDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/data/XMLServiceDocumentDeserializer.java
@@ -25,7 +25,6 @@ import java.net.URI;
import org.apache.olingo.client.api.data.ServiceDocument;
import org.apache.olingo.client.core.uri.URIUtils;
import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.serialization.JsonDeserializer;
@@ -36,8 +35,8 @@ import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser;
public class XMLServiceDocumentDeserializer extends JsonDeserializer {
- public XMLServiceDocumentDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public XMLServiceDocumentDeserializer(final boolean serverMode) {
+ super(serverMode);
}
private String getName(final JsonParser jp) throws IOException {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
index 4a445ab..f608984 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
@@ -57,21 +57,16 @@ import org.apache.olingo.commons.api.edm.EdmSchema;
import org.apache.olingo.commons.api.edm.EdmTerm;
import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.edm.AbstractEdm;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
public class EdmClientImpl extends AbstractEdm {
- private final ODataServiceVersion version;
-
private final List<Schema> xmlSchemas;
private final Map<String, Schema> xmlSchemaByNamespace;
- public EdmClientImpl(final ODataServiceVersion version, final Map<String, Schema> xmlSchemas) {
- this.version = version;
-
+ public EdmClientImpl(final Map<String, Schema> xmlSchemas) {
this.xmlSchemaByNamespace = xmlSchemas;
this.xmlSchemas = new ArrayList<Schema>();
@@ -100,7 +95,7 @@ public class EdmClientImpl extends AbstractEdm {
protected Map<String, EdmSchema> createSchemas() {
final Map<String, EdmSchema> _schemas = new LinkedHashMap<String, EdmSchema>(xmlSchemas.size());
for (Schema schema : xmlSchemas) {
- _schemas.put(schema.getNamespace(), new EdmSchemaImpl(version, this, xmlSchemas, schema));
+ _schemas.put(schema.getNamespace(), new EdmSchemaImpl(this, xmlSchemas, schema));
}
return _schemas;
}
@@ -128,7 +123,7 @@ public class EdmClientImpl extends AbstractEdm {
if (schema != null) {
final EnumType xmlEnumType = schema.getEnumType(enumName.getName());
if (xmlEnumType != null) {
- result = new EdmEnumTypeImpl(version, this, enumName, xmlEnumType);
+ result = new EdmEnumTypeImpl(this, enumName, xmlEnumType);
}
}
@@ -144,7 +139,7 @@ public class EdmClientImpl extends AbstractEdm {
final TypeDefinition xmlTypeDefinition = ((Schema) schema).
getTypeDefinition(typeDefinitionName.getName());
if (xmlTypeDefinition != null) {
- result = new EdmTypeDefinitionImpl(version, this, typeDefinitionName, xmlTypeDefinition);
+ result = new EdmTypeDefinitionImpl(this, typeDefinitionName, xmlTypeDefinition);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
index 5b861d7..297aeca 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
@@ -34,7 +34,6 @@ import org.apache.olingo.commons.api.edm.EdmMember;
import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.edm.AbstractEdmEnumType;
import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
@@ -54,7 +53,7 @@ public class EdmEnumTypeImpl extends AbstractEdmEnumType {
private final Map<String, EdmMember> members;
- public EdmEnumTypeImpl(final ODataServiceVersion version, final Edm edm, final FullQualifiedName fqn,
+ public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName fqn,
final EnumType xmlEnumType) {
super(edm, fqn, xmlEnumType.isFlags());
@@ -63,7 +62,7 @@ public class EdmEnumTypeImpl extends AbstractEdmEnumType {
this.underlyingType = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32);
} else {
final EdmPrimitiveTypeKind underlyingTipeKind =
- EdmPrimitiveTypeKind.valueOfFQN(version, xmlEnumType.getUnderlyingType());
+ EdmPrimitiveTypeKind.valueOfFQN(xmlEnumType.getUnderlyingType());
if (!ArrayUtils.contains(VALID_UNDERLYING_TYPES, underlyingTipeKind)) {
throw new EdmException("Not allowed as underlying type: " + underlyingTipeKind);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
index e6f0f7d..0cc1ca6 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
@@ -46,12 +46,10 @@ import org.apache.olingo.commons.api.edm.EdmFunction;
import org.apache.olingo.commons.api.edm.EdmTerm;
import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.edm.AbstractEdmSchema;
public class EdmSchemaImpl extends AbstractEdmSchema {
- private final ODataServiceVersion version;
private final Edm edm;
@@ -63,12 +61,10 @@ public class EdmSchemaImpl extends AbstractEdmSchema {
private List<EdmEntityContainer> entityContainers;
- public EdmSchemaImpl(final ODataServiceVersion version, final Edm edm,
- final List<Schema> xmlSchemas, final Schema schema) {
+ public EdmSchemaImpl(final Edm edm, final List<Schema> xmlSchemas, final Schema schema) {
super(schema.getNamespace(), schema.getAlias());
- this.version = version;
this.edm = edm;
this.xmlSchemas = xmlSchemas;
this.schema = schema;
@@ -133,7 +129,7 @@ public class EdmSchemaImpl extends AbstractEdmSchema {
if (providerTypeDefinitions != null) {
for (TypeDefinition def : providerTypeDefinitions) {
typeDefinitions.add(
- new EdmTypeDefinitionImpl(version, edm, new FullQualifiedName(namespace, def.getName()), def));
+ new EdmTypeDefinitionImpl(edm, new FullQualifiedName(namespace, def.getName()), def));
}
}
}
@@ -147,7 +143,7 @@ public class EdmSchemaImpl extends AbstractEdmSchema {
if (providerEnumTypes != null) {
for (EnumType enumType : providerEnumTypes) {
enumTypes.add(
- new EdmEnumTypeImpl(version, edm, new FullQualifiedName(namespace, enumType.getName()), enumType));
+ new EdmEnumTypeImpl(edm, new FullQualifiedName(namespace, enumType.getName()), enumType));
}
}
return enumTypes;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
index 62f514d..d82e5f6 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
@@ -1,18 +1,18 @@
-/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -28,7 +28,6 @@ import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.EdmTerm;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.edm.geo.SRID;
import org.apache.olingo.commons.core.edm.AbstractEdmTypeDefinition;
import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
@@ -42,14 +41,14 @@ public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition {
private final EdmAnnotationHelper helper;
- public EdmTypeDefinitionImpl(final ODataServiceVersion version, final Edm edm,
- final FullQualifiedName typeDefinitionName, final TypeDefinition typeDefinition) {
+ public EdmTypeDefinitionImpl(final Edm edm, final FullQualifiedName typeDefinitionName,
+ final TypeDefinition typeDefinition) {
super(edm, typeDefinitionName);
this.typeDefinition = typeDefinition;
try {
this.edmPrimitiveTypeInstance = EdmPrimitiveTypeFactory.getInstance(
- EdmPrimitiveTypeKind.valueOfFQN(version, typeDefinition.getUnderlyingType()));
+ EdmPrimitiveTypeKind.valueOfFQN(typeDefinition.getUnderlyingType()));
} catch (IllegalArgumentException e) {
throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ClientODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ClientODataDeserializerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ClientODataDeserializerImpl.java
index a6636af..f0d2ba1 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ClientODataDeserializerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ClientODataDeserializerImpl.java
@@ -58,20 +58,16 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper;
public class ClientODataDeserializerImpl implements ClientODataDeserializer {
- private final ODataServiceVersion version;
-
private final ODataDeserializer deserializer;
private final ODataFormat format;
- public ClientODataDeserializerImpl(final ODataServiceVersion version, final boolean serverMode,
- final ODataFormat format) {
- this.version = version;
+ public ClientODataDeserializerImpl(final boolean serverMode, final ODataFormat format) {
this.format = format;
if (format == ODataFormat.XML || format == ODataFormat.ATOM) {
- deserializer = new AtomDeserializer(version);
+ deserializer = new AtomDeserializer();
} else {
- deserializer = new JsonDeserializer(version, serverMode);
+ deserializer = new JsonDeserializer(serverMode);
}
}
@@ -96,7 +92,7 @@ public class ClientODataDeserializerImpl implements ClientODataDeserializer {
new XmlFactory(new InputFactoryImpl(), new OutputFactoryImpl()), new JacksonXmlModule());
xmlMapper.setInjectableValues(new InjectableValues.Std().
- addValue(ODataServiceVersion.class, version).
+ addValue(ODataServiceVersion.class, ODataServiceVersion.V40).
addValue(Boolean.class, Boolean.FALSE));
xmlMapper.addHandler(new DeserializationProblemHandler() {
@@ -126,16 +122,16 @@ public class ClientODataDeserializerImpl implements ClientODataDeserializer {
@Override
public ResWrap<ServiceDocument> toServiceDocument(final InputStream input) throws ODataDeserializerException {
return format == ODataFormat.XML ?
- new XMLServiceDocumentDeserializer(version, false).toServiceDocument(input) :
- new JSONServiceDocumentDeserializer(version, false).toServiceDocument(input);
+ new XMLServiceDocumentDeserializer(false).toServiceDocument(input) :
+ new JSONServiceDocumentDeserializer(false).toServiceDocument(input);
}
@Override
public ResWrap<Delta> toDelta(final InputStream input) throws ODataDeserializerException {
try {
return format == ODataFormat.ATOM ?
- new AtomDeserializer(version).delta(input) :
- new JsonDeltaDeserializer(version, false).toDelta(input);
+ new AtomDeserializer().delta(input) :
+ new JsonDeltaDeserializer(false).toDelta(input);
} catch (XMLStreamException e) {
throw new ODataDeserializerException(e);
} catch (final EdmPrimitiveTypeException e) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataBinderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataBinderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataBinderImpl.java
index 8234368..ccf7c81 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataBinderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataBinderImpl.java
@@ -355,7 +355,7 @@ public class ODataBinderImpl implements ODataBinder {
annotations(value.asComplex(), lcValueResource);
links(value.asComplex(), lcValueResource);
valueResource = lcValueResource;
-
+
} else if (value.isCollection()) {
final ODataCollectionValue<? extends ODataValue> _value = value.asCollection();
ArrayList<Object> lcValueResource = new ArrayList<Object>();
@@ -450,7 +450,7 @@ public class ODataBinderImpl implements ODataBinder {
if (linkType == null) {
linkType = link.getType() == null ?
ODataLinkType.ENTITY_NAVIGATION :
- ODataLinkType.fromString(client.getServiceVersion(), link.getRel(), link.getType());
+ ODataLinkType.fromString(link.getRel(), link.getType());
}
odataLinked.addLink(linkType == ODataLinkType.ENTITY_NAVIGATION ?
@@ -474,7 +474,7 @@ public class ODataBinderImpl implements ODataBinder {
private ODataInlineEntity createODataInlineEntity(final Entity inlineEntity,
final URI uri, final String title, final String metadataETag) {
- return new ODataInlineEntity(client.getServiceVersion(), uri, ODataLinkType.ENTITY_NAVIGATION, title,
+ return new ODataInlineEntity(uri, ODataLinkType.ENTITY_NAVIGATION, title,
getODataEntity(new ResWrap<Entity>(
inlineEntity.getBaseURI() == null ? null : inlineEntity.getBaseURI(), metadataETag,
inlineEntity)));
@@ -482,7 +482,7 @@ public class ODataBinderImpl implements ODataBinder {
private ODataInlineEntitySet createODataInlineEntitySet(final EntitySet inlineEntitySet,
final URI uri, final String title, final String metadataETag) {
- return new ODataInlineEntitySet(client.getServiceVersion(), uri, ODataLinkType.ENTITY_SET_NAVIGATION, title,
+ return new ODataInlineEntitySet(uri, ODataLinkType.ENTITY_SET_NAVIGATION, title,
getODataEntitySet(new ResWrap<EntitySet>(
inlineEntitySet.getBaseURI() == null ? null : inlineEntitySet.getBaseURI(), metadataETag,
inlineEntitySet)));
@@ -777,7 +777,7 @@ public class ODataBinderImpl implements ODataBinder {
|| EdmPrimitiveTypeKind.Geography.getFullQualifiedName().equals(type)
|| EdmPrimitiveTypeKind.Geometry.getFullQualifiedName().equals(type)
? valuable.asGeospatial().getEdmPrimitiveTypeKind()
- : EdmPrimitiveTypeKind.valueOfFQN(client.getServiceVersion(), type.toString())).
+ : EdmPrimitiveTypeKind.valueOfFQN(type.toString())).
build();
} else if (valuable.isPrimitive() || valuable.getValueType() == null) {
// fixes non-string values treated as string when no type information is available at de-serialization level
@@ -803,7 +803,7 @@ public class ODataBinderImpl implements ODataBinder {
setValue(valuable.asPrimitive()).
setType(type == null || !EdmPrimitiveType.EDM_NAMESPACE.equals(type.getNamespace())
? null
- : EdmPrimitiveTypeKind.valueOfFQN(client.getServiceVersion(), type.toString())).
+ : EdmPrimitiveTypeKind.valueOfFQN(type.toString())).
build();
} else if (valuable.isComplex()) {
final ODataComplexValue cValue = (ODataComplexValue) client.getObjectFactory().
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
index c6a5171..9afcb13 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataReaderImpl.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -67,18 +67,18 @@ public class ODataReaderImpl implements ODataReader {
@Override
public Edm readMetadata(final Map<String, Schema> xmlSchemas) {
- return new EdmClientImpl(client.getServiceVersion(), xmlSchemas);
+ return new EdmClientImpl(xmlSchemas);
}
@Override
public ODataServiceDocument readServiceDocument(final InputStream input, final ODataFormat format)
throws ODataDeserializerException {
return client.getBinder().getODataServiceDocument(
- client.getDeserializer(format).toServiceDocument(input).getPayload());
+ client.getDeserializer(format).toServiceDocument(input).getPayload());
}
@Override
- public ODataError readError(final InputStream inputStream, final ODataFormat format )
+ public ODataError readError(final InputStream inputStream, final ODataFormat format)
throws ODataDeserializerException {
return client.getDeserializer(format).toError(inputStream);
}
@@ -91,55 +91,55 @@ public class ODataReaderImpl implements ODataReader {
try {
if (ODataEntitySetIterator.class.isAssignableFrom(reference)) {
res = new ResWrap<T>(
- (URI) null,
- null,
- reference.cast(new ODataEntitySetIterator<ODataEntitySet, ODataEntity>(
- client, src, ODataFormat.fromString(format))));
+ (URI) null,
+ null,
+ reference.cast(new ODataEntitySetIterator<ODataEntitySet, ODataEntity>(
+ client, src, ODataFormat.fromString(format))));
} else if (ODataEntitySet.class.isAssignableFrom(reference)) {
final ResWrap<EntitySet> resource = client.getDeserializer(ODataFormat.fromString(format))
.toEntitySet(src);
res = new ResWrap<T>(
- resource.getContextURL(),
- resource.getMetadataETag(),
- reference.cast(client.getBinder().getODataEntitySet(resource)));
+ resource.getContextURL(),
+ resource.getMetadataETag(),
+ reference.cast(client.getBinder().getODataEntitySet(resource)));
} else if (ODataEntity.class.isAssignableFrom(reference)) {
final ResWrap<Entity> container = client.getDeserializer(ODataFormat.fromString(format)).toEntity(src);
res = new ResWrap<T>(
- container.getContextURL(),
- container.getMetadataETag(),
- reference.cast(client.getBinder().getODataEntity(container)));
+ container.getContextURL(),
+ container.getMetadataETag(),
+ reference.cast(client.getBinder().getODataEntity(container)));
} else if (ODataProperty.class.isAssignableFrom(reference)) {
final ResWrap<Property> container = client.getDeserializer(ODataFormat.fromString(format)).toProperty(src);
res = new ResWrap<T>(
- container.getContextURL(),
- container.getMetadataETag(),
- reference.cast(client.getBinder().getODataProperty(container)));
+ container.getContextURL(),
+ container.getMetadataETag(),
+ reference.cast(client.getBinder().getODataProperty(container)));
} else if (ODataValue.class.isAssignableFrom(reference)) {
res = new ResWrap<T>(
- (URI) null,
- null,
- reference.cast(client.getObjectFactory().newPrimitiveValueBuilder().
- setType(ODataFormat.fromString(format) == ODataFormat.TEXT_PLAIN
- ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
- setValue(IOUtils.toString(src)) // TODO: set correct value
- .build()));
+ (URI) null,
+ null,
+ reference.cast(client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(ODataFormat.fromString(format) == ODataFormat.TEXT_PLAIN
+ ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
+ setValue(IOUtils.toString(src)) // TODO: set correct value
+ .build()));
} else if (XMLMetadata.class.isAssignableFrom(reference)) {
res = new ResWrap<T>(
- (URI) null,
- null,
- reference.cast(readMetadata(src)));
+ (URI) null,
+ null,
+ reference.cast(readMetadata(src)));
} else if (ODataServiceDocument.class.isAssignableFrom(reference)) {
final ResWrap<ServiceDocument> resource =
- client.getDeserializer(ODataFormat.fromString(format)).toServiceDocument(src);
+ client.getDeserializer(ODataFormat.fromString(format)).toServiceDocument(src);
res = new ResWrap<T>(
- resource.getContextURL(),
- resource.getMetadataETag(),
- reference.cast(client.getBinder().getODataServiceDocument(resource.getPayload())));
+ resource.getContextURL(),
+ resource.getMetadataETag(),
+ reference.cast(client.getBinder().getODataServiceDocument(resource.getPayload())));
} else if (ODataError.class.isAssignableFrom(reference)) {
res = new ResWrap<T>(
- (URI) null,
- null,
- reference.cast(readError(src, ODataFormat.fromString(format))));
+ (URI) null,
+ null,
+ reference.cast(readError(src, ODataFormat.fromString(format))));
} else {
throw new IllegalArgumentException("Invalid reference type " + reference);
}
@@ -154,6 +154,7 @@ public class ODataReaderImpl implements ODataReader {
return res;
}
+
@Override
public ODataEntitySet readEntitySet(final InputStream input, final ODataFormat format)
throws ODataDeserializerException {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
index 37cb309..09116bd 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/URIEscapeTest.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -51,8 +51,8 @@ public class URIEscapeTest {
@Test
public void _enum() throws UnsupportedEncodingException {
- final EdmEnumType pattern = new EdmEnumTypeImpl(ODataServiceVersion.V40,
- null, new FullQualifiedName("Sales", "Pattern"), new EnumTypeImpl());
+ final EdmEnumType pattern =
+ new EdmEnumTypeImpl(null, new FullQualifiedName("Sales", "Pattern"), new EnumTypeImpl());
assertEquals("Sales.Pattern'Yellow'", URIUtils.escape(ODataServiceVersion.V40, pattern.toUriLiteral("Yellow")));
}
@@ -63,8 +63,8 @@ public class URIEscapeTest {
calendar.clear();
calendar.set(2014, 6, 11, 12, 30, 04);
- assertEquals(URLEncoder.encode("2014-07-11T12:30:04+01:00", Constants.UTF8),
- URIUtils.escape(ODataServiceVersion.V40, calendar));
+ assertEquals(URLEncoder.encode("2014-07-11T12:30:04+01:00", Constants.UTF8),
+ URIUtils.escape(ODataServiceVersion.V40, calendar));
}
@Test
@@ -74,18 +74,18 @@ public class URIEscapeTest {
point.setY(64.1);
assertEquals(URLEncoder.encode("geography'SRID=4326;Point(142.1 64.1)'", Constants.UTF8),
- URIUtils.escape(ODataServiceVersion.V40, point));
+ URIUtils.escape(ODataServiceVersion.V40, point));
}
@Test
public void collection() {
assertEquals("[\"red\",\"green\"]",
- URIUtils.escape(ODataServiceVersion.V40, Arrays.asList(new String[] {"red", "green"})));
+ URIUtils.escape(ODataServiceVersion.V40, Arrays.asList(new String[] { "red", "green" })));
}
@Test
public void complex() {
assertEquals("{\"Name\":\"Value\"}",
- URIUtils.escape(ODataServiceVersion.V40, Collections.singletonMap("Name", "Value")));
+ URIUtils.escape(ODataServiceVersion.V40, Collections.singletonMap("Name", "Value")));
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
index f6b3f9c..a643d23 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/FilterFactoryTest.java
@@ -1,23 +1,30 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.client.core.uri.v4;
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.Calendar;
+import java.util.TimeZone;
+
import org.apache.olingo.client.api.ODataClient;
import org.apache.olingo.client.api.uri.FilterArgFactory;
import org.apache.olingo.client.api.uri.FilterFactory;
@@ -28,16 +35,8 @@ import org.apache.olingo.client.core.edm.xml.EnumTypeImpl;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.edm.EdmEnumType;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.junit.Test;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.Calendar;
-import java.util.TimeZone;
-
-import static org.junit.Assert.assertEquals;
-
public class FilterFactoryTest extends AbstractTest {
@Override
@@ -55,8 +54,8 @@ public class FilterFactoryTest extends AbstractTest {
@Test
public void has() {
- final EdmEnumType pattern = new EdmEnumTypeImpl(ODataServiceVersion.V40,
- null, new FullQualifiedName("Sales", "Pattern"), new EnumTypeImpl());
+ final EdmEnumType pattern =
+ new EdmEnumTypeImpl(null, new FullQualifiedName("Sales", "Pattern"), new EnumTypeImpl());
final URIFilter filter = getFilterFactory().has(getFilterArgFactory().property("style"), pattern, "Yellow");
assertEquals("(style has Sales.Pattern'Yellow')", filter.build());
@@ -65,7 +64,7 @@ public class FilterFactoryTest extends AbstractTest {
@Test
public void contains() {
final URIFilter filter = getFilterFactory().match(getFilterArgFactory().contains(
- getFilterArgFactory().property("CompanyName"), getFilterArgFactory().literal("Alfreds")));
+ getFilterArgFactory().property("CompanyName"), getFilterArgFactory().literal("Alfreds")));
assertEquals("contains(CompanyName,'Alfreds')", filter.build());
}
@@ -73,8 +72,8 @@ public class FilterFactoryTest extends AbstractTest {
@Test
public void maxdatetime() {
final URIFilter filter = getFilterFactory().eq(
- getFilterArgFactory().property("EndTime"),
- getFilterArgFactory().maxdatetime());
+ getFilterArgFactory().property("EndTime"),
+ getFilterArgFactory().maxdatetime());
assertEquals("(EndTime eq maxdatetime())", filter.build());
}
@@ -82,8 +81,8 @@ public class FilterFactoryTest extends AbstractTest {
@Test
public void any() {
final URIFilter filter = getFilterFactory().match(
- getFilterArgFactory().any(getFilterArgFactory().property("Items"),
- getFilterFactory().gt("d:d/Quantity", 100)));
+ getFilterArgFactory().any(getFilterArgFactory().property("Items"),
+ getFilterFactory().gt("d:d/Quantity", 100)));
assertEquals("Items/any(d:d/Quantity gt 100)", filter.build());
}
@@ -96,7 +95,7 @@ public class FilterFactoryTest extends AbstractTest {
final URIFilter filter = getFilterFactory().ge("OrderDate", calendar);
assertEquals("(OrderDate ge " + URLEncoder.encode("2011-03-08T14:21:12-08:00", Constants.UTF8) + ")",
- filter.build());
+ filter.build());
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/JSONTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/JSONTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/JSONTest.java
index 170e686..19f39e6 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/JSONTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/JSONTest.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -40,7 +40,6 @@ import org.apache.olingo.commons.api.domain.ODataComplexValue;
import org.apache.olingo.commons.api.domain.ODataEntity;
import org.apache.olingo.commons.api.domain.ODataValue;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.junit.Test;
@@ -66,33 +65,32 @@ public class JSONTest extends AbstractTest {
}
private void cleanup(final ObjectNode node) {
- final ODataServiceVersion version = getClient().getServiceVersion();
if (node.has(Constants.JSON_CONTEXT)) {
node.remove(Constants.JSON_CONTEXT);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.ETAG))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.ETAG));
+ if (node.has(Constants.JSON_ETAG)) {
+ node.remove(Constants.JSON_ETAG);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.TYPE))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.TYPE));
+ if (node.has(Constants.JSON_TYPE)) {
+ node.remove(Constants.JSON_TYPE);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.EDIT_LINK))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.EDIT_LINK));
+ if (node.has(Constants.JSON_EDIT_LINK)) {
+ node.remove(Constants.JSON_EDIT_LINK);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.READ_LINK))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.READ_LINK));
+ if (node.has(Constants.JSON_READ_LINK)) {
+ node.remove(Constants.JSON_READ_LINK);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_EDIT_LINK))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_EDIT_LINK));
+ if (node.has(Constants.JSON_MEDIA_EDIT_LINK)) {
+ node.remove(Constants.JSON_MEDIA_EDIT_LINK);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_READ_LINK))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_READ_LINK));
+ if (node.has(Constants.JSON_MEDIA_READ_LINK)) {
+ node.remove(Constants.JSON_MEDIA_READ_LINK);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_CONTENT_TYPE))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_CONTENT_TYPE));
+ if (node.has(Constants.JSON_MEDIA_CONTENT_TYPE)) {
+ node.remove(Constants.JSON_MEDIA_CONTENT_TYPE);
}
- if (node.has(version.getJsonName(ODataServiceVersion.JsonKey.COUNT))) {
- node.remove(version.getJsonName(ODataServiceVersion.JsonKey.COUNT));
+ if (node.has(Constants.JSON_COUNT)) {
+ node.remove(Constants.JSON_COUNT);
}
final List<String> toRemove = new ArrayList<String>();
for (final Iterator<Map.Entry<String, JsonNode>> itor = node.fields(); itor.hasNext();) {
@@ -100,11 +98,11 @@ public class JSONTest extends AbstractTest {
final String key = field.getKey();
if (key.charAt(0) == '#'
- || key.endsWith(version.getJsonName(ODataServiceVersion.JsonKey.TYPE))
- || key.endsWith(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_EDIT_LINK))
- || key.endsWith(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_CONTENT_TYPE))
- || key.endsWith(version.getJsonName(ODataServiceVersion.JsonKey.ASSOCIATION_LINK))
- || key.endsWith(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_ETAG))) {
+ || key.endsWith(Constants.JSON_TYPE)
+ || key.endsWith(Constants.JSON_MEDIA_EDIT_LINK)
+ || key.endsWith(Constants.JSON_MEDIA_CONTENT_TYPE)
+ || key.endsWith(Constants.JSON_ASSOCIATION_LINK)
+ || key.endsWith(Constants.JSON_MEDIA_ETAG)) {
toRemove.add(key);
} else if (field.getValue().isObject()) {
@@ -123,8 +121,7 @@ public class JSONTest extends AbstractTest {
protected void assertSimilar(final String filename, final String actual) throws Exception {
final JsonNode expected = OBJECT_MAPPER.readTree(IOUtils.toString(getClass().getResourceAsStream(filename)).
- replace(getClient().getServiceVersion().getJsonName(ODataServiceVersion.JsonKey.NAVIGATION_LINK),
- Constants.JSON_BIND_LINK_SUFFIX));
+ replace(Constants.JSON_NAVIGATION_LINK, Constants.JSON_BIND_LINK_SUFFIX));
cleanup((ObjectNode) expected);
final ObjectNode actualNode = (ObjectNode) OBJECT_MAPPER.readTree(new ByteArrayInputStream(actual.getBytes()));
cleanup(actualNode);
@@ -134,7 +131,7 @@ public class JSONTest extends AbstractTest {
protected void entitySet(final String filename, final ODataFormat format) throws Exception {
final StringWriter writer = new StringWriter();
getClient().getSerializer(format).write(writer, getClient().getDeserializer(format).toEntitySet(
- getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload());
+ getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload());
assertSimilar(filename + "." + getSuffix(format), writer.toString());
}
@@ -148,7 +145,7 @@ public class JSONTest extends AbstractTest {
protected void entity(final String filename, final ODataFormat format) throws Exception {
final StringWriter writer = new StringWriter();
getClient().getSerializer(format).write(writer, getClient().getDeserializer(format).toEntity(
- getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload());
+ getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload());
assertSimilar(filename + "." + getSuffix(format), writer.toString());
}
@@ -175,7 +172,7 @@ public class JSONTest extends AbstractTest {
protected void property(final String filename, final ODataFormat format) throws Exception {
final StringWriter writer = new StringWriter();
getClient().getSerializer(format).write(writer, getClient().getDeserializer(format).
- toProperty(getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload());
+ toProperty(getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload());
assertSimilar(filename + "." + getSuffix(format), writer.toString());
}
@@ -191,12 +188,12 @@ public class JSONTest extends AbstractTest {
@Test
public void crossjoin() throws Exception {
assertNotNull(getClient().getDeserializer(ODataFormat.JSON_FULL_METADATA).toEntitySet(
- getClass().getResourceAsStream("crossjoin.json")));
+ getClass().getResourceAsStream("crossjoin.json")));
}
protected void delta(final String filename, final ODataFormat format) throws Exception {
final Delta delta = getClient().getDeserializer(format).toDelta(
- getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload();
+ getClass().getResourceAsStream(filename + "." + getSuffix(format))).getPayload();
assertNotNull(delta);
assertNotNull(delta.getDeltaLink());
assertEquals(5, delta.getCount(), 0);
@@ -229,32 +226,32 @@ public class JSONTest extends AbstractTest {
@Test
public void issueOLINGO390() throws Exception {
final ODataEntity message = getClient().getObjectFactory().
- newEntity(new FullQualifiedName("Microsoft.Exchange.Services.OData.Model.Message"));
+ newEntity(new FullQualifiedName("Microsoft.Exchange.Services.OData.Model.Message"));
final ODataComplexValue toRecipient = getClient().getObjectFactory().
- newComplexValue("Microsoft.Exchange.Services.OData.Model.Recipient");
+ newComplexValue("Microsoft.Exchange.Services.OData.Model.Recipient");
toRecipient.add(getClient().getObjectFactory().newPrimitiveProperty("Name",
- getClient().getObjectFactory().newPrimitiveValueBuilder().buildString("challen_olingo_client")));
+ getClient().getObjectFactory().newPrimitiveValueBuilder().buildString("challen_olingo_client")));
toRecipient.add(getClient().getObjectFactory().newPrimitiveProperty("Address",
- getClient().getObjectFactory().newPrimitiveValueBuilder().buildString("challenh@microsoft.com")));
+ getClient().getObjectFactory().newPrimitiveValueBuilder().buildString("challenh@microsoft.com")));
final ODataCollectionValue<ODataValue> toRecipients = getClient().getObjectFactory().
- newCollectionValue("Microsoft.Exchange.Services.OData.Model.Recipient");
+ newCollectionValue("Microsoft.Exchange.Services.OData.Model.Recipient");
toRecipients.add(toRecipient);
message.getProperties().add(getClient().getObjectFactory().newCollectionProperty("ToRecipients", toRecipients));
final ODataComplexValue body =
- getClient().getObjectFactory().newComplexValue("Microsoft.Exchange.Services.OData.Model.ItemBody");
+ getClient().getObjectFactory().newComplexValue("Microsoft.Exchange.Services.OData.Model.ItemBody");
body.add(getClient().getObjectFactory().newPrimitiveProperty("Content",
- getClient().getObjectFactory().newPrimitiveValueBuilder().
+ getClient().getObjectFactory().newPrimitiveValueBuilder().
buildString("this is a simple email body content")));
body.add(getClient().getObjectFactory().newEnumProperty("ContentType",
- getClient().getObjectFactory().newEnumValue("Microsoft.Exchange.Services.OData.Model.BodyType", "text")));
+ getClient().getObjectFactory().newEnumValue("Microsoft.Exchange.Services.OData.Model.BodyType", "text")));
message.getProperties().add(getClient().getObjectFactory().newComplexProperty("Body", body));
final String actual = IOUtils.toString(getClient().getWriter().writeEntity(message, ODataFormat.JSON));
- final JsonNode expected = OBJECT_MAPPER.readTree(IOUtils.toString(getClass().getResourceAsStream("olingo390.json")).
- replace(getClient().getServiceVersion().getJsonName(ODataServiceVersion.JsonKey.NAVIGATION_LINK),
- Constants.JSON_BIND_LINK_SUFFIX));
+ final JsonNode expected =
+ OBJECT_MAPPER.readTree(IOUtils.toString(getClass().getResourceAsStream("olingo390.json")).
+ replace(Constants.JSON_NAVIGATION_LINK, Constants.JSON_BIND_LINK_SUFFIX));
final ObjectNode actualNode = (ObjectNode) OBJECT_MAPPER.readTree(new ByteArrayInputStream(actual.getBytes()));
assertEquals(expected, actualNode);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
index e219392..cec55b3 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
@@ -34,6 +34,23 @@ public interface Constants {
public final static Integer DEFAULT_PRECISION = 40;
public final static Integer DEFAULT_SCALE = 25;
+
+ // Common Namespaces
+ public final static String NS_BASE = "http://docs.oasis-open.org/odata/ns/";
+
+ public final static String NS_DATASERVICES = "http://docs.oasis-open.org/odata/ns/data";
+
+ public final static String NS_METADATA = "http://docs.oasis-open.org/odata/ns/metadata";
+
+ public final static String NS_SCHEME = "http://docs.oasis-open.org/odata/ns/scheme";
+
+ public final static String NS_NAVIGATION_LINK_REL = "http://docs.oasis-open.org/odata/ns/related/";
+
+ public final static String NS_ASSOCIATION_LINK_REL = "http://docs.oasis-open.org/odata/ns/relatedlinks/";
+
+ public final static String NS_MEDIA_EDIT_LINK_REL = "http://docs.oasis-open.org/odata/ns/edit-media/";
+
+ public final static String NS_DELTA_LINK_REL = "http://docs.oasis-open.org/odata/ns/delta";
// XML namespaces and prefixes
public final static String NS_ATOM = "http://www.w3.org/2005/Atom";
@@ -54,6 +71,7 @@ public interface Constants {
public final static String SRS_URLPREFIX = "http://www.opengis.net/def/crs/EPSG/0/";
+
// Link rel(s)
public static final String EDIT_LINK_REL = "edit";
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
index a830d26..ff9a420 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntity.java
@@ -18,8 +18,6 @@
*/
package org.apache.olingo.commons.api.domain;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
import java.net.URI;
/**
@@ -38,10 +36,9 @@ public class ODataInlineEntity extends ODataLink {
* @param title title.
* @param entity entity.
*/
- public ODataInlineEntity(final ODataServiceVersion version,
- final URI uri, final ODataLinkType type, final String title, final ODataEntity entity) {
+ public ODataInlineEntity(final URI uri, final ODataLinkType type, final String title, final ODataEntity entity) {
- super(version, uri, type, title);
+ super(uri, type, title);
this.entity = entity;
}
@@ -55,10 +52,10 @@ public class ODataInlineEntity extends ODataLink {
* @param title title.
* @param entity entity.
*/
- public ODataInlineEntity(final ODataServiceVersion version, final URI baseURI, final String href,
- final ODataLinkType type, final String title, final ODataEntity entity) {
+ public ODataInlineEntity(final URI baseURI, final String href, final ODataLinkType type, final String title,
+ final ODataEntity entity) {
- super(version, baseURI, href, type, title);
+ super(baseURI, href, type, title);
this.entity = entity;
}
[2/3] olingo-odata4 git commit: [OLINGO-575] Cleanup service version
enum
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
index cdc0012..c1cf322 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataInlineEntitySet.java
@@ -18,8 +18,6 @@
*/
package org.apache.olingo.commons.api.domain;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
import java.net.URI;
/**
@@ -32,33 +30,31 @@ public class ODataInlineEntitySet extends ODataLink {
/**
* Constructor.
*
- * @param version OData service version.
* @param uri edit link.
* @param type type.
* @param title title.
* @param entitySet entity set.
*/
- public ODataInlineEntitySet(final ODataServiceVersion version, final URI uri, final ODataLinkType type,
+ public ODataInlineEntitySet(final URI uri, final ODataLinkType type,
final String title, final ODataEntitySet entitySet) {
- super(version, uri, type, title);
+ super(uri, type, title);
this.entitySet = entitySet;
}
/**
* Constructor.
*
- * @param version OData service version.
* @param baseURI base URI.
* @param href href.
* @param type type.
* @param title title.
* @param entitySet entity set.
*/
- public ODataInlineEntitySet(final ODataServiceVersion version, final URI baseURI, final String href,
+ public ODataInlineEntitySet(final URI baseURI, final String href,
final ODataLinkType type, final String title, final ODataEntitySet entitySet) {
- super(version, baseURI, href, type, title);
+ super(baseURI, href, type, title);
this.entitySet = entitySet;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
index 574ff0d..4bc8bdb 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLink.java
@@ -22,28 +22,21 @@ import java.net.URI;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.Constants;
/**
* OData link.
*/
-public class ODataLink extends ODataItem implements ODataAnnotatable{
+public class ODataLink extends ODataItem implements ODataAnnotatable {
public static class Builder {
- protected ODataServiceVersion version;
-
protected URI uri;
protected ODataLinkType type;
protected String title;
- public Builder setVersion(final ODataServiceVersion version) {
- this.version = version;
- return this;
- }
-
public Builder setURI(final URI uri) {
this.uri = uri;
return this;
@@ -65,7 +58,7 @@ public class ODataLink extends ODataItem implements ODataAnnotatable{
}
public ODataLink build() {
- return new ODataLink(version, uri, type, title);
+ return new ODataLink(uri, type, title);
}
}
@@ -108,7 +101,7 @@ public class ODataLink extends ODataItem implements ODataAnnotatable{
protected String mediaETag;
private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
-
+
/**
* Constructor.
*
@@ -117,7 +110,7 @@ public class ODataLink extends ODataItem implements ODataAnnotatable{
* @param type type.
* @param title title.
*/
- public ODataLink(final ODataServiceVersion version, final URI uri, final ODataLinkType type, final String title) {
+ public ODataLink(final URI uri, final ODataLinkType type, final String title) {
super(title);
link = uri;
@@ -125,17 +118,17 @@ public class ODataLink extends ODataItem implements ODataAnnotatable{
switch (this.type) {
case ASSOCIATION:
- rel = version.getNamespace(ODataServiceVersion.NamespaceKey.ASSOCIATION_LINK_REL) + title;
+ rel = Constants.NS_ASSOCIATION_LINK_REL + title;
break;
case ENTITY_NAVIGATION:
case ENTITY_SET_NAVIGATION:
- rel = version.getNamespace(ODataServiceVersion.NamespaceKey.NAVIGATION_LINK_REL) + title;
+ rel = Constants.NS_NAVIGATION_LINK_REL + title;
break;
case MEDIA_EDIT:
default:
- rel = version.getNamespace(ODataServiceVersion.NamespaceKey.MEDIA_EDIT_LINK_REL) + title;
+ rel = Constants.NS_MEDIA_EDIT_LINK_REL + title;
break;
}
}
@@ -149,10 +142,9 @@ public class ODataLink extends ODataItem implements ODataAnnotatable{
* @param type type.
* @param title title.
*/
- protected ODataLink(final ODataServiceVersion version,
- final URI baseURI, final String href, final ODataLinkType type, final String title) {
+ protected ODataLink(final URI baseURI, final String href, final ODataLinkType type, final String title) {
- this(version, getURI(baseURI, href), type, title);
+ this(getURI(baseURI, href), type, title);
}
/**
@@ -189,7 +181,7 @@ public class ODataLink extends ODataItem implements ODataAnnotatable{
public String getMediaETag() {
return mediaETag;
}
-
+
public List<ODataAnnotation> getAnnotations() {
return annotations;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
index 7c06e9a..f99aa3e 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataLinkType.java
@@ -19,7 +19,7 @@
package org.apache.olingo.commons.api.domain;
import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.format.ContentType;
/**
@@ -42,13 +42,13 @@ public enum ODataLinkType {
/**
* Media-edit link.
*/
- MEDIA_EDIT("*/*"),
-
+ MEDIA_EDIT("*/*"),
+
/**
* Entity binding link.
*/
ENTITY_BINDING(ContentType.APPLICATION_XML),
-
+
/**
* Entity collection binding link.
*/
@@ -78,9 +78,8 @@ public enum ODataLinkType {
* @param type type.
* @return <code>ODataLinkType</code> object.
*/
- public static ODataLinkType fromString(final ODataServiceVersion version, final String rel, final String type) {
- if (StringUtils.isNotBlank(rel)
- && rel.startsWith(version.getNamespace(ODataServiceVersion.NamespaceKey.MEDIA_EDIT_LINK_REL))) {
+ public static ODataLinkType fromString(final String rel, final String type) {
+ if (StringUtils.isNotBlank(rel) && rel.startsWith(Constants.NS_MEDIA_EDIT_LINK_REL)) {
return MEDIA_EDIT.setType(StringUtils.isBlank(type) ? "*/*" : type);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmPrimitiveTypeKind.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmPrimitiveTypeKind.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmPrimitiveTypeKind.java
index 88b3a53..1077b01 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmPrimitiveTypeKind.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmPrimitiveTypeKind.java
@@ -18,7 +18,6 @@
*/
package org.apache.olingo.commons.api.edm;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
public enum EdmPrimitiveTypeKind {
@@ -86,8 +85,8 @@ public enum EdmPrimitiveTypeKind {
* @param fqn full-qualified type name.
* @return <tt>EdmPrimitiveTypeKind</tt> object.
*/
- public static EdmPrimitiveTypeKind valueOfFQN(final ODataServiceVersion version, final FullQualifiedName fqn) {
- return valueOfFQN(version, fqn.toString());
+ public static EdmPrimitiveTypeKind valueOfFQN(final FullQualifiedName fqn) {
+ return valueOfFQN(fqn.toString());
}
/**
@@ -98,18 +97,12 @@ public enum EdmPrimitiveTypeKind {
* @param fqn string value type.
* @return <tt>EdmPrimitiveTypeKind</tt> object.
*/
- public static EdmPrimitiveTypeKind valueOfFQN(final ODataServiceVersion version, final String fqn) {
- if (version == null) {
- throw new IllegalArgumentException("No OData protocol version provided");
- }
+ public static EdmPrimitiveTypeKind valueOfFQN(final String fqn) {
if (!fqn.startsWith(EdmPrimitiveType.EDM_NAMESPACE + ".")) {
throw new IllegalArgumentException(fqn + " does not look like an Edm primitive type");
}
final EdmPrimitiveTypeKind kind = valueOf(fqn.substring(4));
-// if (!kind.versions.contains(version)) {
-// throw new IllegalArgumentException(kind + " not allowed in " + version);
-// }
return kind;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/constants/ODataServiceVersion.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/constants/ODataServiceVersion.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/constants/ODataServiceVersion.java
index fbebb71..7bee4b2 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/constants/ODataServiceVersion.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/constants/ODataServiceVersion.java
@@ -18,10 +18,6 @@
*/
package org.apache.olingo.commons.api.edm.constants;
-import org.apache.olingo.commons.api.Constants;
-
-import java.util.HashMap;
-import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -35,86 +31,6 @@ public enum ODataServiceVersion {
V30("3.0"),
V40("4.0");
- public enum NamespaceKey {
- DATASERVICES, METADATA, SCHEME,
- NAVIGATION_LINK_REL, ASSOCIATION_LINK_REL, MEDIA_EDIT_LINK_REL, DELTA_LINK_REL
- }
-
- private static final Map<NamespaceKey, String> V30_NAMESPACES = new HashMap<NamespaceKey, String>() {
- private static final long serialVersionUID = 3109256773218160485L;
- private static final String BASE = "http://schemas.microsoft.com/ado/2007/08/dataservices";
- {
- put(NamespaceKey.DATASERVICES, BASE);
- put(NamespaceKey.METADATA, BASE + "/metadata");
- put(NamespaceKey.SCHEME, BASE + "/scheme");
- put(NamespaceKey.NAVIGATION_LINK_REL, BASE + "/related/");
- put(NamespaceKey.ASSOCIATION_LINK_REL, BASE + "/relatedlinks/");
- put(NamespaceKey.MEDIA_EDIT_LINK_REL, BASE + "/edit-media/");
- }
- };
-
- private static final Map<NamespaceKey, String> V40_NAMESPACES = new HashMap<NamespaceKey, String>() {
- private static final long serialVersionUID = 3109256773218160485L;
- private static final String BASE = "http://docs.oasis-open.org/odata/ns/";
- {
- put(NamespaceKey.DATASERVICES, BASE + "data");
- put(NamespaceKey.METADATA, BASE + "metadata");
- put(NamespaceKey.SCHEME, BASE + "scheme");
- put(NamespaceKey.NAVIGATION_LINK_REL, BASE + "related/");
- put(NamespaceKey.ASSOCIATION_LINK_REL, BASE + "relatedlinks/");
- put(NamespaceKey.MEDIA_EDIT_LINK_REL, BASE + "edit-media/");
- put(NamespaceKey.DELTA_LINK_REL, BASE + "delta");
- }
- };
-
- public enum JsonKey {
- TYPE, ID, ETAG,
- READ_LINK, EDIT_LINK, MEDIA_READ_LINK, MEDIA_EDIT_LINK, MEDIA_CONTENT_TYPE, MEDIA_ETAG,
- ASSOCIATION_LINK, NAVIGATION_LINK,
- COUNT, NEXT_LINK, DELTA_LINK, ERROR
- }
-
- private static final Map<JsonKey, String> V30_JSON = new HashMap<JsonKey, String>() {
- private static final long serialVersionUID = 3109256773218160485L;
- {
- put(JsonKey.TYPE, "odata.type");
- put(JsonKey.ID, "odata.id");
- put(JsonKey.ETAG, "odata.etag");
- put(JsonKey.READ_LINK, "odata.readLink");
- put(JsonKey.EDIT_LINK, "odata.editLink");
- put(JsonKey.MEDIA_READ_LINK, "odata.mediaReadLink");
- put(JsonKey.MEDIA_EDIT_LINK, "odata.mediaEditLink");
- put(JsonKey.MEDIA_CONTENT_TYPE, "odata.mediaContentType");
- put(JsonKey.MEDIA_ETAG, "odata.mediaEtag");
- put(JsonKey.ASSOCIATION_LINK, "@odata.associationLinkUrl");
- put(JsonKey.NAVIGATION_LINK, "@odata.navigationLinkUrl");
- put(JsonKey.COUNT, "odata.count");
- put(JsonKey.NEXT_LINK, "odata.nextLink");
- put(JsonKey.ERROR, "odata.error");
- }
- };
-
- private static final Map<JsonKey, String> V40_JSON = new HashMap<JsonKey, String>() {
- private static final long serialVersionUID = 3109256773218160485L;
- {
- put(JsonKey.TYPE, Constants.JSON_TYPE);
- put(JsonKey.ID, Constants.JSON_ID);
- put(JsonKey.ETAG, Constants.JSON_ETAG);
- put(JsonKey.READ_LINK, Constants.JSON_READ_LINK);
- put(JsonKey.EDIT_LINK, Constants.JSON_EDIT_LINK);
- put(JsonKey.MEDIA_READ_LINK, Constants.JSON_MEDIA_READ_LINK);
- put(JsonKey.MEDIA_EDIT_LINK, Constants.JSON_MEDIA_EDIT_LINK);
- put(JsonKey.MEDIA_CONTENT_TYPE, Constants.JSON_MEDIA_CONTENT_TYPE);
- put(JsonKey.MEDIA_ETAG, Constants.JSON_MEDIA_ETAG);
- put(JsonKey.ASSOCIATION_LINK, Constants.JSON_ASSOCIATION_LINK);
- put(JsonKey.NAVIGATION_LINK, Constants.JSON_NAVIGATION_LINK);
- put(JsonKey.COUNT, Constants.JSON_COUNT);
- put(JsonKey.NEXT_LINK, Constants.JSON_NEXT_LINK);
- put(JsonKey.DELTA_LINK, Constants.JSON_DELTA_LINK);
- put(JsonKey.ERROR, Constants.JSON_ERROR);
- }
- };
-
private static final Pattern DATASERVICEVERSIONPATTERN = Pattern.compile("(\\p{Digit}+\\.\\p{Digit}+)(:?;.*)?");
/**
@@ -169,14 +85,6 @@ public enum ODataServiceVersion {
this.version = version;
}
- public String getNamespace(final NamespaceKey key) {
- return this == V10 || this == V20 ? null : this == V30 ? V30_NAMESPACES.get(key) : V40_NAMESPACES.get(key);
- }
-
- public String getJsonName(final JsonKey key) {
- return this == V10 || this == V20 ? null : this == V30 ? V30_JSON.get(key) : V40_JSON.get(key);
- }
-
@Override
public String toString() {
return version;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
index d7e733c..b8bb9e6 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
@@ -48,12 +48,12 @@ public class ODataObjectFactoryImpl implements ODataObjectFactory {
@Override
public ODataInlineEntitySet newDeepInsertEntitySet(final String name, final ODataEntitySet entitySet) {
- return new ODataInlineEntitySet(version, null, ODataLinkType.ENTITY_SET_NAVIGATION, name, entitySet);
+ return new ODataInlineEntitySet(null, ODataLinkType.ENTITY_SET_NAVIGATION, name, entitySet);
}
@Override
public ODataInlineEntity newDeepInsertEntity(final String name, final ODataEntity entity) {
- return new ODataInlineEntity(version, null, ODataLinkType.ENTITY_NAVIGATION, name, entity);
+ return new ODataInlineEntity(null, ODataLinkType.ENTITY_NAVIGATION, name, entity);
}
@Override
@@ -85,25 +85,25 @@ public class ODataObjectFactoryImpl implements ODataObjectFactory {
@Override
public ODataLink newEntityNavigationLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
+ return new ODataLink.Builder().setURI(link).
setType(ODataLinkType.ENTITY_NAVIGATION).setTitle(name).build();
}
@Override
public ODataLink newEntitySetNavigationLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
+ return new ODataLink.Builder().setURI(link).
setType(ODataLinkType.ENTITY_SET_NAVIGATION).setTitle(name).build();
}
@Override
public ODataLink newAssociationLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
+ return new ODataLink.Builder().setURI(link).
setType(ODataLinkType.ASSOCIATION).setTitle(name).build();
}
@Override
public ODataLink newMediaEditLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
+ return new ODataLink.Builder().setURI(link).
setType(ODataLinkType.MEDIA_EDIT).setTitle(name).build();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmTypeInfo.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmTypeInfo.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmTypeInfo.java
index 13b2436..c6adc5e 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmTypeInfo.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmTypeInfo.java
@@ -28,7 +28,6 @@ import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.EdmType;
import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
public class EdmTypeInfo {
@@ -156,19 +155,17 @@ public class EdmTypeInfo {
return deserialize.toString();
}
- public String external(final ODataServiceVersion version) {
+ public String external() {
final StringBuilder serialize = new StringBuilder();
if (isCollection()) {
- if (version.compareTo(ODataServiceVersion.V40) >= 0) {
- serialize.append('#');
- }
+ serialize.append('#');
serialize.append("Collection(");
}
- if (isPrimitiveType() && version.compareTo(ODataServiceVersion.V40) >= 0) {
+ if (isPrimitiveType()) {
serialize.append(getFullQualifiedName().getName());
- } else {
+ }else{
serialize.append(getFullQualifiedName().toString());
}
@@ -176,7 +173,7 @@ public class EdmTypeInfo {
serialize.append(")");
}
- if (version.compareTo(ODataServiceVersion.V40) >= 0 && !isPrimitiveType() && !isCollection()) {
+ if (!isPrimitiveType() && !isCollection()) {
serialize.insert(0, '#');
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AbstractAtomDealer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AbstractAtomDealer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AbstractAtomDealer.java
index 5a38287..2795c2e 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AbstractAtomDealer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AbstractAtomDealer.java
@@ -18,21 +18,18 @@
*/
package org.apache.olingo.commons.core.serialization;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.commons.api.Constants;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.commons.api.Constants;
+
abstract class AbstractAtomDealer {
protected static final String TYPE_TEXT = "text";
- protected final ODataServiceVersion version;
-
protected final String namespaceMetadata;
protected final String namespaceData;
@@ -59,11 +56,9 @@ abstract class AbstractAtomDealer {
protected final QName errorMessageQName;
protected final QName errorTargetQName;
- public AbstractAtomDealer(final ODataServiceVersion version) {
- this.version = version;
-
- namespaceMetadata = version.getNamespace(ODataServiceVersion.NamespaceKey.METADATA);
- namespaceData = version.getNamespace(ODataServiceVersion.NamespaceKey.DATASERVICES);
+ public AbstractAtomDealer() {
+ namespaceMetadata = Constants.NS_METADATA;
+ namespaceData = Constants.NS_DATASERVICES;
etagQName = new QName(namespaceMetadata, Constants.ATOM_ATTR_ETAG);
metadataEtagQName = new QName(namespaceMetadata, Constants.ATOM_ATTR_METADATAETAG);
@@ -72,8 +67,7 @@ abstract class AbstractAtomDealer {
propertiesQName = new QName(namespaceMetadata, Constants.PROPERTIES);
typeQName = new QName(namespaceMetadata, Constants.ATTR_TYPE);
nullQName = new QName(namespaceMetadata, Constants.ATTR_NULL);
- elementQName = new QName(version.compareTo(ODataServiceVersion.V40) < 0 ? namespaceData : namespaceMetadata,
- Constants.ELEM_ELEMENT);
+ elementQName = new QName(namespaceMetadata, Constants.ELEM_ELEMENT);
countQName = new QName(namespaceMetadata, Constants.ATOM_ELEM_COUNT);
uriQName = new QName(namespaceData, Constants.ELEM_URI);
nextQName = new QName(namespaceData, Constants.NEXT_LINK_REL);
@@ -95,9 +89,8 @@ abstract class AbstractAtomDealer {
protected void namespaces(final XMLStreamWriter writer) throws XMLStreamException {
writer.writeNamespace(StringUtils.EMPTY, Constants.NS_ATOM);
writer.writeNamespace(XMLConstants.XML_NS_PREFIX, XMLConstants.XML_NS_URI);
- writer.writeNamespace(Constants.PREFIX_METADATA, version.getNamespace(ODataServiceVersion.NamespaceKey.METADATA));
- writer.writeNamespace(Constants.PREFIX_DATASERVICES,
- version.getNamespace(ODataServiceVersion.NamespaceKey.DATASERVICES));
+ writer.writeNamespace(Constants.PREFIX_METADATA, Constants.NS_METADATA);
+ writer.writeNamespace(Constants.PREFIX_DATASERVICES, Constants.NS_DATASERVICES);
writer.writeNamespace(Constants.PREFIX_GML, Constants.NS_GML);
writer.writeNamespace(Constants.PREFIX_GEORSS, Constants.NS_GEORSS);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
index 44771ca..0d21233 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
@@ -52,8 +52,6 @@ import org.apache.olingo.commons.api.domain.ODataPropertyType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion.NamespaceKey;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.format.ContentType;
import org.apache.olingo.commons.api.serialization.ODataDeserializer;
@@ -82,8 +80,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
return FACTORY.createXMLEventReader(input);
}
- public AtomDeserializer(final ODataServiceVersion version) {
- super(version);
+ public AtomDeserializer() {
geoDeserializer = new AtomGeoValueDeserializer();
}
@@ -97,8 +94,8 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
final XMLEvent event = reader.nextEvent();
if (event.isStartElement() && typeInfo != null && typeInfo.getPrimitiveTypeKind().isGeospatial()) {
- final EdmPrimitiveTypeKind geoType = EdmPrimitiveTypeKind.valueOfFQN(
- version, typeInfo.getFullQualifiedName().toString());
+ final EdmPrimitiveTypeKind geoType =
+ EdmPrimitiveTypeKind.valueOfFQN(typeInfo.getFullQualifiedName().toString());
value = geoDeserializer.deserialize(reader, event.asStartElement(), geoType);
}
@@ -153,13 +150,11 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
link.setType(type.getValue());
}
- if (link.getRel().startsWith(
- version.getNamespace(ODataServiceVersion.NamespaceKey.NAVIGATION_LINK_REL))) {
+ if (link.getRel().startsWith(Constants.NS_NAVIGATION_LINK_REL)) {
((ComplexValue) value).getNavigationLinks().add(link);
inline(reader, event.asStartElement(), link);
- } else if (link.getRel().startsWith(
- version.getNamespace(ODataServiceVersion.NamespaceKey.ASSOCIATION_LINK_REL))) {
+ } else if (link.getRel().startsWith(Constants.NS_ASSOCIATION_LINK_REL)) {
((Valuable) value).asComplex().getAssociationLinks().add(link);
}
@@ -267,7 +262,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
final PropertyImpl property = new PropertyImpl();
- if (ODataServiceVersion.V40 == version && propertyValueQName.equals(start.getName())) {
+ if (propertyValueQName.equals(start.getName())) {
// retrieve name from context
final Attribute context = start.getAttributeByName(contextQName);
if (context != null) {
@@ -468,7 +463,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
delta.setNext(URI.create(href.getValue()));
}
}
- if (ODataServiceVersion.V40.getNamespace(NamespaceKey.DELTA_LINK_REL).equals(rel.getValue())) {
+ if (Constants.NS_DELTA_LINK_REL.equals(rel.getValue())) {
final Attribute href = event.asStartElement().getAttributeByName(QName.valueOf(Constants.ATTR_HREF));
if (href != null) {
delta.setDeltaLink(URI.create(href.getValue()));
@@ -644,17 +639,14 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
if (mediaETag != null) {
entity.setMediaETag(mediaETag.getValue());
}
- } else if (link.getRel().startsWith(
- version.getNamespace(ODataServiceVersion.NamespaceKey.NAVIGATION_LINK_REL))) {
+ } else if (link.getRel().startsWith(Constants.NS_NAVIGATION_LINK_REL)) {
entity.getNavigationLinks().add(link);
inline(reader, event.asStartElement(), link);
- } else if (link.getRel().startsWith(
- version.getNamespace(ODataServiceVersion.NamespaceKey.ASSOCIATION_LINK_REL))) {
+ } else if (link.getRel().startsWith(Constants.NS_ASSOCIATION_LINK_REL)) {
entity.getAssociationLinks().add(link);
- } else if (link.getRel().startsWith(
- version.getNamespace(ODataServiceVersion.NamespaceKey.MEDIA_EDIT_LINK_REL))) {
+ } else if (link.getRel().startsWith(Constants.NS_MEDIA_EDIT_LINK_REL)) {
final Attribute metag = event.asStartElement().getAttributeByName(etagQName);
if (metag != null) {
@@ -777,7 +769,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
entitySet.setNext(URI.create(href.getValue()));
}
}
- if (ODataServiceVersion.V40.getNamespace(NamespaceKey.DELTA_LINK_REL).equals(rel.getValue())) {
+ if (Constants.NS_DELTA_LINK_REL.equals(rel.getValue())) {
final Attribute href = event.asStartElement().getAttributeByName(QName.valueOf(Constants.ATTR_HREF));
if (href != null) {
entitySet.setDeltaLink(URI.create(href.getValue()));
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
index 7d07f5e..6c36116 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
@@ -42,8 +42,6 @@ import org.apache.olingo.commons.api.data.ValueType;
import org.apache.olingo.commons.api.domain.ODataOperation;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion.NamespaceKey;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.format.ContentType;
import org.apache.olingo.commons.api.serialization.ODataSerializer;
@@ -65,12 +63,11 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
private final boolean serverMode;
- public AtomSerializer(final ODataServiceVersion version) {
- this(version, false);
+ public AtomSerializer() {
+ this(false);
}
- public AtomSerializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version);
+ public AtomSerializer(final boolean serverMode) {
geoSerializer = new AtomGeoValueSerializer();
this.serverMode = serverMode;
}
@@ -79,11 +76,7 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
final ValueType valueType, final EdmPrimitiveTypeKind kind, final List<?> value)
throws XMLStreamException, EdmPrimitiveTypeException {
for (Object item : value) {
- if (version.compareTo(ODataServiceVersion.V40) < 0) {
- writer.writeStartElement(Constants.PREFIX_DATASERVICES, Constants.ELEM_ELEMENT, namespaceData);
- } else {
- writer.writeStartElement(Constants.PREFIX_METADATA, Constants.ELEM_ELEMENT, namespaceMetadata);
- }
+ writer.writeStartElement(Constants.PREFIX_METADATA, Constants.ELEM_ELEMENT, namespaceMetadata);
value(writer, valueType, kind, item);
writer.writeEndElement();
}
@@ -126,22 +119,19 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
public void property(final XMLStreamWriter writer, final Property property, final boolean standalone)
throws XMLStreamException, EdmPrimitiveTypeException {
- if (version.compareTo(ODataServiceVersion.V40) >= 0 && standalone) {
+ if (standalone) {
writer.writeStartElement(Constants.PREFIX_METADATA, Constants.VALUE, namespaceData);
+ namespaces(writer);
} else {
writer.writeStartElement(Constants.PREFIX_DATASERVICES, property.getName(), namespaceData);
}
- if (standalone) {
- namespaces(writer);
- }
-
EdmTypeInfo typeInfo = null;
if (StringUtils.isNotBlank(property.getType())) {
typeInfo = new EdmTypeInfo.Builder().setTypeExpression(property.getType()).build();
if (!EdmPrimitiveTypeKind.String.getFullQualifiedName().toString().equals(typeInfo.internal())) {
writer.writeAttribute(Constants.PREFIX_METADATA, namespaceMetadata,
- Constants.ATTR_TYPE, typeInfo.external(version));
+ Constants.ATTR_TYPE, typeInfo.external());
}
}
@@ -260,7 +250,7 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
typeInfo = new EdmTypeInfo.Builder().setTypeExpression(annotation.getType()).build();
if (!EdmPrimitiveTypeKind.String.getFullQualifiedName().toString().equals(typeInfo.internal())) {
writer.writeAttribute(Constants.PREFIX_METADATA, namespaceMetadata,
- Constants.ATTR_TYPE, typeInfo.external(version));
+ Constants.ATTR_TYPE, typeInfo.external());
}
}
@@ -287,10 +277,10 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
}
writer.writeStartElement(Constants.ATOM_ELEM_CATEGORY);
- writer.writeAttribute(Constants.ATOM_ATTR_SCHEME, version.getNamespace(ODataServiceVersion.NamespaceKey.SCHEME));
+ writer.writeAttribute(Constants.ATOM_ATTR_SCHEME, Constants.NS_SCHEME);
if (StringUtils.isNotBlank(entity.getType())) {
writer.writeAttribute(Constants.ATOM_ATTR_TERM,
- new EdmTypeInfo.Builder().setTypeExpression(entity.getType()).build().external(version));
+ new EdmTypeInfo.Builder().setTypeExpression(entity.getType()).build().external());
}
writer.writeEndElement();
@@ -447,7 +437,7 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
}
if (entitySet.getDeltaLink() != null) {
final LinkImpl next = new LinkImpl();
- next.setRel(ODataServiceVersion.V40.getNamespace(NamespaceKey.DELTA_LINK_REL));
+ next.setRel(Constants.NS_DELTA_LINK_REL);
next.setHref(entitySet.getDeltaLink().toASCIIString());
links(writer, Collections.<Link> singletonList(next));
@@ -526,7 +516,7 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
writer.writeStartDocument();
writer.writeStartElement(Constants.ATTR_METADATA, Constants.ATTR_REF);
- writer.writeNamespace(Constants.ATTR_METADATA, version.getNamespace(NamespaceKey.METADATA));
+ writer.writeNamespace(Constants.ATTR_METADATA, Constants.NS_METADATA);
writer.writeAttribute(Constants.ATTR_METADATA, Constants.CONTEXT, container.getContextURL().toASCIIString());
writer.writeAttribute(Constants.ATOM_ATTR_ID, container.getPayload().toASCIIString());
writer.writeEndElement();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
index 037b436..5cb2076 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
@@ -18,31 +18,30 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.ContextURL;
import org.apache.olingo.commons.api.data.Delta;
import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.data.DeletedEntityImpl;
import org.apache.olingo.commons.core.data.DeltaImpl;
import org.apache.olingo.commons.core.data.DeltaLinkImpl;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
public class JsonDeltaDeserializer extends JsonDeserializer {
- public JsonDeltaDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonDeltaDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ResWrap<Delta> doDeserialize(final JsonParser parser) throws IOException {
@@ -68,7 +67,7 @@ public class JsonDeltaDeserializer extends JsonDeserializer {
}
if (tree.hasNonNull(Constants.VALUE)) {
- JsonEntityDeserializer entityDeserializer = new JsonEntityDeserializer(version, serverMode);
+ JsonEntityDeserializer entityDeserializer = new JsonEntityDeserializer(serverMode);
for (JsonNode jsonNode : tree.get(Constants.VALUE)) {
final ObjectNode item = (ObjectNode) jsonNode;
final ContextURL itemContextURL = item.hasNonNull(Constants.JSON_CONTEXT) ?
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeserializer.java
index 77d0ded..929ad95 100755
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeserializer.java
@@ -18,22 +18,26 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.ObjectCodec;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.AbstractMap.SimpleEntry;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotatable;
import org.apache.olingo.commons.api.data.Annotation;
+import org.apache.olingo.commons.api.data.ComplexValue;
import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.data.Linked;
-import org.apache.olingo.commons.api.data.ComplexValue;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.data.Valuable;
@@ -44,95 +48,71 @@ import org.apache.olingo.commons.api.domain.ODataPropertyType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.serialization.ODataDeserializer;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.data.AnnotationImpl;
+import org.apache.olingo.commons.core.data.ComplexValueImpl;
import org.apache.olingo.commons.core.data.EntitySetImpl;
import org.apache.olingo.commons.core.data.LinkImpl;
-import org.apache.olingo.commons.core.data.ComplexValueImpl;
import org.apache.olingo.commons.core.data.PropertyImpl;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.AbstractMap.SimpleEntry;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.ObjectCodec;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
public class JsonDeserializer implements ODataDeserializer {
protected final Pattern CUSTOM_ANNOTATION = Pattern.compile("(.+)@(.+)\\.(.+)");
- protected final ODataServiceVersion version;
-
protected final boolean serverMode;
- protected String jsonType;
+ protected String jsonType = Constants.JSON_TYPE;
- protected String jsonId;
+ protected String jsonId = Constants.JSON_ID;
- protected String jsonETag;
+ protected String jsonETag = Constants.JSON_ETAG;
- protected String jsonReadLink;
+ protected String jsonReadLink = Constants.JSON_READ_LINK;
- protected String jsonEditLink;
+ protected String jsonEditLink = Constants.JSON_EDIT_LINK;
- protected String jsonMediaEditLink;
+ protected String jsonMediaEditLink = Constants.JSON_MEDIA_EDIT_LINK;
- protected String jsonMediaReadLink;
+ protected String jsonMediaReadLink = Constants.JSON_MEDIA_READ_LINK;
- protected String jsonMediaContentType;
+ protected String jsonMediaContentType = Constants.JSON_MEDIA_CONTENT_TYPE;
- protected String jsonMediaETag;
+ protected String jsonMediaETag = Constants.JSON_MEDIA_ETAG;
- protected String jsonAssociationLink;
+ protected String jsonAssociationLink = Constants.JSON_ASSOCIATION_LINK;
- protected String jsonNavigationLink;
+ protected String jsonNavigationLink = Constants.JSON_NAVIGATION_LINK;
- protected String jsonCount;
+ protected String jsonCount = Constants.JSON_COUNT;
- protected String jsonNextLink;
+ protected String jsonNextLink = Constants.JSON_NEXT_LINK;
- protected String jsonDeltaLink;
+ protected String jsonDeltaLink = Constants.JSON_DELTA_LINK;
- protected String jsonError;
+ protected String jsonError = Constants.JSON_ERROR;
private JsonGeoValueDeserializer geoDeserializer;
private JsonParser parser;
- public JsonDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- this.version = version;
+ public JsonDeserializer(final boolean serverMode) {
this.serverMode = serverMode;
-
- jsonType = version.getJsonName(ODataServiceVersion.JsonKey.TYPE);
- jsonId = version.getJsonName(ODataServiceVersion.JsonKey.ID);
- jsonETag = version.getJsonName(ODataServiceVersion.JsonKey.ETAG);
- jsonReadLink = version.getJsonName(ODataServiceVersion.JsonKey.READ_LINK);
- jsonEditLink = version.getJsonName(ODataServiceVersion.JsonKey.EDIT_LINK);
- jsonMediaReadLink = version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_READ_LINK);
- jsonMediaEditLink = version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_EDIT_LINK);
- jsonMediaContentType = version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_CONTENT_TYPE);
- jsonMediaETag = version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_ETAG);
- jsonAssociationLink = version.getJsonName(ODataServiceVersion.JsonKey.ASSOCIATION_LINK);
- jsonNavigationLink = version.getJsonName(ODataServiceVersion.JsonKey.NAVIGATION_LINK);
- jsonCount = version.getJsonName(ODataServiceVersion.JsonKey.COUNT);
- jsonNextLink = version.getJsonName(ODataServiceVersion.JsonKey.NEXT_LINK);
- jsonDeltaLink = version.getJsonName(ODataServiceVersion.JsonKey.DELTA_LINK);
- jsonError = version.getJsonName(ODataServiceVersion.JsonKey.ERROR);
}
private JsonGeoValueDeserializer getGeoDeserializer() {
if (geoDeserializer == null) {
- geoDeserializer = new JsonGeoValueDeserializer(version);
+ geoDeserializer = new JsonGeoValueDeserializer();
}
return geoDeserializer;
}
@@ -151,7 +131,7 @@ public class JsonDeserializer implements ODataDeserializer {
final String entityNamePrefix = name.substring(0, name.indexOf(suffix));
if (tree.has(entityNamePrefix)) {
final JsonNode inline = tree.path(entityNamePrefix);
- JsonEntityDeserializer entityDeserializer = new JsonEntityDeserializer(version, serverMode);
+ JsonEntityDeserializer entityDeserializer = new JsonEntityDeserializer(serverMode);
if (inline instanceof ObjectNode) {
link.setType(ODataLinkType.ENTITY_NAVIGATION.toString());
@@ -186,7 +166,7 @@ public class JsonDeserializer implements ODataDeserializer {
if (field.getKey().endsWith(jsonNavigationLink)) {
final LinkImpl link = new LinkImpl();
link.setTitle(getTitle(field));
- link.setRel(version.getNamespace(ODataServiceVersion.NamespaceKey.NAVIGATION_LINK_REL) + getTitle(field));
+ link.setRel(Constants.NS_NAVIGATION_LINK_REL + getTitle(field));
if (field.getValue().isValueNode()) {
link.setHref(field.getValue().textValue());
@@ -200,7 +180,7 @@ public class JsonDeserializer implements ODataDeserializer {
} else if (field.getKey().endsWith(jsonAssociationLink)) {
final LinkImpl link = new LinkImpl();
link.setTitle(getTitle(field));
- link.setRel(version.getNamespace(ODataServiceVersion.NamespaceKey.ASSOCIATION_LINK_REL) + getTitle(field));
+ link.setRel(Constants.NS_ASSOCIATION_LINK_REL + getTitle(field));
link.setHref(field.getValue().textValue());
link.setType(ODataLinkType.ASSOCIATION.toString());
linked.getAssociationLinks().add(link);
@@ -220,7 +200,7 @@ public class JsonDeserializer implements ODataDeserializer {
final LinkImpl link = new LinkImpl();
link.setTitle(getTitle(field));
- link.setRel(version.getNamespace(ODataServiceVersion.NamespaceKey.NAVIGATION_LINK_REL) + getTitle(field));
+ link.setRel(Constants.NS_NAVIGATION_LINK_REL + getTitle(field));
link.setHref(field.getValue().textValue());
link.setType(ODataLinkType.ENTITY_NAVIGATION.toString());
linked.getNavigationLinks().add(link);
@@ -232,7 +212,7 @@ public class JsonDeserializer implements ODataDeserializer {
final LinkImpl link = new LinkImpl();
link.setTitle(getTitle(field));
- link.setRel(version.getNamespace(ODataServiceVersion.NamespaceKey.NAVIGATION_LINK_REL) + getTitle(field));
+ link.setRel(Constants.NS_NAVIGATION_LINK_REL + getTitle(field));
link.setHref(node.asText());
link.setType(ODataLinkType.ENTITY_SET_NAVIGATION.toString());
linked.getNavigationLinks().add(link);
@@ -438,7 +418,7 @@ public class JsonDeserializer implements ODataDeserializer {
public ResWrap<EntitySet> toEntitySet(final InputStream input) throws ODataDeserializerException {
try {
parser = new JsonFactory(new ObjectMapper()).createParser(input);
- return new JsonEntitySetDeserializer(version, serverMode).doDeserialize(parser);
+ return new JsonEntitySetDeserializer(serverMode).doDeserialize(parser);
} catch (final IOException e) {
throw new ODataDeserializerException(e);
}
@@ -448,7 +428,7 @@ public class JsonDeserializer implements ODataDeserializer {
public ResWrap<Entity> toEntity(final InputStream input) throws ODataDeserializerException {
try {
parser = new JsonFactory(new ObjectMapper()).createParser(input);
- return new JsonEntityDeserializer(version, serverMode).doDeserialize(parser);
+ return new JsonEntityDeserializer(serverMode).doDeserialize(parser);
} catch (final IOException e) {
throw new ODataDeserializerException(e);
}
@@ -458,7 +438,7 @@ public class JsonDeserializer implements ODataDeserializer {
public ResWrap<Property> toProperty(final InputStream input) throws ODataDeserializerException {
try {
parser = new JsonFactory(new ObjectMapper()).createParser(input);
- return new JsonPropertyDeserializer(version, serverMode).doDeserialize(parser);
+ return new JsonPropertyDeserializer(serverMode).doDeserialize(parser);
} catch (final IOException e) {
throw new ODataDeserializerException(e);
}
@@ -468,7 +448,7 @@ public class JsonDeserializer implements ODataDeserializer {
public ODataError toError(final InputStream input) throws ODataDeserializerException {
try {
parser = new JsonFactory(new ObjectMapper()).createParser(input);
- return new JsonODataErrorDeserializer(version, serverMode).doDeserialize(parser);
+ return new JsonODataErrorDeserializer(serverMode).doDeserialize(parser);
} catch (final IOException e) {
throw new ODataDeserializerException(e);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntityDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntityDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntityDeserializer.java
index 6099c16..4f0b288 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntityDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntityDeserializer.java
@@ -18,10 +18,17 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotation;
@@ -31,22 +38,15 @@ import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.domain.ODataLinkType;
import org.apache.olingo.commons.api.domain.ODataOperation;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.data.AnnotationImpl;
import org.apache.olingo.commons.core.data.EntityImpl;
import org.apache.olingo.commons.core.data.LinkImpl;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import java.io.IOException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* Reads JSON string into an entity.
@@ -55,8 +55,8 @@ import java.util.regex.Matcher;
*/
public class JsonEntityDeserializer extends JsonDeserializer {
- public JsonEntityDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonEntityDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ResWrap<Entity> doDeserialize(final JsonParser parser) throws IOException {
@@ -154,7 +154,7 @@ public class JsonEntityDeserializer extends JsonDeserializer {
if (field.getKey().endsWith(getJSONAnnotation(jsonMediaEditLink))) {
final LinkImpl link = new LinkImpl();
link.setTitle(getTitle(field));
- link.setRel(version.getNamespace(ODataServiceVersion.NamespaceKey.MEDIA_EDIT_LINK_REL) + getTitle(field));
+ link.setRel(Constants.NS_MEDIA_EDIT_LINK_REL + getTitle(field));
link.setHref(field.getValue().textValue());
link.setType(ODataLinkType.MEDIA_EDIT.toString());
entity.getMediaEditLinks().add(link);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySerializer.java
index 5576e19..b6a32ef 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySerializer.java
@@ -1,24 +1,25 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* 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
- *
+ * 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
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonGenerator;
+import java.io.IOException;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotation;
@@ -28,22 +29,22 @@ import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.domain.ODataOperation;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.format.ODataFormat;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import java.io.IOException;
+
+import com.fasterxml.jackson.core.JsonGenerator;
/**
* Writes out JSON string from an entity.
*/
public class JsonEntitySerializer extends JsonSerializer {
- public JsonEntitySerializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonEntitySerializer(final boolean serverMode) {
+ super(serverMode);
}
- public JsonEntitySerializer(ODataServiceVersion version, boolean serverMode, ODataFormat format) {
- super(version, serverMode, format);
+ public JsonEntitySerializer(boolean serverMode, ODataFormat format) {
+ super(serverMode, format);
}
protected void doSerialize(final Entity entity, final JsonGenerator jgen)
@@ -61,26 +62,24 @@ public class JsonEntitySerializer extends JsonSerializer {
if (serverMode) {
if (container.getContextURL() != null) {
- jgen.writeStringField(version.compareTo(ODataServiceVersion.V40) >= 0
- ? Constants.JSON_CONTEXT : Constants.JSON_METADATA,
- container.getContextURL().toASCIIString());
+ jgen.writeStringField(Constants.JSON_CONTEXT, container.getContextURL().toASCIIString());
}
- if (version.compareTo(ODataServiceVersion.V40) >= 0 && StringUtils.isNotBlank(container.getMetadataETag())) {
+ if (StringUtils.isNotBlank(container.getMetadataETag())) {
jgen.writeStringField(Constants.JSON_METADATA_ETAG, container.getMetadataETag());
}
if (StringUtils.isNotBlank(entity.getETag())) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.ETAG), entity.getETag());
+ jgen.writeStringField(Constants.JSON_ETAG, entity.getETag());
}
}
if (StringUtils.isNotBlank(entity.getType()) && format != ODataFormat.JSON_NO_METADATA) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.TYPE),
- new EdmTypeInfo.Builder().setTypeExpression(entity.getType()).build().external(version));
+ jgen.writeStringField(Constants.JSON_TYPE,
+ new EdmTypeInfo.Builder().setTypeExpression(entity.getType()).build().external());
}
if (entity.getId() != null && format != ODataFormat.JSON_NO_METADATA) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.ID), entity.getId().toASCIIString());
+ jgen.writeStringField(Constants.JSON_ID, entity.getId().toASCIIString());
}
for (Annotation annotation : entity.getAnnotations()) {
@@ -92,12 +91,12 @@ public class JsonEntitySerializer extends JsonSerializer {
}
if (serverMode && entity.getEditLink() != null && StringUtils.isNotBlank(entity.getEditLink().getHref())) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.EDIT_LINK),
- entity.getEditLink().getHref());
+ jgen.writeStringField(Constants.JSON_EDIT_LINK,
+ entity.getEditLink().getHref());
if (entity.isMediaEntity()) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_READ_LINK),
- entity.getEditLink().getHref() + "/$value");
+ jgen.writeStringField(Constants.JSON_MEDIA_READ_LINK,
+ entity.getEditLink().getHref() + "/$value");
}
}
@@ -107,7 +106,7 @@ public class JsonEntitySerializer extends JsonSerializer {
for (Link link : entity.getMediaEditLinks()) {
if (link.getTitle() == null) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.MEDIA_EDIT_LINK), link.getHref());
+ jgen.writeStringField(Constants.JSON_MEDIA_EDIT_LINK, link.getHref());
}
if (link.getInlineEntity() != null) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetDeserializer.java
index aba9108..00b807e 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetDeserializer.java
@@ -18,23 +18,23 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.net.URI;
+import java.util.Iterator;
+import java.util.Map;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotation;
import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.data.AnnotationImpl;
import org.apache.olingo.commons.core.data.EntitySetImpl;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Iterator;
-import java.util.Map;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* Reads JSON string into an entity set.
@@ -43,8 +43,8 @@ import java.util.Map;
*/
public class JsonEntitySetDeserializer extends JsonDeserializer {
- public JsonEntitySetDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonEntitySetDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ResWrap<EntitySet> doDeserialize(final JsonParser parser) throws IOException {
@@ -93,7 +93,7 @@ public class JsonEntitySetDeserializer extends JsonDeserializer {
}
if (tree.hasNonNull(Constants.VALUE)) {
- final JsonEntityDeserializer entityDeserializer = new JsonEntityDeserializer(version, serverMode);
+ final JsonEntityDeserializer entityDeserializer = new JsonEntityDeserializer(serverMode);
for (JsonNode jsonNode : tree.get(Constants.VALUE)) {
entitySet.getEntities().add(
entityDeserializer.doDeserialize(jsonNode.traverse(parser.getCodec())).getPayload());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetSerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetSerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetSerializer.java
index 256376c..a7407bd 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetSerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonEntitySetSerializer.java
@@ -18,7 +18,9 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonGenerator;
+import java.io.IOException;
+import java.net.URI;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotation;
@@ -26,15 +28,13 @@ import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import java.io.IOException;
-import java.net.URI;
+import com.fasterxml.jackson.core.JsonGenerator;
public class JsonEntitySetSerializer extends JsonSerializer {
- public JsonEntitySetSerializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonEntitySetSerializer(final boolean serverMode) {
+ super(serverMode);
}
protected void doSerialize(final EntitySet entitySet, final JsonGenerator jgen)
@@ -51,12 +51,10 @@ public class JsonEntitySetSerializer extends JsonSerializer {
if (serverMode) {
if (container.getContextURL() != null) {
- jgen.writeStringField(version.compareTo(ODataServiceVersion.V40) >= 0
- ? Constants.JSON_CONTEXT : Constants.JSON_METADATA,
- container.getContextURL().toASCIIString());
+ jgen.writeStringField(Constants.JSON_CONTEXT, container.getContextURL().toASCIIString());
}
- if (version.compareTo(ODataServiceVersion.V40) >= 0 && StringUtils.isNotBlank(container.getMetadataETag())) {
+ if (StringUtils.isNotBlank(container.getMetadataETag())) {
jgen.writeStringField(
Constants.JSON_METADATA_ETAG,
container.getMetadataETag());
@@ -64,17 +62,17 @@ public class JsonEntitySetSerializer extends JsonSerializer {
}
if (entitySet.getId() != null) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.ID), entitySet.getId().toASCIIString());
+ jgen.writeStringField(Constants.JSON_ID, entitySet.getId().toASCIIString());
}
- jgen.writeNumberField(version.getJsonName(ODataServiceVersion.JsonKey.COUNT),
+ jgen.writeNumberField(Constants.JSON_COUNT,
entitySet.getCount() == null ? entitySet.getEntities().size() : entitySet.getCount());
if (serverMode) {
if (entitySet.getNext() != null) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.NEXT_LINK),
+ jgen.writeStringField(Constants.JSON_NEXT_LINK,
entitySet.getNext().toASCIIString());
}
if (entitySet.getDeltaLink() != null) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.DELTA_LINK),
+ jgen.writeStringField(Constants.JSON_DELTA_LINK,
entitySet.getDeltaLink().toASCIIString());
}
}
@@ -84,7 +82,7 @@ public class JsonEntitySetSerializer extends JsonSerializer {
}
jgen.writeArrayFieldStart(Constants.VALUE);
- final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(version, serverMode);
+ final JsonEntitySerializer entitySerializer = new JsonEntitySerializer(serverMode);
for (Entity entity : entitySet.getEntities()) {
entitySerializer.doSerialize(entity, jgen);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonGeoValueDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonGeoValueDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonGeoValueDeserializer.java
index bed29dd..8c439f7 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonGeoValueDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonGeoValueDeserializer.java
@@ -18,12 +18,15 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.databind.JsonNode;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.GeoUtils;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@@ -36,19 +39,10 @@ import org.apache.olingo.commons.api.edm.geo.SRID;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
import org.apache.olingo.commons.core.edm.primitivetype.EdmDouble;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
+import com.fasterxml.jackson.databind.JsonNode;
class JsonGeoValueDeserializer {
- private final ODataServiceVersion version;
-
- public JsonGeoValueDeserializer(final ODataServiceVersion version) {
- this.version = version;
- }
-
private Point point(final Iterator<JsonNode> itor, final EdmPrimitiveTypeKind type, final SRID srid) {
Point point = null;
@@ -208,7 +202,7 @@ class JsonGeoValueDeserializer {
final int yIdx = nodeType.indexOf('y');
nodeType = nodeType.substring(yIdx + 1);
}
- actualType = EdmPrimitiveTypeKind.valueOfFQN(version, typeInfo.getFullQualifiedName().toString() + nodeType);
+ actualType = EdmPrimitiveTypeKind.valueOfFQN(typeInfo.getFullQualifiedName().toString() + nodeType);
} else {
actualType = typeInfo.getPrimitiveTypeKind();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDeserializer.java
index 0611ff2..8e49a28 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDeserializer.java
@@ -18,24 +18,24 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.olingo.commons.api.Constants;
-import org.apache.olingo.commons.api.domain.ODataError;
-import org.apache.olingo.commons.api.domain.ODataErrorDetail;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import org.apache.olingo.commons.api.Constants;
+import org.apache.olingo.commons.api.domain.ODataError;
+import org.apache.olingo.commons.api.domain.ODataErrorDetail;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
public class JsonODataErrorDeserializer extends JsonDeserializer {
- public JsonODataErrorDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonODataErrorDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ODataError doDeserialize(final JsonParser parser) throws IOException {
@@ -62,8 +62,7 @@ public class JsonODataErrorDeserializer extends JsonDeserializer {
}
if (errorNode.hasNonNull(Constants.ERROR_DETAILS)) {
List<ODataErrorDetail> details = new ArrayList<ODataErrorDetail>();
- JsonODataErrorDetailDeserializer detailDeserializer =
- new JsonODataErrorDetailDeserializer(version, serverMode);
+ JsonODataErrorDetailDeserializer detailDeserializer = new JsonODataErrorDetailDeserializer(serverMode);
for (JsonNode jsonNode : errorNode.get(Constants.ERROR_DETAILS)) {
details.add(detailDeserializer.doDeserialize(jsonNode.traverse(parser.getCodec()))
.getPayload());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDetailDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDetailDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDetailDeserializer.java
index 40d93fe..138bad3 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDetailDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonODataErrorDetailDeserializer.java
@@ -18,20 +18,20 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
+import java.io.IOException;
+import java.net.URI;
+
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.domain.ODataErrorDetail;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import java.io.IOException;
-import java.net.URI;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
public class JsonODataErrorDetailDeserializer extends JsonDeserializer {
- public JsonODataErrorDetailDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonODataErrorDetailDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ResWrap<ODataErrorDetail> doDeserialize(final JsonParser parser) throws IOException {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertyDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertyDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertyDeserializer.java
index ab78a44..b5bda8c 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertyDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertyDeserializer.java
@@ -18,9 +18,11 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.net.URI;
+import java.util.Iterator;
+import java.util.Map;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotation;
@@ -28,23 +30,21 @@ import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.data.ValueType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.data.AnnotationImpl;
import org.apache.olingo.commons.core.data.PropertyImpl;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Iterator;
-import java.util.Map;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* Parse JSON string into <tt>Property</tt>.
*/
public class JsonPropertyDeserializer extends JsonDeserializer {
- public JsonPropertyDeserializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonPropertyDeserializer(final boolean serverMode) {
+ super(serverMode);
}
protected ResWrap<Property> doDeserialize(final JsonParser parser) throws IOException {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a3789c7c/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertySerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertySerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertySerializer.java
index 14407a0..da28791 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertySerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonPropertySerializer.java
@@ -18,26 +18,26 @@
*/
package org.apache.olingo.commons.core.serialization;
-import com.fasterxml.jackson.core.JsonGenerator;
+import java.io.IOException;
+import java.net.URI;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.Annotation;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import java.io.IOException;
-import java.net.URI;
+import com.fasterxml.jackson.core.JsonGenerator;
/**
* Writes out JSON string from <tt>PropertyImpl</tt>.
*/
public class JsonPropertySerializer extends JsonSerializer {
- public JsonPropertySerializer(final ODataServiceVersion version, final boolean serverMode) {
- super(version, serverMode);
+ public JsonPropertySerializer(final boolean serverMode) {
+ super(serverMode);
}
protected void doSerialize(final Property property, final JsonGenerator jgen)
@@ -53,14 +53,12 @@ public class JsonPropertySerializer extends JsonSerializer {
jgen.writeStartObject();
if (serverMode && container.getContextURL() != null) {
- jgen.writeStringField(version.compareTo(ODataServiceVersion.V40) >= 0
- ? Constants.JSON_CONTEXT : Constants.JSON_METADATA,
- container.getContextURL().toASCIIString());
+ jgen.writeStringField(Constants.JSON_CONTEXT, container.getContextURL().toASCIIString());
}
if (StringUtils.isNotBlank(property.getType())) {
- jgen.writeStringField(version.getJsonName(ODataServiceVersion.JsonKey.TYPE),
- new EdmTypeInfo.Builder().setTypeExpression(property.getType()).build().external(version));
+ jgen.writeStringField(Constants.JSON_TYPE,
+ new EdmTypeInfo.Builder().setTypeExpression(property.getType()).build().external());
}
for (Annotation annotation : property.getAnnotations()) {