You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/04/14 11:25:20 UTC

olingo-odata2 git commit: [OLINGO-626] [OLINGO-623] Fix query parameter parsing

Repository: olingo-odata2
Updated Branches:
  refs/heads/master 7ed5640bd -> 17a0a0497


[OLINGO-626] [OLINGO-623] Fix query parameter parsing


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

Branch: refs/heads/master
Commit: 17a0a049703a25f9a669bfdfd7561e99ed24cb43
Parents: 7ed5640
Author: Christian Amend <ch...@apache.org>
Authored: Tue Apr 14 11:23:38 2015 +0200
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Apr 14 11:25:04 2015 +0200

----------------------------------------------------------------------
 .../jpa/processor/core/mock/ODataContextMock.java |  4 ----
 .../odata2/core/batch/v2/BatchParserCommon.java   |  8 ++------
 .../producer/JsonServiceDocumentProducerTest.java |  1 -
 .../apache/olingo/odata2/fit/ref/BatchTest.java   | 18 ++++++++++++++++++
 .../src/test/resources/employeesWithFilter.batch  |  8 ++++++++
 .../src/test/resources/functionImport.batch       |  8 ++++++++
 6 files changed, 36 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/17a0a049/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
index 5187411..e39d3af 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
@@ -18,14 +18,10 @@
  ******************************************************************************/
 package org.apache.olingo.odata2.jpa.processor.core.mock;
 
-import java.net.URI;
-import java.util.List;
-
 import org.apache.olingo.odata2.api.ODataService;
 import org.apache.olingo.odata2.api.exception.ODataException;
 import org.apache.olingo.odata2.api.processor.ODataContext;
 import org.apache.olingo.odata2.api.uri.PathInfo;
-import org.apache.olingo.odata2.api.uri.PathSegment;
 import org.easymock.EasyMock;
 
 public class ODataContextMock {

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/17a0a049/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
index b36f873..e4b67d5 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
@@ -242,17 +242,13 @@ public class BatchParserCommon {
 
         for (String parameter : parameters) {
           String[] parameterParts = parameter.split("=");
-          String parameterName = parameterParts[0].toLowerCase(Locale.ENGLISH);
+          String parameterName = parameterParts[0];
 
           if (parameterParts.length == 2) {
             List<String> valueList = queryParameter.get(parameterName);
             valueList = valueList == null ? new LinkedList<String>() : valueList;
             queryParameter.put(parameterName, valueList);
-
-            String[] valueParts = parameterParts[1].split(",");
-            for (String value : valueParts) {
-              valueList.add(Decoder.decode(value));
-            }
+            valueList.add(Decoder.decode(parameterParts[1]));
           }
         }
       }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/17a0a049/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
index 4ec24f6..2abff6e 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
@@ -25,7 +25,6 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.io.InputStream;
-import java.net.URI;
 import java.util.Arrays;
 
 import org.apache.olingo.odata2.api.ODataServiceVersion;

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/17a0a049/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/BatchTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/BatchTest.java b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/BatchTest.java
index de5f291..a6a297d 100644
--- a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/BatchTest.java
+++ b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/BatchTest.java
@@ -55,6 +55,24 @@ public class BatchTest extends AbstractRefTest {
         .contains("<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">"));
     assertTrue(responseBody.contains("<edmx:Edmx Version=\"1.0\""));
   }
+  
+  @Test
+  public void functionImportBatch() throws Exception {
+	    String responseBody = execute("/functionImport.batch");
+	    assertFalse(responseBody
+	        .contains("<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">"));
+	    assertTrue(responseBody.contains("HTTP/1.1 200 OK"));
+	    assertTrue(responseBody.contains("<?xml version='1.0' encoding='utf-8'?><ManagerPhoto xmlns="));
+  }
+  
+  @Test
+  public void employeesWithFilterBatch() throws Exception {
+	    String responseBody = execute("/employeesWithFilter.batch");
+	    assertFalse(responseBody
+	        .contains("<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">"));
+	    assertTrue(responseBody.contains("HTTP/1.1 200 OK"));
+	    assertTrue(responseBody.contains("<d:EmployeeName>Walter Winter</d:EmployeeName>"));
+  }
 
   @Test
   public void testChangeSetBatch() throws Exception {

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/17a0a049/odata2-lib/odata-fit/src/test/resources/employeesWithFilter.batch
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/resources/employeesWithFilter.batch b/odata2-lib/odata-fit/src/test/resources/employeesWithFilter.batch
new file mode 100644
index 0000000..e3ee7a9
--- /dev/null
+++ b/odata2-lib/odata-fit/src/test/resources/employeesWithFilter.batch
@@ -0,0 +1,8 @@
+--batch_123
+Content-Type: application/http
+Content-Transfer-Encoding:binary
+
+GET Employees?$filter=substringof('Walter',EmployeeName) HTTP/1.1
+
+
+--batch_123--
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/17a0a049/odata2-lib/odata-fit/src/test/resources/functionImport.batch
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/resources/functionImport.batch b/odata2-lib/odata-fit/src/test/resources/functionImport.batch
new file mode 100644
index 0000000..c6ee1f2
--- /dev/null
+++ b/odata2-lib/odata-fit/src/test/resources/functionImport.batch
@@ -0,0 +1,8 @@
+--batch_123
+Content-Type: application/http
+Content-Transfer-Encoding:binary
+
+GET ManagerPhoto?Id='1' HTTP/1.1
+
+
+--batch_123--
\ No newline at end of file