You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2017/03/03 14:52:10 UTC
cxf git commit: Avoiding NPEs in the logging feature given that
headers can be non Strings on the out flow especially for JAXRS
Repository: cxf
Updated Branches:
refs/heads/master 04d160cad -> 61e60c186
Avoiding NPEs in the logging feature given that headers can be non Strings on the out flow especially for JAXRS
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/61e60c18
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/61e60c18
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/61e60c18
Branch: refs/heads/master
Commit: 61e60c186ca17b89e407622ccfec9771484dd418
Parents: 04d160c
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Fri Mar 3 14:51:56 2017 +0000
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Fri Mar 3 14:51:56 2017 +0000
----------------------------------------------------------------------
.../cxf/ext/logging/event/DefaultLogEventMapper.java | 13 ++++++++-----
.../cxf/systest/jaxrs/JAXRSClientServerBookTest.java | 4 +++-
2 files changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/61e60c18/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
index 030cd8c..d76e5ac 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
@@ -19,6 +19,7 @@
package org.apache.cxf.ext.logging.event;
import java.security.AccessController;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -126,17 +127,19 @@ public class DefaultLogEventMapper implements LogEventMapper {
}
private Map<String, String> getHeaders(Message message) {
- Map<String, List<String>> headers = CastUtils.cast((Map<?, ?>)message.get(Message.PROTOCOL_HEADERS));
+ Map<String, List<Object>> headers = CastUtils.cast((Map<?, ?>)message.get(Message.PROTOCOL_HEADERS));
Map<String, String> result = new HashMap<>();
if (headers == null) {
return result;
}
- for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
+ for (Map.Entry<String, List<Object>> entry : headers.entrySet()) {
if (entry.getValue().size() == 1) {
- result.put(entry.getKey(), entry.getValue().get(0));
+ Object value = entry.getValue().get(0);
+ if (value != null) {
+ result.put(entry.getKey(), value.toString());
+ }
} else {
- String[] valueAr = entry.getValue().toArray(new String[] {});
- result.put(entry.getKey(), valueAr.toString());
+ result.put(entry.getKey(), Arrays.deepToString(entry.getValue().toArray()));
}
}
return result;
http://git-wip-us.apache.org/repos/asf/cxf/blob/61e60c18/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
index 013f573..e41b3b3 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
@@ -1078,8 +1078,10 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
@Test
public void testAddBookProxyResponse() {
- BookStore store = JAXRSClientFactory.create("http://localhost:" + PORT, BookStore.class);
Book b = new Book("CXF rocks", 123L);
+
+ System.out.println(Arrays.deepToString(Arrays.asList(b, b).toArray()));
+ BookStore store = JAXRSClientFactory.create("http://localhost:" + PORT, BookStore.class);
Response r = store.addBook(b);
assertNotNull(r);
InputStream is = (InputStream)r.getEntity();