[OLINGO-713] Small tutorial fix

This commit is contained in:
Christia Holzer 2015-09-17 10:54:20 +02:00
parent 111308124c
commit f52404f29b
6 changed files with 41 additions and 21 deletions

View File

@ -138,7 +138,7 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
.count(uriInfo.getCountOption()) .count(uriInfo.getCountOption())
.select(selectOption) .select(selectOption)
.expand(uriInfo.getExpandOption()) .expand(uriInfo.getExpandOption())
.setId(id) .id(id)
.build(); .build();
// and serialize the content: transform from the EntitySet object to InputStream // and serialize the content: transform from the EntitySet object to InputStream

View File

@ -18,6 +18,8 @@
*/ */
package myservice.mynamespace.service; package myservice.mynamespace.service;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.List; import java.util.List;
import org.apache.olingo.commons.api.data.ContextURL; import org.apache.olingo.commons.api.data.ContextURL;
@ -27,6 +29,7 @@ import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ValueType; import org.apache.olingo.commons.api.data.ValueType;
import org.apache.olingo.commons.api.edm.EdmEntitySet; import org.apache.olingo.commons.api.edm.EdmEntitySet;
import org.apache.olingo.commons.api.edm.EdmEntityType; import org.apache.olingo.commons.api.edm.EdmEntityType;
import org.apache.olingo.commons.api.ex.ODataRuntimeException;
import org.apache.olingo.commons.api.format.ContentType; import org.apache.olingo.commons.api.format.ContentType;
import org.apache.olingo.commons.api.http.HttpHeader; import org.apache.olingo.commons.api.http.HttpHeader;
import org.apache.olingo.commons.api.http.HttpStatusCode; import org.apache.olingo.commons.api.http.HttpStatusCode;
@ -85,7 +88,7 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName(); final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName();
EntityCollectionSerializerOptions opts = EntityCollectionSerializerOptions opts =
EntityCollectionSerializerOptions.with().setId(id).contextURL(contextUrl).build(); EntityCollectionSerializerOptions.with().id(id).contextURL(contextUrl).build();
SerializerResult serializedContent = serializer.entityCollection(serviceMetadata, edmEntityType, entitySet, opts); SerializerResult serializedContent = serializer.entityCollection(serviceMetadata, edmEntityType, entitySet, opts);
// Finally: configure the response object: set the body, headers and status code // Finally: configure the response object: set the body, headers and status code
@ -102,28 +105,45 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
*/ */
private EntityCollection getData(EdmEntitySet edmEntitySet){ private EntityCollection getData(EdmEntitySet edmEntitySet){
EntityCollection entityCollection = new EntityCollection(); EntityCollection productsCollection = new EntityCollection();
// check for which EdmEntitySet the data is requested // check for which EdmEntitySet the data is requested
if(DemoEdmProvider.ES_PRODUCTS_NAME.equals(edmEntitySet.getName())) { if(DemoEdmProvider.ES_PRODUCTS_NAME.equals(edmEntitySet.getName())) {
List<Entity> entityList = entityCollection.getEntities(); List<Entity> productList = productsCollection.getEntities();
// add some sample product entities // add some sample product entities
entityList.add(new Entity() final Entity e1 = new Entity()
.addProperty(new Property(null, "ID", ValueType.PRIMITIVE, 1)) .addProperty(new Property(null, "ID", ValueType.PRIMITIVE, 1))
.addProperty(new Property(null, "Name", ValueType.PRIMITIVE, "Notebook Basic 15")) .addProperty(new Property(null, "Name", ValueType.PRIMITIVE, "Notebook Basic 15"))
.addProperty(new Property(null, "Description", ValueType.PRIMITIVE, "Notebook Basic, 1.7GHz - 15 XGA - 1024MB DDR2 SDRAM - 40GB"))); .addProperty(new Property(null, "Description", ValueType.PRIMITIVE,
"Notebook Basic, 1.7GHz - 15 XGA - 1024MB DDR2 SDRAM - 40GB"));
e1.setId(createId("Products", 1));
productList.add(e1);
entityList.add(new Entity() final Entity e2 = new Entity()
.addProperty(new Property(null, "ID", ValueType.PRIMITIVE, 2)) .addProperty(new Property(null, "ID", ValueType.PRIMITIVE, 2))
.addProperty(new Property(null, "Name", ValueType.PRIMITIVE, "1UMTS PDA")) .addProperty(new Property(null, "Name", ValueType.PRIMITIVE, "1UMTS PDA"))
.addProperty(new Property(null, "Description", ValueType.PRIMITIVE, "Ultrafast 3G UMTS/HSDPA Pocket PC, supports GSM network"))); .addProperty(new Property(null, "Description", ValueType.PRIMITIVE,
"Ultrafast 3G UMTS/HSDPA Pocket PC, supports GSM network"));
e2.setId(createId("Products", 1));
productList.add(e2);
entityList.add(new Entity() final Entity e3 = new Entity()
.addProperty(new Property(null, "ID", ValueType.PRIMITIVE, 3)) .addProperty(new Property(null, "ID", ValueType.PRIMITIVE, 3))
.addProperty(new Property(null, "Name", ValueType.PRIMITIVE, "Ergo Screen")) .addProperty(new Property(null, "Name", ValueType.PRIMITIVE, "Ergo Screen"))
.addProperty(new Property(null, "Description", ValueType.PRIMITIVE, "17 Optimum Resolution 1024 x 768 @ 85Hz, resolution 1280 x 960"))); .addProperty(new Property(null, "Description", ValueType.PRIMITIVE,
"19 Optimum Resolution 1024 x 768 @ 85Hz, resolution 1280 x 960"));
e3.setId(createId("Products", 1));
productList.add(e3);
} }
return entityCollection; return productsCollection;
}
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);
}
} }
} }

