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/14 08:01:29 UTC
[4/6] olingo-odata4 git commit: [OLINGO-507] Added methods and tests
for ActionImports support
[OLINGO-507] Added methods and tests for ActionImports support
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/2f6b35ff
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/2f6b35ff
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/2f6b35ff
Branch: refs/heads/master
Commit: 2f6b35ff5980bfb36a299cc2ae4891e43d5f4853
Parents: 186d672
Author: Michael Bolz <mi...@sap.com>
Authored: Mon Jan 12 14:48:14 2015 +0100
Committer: Michael Bolz <mi...@sap.com>
Committed: Mon Jan 12 15:20:57 2015 +0100
----------------------------------------------------------------------
.../processor/EntityCollectionProcessor.java | 16 +++
.../server/api/processor/EntityProcessor.java | 15 +++
.../apache/olingo/server/core/ODataHandler.java | 23 +++-
.../processor/TechnicalEntityProcessor.java | 18 +++
.../server/tecsvc/provider/ActionProvider.java | 119 ++++++++++---------
.../tecsvc/provider/ContainerProvider.java | 72 ++++++-----
.../server/tecsvc/provider/SchemaProvider.java | 13 +-
.../olingo/server/core/ODataHandlerTest.java | 55 +++++++--
.../serializer/xml/MetadataDocumentTest.java | 6 +-
.../server/core/uri/UriResourceImplTest.java | 8 +-
.../core/uri/antlr/TestFullResourcePath.java | 11 +-
.../core/uri/antlr/TestUriParserImpl.java | 38 +++---
.../queryoption/expression/ExpressionTest.java | 8 +-
.../core/uri/validator/UriValidatorTest.java | 7 +-
.../server/sample/processor/CarsProcessor.java | 24 +++-
15 files changed, 287 insertions(+), 146 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityCollectionProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityCollectionProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityCollectionProcessor.java
index d1c927c..91fb94c 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityCollectionProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityCollectionProcessor.java
@@ -22,6 +22,7 @@ import org.apache.olingo.commons.api.format.ContentType;
import org.apache.olingo.server.api.ODataApplicationException;
import org.apache.olingo.server.api.ODataRequest;
import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.deserializer.DeserializerException;
import org.apache.olingo.server.api.serializer.SerializerException;
import org.apache.olingo.server.api.uri.UriInfo;
@@ -41,4 +42,19 @@ public interface EntityCollectionProcessor extends Processor {
*/
void readEntityCollection(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType responseFormat)
throws ODataApplicationException, SerializerException;
+
+ /**
+ * Process an action which has as return type a collection of entities.
+ * @param request OData request object containing raw HTTP information
+ * @param response OData response object for collecting response data
+ * @param uriInfo information of a parsed OData URI
+ * @param requestFormat content type of body sent with request
+ * @param responseFormat requested content type after content negotiation
+ * @throws ODataApplicationException if the service implementation encounters a failure
+ * @throws org.apache.olingo.server.api.deserializer.DeserializerException if deserialization failed
+ * @throws SerializerException if serialization failed
+ */
+ void processEntityCollection(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType requestFormat,
+ ContentType responseFormat)
+ throws ODataApplicationException, DeserializerException, SerializerException;
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
index 6e4610b..06d88f3 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
@@ -81,4 +81,19 @@ public interface EntityProcessor extends Processor {
* @throws ODataApplicationException if the service implementation encounters a failure
*/
void deleteEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo) throws ODataApplicationException;
+
+ /**
+ * Process an action which has as return type an entity.
+ * @param request OData request object containing raw HTTP information
+ * @param response OData response object for collecting response data
+ * @param uriInfo information of a parsed OData URI
+ * @param requestFormat content type of body sent with request
+ * @param responseFormat requested content type after content negotiation
+ * @throws ODataApplicationException if the service implementation encounters a failure
+ * @throws DeserializerException if deserialization failed
+ * @throws SerializerException if serialization failed
+ */
+ void processEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType requestFormat,
+ ContentType responseFormat)
+ throws ODataApplicationException, DeserializerException, SerializerException;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
index dc78647..d14717c 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
@@ -334,7 +334,7 @@ public class ODataHandler {
switch (edmReturnTypeKind.getType().getKind()) {
case ENTITY:
- handleEntityDispatching(request, response, edmReturnTypeKind.isCollection(), false);
+ handleEntityDispatching(request, response, edmReturnTypeKind.isCollection(), false, isAction);
break;
case PRIMITIVE:
handlePrimitivePropertyDispatching(request, response, isAction, edmReturnTypeKind.isCollection());
@@ -480,7 +480,7 @@ public class ODataHandler {
.processComplex(request, response, uriInfo, requestFormat, responseFormat);
} else {
selectProcessor(ComplexCollectionProcessor.class)
- .updateComplexCollection(request, response, uriInfo, requestFormat, responseFormat);
+ .processComplexCollection(request, response, uriInfo, requestFormat, responseFormat);
}
} else if (method == HttpMethod.DELETE) {
if (complexRepresentationType == RepresentationType.COMPLEX) {
@@ -574,11 +574,11 @@ public class ODataHandler {
final UriResourcePartTyped uriResourcePart)
throws ContentNegotiatorException, ODataApplicationException, SerializerException, ODataHandlerException,
DeserializerException {
- handleEntityDispatching(request, response, uriResourcePart.isCollection(), isMedia(uriResourcePart));
+ handleEntityDispatching(request, response, uriResourcePart.isCollection(), isMedia(uriResourcePart), false);
}
private void handleEntityDispatching(final ODataRequest request, final ODataResponse response,
- final boolean isCollection, final boolean isMedia)
+ final boolean isCollection, final boolean isMedia, boolean isAction)
throws ContentNegotiatorException, ODataApplicationException, SerializerException, ODataHandlerException,
DeserializerException {
@@ -591,14 +591,19 @@ public class ODataHandler {
selectProcessor(EntityCollectionProcessor.class)
.readEntityCollection(request, response, uriInfo, requestedContentType);
} else if (method == HttpMethod.POST) {
- if (isMedia) {
final ContentType requestFormat = ContentType.parse(request.getHeader(HttpHeader.CONTENT_TYPE));
+ if (isMedia) {
final ContentType responseFormat = ContentNegotiator.doContentNegotiation(uriInfo.getFormatOption(),
request, customContentTypeSupport, RepresentationType.ENTITY);
selectProcessor(MediaEntityProcessor.class)
.createMediaEntity(request, response, uriInfo, requestFormat, responseFormat);
+ } else if(isAction) {
+ checkContentTypeSupport(requestFormat, RepresentationType.ENTITY);
+ final ContentType responseFormat = ContentNegotiator.doContentNegotiation(uriInfo.getFormatOption(),
+ request, customContentTypeSupport, RepresentationType.ENTITY);
+ selectProcessor(EntityCollectionProcessor.class)
+ .processEntityCollection(request, response, uriInfo, requestFormat, responseFormat);
} else {
- final ContentType requestFormat = ContentType.parse(request.getHeader(HttpHeader.CONTENT_TYPE));
checkContentTypeSupport(requestFormat, RepresentationType.ENTITY);
final ContentType responseFormat = ContentNegotiator.doContentNegotiation(uriInfo.getFormatOption(),
request, customContentTypeSupport, RepresentationType.ENTITY);
@@ -621,6 +626,12 @@ public class ODataHandler {
final ContentType responseFormat = ContentNegotiator.doContentNegotiation(uriInfo.getFormatOption(),
request, customContentTypeSupport, RepresentationType.ENTITY);
selectProcessor(EntityProcessor.class).updateEntity(request, response, uriInfo, requestFormat, responseFormat);
+ } else if (method == HttpMethod.POST && isAction) {
+ final ContentType requestFormat = ContentType.parse(request.getHeader(HttpHeader.CONTENT_TYPE));
+ checkContentTypeSupport(requestFormat, RepresentationType.ENTITY);
+ final ContentType responseFormat = ContentNegotiator.doContentNegotiation(uriInfo.getFormatOption(),
+ request, customContentTypeSupport, RepresentationType.ENTITY);
+ selectProcessor(EntityProcessor.class).processEntity(request, response, uriInfo, requestFormat, responseFormat);
} else if (method == HttpMethod.DELETE) {
selectProcessor(isMedia ? MediaEntityProcessor.class : EntityProcessor.class)
.deleteEntity(request, response, uriInfo);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/TechnicalEntityProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/TechnicalEntityProcessor.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/TechnicalEntityProcessor.java
index b1f3ba4..e5bd0ff 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/TechnicalEntityProcessor.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/TechnicalEntityProcessor.java
@@ -90,6 +90,15 @@ public class TechnicalEntityProcessor extends TechnicalProcessor
}
@Override
+ public void processEntityCollection(final ODataRequest request, final ODataResponse response,
+ final UriInfo uriInfo,
+ final ContentType requestFormat, final ContentType responseFormat)
+ throws ODataApplicationException, DeserializerException, SerializerException {
+ throw new ODataApplicationException("Process entity collection is not supported yet.",
+ HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+ }
+
+ @Override
public void countEntityCollection(final ODataRequest request, ODataResponse response, final UriInfo uriInfo)
throws ODataApplicationException, SerializerException {
validateOptions(uriInfo.asUriInfoResource());
@@ -247,6 +256,15 @@ public class TechnicalEntityProcessor extends TechnicalProcessor
}
}
+ @Override
+ public void processEntity(final ODataRequest request, final ODataResponse response,
+ final UriInfo uriInfo, final ContentType requestFormat,
+ final ContentType responseFormat)
+ throws ODataApplicationException, DeserializerException, SerializerException {
+ throw new ODataApplicationException("Process entity is not supported yet.",
+ HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+ }
+
private void blockNavigation(final UriInfo uriInfo) throws ODataApplicationException {
final List<UriResource> parts = uriInfo.asUriInfoResource().getUriResourceParts();
if (parts.size() > 2
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ActionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ActionProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ActionProvider.java
index d204bf4..5ff2db5 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ActionProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ActionProvider.java
@@ -21,6 +21,7 @@ package org.apache.olingo.server.tecsvc.provider;
import org.apache.olingo.commons.api.ODataException;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.server.api.edm.provider.Action;
+import org.apache.olingo.server.api.edm.provider.ComplexType;
import org.apache.olingo.server.api.edm.provider.Parameter;
import org.apache.olingo.server.api.edm.provider.ReturnType;
@@ -48,83 +49,89 @@ public class ActionProvider {
// Unbound Actions
public static final FullQualifiedName nameUARTString = new FullQualifiedName(SchemaProvider.NAMESPACE,
"UARTString");
- public static final FullQualifiedName nameUARTCompCollParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
- "UARTCompCollParam");
- public static final FullQualifiedName nameUARTCompParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
- "UARTCompParam");
- public static final FullQualifiedName nameUARTESParam =
- new FullQualifiedName(SchemaProvider.NAMESPACE, "UARTESParam");
+ public static final FullQualifiedName nameUARTCollStringTwoParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
+ "UARTCollStringTwoParam");
+ public static final FullQualifiedName nameUARTCollCTTwoPrimParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
+ "UARTCollCTTwoPrimParam");
+ public static final FullQualifiedName nameUARTCTTwoPrimParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
+ "UARTCTTwoPrimParam");
+ public static final FullQualifiedName nameUARTETTwoKeyTwoPrimParam =
+ new FullQualifiedName(SchemaProvider.NAMESPACE, "UARTETTwoKeyTwoPrimParam");
+ public static final FullQualifiedName nameUARTCollETKeyNavParam =
+ new FullQualifiedName(SchemaProvider.NAMESPACE, "UARTCollETKeyNavParam");
+ public static final FullQualifiedName nameUARTETAllPrimParam =
+ new FullQualifiedName(SchemaProvider.NAMESPACE, "UARTETAllPrimParam");
+ public static final FullQualifiedName nameUARTCollETAllPrimParam =
+ new FullQualifiedName(SchemaProvider.NAMESPACE, "UARTCollETAllPrimParam");
- public static final FullQualifiedName nameUARTETParam =
- new FullQualifiedName(SchemaProvider.NAMESPACE, "UARTETParam");
-
- public static final FullQualifiedName nameUARTPrimParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
- "UARTPrimParam");
- public static final FullQualifiedName nameUARTPrimCollParam = new FullQualifiedName(SchemaProvider.NAMESPACE,
- "UARTPrimCollParam");
public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
if (actionName.equals(nameUARTString)) {
return Arrays.asList(
new Action().setName(nameUARTString.getName())
- .setReturnType(new ReturnType().setType(PropertyProvider.nameString))
+ .setReturnType(new ReturnType().setType(PropertyProvider.nameString))
);
- } else if (actionName.equals(nameUARTPrimParam)) {
+ } else if (actionName.equals(nameUARTCollStringTwoParam)) {
return Arrays.asList(
- new Action().setName("UARTPrimParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
-
- .setReturnType(new ReturnType().setType(PropertyProvider.nameString))
- );
+ new Action().setName(nameUARTCollStringTwoParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setReturnType(new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ );
- } else if (actionName.equals(nameUARTPrimCollParam)) {
+ } else if (actionName.equals(nameUARTCTTwoPrimParam)) {
return Arrays.asList(
- new Action().setName("UARTPrimCollParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
-
- .setReturnType(
- new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
- );
+ new Action().setName(nameUARTCTTwoPrimParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ );
- } else if (actionName.equals(nameUARTCompParam)) {
+ } else if (actionName.equals(nameUARTCollCTTwoPrimParam)) {
return Arrays.asList(
- new Action().setName("UARTCompParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
-
- .setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
- );
+ new Action().setName(nameUARTCollCTTwoPrimParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
- } else if (actionName.equals(nameUARTCompCollParam)) {
+ } else if (actionName.equals(nameUARTETTwoKeyTwoPrimParam)) {
return Arrays.asList(
- new Action().setName("UARTCompCollParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Action().setName(nameUARTETTwoKeyTwoPrimParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyTwoPrim))
+ );
- .setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ } else if (actionName.equals(nameUARTCollETKeyNavParam)) {
+ return Arrays.asList(
+ new Action().setName(nameUARTCollETKeyNavParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setCollection(true))
);
- } else if (actionName.equals(nameUARTETParam)) {
+ } else if (actionName.equals(nameUARTETAllPrimParam)) {
return Arrays.asList(
- new Action().setName("UARTETParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
- .setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyTwoPrim))
+ new Action().setName(nameUARTETAllPrimParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterDate").setType(PropertyProvider.nameDate)))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim))
);
- } else if (actionName.equals(nameUARTESParam)) {
+ } else if (actionName.equals(nameUARTCollETAllPrimParam)) {
return Arrays.asList(
- new Action().setName("UARTESParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
- .setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setCollection(true))
- );
+ new Action().setName(nameUARTCollETAllPrimParam.getName())
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterTimeOfDay").setType(PropertyProvider.nameInt16)))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true))
+ );
} else if (actionName.equals(nameBAETTwoKeyNavRTETTwoKeyNav)) {
return Arrays.asList(
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
index dfdd4e2..84ec4c4 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
@@ -36,6 +36,14 @@ import java.util.List;
public class ContainerProvider {
public static final FullQualifiedName nameContainer = new FullQualifiedName(SchemaProvider.NAMESPACE, "Container");
+ public static final String AIRT_STRING = "AIRTString";
+ public static final String AIRT_COLL_STRING_TWO_PARAM = "AIRTCollStringTwoParam";
+ public static final String AIRTCT_TWO_PRIM_PARAM = "AIRTCTTwoPrimParam";
+ public static final String AIRT_COLL_CT_TWO_PRIM_PARAM = "AIRTCollCTTwoPrimParam";
+ public static final String AIRTET_TWO_KEY_TWO_PRIM_PARAM = "AIRTETTwoKeyTwoPrimParam";
+ public static final String AIRT_COLL_ET_KEY_NAV_PARAM = "AIRTCollETKeyNavParam";
+ public static final String AIRTES_ALL_PRIM_PARAM = "AIRTESAllPrimParam";
+ public static final String AIRT_COLL_ES_ALL_PRIM_PARAM = "AIRTCollESAllPrimParam";
EntityContainerInfo entityContainerInfoTest1 =
new EntityContainerInfo().setContainerName(nameContainer);
@@ -98,13 +106,14 @@ public class ContainerProvider {
// ActionImports
List<ActionImport> actionImports = new ArrayList<ActionImport>();
container.setActionImports(actionImports);
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTString"));
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimParam"));
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimCollParam"));
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompParam"));
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompCollParam"));
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETParam"));
- actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETCollAllPrimParam"));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRT_STRING));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRT_COLL_STRING_TWO_PARAM));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRTCT_TWO_PRIM_PARAM));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRT_COLL_CT_TWO_PRIM_PARAM));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRTET_TWO_KEY_TWO_PRIM_PARAM));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRT_COLL_ET_KEY_NAV_PARAM));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRTES_ALL_PRIM_PARAM));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, AIRT_COLL_ES_ALL_PRIM_PARAM));
// FunctionImports
List<FunctionImport> functionImports = new ArrayList<FunctionImport>();
@@ -259,43 +268,48 @@ public class ContainerProvider {
return null;
}
- public ActionImport getActionImport(final FullQualifiedName entityContainer, final String name) throws ODataException
- {
+ public ActionImport getActionImport(final FullQualifiedName entityContainer, final String name)
+ throws ODataException {
if (entityContainer.equals(nameContainer)) {
- if (name.equals("AIRTString")) {
+ if (name.equals(AIRT_STRING)) {
return new ActionImport()
- .setName("AIRTString")
+ .setName(AIRT_STRING)
.setAction(ActionProvider.nameUARTString);
- } else if (name.equals("AIRTPrimParam")) {
+ } else if (name.equals(AIRT_COLL_STRING_TWO_PARAM)) {
return new ActionImport()
- .setName("AIRTPrimParam")
- .setAction(ActionProvider.nameUARTPrimParam);
+ .setName(AIRT_COLL_STRING_TWO_PARAM)
+ .setAction(ActionProvider.nameUARTCollStringTwoParam);
- } else if (name.equals("AIRTPrimCollParam")) {
+ } else if (name.equals(AIRTCT_TWO_PRIM_PARAM)) {
return new ActionImport()
- .setName("AIRTPrimCollParam")
- .setAction(ActionProvider.nameUARTPrimCollParam);
+ .setName(AIRTCT_TWO_PRIM_PARAM)
+ .setAction(ActionProvider.nameUARTCTTwoPrimParam);
- } else if (name.equals("AIRTCompParam")) {
+ } else if (name.equals(AIRT_COLL_CT_TWO_PRIM_PARAM)) {
return new ActionImport()
- .setName("AIRTCompParam")
- .setAction(ActionProvider.nameUARTCompParam);
+ .setName(AIRT_COLL_CT_TWO_PRIM_PARAM)
+ .setAction(ActionProvider.nameUARTCollCTTwoPrimParam);
- } else if (name.equals("AIRTCompCollParam")) {
+ } else if (name.equals(AIRTET_TWO_KEY_TWO_PRIM_PARAM)) {
return new ActionImport()
- .setName("AIRTCompCollParam")
- .setAction(ActionProvider.nameUARTCompCollParam);
+ .setName(AIRTET_TWO_KEY_TWO_PRIM_PARAM)
+ .setAction(ActionProvider.nameUARTETTwoKeyTwoPrimParam);
- } else if (name.equals("AIRTETParam")) {
+ } else if (name.equals(AIRT_COLL_ET_KEY_NAV_PARAM)) {
return new ActionImport()
- .setName("AIRTETParam")
- .setAction(ActionProvider.nameUARTETParam);
+ .setName(AIRT_COLL_ET_KEY_NAV_PARAM)
+ .setAction(ActionProvider.nameUARTCollETKeyNavParam);
- } else if (name.equals("AIRTETCollAllPrimParam")) {
+ } else if (name.equals(AIRTES_ALL_PRIM_PARAM)) {
return new ActionImport()
- .setName("AIRTETCollAllPrimParam")
- .setAction(ActionProvider.nameUARTESParam);
+ .setName(AIRTES_ALL_PRIM_PARAM)
+ .setAction(ActionProvider.nameUARTETAllPrimParam);
+
+ } else if (name.equals(AIRT_COLL_ES_ALL_PRIM_PARAM)) {
+ return new ActionImport()
+ .setName(AIRT_COLL_ES_ALL_PRIM_PARAM)
+ .setAction(ActionProvider.nameUARTCollETAllPrimParam);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java
index 4806857..d2c1955 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java
@@ -108,12 +108,13 @@ public class SchemaProvider {
actions.addAll(prov.getActions(ActionProvider.nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav));
actions.addAll(prov.getActions(ActionProvider.nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav));
actions.addAll(prov.getActions(ActionProvider.nameUARTString));
- actions.addAll(prov.getActions(ActionProvider.nameUARTPrimParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTPrimCollParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTCompParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTCompCollParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTETParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTESParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCollStringTwoParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCTTwoPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCollCTTwoPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTETTwoKeyTwoPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCollETKeyNavParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTETAllPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCollETAllPrimParam));
// Functions
List<Function> functions = new ArrayList<Function>();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
index 03e5213..c7181d8 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
@@ -67,6 +67,7 @@ import org.apache.olingo.server.api.processor.ReferenceCollectionProcessor;
import org.apache.olingo.server.api.processor.ReferenceProcessor;
import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
import org.apache.olingo.server.api.uri.UriInfo;
+import org.apache.olingo.server.tecsvc.provider.ContainerProvider;
import org.apache.olingo.server.tecsvc.provider.EdmTechProvider;
import org.junit.Test;
@@ -318,21 +319,57 @@ public class ODataHandlerTest {
@Test
public void dispatchAction() throws Exception {
- final String uri = "AIRTString";
+ PrimitiveProcessor primitiveProcessor = mock(PrimitiveProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRT_STRING, primitiveProcessor);
+ verify(primitiveProcessor).processPrimitive(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
- PrimitiveProcessor processor = mock(PrimitiveProcessor.class);
- dispatch(HttpMethod.POST, uri, processor);
- verify(processor).processPrimitive(
+ PrimitiveCollectionProcessor primitiveCollectionProcessor = mock(PrimitiveCollectionProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRT_COLL_STRING_TWO_PARAM, primitiveCollectionProcessor);
+ verify(primitiveCollectionProcessor).processPrimitiveCollection(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
+
+ ComplexProcessor complexProcessor = mock(ComplexProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRTCT_TWO_PRIM_PARAM, complexProcessor);
+ verify(complexProcessor).processComplex(
any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
any(ContentType.class), any(ContentType.class));
-// dispatch(HttpMethod.POST, uri, processor);
-// verify(processor).readEntity(
-// any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class), any(ContentType.class));
+ ComplexCollectionProcessor complexCollectionProcessor = mock(ComplexCollectionProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRT_COLL_CT_TWO_PRIM_PARAM, complexCollectionProcessor);
+ verify(complexCollectionProcessor).processComplexCollection(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
- dispatchMethodNotAllowed(HttpMethod.GET, uri, processor);
- }
+ EntityProcessor entityProcessor = mock(EntityProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRTET_TWO_KEY_TWO_PRIM_PARAM, entityProcessor);
+ verify(entityProcessor).processEntity(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
+
+ EntityCollectionProcessor entityCollectionProcessor = mock(EntityCollectionProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRT_COLL_ET_KEY_NAV_PARAM, entityCollectionProcessor);
+ verify(entityCollectionProcessor).processEntityCollection(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
+ EntityProcessor entityProcessorEs = mock(EntityProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRTES_ALL_PRIM_PARAM, entityProcessorEs);
+ verify(entityProcessorEs).processEntity(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
+
+ EntityCollectionProcessor entityCollectionProcessorEs = mock(EntityCollectionProcessor.class);
+ dispatch(HttpMethod.POST, ContainerProvider.AIRT_COLL_ES_ALL_PRIM_PARAM, entityCollectionProcessorEs);
+ verify(entityCollectionProcessorEs).processEntityCollection(
+ any(ODataRequest.class), any(ODataResponse.class), any(UriInfo.class),
+ any(ContentType.class), any(ContentType.class));
+
+ dispatchMethodNotAllowed(HttpMethod.GET, "AIRTString", mock(Processor.class));
+ }
+
@Test
public void dispatchEntity() throws Exception {
final String uri = "ESAllPrim(0)";
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
index 5055b6b..2ee6320 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
@@ -89,9 +89,9 @@ public class MetadataDocumentTest {
// TODO: TypeDefinition
// assertThat(metadata, containsString("<TypeDefinition Name=\"typeDef\" Type=\"Edm.Int16\"/>"));
- assertThat(metadata, containsString("<Action Name=\"UARTPrimParam\" IsBound=\"false\">"
+ assertThat(metadata, containsString("<Action Name=\"UARTCTTwoPrimParam\" IsBound=\"false\">"
+ "<Parameter Name=\"ParameterInt16\" Type=\"Edm.Int16\"/>"
- + "<ReturnType Type=\"Edm.String\"/></Action>"));
+ + "<ReturnType Type=\"Namespace1_Alias.CTTwoPrim\"/></Action>"));
assertThat(metadata,
containsString("<Action Name=\"BAESAllPrimRTETAllPrim\" IsBound=\"true\">"
@@ -120,7 +120,7 @@ public class MetadataDocumentTest {
+ "</Singleton>"));
assertThat(metadata,
- containsString("<ActionImport Name=\"AIRTPrimParam\" Action=\"Namespace1_Alias.UARTPrimParam\"/>"));
+ containsString("<ActionImport Name=\"AIRTCTTwoPrimParam\" Action=\"Namespace1_Alias.UARTCTTwoPrimParam\"/>"));
assertThat(metadata,
containsString("<FunctionImport Name=\"FINInvisible2RTInt16\" Function=\"Namespace1_Alias.UFNRTInt16\" "
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
index ba808ee..c08e37f 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
@@ -76,19 +76,19 @@ public class UriResourceImplTest {
assertEquals("", impl.toString());
// action
- EdmAction action = edm.getUnboundAction(ActionProvider.nameUARTETParam);
+ EdmAction action = edm.getUnboundAction(ActionProvider.nameUARTETTwoKeyTwoPrimParam);
impl.setAction(action);
assertEquals(action, impl.getAction());
- assertEquals(ActionProvider.nameUARTETParam.getName(), impl.toString());
+ assertEquals(ActionProvider.nameUARTETTwoKeyTwoPrimParam.getName(), impl.toString());
// action import
impl = new UriResourceActionImpl();
- EdmActionImport actionImport = edm.getEntityContainer(null).getActionImport("AIRTPrimParam");
+ EdmActionImport actionImport = edm.getEntityContainer(null).getActionImport("AIRTCTTwoPrimParam");
impl.setActionImport(actionImport);
assertEquals(actionImport, impl.getActionImport());
assertEquals(actionImport.getUnboundAction(), impl.getAction());
assertEquals(false, impl.isCollection());
- assertEquals("AIRTPrimParam", impl.toString());
+ assertEquals("AIRTCTTwoPrimParam", impl.toString());
assertEquals(actionImport.getUnboundAction().getReturnType().getType(), impl.getType());
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
index 0243452..81235ab 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
@@ -35,10 +35,13 @@ import org.apache.olingo.server.core.uri.testutil.EdmTechTestProvider;
import org.apache.olingo.server.core.uri.testutil.FilterValidator;
import org.apache.olingo.server.core.uri.testutil.ResourceValidator;
import org.apache.olingo.server.core.uri.testutil.TestUriValidator;
+import org.apache.olingo.server.tecsvc.provider.ActionProvider;
import org.apache.olingo.server.tecsvc.provider.ComplexTypeProvider;
+import org.apache.olingo.server.tecsvc.provider.ContainerProvider;
import org.apache.olingo.server.tecsvc.provider.EntityTypeProvider;
import org.apache.olingo.server.tecsvc.provider.EnumTypeProvider;
import org.apache.olingo.server.tecsvc.provider.PropertyProvider;
+import org.apache.olingo.server.tecsvc.provider.SchemaProvider;
import org.junit.Ignore;
import org.junit.Test;
@@ -2724,15 +2727,15 @@ public class TestFullResourcePath {
.isType(PropertyProvider.nameString)
.isParameter(0, "ParameterInt16", "1");
- testUri.run("AIRTETParam")
+ testUri.run(ContainerProvider.AIRT_STRING)
.isKind(UriInfoKind.resource)
.goPath().first()
- .isActionImport("AIRTETParam");
+ .isActionImport(ContainerProvider.AIRT_STRING);
- testUri.run("AIRTPrimParam")
+ testUri.run(ContainerProvider.AIRT_COLL_ES_ALL_PRIM_PARAM)
.isKind(UriInfoKind.resource)
.goPath().first()
- .isActionImport("AIRTPrimParam");
+ .isActionImport(ContainerProvider.AIRT_COLL_ES_ALL_PRIM_PARAM);
testUri.run("ESKeyNav/$count")
.isKind(UriInfoKind.resource)
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
index a9a05d4..9157d2a 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
@@ -36,7 +36,9 @@ import org.apache.olingo.server.core.uri.testutil.FilterValidator;
import org.apache.olingo.server.core.uri.testutil.ResourceValidator;
import org.apache.olingo.server.core.uri.testutil.TestUriValidator;
import org.apache.olingo.server.core.uri.validator.UriValidationException;
+import org.apache.olingo.server.tecsvc.provider.ActionProvider;
import org.apache.olingo.server.tecsvc.provider.ComplexTypeProvider;
+import org.apache.olingo.server.tecsvc.provider.ContainerProvider;
import org.apache.olingo.server.tecsvc.provider.EntityTypeProvider;
import org.apache.olingo.server.tecsvc.provider.PropertyProvider;
import org.junit.Test;
@@ -160,37 +162,37 @@ public class TestUriParserImpl {
@Test
public void runActionImport_VarReturnType() {
- testRes.run("AIRTPrimParam").isKind(UriInfoKind.resource)
+ testRes.run(ContainerProvider.AIRT_STRING).isKind(UriInfoKind.resource)
.first()
- .isActionImport("AIRTPrimParam")
- .isAction("UARTPrimParam")
+ .isActionImport(ContainerProvider.AIRT_STRING)
+ .isAction(ActionProvider.nameUARTString.getName())
.isType(PropertyProvider.nameString, false);
- testRes.run("AIRTPrimCollParam").isKind(UriInfoKind.resource)
- .first()
- .isActionImport("AIRTPrimCollParam")
- .isAction("UARTPrimCollParam")
- .isType(PropertyProvider.nameString, true);
+ testRes.run(ContainerProvider.AIRT_COLL_STRING_TWO_PARAM).isKind(UriInfoKind.resource)
+ .first()
+ .isActionImport(ContainerProvider.AIRT_COLL_STRING_TWO_PARAM)
+ .isAction(ActionProvider.nameUARTCollStringTwoParam.getName())
+ .isType(PropertyProvider.nameString, true);
- testRes.run("AIRTCompParam").isKind(UriInfoKind.resource)
+ testRes.run(ContainerProvider.AIRTCT_TWO_PRIM_PARAM).isKind(UriInfoKind.resource)
.first()
- .isActionImport("AIRTCompParam")
- .isAction("UARTCompParam")
+ .isActionImport(ContainerProvider.AIRTCT_TWO_PRIM_PARAM)
+ .isAction(ActionProvider.nameUARTCTTwoPrimParam.getName())
.isType(ComplexTypeProvider.nameCTTwoPrim, false);
- testRes.run("AIRTCompCollParam").isKind(UriInfoKind.resource)
+ testRes.run(ContainerProvider.AIRT_COLL_CT_TWO_PRIM_PARAM).isKind(UriInfoKind.resource)
.first()
- .isActionImport("AIRTCompCollParam")
- .isAction("UARTCompCollParam")
+ .isActionImport(ContainerProvider.AIRT_COLL_CT_TWO_PRIM_PARAM)
+ .isAction(ActionProvider.nameUARTCollCTTwoPrimParam.getName())
.isType(ComplexTypeProvider.nameCTTwoPrim, true);
- testRes.run("AIRTETParam").isKind(UriInfoKind.resource)
+ testRes.run(ContainerProvider.AIRTET_TWO_KEY_TWO_PRIM_PARAM).isKind(UriInfoKind.resource)
.first()
- .isActionImport("AIRTETParam")
- .isAction("UARTETParam")
+ .isActionImport(ContainerProvider.AIRTET_TWO_KEY_TWO_PRIM_PARAM)
+ .isAction(ActionProvider.nameUARTETTwoKeyTwoPrimParam.getName())
.isType(EntityTypeProvider.nameETTwoKeyTwoPrim, false);
- testUri.runEx("AIRTPrimParam/invalidElement")
+ testUri.runEx(ContainerProvider.AIRT_STRING + "/invalidElement")
.isExSemantic(UriParserSemanticException.MessageKeys.RESOURCE_PART_MUST_BE_PRECEDED_BY_STRUCTURAL_TYPE);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
index a44c353..51e5a83 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
@@ -135,7 +135,7 @@ public class ExpressionTest {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
// UriResourceImplTyped
- EdmAction action = edm.getUnboundAction(ActionProvider.nameUARTPrimParam);
+ EdmAction action = edm.getUnboundAction(ActionProvider.nameUARTString);
UriInfoResource uriInfo = new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceActionImpl().setAction(action)).asUriInfoResource();
expression.setResourcePath(uriInfo);
@@ -143,20 +143,20 @@ public class ExpressionTest {
// check accept and path
assertEquals(uriInfo, expression.getResourcePath());
- assertEquals("<UARTPrimParam>", expression.accept(new FilterTreeToText()));
+ assertEquals("<UARTString>", expression.accept(new FilterTreeToText()));
// UriResourceImplTyped check collection = false case
assertEquals(false, expression.isCollection());
// UriResourceImplTyped check collection = true case
- action = edm.getUnboundAction(ActionProvider.nameUARTPrimCollParam);
+ action = edm.getUnboundAction(ActionProvider.nameUARTCollStringTwoParam);
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceActionImpl().setAction(action))
.asUriInfoResource());
assertEquals(true, expression.isCollection());
// UriResourceImplTyped with filter
- action = edm.getUnboundAction(ActionProvider.nameUARTPrimParam);
+ action = edm.getUnboundAction(ActionProvider.nameUARTString);
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceActionImpl().setAction(action).setTypeFilter(entityType))
.asUriInfoResource());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
index 9ad799a..bdde9ce 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
@@ -27,6 +27,7 @@ import org.apache.olingo.server.core.uri.parser.UriParserException;
import org.apache.olingo.server.core.uri.parser.UriParserSemanticException;
import org.apache.olingo.server.core.uri.parser.UriParserSyntaxException;
import org.apache.olingo.server.core.uri.testutil.TestUriValidator;
+import org.apache.olingo.server.tecsvc.provider.ContainerProvider;
import org.apache.olingo.server.tecsvc.provider.EdmTechProvider;
import org.junit.Test;
@@ -152,9 +153,9 @@ public class UriValidatorTest {
{ "ESTwoKeyNav/olingo.odata.test1.BAESTwoKeyNavRTESTwoKeyNav" },
{ "ESAllPrim/olingo.odata.test1.BAESAllPrimRTETAllPrim" },
- { "AIRTPrimCollParam" },
- { "AIRTETParam" },
- { "AIRTPrimParam" }
+ { ContainerProvider.AIRT_COLL_STRING_TWO_PARAM },
+ { ContainerProvider.AIRTET_TWO_KEY_TWO_PRIM_PARAM },
+ { ContainerProvider.AIRT_STRING }
};
private String[][] urisWithNonValidSystemQueryOptions = {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/2f6b35ff/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 f3747dc..85a8c62 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
@@ -55,9 +55,7 @@ import org.apache.olingo.server.api.serializer.EntityCollectionSerializerOptions
import org.apache.olingo.server.api.serializer.EntitySerializerOptions;
import org.apache.olingo.server.api.serializer.ODataSerializer;
import org.apache.olingo.server.api.serializer.PrimitiveSerializerOptions;
-import org.apache.olingo.server.api.serializer.RepresentationType;
import org.apache.olingo.server.api.serializer.SerializerException;
-import org.apache.olingo.server.api.uri.UriHelper;
import org.apache.olingo.server.api.uri.UriInfo;
import org.apache.olingo.server.api.uri.UriInfoResource;
import org.apache.olingo.server.api.uri.UriResource;
@@ -123,6 +121,15 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
}
@Override
+ public void processEntityCollection(final ODataRequest request, final ODataResponse response,
+ final UriInfo uriInfo,
+ final ContentType requestFormat, final ContentType responseFormat)
+ throws ODataApplicationException, DeserializerException, SerializerException {
+ throw new ODataApplicationException("Process entity collection is not supported yet.",
+ HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+ }
+
+ @Override
public void readEntity(final ODataRequest request, ODataResponse response, final UriInfo uriInfo,
final ContentType requestedContentType) throws ODataApplicationException, SerializerException {
// First we have to figure out which entity set the requested entity is in
@@ -172,6 +179,15 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
}
@Override
+ public void processEntity(final ODataRequest request, final ODataResponse response,
+ final UriInfo uriInfo, final ContentType requestFormat,
+ final ContentType responseFormat)
+ throws ODataApplicationException, DeserializerException, SerializerException {
+ throw new ODataApplicationException("Process entity is not supported yet.",
+ HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
+ }
+
+ @Override
public void readPrimitive(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType format)
throws ODataApplicationException, SerializerException {
readProperty(response, uriInfo, format, false);
@@ -341,7 +357,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
final UriInfo uriInfo, final ContentType requestFormat,
final ContentType responseFormat)
throws ODataApplicationException, DeserializerException, SerializerException {
- throw new ODataApplicationException("Process Primitive property update is not supported yet.",
+ throw new ODataApplicationException("Process Primitive property is not supported yet.",
HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
}
@@ -359,7 +375,7 @@ public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor
final UriInfo uriInfo, final ContentType requestFormat,
final ContentType responseFormat)
throws ODataApplicationException, DeserializerException, SerializerException {
- throw new ODataApplicationException("Process Complex property update is not supported yet.",
+ throw new ODataApplicationException("Process Complex property is not supported yet.",
HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ROOT);
}