You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2016/03/04 21:37:20 UTC
[37/39] olingo-odata4 git commit: [OLINGO-777] Fix sample/server's
xml serialization
[OLINGO-777] Fix sample/server's xml serialization
Signed-off-by: Michael Bolz <mi...@sap.com>
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/92fa7cd6
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/92fa7cd6
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/92fa7cd6
Branch: refs/heads/OLINGO-856_ODataHandlerInAPI
Commit: 92fa7cd62ecc5a08cc1cba1639b79e7b34855445
Parents: 908a143
Author: Aki Yoshida <el...@gmail.com>
Authored: Fri Sep 18 13:43:59 2015 +0200
Committer: Michael Bolz <mi...@sap.com>
Committed: Thu Mar 3 08:41:51 2016 +0100
----------------------------------------------------------------------
.../olingo/server/sample/data/DataProvider.java | 54 ++++++++++++++------
.../server/sample/processor/CarsProcessor.java | 2 +
2 files changed, 41 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/92fa7cd6/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
----------------------------------------------------------------------
diff --git a/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java b/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
index d360856..191a588 100644
--- a/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
+++ b/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
@@ -18,10 +18,13 @@
*/
package org.apache.olingo.server.sample.data;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.olingo.commons.api.ex.ODataException;
+import org.apache.olingo.commons.api.ex.ODataRuntimeException;
import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntityCollection;
import org.apache.olingo.commons.api.data.Property;
@@ -94,41 +97,50 @@ public class DataProvider {
private EntityCollection createCars() {
EntityCollection entitySet = new EntityCollection();
-
- entitySet.getEntities().add(new Entity()
+ Entity el = new Entity()
.addProperty(createPrimitive("Id", 1))
.addProperty(createPrimitive("Model", "F1 W03"))
.addProperty(createPrimitive("ModelYear", "2012"))
.addProperty(createPrimitive("Price", 189189.43))
- .addProperty(createPrimitive("Currency", "EUR")));
+ .addProperty(createPrimitive("Currency", "EUR"));
+ el.setId(createId(CarsEdmProvider.ES_CARS_NAME, 1));
+ entitySet.getEntities().add(el);
- entitySet.getEntities().add(new Entity()
+ el = new Entity()
.addProperty(createPrimitive("Id", 2))
.addProperty(createPrimitive("Model", "F1 W04"))
.addProperty(createPrimitive("ModelYear", "2013"))
.addProperty(createPrimitive("Price", 199999.99))
- .addProperty(createPrimitive("Currency", "EUR")));
+ .addProperty(createPrimitive("Currency", "EUR"));
+ el.setId(createId(CarsEdmProvider.ES_CARS_NAME, 2));
+ entitySet.getEntities().add(el);
- entitySet.getEntities().add(new Entity()
+ el = new Entity()
.addProperty(createPrimitive("Id", 3))
.addProperty(createPrimitive("Model", "F2012"))
.addProperty(createPrimitive("ModelYear", "2012"))
.addProperty(createPrimitive("Price", 137285.33))
- .addProperty(createPrimitive("Currency", "EUR")));
+ .addProperty(createPrimitive("Currency", "EUR"));
+ el.setId(createId(CarsEdmProvider.ES_CARS_NAME, 3));
+ entitySet.getEntities().add(el);
- entitySet.getEntities().add(new Entity()
+ el = new Entity()
.addProperty(createPrimitive("Id", 4))
.addProperty(createPrimitive("Model", "F2013"))
.addProperty(createPrimitive("ModelYear", "2013"))
.addProperty(createPrimitive("Price", 145285.00))
- .addProperty(createPrimitive("Currency", "EUR")));
+ .addProperty(createPrimitive("Currency", "EUR"));
+ el.setId(createId(CarsEdmProvider.ES_CARS_NAME, 4));
+ entitySet.getEntities().add(el);
- entitySet.getEntities().add(new Entity()
+ el = new Entity()
.addProperty(createPrimitive("Id", 5))
.addProperty(createPrimitive("Model", "F1 W02"))
.addProperty(createPrimitive("ModelYear", "2011"))
.addProperty(createPrimitive("Price", 167189.00))
- .addProperty(createPrimitive("Currency", "EUR")));
+ .addProperty(createPrimitive("Currency", "EUR"));
+ el.setId(createId(CarsEdmProvider.ES_CARS_NAME, 5));
+ entitySet.getEntities().add(el);
for (Entity entity:entitySet.getEntities()) {
entity.setType(CarsEdmProvider.ET_CAR.getFullQualifiedNameAsString());
@@ -139,15 +151,19 @@ public class DataProvider {
private EntityCollection createManufacturers() {
EntityCollection entitySet = new EntityCollection();
- entitySet.getEntities().add(new Entity()
+ Entity el = new Entity()
.addProperty(createPrimitive("Id", 1))
.addProperty(createPrimitive("Name", "Star Powered Racing"))
- .addProperty(createAddress("Star Street 137", "Stuttgart", "70173", "Germany")));
+ .addProperty(createAddress("Star Street 137", "Stuttgart", "70173", "Germany"));
+ el.setId(createId(CarsEdmProvider.ES_MANUFACTURER_NAME, 1));
+ entitySet.getEntities().add(el);
- entitySet.getEntities().add(new Entity()
+ el = new Entity()
.addProperty(createPrimitive("Id", 2))
.addProperty(createPrimitive("Name", "Horse Powered Racing"))
- .addProperty(createAddress("Horse Street 1", "Maranello", "41053", "Italy")));
+ .addProperty(createAddress("Horse Street 1", "Maranello", "41053", "Italy"));
+ el.setId(createId(CarsEdmProvider.ES_MANUFACTURER_NAME, 2));
+ entitySet.getEntities().add(el);
for (Entity entity:entitySet.getEntities()) {
entity.setType(CarsEdmProvider.ET_MANUFACTURER.getFullQualifiedNameAsString());
@@ -168,4 +184,12 @@ public class DataProvider {
private Property createPrimitive(final String name, final Object value) {
return new Property(null, name, ValueType.PRIMITIVE, value);
}
+
+ private URI createId(String entitySetName, Object id) {
+ try {
+ return new URI(entitySetName + "(" + String.valueOf(id) + ")");
+ } catch (URISyntaxException e) {
+ throw new ODataRuntimeException("Unable to create id for entity: " + entitySetName, e);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/92fa7cd6/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java
----------------------------------------------------------------------
diff --git a/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java b/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java
index 2da26fb..dfbce28 100644
--- a/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java
+++ b/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java
@@ -105,8 +105,10 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
// Now the content is serialized using the serializer.
final ExpandOption expand = uriInfo.getExpandOption();
final SelectOption select = uriInfo.getSelectOption();
+ final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName();
InputStream serializedContent = serializer.entityCollection(edm, edmEntitySet.getEntityType(), entitySet,
EntityCollectionSerializerOptions.with()
+ .id(id)
.contextURL(isODataMetadataNone(requestedContentType) ? null :
getContextUrl(edmEntitySet, false, expand, select, null))
.count(uriInfo.getCountOption())