[OLINGO-206] singleton validation added
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/1274b1e7 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/1274b1e7 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/1274b1e7 Branch: refs/heads/master Commit: 1274b1e725f05404fc30b8721e319721c36c8940 Parents: 6629384 Author: Stephan Klevenz <[email protected]> Authored: Fri Mar 21 17:31:15 2014 +0100 Committer: Stephan Klevenz <[email protected]> Committed: Fri Mar 21 17:31:15 2014 +0100 ---------------------------------------------------------------------- .../core/uri/validator/SystemQueryValidator.java | 1 + .../core/uri/validator/UriEdmValidatorTest.java | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1274b1e7/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/SystemQueryValidator.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/SystemQueryValidator.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/SystemQueryValidator.java index b294136..31604b2 100644 --- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/SystemQueryValidator.java +++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/SystemQueryValidator.java @@ -237,6 +237,7 @@ public class SystemQueryValidator { case root: break; case singleton: + idx = 9; break; case value: { int secondLastPathSegmentIndex = uriInfo.getUriResourceParts().size() - 2; http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1274b1e7/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/validator/UriEdmValidatorTest.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/validator/UriEdmValidatorTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/validator/UriEdmValidatorTest.java index 5f5758b..494f71b 100644 --- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/validator/UriEdmValidatorTest.java +++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/validator/UriEdmValidatorTest.java @@ -57,6 +57,7 @@ public class UriEdmValidatorTest { private static final String URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT = "/ESCollAllPrim/CollPropertyString/$count"; private static final String URI_PROPERTY_PRIMITIVE_VALUE = "/ESAllPrim(1)/PropertyString/$value"; + private static final String URI_SINGLETON = "/SI"; private static final String QO_FILTER = "$filter='1' eq '1'"; private static final String QO_FORMAT = "$format=bla"; @@ -121,6 +122,9 @@ public class UriEdmValidatorTest { { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_SKIPTOKEN }, { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_TOP }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_FORMAT }, + + { URI_SINGLETON, QO_FORMAT }, { URI_SINGLETON, QO_EXPAND }, { URI_SINGLETON, QO_SELECT }, + { URI_SINGLETON, QO_LEVELS }, }; private String[][] urisWithNonValidSystemQueryOptions = { @@ -210,6 +214,9 @@ public class UriEdmValidatorTest { { URI_PROPERTY_PRIMITIVE_VALUE, QO_SKIPTOKEN }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_LEVELS }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_TOP }, + { URI_SINGLETON, QO_FILTER }, { URI_SINGLETON, QO_ID }, { URI_SINGLETON, QO_COUNT }, + /* { URI_SINGLETON, QO_ORDERBY }, *//* { URI_SINGLETON, QO_SEARCH }, */{ URI_SINGLETON, QO_SKIP }, + { URI_SINGLETON, QO_SKIPTOKEN }, { URI_SINGLETON, QO_TOP }, }; private Parser parser; @@ -219,9 +226,10 @@ public class UriEdmValidatorTest { } @Test - @Ignore - public void bla() throws Exception { - String[][] m = { { URI_PROPERTY_PRIMITIVE_VALUE, QO_SELECT } }; +// @Ignore + public + void bla() throws Exception { + String[][] m = { { URI_SINGLETON, QO_SELECT } }; String[] uris = constructUri(m); System.out.println(uris[0]);
