You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ar...@apache.org on 2017/06/08 10:18:40 UTC

olingo-odata2 git commit: [OLINGO-1133]Support for Accept-Language value xx-xxx-xx format

Repository: olingo-odata2
Updated Branches:
  refs/heads/master e55daaa25 -> 10133c534


[OLINGO-1133]Support for Accept-Language value xx-xxx-xx format


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/10133c53
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/10133c53
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/10133c53

Branch: refs/heads/master
Commit: 10133c5343cda86f9517eedb5be78182099d725b
Parents: e55daaa
Author: Archana Rai <ar...@sap.com>
Authored: Thu Jun 8 15:40:00 2017 +0530
Committer: Archana Rai <ar...@sap.com>
Committed: Thu Jun 8 15:40:00 2017 +0530

----------------------------------------------------------------------
 format.diff                                     | 80 ++++++++++++++++++++
 .../olingo/odata2/core/batch/AcceptParser.java  |  2 +-
 .../odata2/core/batch/AcceptParserTest.java     | 47 +++++++++++-
 3 files changed, 127 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/10133c53/format.diff
----------------------------------------------------------------------
diff --git a/format.diff b/format.diff
new file mode 100644
index 0000000..aeaa8ee
--- /dev/null
+++ b/format.diff
@@ -0,0 +1,80 @@
+From f833e7daf941275de72e3b4819221a28a747dc52 Mon Sep 17 00:00:00 2001
+From: Archana Rai <ar...@sap.com>
+Date: Mon, 29 May 2017 13:45:48 +0530
+Subject: [PATCH] [OLINGO-1133]Support for Accept-Language value xx-xxx-xx format
+
+Change-Id: Idabd1112b32f0ae433a319065924a84f4583c0a7
+Signed-off-by: Archana Rai <ar...@sap.com>
+---
+
+diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
+index 3130942..f1c2e73 100644
+--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
++++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
+@@ -40,7 +40,7 @@
+   private static final Pattern REG_EX_ACCEPT_WITH_Q_FACTOR = Pattern.compile(REG_EX_ACCEPT + "(?:;"
+       + REG_EX_OPTIONAL_WHITESPACE + REG_EX_QUALITY_FACTOR + ")?");
+   private static final Pattern REG_EX_ACCEPT_LANGUAGES = Pattern
+-      .compile("((?:(?:[a-z]{1,8})|(?:\\*))\\-?(?:[a-zA-Z0-9]{1,8})?)");
++      .compile("((?:(?:[a-z]{1,8})|(?:\\*))(?:-[a-zA-Z0-9]{1,8}){0,3})");
+   private static final Pattern REG_EX_ACCEPT_LANGUAGES_WITH_Q_FACTOR = Pattern.compile(REG_EX_ACCEPT_LANGUAGES + "(?:;"
+       + REG_EX_OPTIONAL_WHITESPACE + REG_EX_QUALITY_FACTOR + ")?");
+ 
+diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
+index b1baaa7..23e9858 100644
+--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
++++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
+@@ -78,7 +78,52 @@
+     assertEquals("application/json;" + TAB + "odata=verbose", acceptHeaders.get(0));
+     assertEquals("*/*", acceptHeaders.get(1));
+   }
+-
++  
++  @Test
++  public void testSpecialAcceptLanguage() throws BatchException {
++    AcceptParser parser = new AcceptParser();
++    parser.addAcceptLanguageHeaderValue("en-US-x-XXXXXX");
++    List<String> acceptLanguageHeaders = parser.parseAcceptableLanguages();
++    assertNotNull(acceptLanguageHeaders);
++    assertEquals(1, acceptLanguageHeaders.size());
++    assertEquals("en-US-x-XXXXXX", acceptLanguageHeaders.get(0)); 
++  }
++  
++  @Test(expected = BatchException.class)
++  public void testInvalidAcceptLanguage1() throws BatchException {
++    AcceptParser parser = new AcceptParser();
++    parser.addAcceptHeaderValue("en-US-x-xxxx-");
++    parser.parseAcceptHeaders();
++  }
++  
++  @Test(expected = BatchException.class)
++  public void testInvalidAcceptLanguage2() throws BatchException {
++    AcceptParser parser = new AcceptParser();
++    parser.addAcceptLanguageHeaderValue("en-US-");
++    parser.parseAcceptableLanguages();
++  }
++  
++  @Test(expected = BatchException.class)
++  public void testInvalidAcceptLanguage3() throws BatchException {
++    AcceptParser parser = new AcceptParser();
++    parser.addAcceptLanguageHeaderValue("en-US-x-XXX-XXXX");
++    parser.parseAcceptableLanguages();
++  }
++  
++  @Test(expected = BatchException.class)
++  public void testInvalidAcceptLanguage4() throws BatchException {
++    AcceptParser parser = new AcceptParser();
++    parser.addAcceptLanguageHeaderValue("en-US-x-$%");
++    parser.parseAcceptableLanguages();
++  }
++  
++  @Test(expected = BatchException.class)
++  public void testInvalidAcceptLanguage5() throws BatchException {
++    AcceptParser parser = new AcceptParser();
++    parser.addAcceptLanguageHeaderValue("en-");
++    parser.parseAcceptableLanguages();
++  }
++  
+   @Test
+   public void testAcceptHeaderWithTwoParameters() throws BatchException {
+     AcceptParser parser = new AcceptParser();

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/10133c53/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
index 3130942..f1c2e73 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java
@@ -40,7 +40,7 @@ public class AcceptParser {
   private static final Pattern REG_EX_ACCEPT_WITH_Q_FACTOR = Pattern.compile(REG_EX_ACCEPT + "(?:;"
       + REG_EX_OPTIONAL_WHITESPACE + REG_EX_QUALITY_FACTOR + ")?");
   private static final Pattern REG_EX_ACCEPT_LANGUAGES = Pattern
-      .compile("((?:(?:[a-z]{1,8})|(?:\\*))\\-?(?:[a-zA-Z0-9]{1,8})?)");
+      .compile("((?:(?:[a-z]{1,8})|(?:\\*))(?:-[a-zA-Z0-9]{1,8}){0,3})");
   private static final Pattern REG_EX_ACCEPT_LANGUAGES_WITH_Q_FACTOR = Pattern.compile(REG_EX_ACCEPT_LANGUAGES + "(?:;"
       + REG_EX_OPTIONAL_WHITESPACE + REG_EX_QUALITY_FACTOR + ")?");
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/10133c53/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
index b1baaa7..23e9858 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/batch/AcceptParserTest.java
@@ -78,7 +78,52 @@ public class AcceptParserTest {
     assertEquals("application/json;" + TAB + "odata=verbose", acceptHeaders.get(0));
     assertEquals("*/*", acceptHeaders.get(1));
   }
-
+  
+  @Test
+  public void testSpecialAcceptLanguage() throws BatchException {
+    AcceptParser parser = new AcceptParser();
+    parser.addAcceptLanguageHeaderValue("en-US-x-XXXXXX");
+    List<String> acceptLanguageHeaders = parser.parseAcceptableLanguages();
+    assertNotNull(acceptLanguageHeaders);
+    assertEquals(1, acceptLanguageHeaders.size());
+    assertEquals("en-US-x-XXXXXX", acceptLanguageHeaders.get(0)); 
+  }
+  
+  @Test(expected = BatchException.class)
+  public void testInvalidAcceptLanguage1() throws BatchException {
+    AcceptParser parser = new AcceptParser();
+    parser.addAcceptHeaderValue("en-US-x-xxxx-");
+    parser.parseAcceptHeaders();
+  }
+  
+  @Test(expected = BatchException.class)
+  public void testInvalidAcceptLanguage2() throws BatchException {
+    AcceptParser parser = new AcceptParser();
+    parser.addAcceptLanguageHeaderValue("en-US-");
+    parser.parseAcceptableLanguages();
+  }
+  
+  @Test(expected = BatchException.class)
+  public void testInvalidAcceptLanguage3() throws BatchException {
+    AcceptParser parser = new AcceptParser();
+    parser.addAcceptLanguageHeaderValue("en-US-x-XXX-XXXX");
+    parser.parseAcceptableLanguages();
+  }
+  
+  @Test(expected = BatchException.class)
+  public void testInvalidAcceptLanguage4() throws BatchException {
+    AcceptParser parser = new AcceptParser();
+    parser.addAcceptLanguageHeaderValue("en-US-x-$%");
+    parser.parseAcceptableLanguages();
+  }
+  
+  @Test(expected = BatchException.class)
+  public void testInvalidAcceptLanguage5() throws BatchException {
+    AcceptParser parser = new AcceptParser();
+    parser.addAcceptLanguageHeaderValue("en-");
+    parser.parseAcceptableLanguages();
+  }
+  
   @Test
   public void testAcceptHeaderWithTwoParameters() throws BatchException {
     AcceptParser parser = new AcceptParser();