[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]);
 

Reply via email to