View File

@ -78,7 +78,7 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName(); final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName();
EntityCollectionSerializerOptions opts = EntityCollectionSerializerOptions opts =
EntityCollectionSerializerOptions.with().setId(id).contextURL(contextUrl).build(); EntityCollectionSerializerOptions.with().id(id).contextURL(contextUrl).build();
SerializerResult serializerResult = serializer.entityCollection(serviceMetadata, edmEntityType, entityCollection, opts); SerializerResult serializerResult = serializer.entityCollection(serviceMetadata, edmEntityType, entityCollection, opts);
InputStream serializedContent = serializerResult.getContent(); InputStream serializedContent = serializerResult.getContent();

View File

@ -134,7 +134,7 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
ContextURL contextUrl = ContextURL.with().entitySet(responseEdmEntitySet).build(); ContextURL contextUrl = ContextURL.with().entitySet(responseEdmEntitySet).build();
final String id = request.getRawBaseUri() + "/" + responseEdmEntitySet.getName(); final String id = request.getRawBaseUri() + "/" + responseEdmEntitySet.getName();
EntityCollectionSerializerOptions opts = EntityCollectionSerializerOptions.with() EntityCollectionSerializerOptions opts = EntityCollectionSerializerOptions.with()
.contextURL(contextUrl).setId(id).build(); .contextURL(contextUrl).id(id).build();
EdmEntityType edmEntityType = responseEdmEntitySet.getEntityType(); EdmEntityType edmEntityType = responseEdmEntitySet.getEntityType();
ODataSerializer serializer = odata.createSerializer(responseFormat); ODataSerializer serializer = odata.createSerializer(responseFormat);

View File

@ -135,7 +135,7 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName(); final String id = request.getRawBaseUri() + "/" + edmEntitySet.getName();
EntityCollectionSerializerOptions opts = EntityCollectionSerializerOptions opts =
EntityCollectionSerializerOptions.with().contextURL(contextUrl).setId(id).count(countOption).build(); EntityCollectionSerializerOptions.with().contextURL(contextUrl).id(id).count(countOption).build();
SerializerResult serializerResult = SerializerResult serializerResult =
serializer.entityCollection(serviceMetadata, edmEntityType, returnEntityCollection, opts); serializer.entityCollection(serviceMetadata, edmEntityType, returnEntityCollection, opts);
InputStream serializedContent = serializerResult.getContent(); InputStream serializedContent = serializerResult.getContent();

View File

@ -171,7 +171,7 @@ public class DemoEntityCollectionProcessor implements EntityCollectionProcessor
.contextURL(contextUrl) .contextURL(contextUrl)
.select(selectOption) .select(selectOption)
.expand(expandOption) .expand(expandOption)
.setId(id) .id(id)
.build(); .build();
ODataSerializer serializer = odata.createSerializer(responseFormat); ODataSerializer serializer = odata.createSerializer(responseFormat);