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 <[email protected]> Authored: Tue Apr 14 11:23:38 2015 +0200 Committer: Christian Amend <[email protected]> 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
