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 2015/01/20 15:19:48 UTC

[2/2] olingo-odata4 git commit: [OLINGO-468] Minor clean up for sample project

[OLINGO-468] Minor clean up for sample project


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/7f7369c7
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/7f7369c7
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/7f7369c7

Branch: refs/heads/master
Commit: 7f7369c7df9a93fd72c7e130753af9b772dd0b57
Parents: c16b0b9
Author: Michael Bolz <mi...@sap.com>
Authored: Tue Jan 20 15:12:10 2015 +0100
Committer: Michael Bolz <mi...@sap.com>
Committed: Tue Jan 20 15:19:27 2015 +0100

----------------------------------------------------------------------
 samples/server/pom.xml                          |  1 -
 .../server/sample/processor/CarsProcessor.java  | 68 +++++++-------------
 samples/server/src/main/webapp/index.jsp        |  5 +-
 3 files changed, 26 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/7f7369c7/samples/server/pom.xml
----------------------------------------------------------------------
diff --git a/samples/server/pom.xml b/samples/server/pom.xml
index 0589e65..529d8e7 100644
--- a/samples/server/pom.xml
+++ b/samples/server/pom.xml
@@ -23,7 +23,6 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 
-	<groupId>org.apache.olingo</groupId>
 	<artifactId>odata-server-sample</artifactId>
 	<packaging>war</packaging>
 	<name>${project.artifactId}</name>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/7f7369c7/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 f502d92..891acbb 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
@@ -47,7 +47,6 @@ import org.apache.olingo.server.api.deserializer.DeserializerException;
 import org.apache.olingo.server.api.processor.ComplexProcessor;
 import org.apache.olingo.server.api.processor.EntityCollectionProcessor;
 import org.apache.olingo.server.api.processor.EntityProcessor;
-import org.apache.olingo.server.api.processor.MediaEntityProcessor;
 import org.apache.olingo.server.api.processor.PrimitiveProcessor;
 import org.apache.olingo.server.api.processor.PrimitiveValueProcessor;
 import org.apache.olingo.server.api.serializer.ComplexSerializerOptions;
@@ -71,13 +70,13 @@ import org.apache.olingo.server.sample.data.DataProvider.DataProviderException;
  * This is a very simple example which should give you a rough guideline on how to implement such an processor.
  * See the JavaDoc of the server.api interfaces for more information.
  */
