This is an automated email from the ASF dual-hosted git repository.
sergeyb pushed a commit to branch 3.1.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/3.1.x-fixes by this push:
new d17597d [CXF-7539] Provide Boolean wrapper object for == comparation
d17597d is described below
commit d17597dfc9e291173ee18935da2c1d6239e3a9a0
Author: Dennis Kieselhorst <[email protected]>
AuthorDate: Tue Oct 24 22:01:18 2017 +0200
[CXF-7539] Provide Boolean wrapper object for == comparation
---
.../org/apache/cxf/jaxrs/utils/InjectionUtils.java | 4 ++++
.../src/test/java/org/apache/cxf/jaxrs/Customer.java | 3 ++-
.../org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java | 18 ++++++++++--------
3 files changed, 16 insertions(+), 9 deletions(-)
diff --git
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
index 73b3e56..29f3966 100644
---
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
+++
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
@@ -411,6 +411,10 @@ public final class InjectionUtils {
//pass empty string to boxed number type will result in 404
return null;
}
+ if (Boolean.class == pClass) {
+ // allow == checks for Boolean object
+ pClass = (Class<T>) Boolean.TYPE;
+ }
if (pClass.isPrimitive()) {
try {
T ret = (T)PrimitiveUtils.read(value, pClass);
diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
index 4d742ba..9f23023 100644
--- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
+++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
@@ -409,7 +409,8 @@ public class Customer extends AbstractCustomer implements
CustomerInfo {
@QueryParam("query3") Long queryString3,
@QueryParam("query4") boolean queryBoolean4,
@QueryParam("query5") char queryChar5,
- @QueryParam("query6") String queryString6) {
+ @QueryParam("query6") String queryString6,
+ @QueryParam("query7") Boolean queryString7) {
// complete
}
diff --git
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
index 008fff9..1a5a6ea 100644
---
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
+++
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
@@ -1472,15 +1472,15 @@ public class JAXRSUtilsTest extends Assert {
@Test
public void testMultipleQueryParameters() throws Exception {
- Class<?>[] argType = {String.class, String.class, Long.class,
- Boolean.TYPE, char.class, String.class};
+ Class<?>[] argType = {String.class, String.class, Long.class,
+ Boolean.TYPE, char.class, String.class,
Boolean.class};
Method m = Customer.class.getMethod("testMultipleQuery", argType);
Message messageImpl = createMessage();
-
- messageImpl.put(Message.QUERY_STRING,
-
"query=first&query2=second&query3=3&query4=true&query6");
- List<Object> params = JAXRSUtils.processParameters(new
OperationResourceInfo(m,
- new
ClassResourceInfo(Customer.class)),
+
+ messageImpl.put(Message.QUERY_STRING,
+
"query=first&query2=second&query3=3&query4=true&query6&query7=true");
+ List<Object> params = JAXRSUtils.processParameters(new
OperationResourceInfo(m,
+ new
ClassResourceInfo(Customer.class)),
null, messageImpl);
assertEquals("First Query Parameter of multiple was not matched
correctly", "first",
params.get(0));
@@ -1488,12 +1488,14 @@ public class JAXRSUtilsTest extends Assert {
"second", params.get(1));
assertEquals("Third Query Parameter of multiple was not matched
correctly",
new Long(3), params.get(2));
- assertEquals("Fourth Query Parameter of multiple was not matched
correctly",
+ assertSame("Fourth Query Parameter of multiple was not matched
correctly",
Boolean.TRUE, params.get(3));
assertEquals("Fifth Query Parameter of multiple was not matched
correctly",
'\u0000', params.get(4));
assertEquals("Six Query Parameter of multiple was not matched
correctly",
"", params.get(5));
+ assertSame("Seventh Query Parameter of multiple was not matched
correctly",
+ Boolean.TRUE, params.get(6));
}
@SuppressWarnings("unchecked")
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].