-public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor, MediaEntityProcessor,
+public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor,
     PrimitiveProcessor, PrimitiveValueProcessor, ComplexProcessor {
 
   private OData odata;
   private DataProvider dataProvider;
 
-  // This constructor is application specific and not mandatory for the olingo library. We use it here to simulate the
+  // This constructor is application specific and not mandatory for the Olingo library. We use it here to simulate the
   // database access
   public CarsProcessor(final DataProvider dataProvider) {
     this.dataProvider = dataProvider;
@@ -109,7 +108,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
     InputStream serializedContent = serializer.entityCollection(edmEntitySet.getEntityType(), entitySet,
         EntityCollectionSerializerOptions.with()
             .contextURL(format == ODataFormat.JSON_NO_METADATA ? null :
-                getContextUrl(serializer, edmEntitySet, false, expand, select, null))
+                getContextUrl(edmEntitySet, false, expand, select, null))
             .count(uriInfo.getCountOption())
             .expand(expand).select(select)
             .build());
@@ -127,7 +126,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
     final EdmEntitySet edmEntitySet = getEdmEntitySet(uriInfo.asUriInfoResource());
 
     // Next we fetch the requested entity from the database
-    Entity entity = null;
+    Entity entity;
     try {
       entity = readEntityInternal(uriInfo.asUriInfoResource(), edmEntitySet);
     } catch (DataProviderException e) {
@@ -147,7 +146,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
       InputStream serializedContent = serializer.entity(edmEntitySet.getEntityType(), entity,
           EntitySerializerOptions.with()
               .contextURL(format == ODataFormat.JSON_NO_METADATA ? null :
-                  getContextUrl(serializer, edmEntitySet, true, expand, select, null))
+                  getContextUrl(edmEntitySet, true, expand, select, null))
               .expand(expand).select(select)
               .build());
       response.setContent(serializedContent);
@@ -160,13 +159,15 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
   public void createEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo,
                            ContentType requestFormat, ContentType responseFormat)
           throws ODataApplicationException, DeserializerException, SerializerException {
-    throw new UnsupportedOperationException("Not yet implemented");
+    throw new ODataApplicationException("Entity create is not supported yet.",
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
 
   @Override
   public void deleteEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo)
           throws ODataApplicationException {
-    throw new UnsupportedOperationException("Not yet implemented");
+    throw new ODataApplicationException("Entity delete is not supported yet.",
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
 
   @Override
@@ -221,21 +222,6 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
     }
   }
 
-  @Override
-  public void readMediaEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo,
-                              ContentType responseFormat)
-          throws ODataApplicationException, SerializerException {
-    throw new UnsupportedOperationException("Not yet implemented");
-  }
-
-  @Override
-  public void updateMediaEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo,
-                                ContentType requestFormat, ContentType responseFormat)
-          throws ODataApplicationException, DeserializerException, SerializerException {
-    throw new UnsupportedOperationException("Not yet implemented");
-
-  }
-
   private void readProperty(ODataResponse response, UriInfo uriInfo, ContentType contentType,
       boolean complex) throws ODataApplicationException, SerializerException {
     // To read a property we have to first get the entity out of the entity set
@@ -244,13 +230,14 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
     try {
       entity = readEntityInternal(uriInfo.asUriInfoResource(), edmEntitySet);
     } catch (DataProviderException e) {
-      throw new ODataApplicationException(e.getMessage(), 500, Locale.ENGLISH);
+      throw new ODataApplicationException(e.getMessage(),
+              HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode(), Locale.ENGLISH);
     }
 
     if (entity == null) {
       // If no entity was found for the given key we throw an exception.
-      throw new ODataApplicationException("No entity found for this key", HttpStatusCode.NOT_FOUND
-          .getStatusCode(), Locale.ENGLISH);
+      throw new ODataApplicationException("No entity found for this key",
+              HttpStatusCode.NOT_FOUND.getStatusCode(), Locale.ENGLISH);
     } else {
       // Next we get the property value from the entity and pass the value to serialization
       UriResourceProperty uriProperty = (UriResourceProperty) uriInfo
@@ -258,8 +245,8 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
       EdmProperty edmProperty = uriProperty.getProperty();
       Property property = entity.getProperty(edmProperty.getName());
       if (property == null) {
-        throw new ODataApplicationException("No property found", HttpStatusCode.NOT_FOUND
-            .getStatusCode(), Locale.ENGLISH);
+        throw new ODataApplicationException("No property found",
+                HttpStatusCode.NOT_FOUND.getStatusCode(), Locale.ENGLISH);
       } else {
         if (property.getValue() == null) {
           response.setStatusCode(HttpStatusCode.NO_CONTENT.getStatusCode());
@@ -267,7 +254,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
           final ODataFormat format = ODataFormat.fromContentType(contentType);
           ODataSerializer serializer = odata.createSerializer(format);
           final ContextURL contextURL = format == ODataFormat.JSON_NO_METADATA ? null :
-              getContextUrl(serializer, edmEntitySet, true, null, null, edmProperty.getName());
+              getContextUrl(edmEntitySet, true, null, null, edmProperty.getName());
           InputStream serializerContent = complex ?
               serializer.complex((EdmComplexType) edmProperty.getType(), property,
                   ComplexSerializerOptions.with().contextURL(contextURL).build()) :
@@ -312,8 +299,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
     return uriResource.getEntitySet();
   }
 
-  private ContextURL getContextUrl(final ODataSerializer serializer,
-      final EdmEntitySet entitySet, final boolean isSingleEntity,
+  private ContextURL getContextUrl(final EdmEntitySet entitySet, final boolean isSingleEntity,
       final ExpandOption expand, final SelectOption select, final String navOrPropertyPath)
       throws SerializerException {
 
@@ -330,14 +316,14 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
                               final ContentType responseFormat)
           throws ODataApplicationException, DeserializerException, SerializerException {
     throw new ODataApplicationException("Primitive property update is not supported yet.",
-            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
 
   @Override
   public void deletePrimitive(ODataRequest request, ODataResponse response, UriInfo uriInfo) throws
           ODataApplicationException {
     throw new ODataApplicationException("Primitive property delete is not supported yet.",
-            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
 
   @Override
@@ -346,22 +332,14 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
                             final ContentType responseFormat)
           throws ODataApplicationException, DeserializerException, SerializerException {
     throw new ODataApplicationException("Complex property update is not supported yet.",
-            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
 
   @Override
   public void deleteComplex(final ODataRequest request, final ODataResponse response, final UriInfo uriInfo)
           throws ODataApplicationException {
     throw new ODataApplicationException("Complex property delete is not supported yet.",
-            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
-  }
-
-  @Override
-  public void createMediaEntity(final ODataRequest request, ODataResponse response, final UriInfo uriInfo,
-                                final ContentType requestFormat, final ContentType responseFormat)
-          throws ODataApplicationException, DeserializerException, SerializerException {
-    throw new ODataApplicationException("MediaEntity create is not supported yet.",
-            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
 
   @Override
@@ -370,6 +348,6 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
                            final ContentType responseFormat)
           throws ODataApplicationException, DeserializerException, SerializerException {
     throw new ODataApplicationException("Entity update is not supported yet.",
-            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH);
   }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/7f7369c7/samples/server/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/samples/server/src/main/webapp/index.jsp b/samples/server/src/main/webapp/index.jsp
index 791c433..2940a76 100644
--- a/samples/server/src/main/webapp/index.jsp
+++ b/samples/server/src/main/webapp/index.jsp
@@ -37,8 +37,9 @@
   <ul>
     <li><a href="cars.svc/">Service Document</a></li>
     <li><a href="cars.svc/$metadata">Metadata</a></li>
-    <li>Entity Set <a href="cars.svc/Cars">Cars</a></li>
-    <li>Entity <a href="cars.svc/Cars(0)">Cars(0)</a></li>
+    <li>Entity Set: <a href="cars.svc/Cars">Cars</a></li>
+    <li>Entity: <a href="cars.svc/Cars(1)">Cars(1)</a></li>
+    <li>Primitive Property: <a href="cars.svc/Cars(1)/Price">Cars(1)/Price</a></li>
   </ul>
   <hr>
   <div class="version">