cxf git commit: [CXF-7174] Avoid NPE when content-type not set in http request, patch from Andy McCright applied, This closes #213

2016-12-12 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes 1a1499e91 -> 8921296ff


[CXF-7174] Avoid NPE when content-type not set in http request, patch from Andy 
McCright applied, This closes #213


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8921296f
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8921296f
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8921296f

Branch: refs/heads/3.0.x-fixes
Commit: 8921296ff8e6f3694460e0b3153cf3625e2357a7
Parents: 1a1499e
Author: Sergey Beryozkin 
Authored: Mon Dec 12 10:03:39 2016 +
Committer: Sergey Beryozkin 
Committed: Mon Dec 12 10:34:31 2016 +

--
 .../org/apache/cxf/transport/http/Headers.java  |  2 +-
 .../apache/cxf/transport/http/HeadersTest.java  | 60 +++-
 2 files changed, 48 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/8921296f/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
--
diff --git 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
index dee9d61..5c8fa4d 100644
--- 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
+++ 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
@@ -359,7 +359,7 @@ public class Headers {
 public String determineContentType() {
 String ct = null;
 List ctList = 
CastUtils.cast(headers.get(Message.CONTENT_TYPE));
-if (ctList != null && ctList.size() == 1) {
+if (ctList != null && ctList.size() == 1 && ctList.get(0) != null) {
 ct = ctList.get(0).toString();
 } else {
 ct  = (String)message.get(Message.CONTENT_TYPE);

http://git-wip-us.apache.org/repos/asf/cxf/blob/8921296f/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
--
diff --git 
a/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
 
b/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
index e20a5e0..e26e5ff 100755
--- 
a/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
+++ 
b/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
@@ -36,29 +36,17 @@ import org.apache.cxf.message.MessageImpl;
 import org.easymock.EasyMock;
 import org.easymock.IMocksControl;
 
-import org.junit.AfterClass;
 import org.junit.Assert;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
  *
  */
 public class HeadersTest extends Assert {
-private static IMocksControl control;
-
-@BeforeClass
-public static void setUpClass() {
-control = EasyMock.createNiceControl();
-}
-
-@AfterClass
-public static void tearDownClass() {
-control.verify();
-}
 
 @Test
 public void setHeadersTest() throws Exception {
+IMocksControl control = EasyMock.createNiceControl();
 String[] headerNames = {"Content-Type", "authorization", "soapAction"};
 String[] headerValues = {"text/xml", "Basic Zm9vOmJhcg==", "foo"};
 Map inmap = new HashMap();
@@ -102,6 +90,7 @@ public class HeadersTest extends Assert {
 assertEquals("unexpected header", 
protocolHeaders.get("SOAPACTION").get(0), headerValues[2]);
 assertEquals("unexpected header", 
protocolHeaders.get("soapAction").get(0), headerValues[2]);
 
+control.verify();
 }
 
 @Test
@@ -174,4 +163,49 @@ public class HeadersTest extends Assert {
 
 Headers.logProtocolHeaders(logger, Level.INFO, headerMap, false);
 }
+
+@Test
+public void nullContentTypeTest() {
+IMocksControl control = EasyMock.createNiceControl();
+
+Message message = new MessageImpl();
+
+// first check - content-type==null in message, nothing specified in 
request
+// expect that determineContentType will return the default value of 
text/xml
+message.put(Message.CONTENT_TYPE, null);
+Headers headers = new Headers(message);
+assertEquals("Unexpected content-type determined - expected text/xml", 
"text/xml", 
+ headers.determineContentType());
+
+// second check - null specified in request, valid content-type 
specified in message
+// expect that determineContentType returns the content-type specified 
in the message
+HttpServletRequest req = control.createMock(HttpServletRequest.class);
+
EasyMock.expect(req.getHeaderNames()).andReturn(Collections.emptyEnumeration());
+

cxf git commit: [CXF-7174] Avoid NPE when content-type not set in http request, patch from Andy McCright applied, This closes #213

2016-12-12 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/3.1.x-fixes f32dcab58 -> 718892116


[CXF-7174] Avoid NPE when content-type not set in http request, patch from Andy 
McCright applied, This closes #213


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/71889211
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/71889211
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/71889211

Branch: refs/heads/3.1.x-fixes
Commit: 7188921166444e861adf9b133708cef7c01d4b49
Parents: f32dcab
Author: Sergey Beryozkin 
Authored: Mon Dec 12 10:03:39 2016 +
Committer: Sergey Beryozkin 
Committed: Mon Dec 12 10:04:43 2016 +

--
 .../org/apache/cxf/transport/http/Headers.java  |  2 +-
 .../apache/cxf/transport/http/HeadersTest.java  | 60 +++-
 2 files changed, 48 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/71889211/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
--
diff --git 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
index 3d58112..8aecbd3 100644
--- 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
+++ 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
@@ -373,7 +373,7 @@ public class Headers {
 public String determineContentType() {
 String ct = null;
 List ctList = 
CastUtils.cast(headers.get(Message.CONTENT_TYPE));
-if (ctList != null && ctList.size() == 1) {
+if (ctList != null && ctList.size() == 1 && ctList.get(0) != null) {
 ct = ctList.get(0).toString();
 } else {
 ct  = (String)message.get(Message.CONTENT_TYPE);

http://git-wip-us.apache.org/repos/asf/cxf/blob/71889211/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
--
diff --git 
a/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
 
b/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
index bf5cf84..bcb4228 100755
--- 
a/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
+++ 
b/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
@@ -36,29 +36,17 @@ import org.apache.cxf.message.MessageImpl;
 import org.easymock.EasyMock;
 import org.easymock.IMocksControl;
 
-import org.junit.AfterClass;
 import org.junit.Assert;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
  *
  */
 public class HeadersTest extends Assert {
-private static IMocksControl control;
-
-@BeforeClass
-public static void setUpClass() {
-control = EasyMock.createNiceControl();
-}
-
-@AfterClass
-public static void tearDown() {
-control.verify();
-}
 
 @Test
 public void setHeadersTest() throws Exception {
+IMocksControl control = EasyMock.createNiceControl();
 String[] headerNames = {"Content-Type", "authorization", "soapAction"};
 String[] headerValues = {"text/xml", "Basic Zm9vOmJhcg==", "foo"};
 Map inmap = new HashMap();
@@ -102,6 +90,7 @@ public class HeadersTest extends Assert {
 assertEquals("unexpected header", 
protocolHeaders.get("SOAPACTION").get(0), headerValues[2]);
 assertEquals("unexpected header", 
protocolHeaders.get("soapAction").get(0), headerValues[2]);
 
+control.verify();
 }
 
 @Test
@@ -173,4 +162,49 @@ public class HeadersTest extends Assert {
 
 Headers.logProtocolHeaders(logger, Level.INFO, headerMap, false);
 }
+
+@Test
+public void nullContentTypeTest() {
+IMocksControl control = EasyMock.createNiceControl();
+
+Message message = new MessageImpl();
+
+// first check - content-type==null in message, nothing specified in 
request
+// expect that determineContentType will return the default value of 
text/xml
+message.put(Message.CONTENT_TYPE, null);
+Headers headers = new Headers(message);
+assertEquals("Unexpected content-type determined - expected text/xml", 
"text/xml", 
+ headers.determineContentType());
+
+// second check - null specified in request, valid content-type 
specified in message
+// expect that determineContentType returns the content-type specified 
in the message
+HttpServletRequest req = control.createMock(HttpServletRequest.class);
+
EasyMock.expect(req.getHeaderNames()).andReturn(Collections.emptyEnumeration());
+

cxf git commit: [CXF-7174] Avoid NPE when content-type not set in http request, patch from Andy McCright applied, This closes #213

2016-12-12 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/master 45bc2219b -> de9c7ecd7


[CXF-7174] Avoid NPE when content-type not set in http request, patch from Andy 
McCright applied, This closes #213


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/de9c7ecd
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/de9c7ecd
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/de9c7ecd

Branch: refs/heads/master
Commit: de9c7ecd7a4d205aa26d893889235468797e87bb
Parents: 45bc221
Author: Sergey Beryozkin 
Authored: Mon Dec 12 10:03:39 2016 +
Committer: Sergey Beryozkin 
Committed: Mon Dec 12 10:03:39 2016 +

--
 .../org/apache/cxf/transport/http/Headers.java  |  2 +-
 .../apache/cxf/transport/http/HeadersTest.java  | 60 +++-
 2 files changed, 48 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/de9c7ecd/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
--
diff --git 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
index 3d58112..8aecbd3 100644
--- 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
+++ 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
@@ -373,7 +373,7 @@ public class Headers {
 public String determineContentType() {
 String ct = null;
 List ctList = 
CastUtils.cast(headers.get(Message.CONTENT_TYPE));
-if (ctList != null && ctList.size() == 1) {
+if (ctList != null && ctList.size() == 1 && ctList.get(0) != null) {
 ct = ctList.get(0).toString();
 } else {
 ct  = (String)message.get(Message.CONTENT_TYPE);

http://git-wip-us.apache.org/repos/asf/cxf/blob/de9c7ecd/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
--
diff --git 
a/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
 
b/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
index bf5cf84..bcb4228 100755
--- 
a/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
+++ 
b/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HeadersTest.java
@@ -36,29 +36,17 @@ import org.apache.cxf.message.MessageImpl;
 import org.easymock.EasyMock;
 import org.easymock.IMocksControl;
 
-import org.junit.AfterClass;
 import org.junit.Assert;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
  *
  */
 public class HeadersTest extends Assert {
-private static IMocksControl control;
-
-@BeforeClass
-public static void setUpClass() {
-control = EasyMock.createNiceControl();
-}
-
-@AfterClass
-public static void tearDown() {
-control.verify();
-}
 
 @Test
 public void setHeadersTest() throws Exception {
+IMocksControl control = EasyMock.createNiceControl();
 String[] headerNames = {"Content-Type", "authorization", "soapAction"};
 String[] headerValues = {"text/xml", "Basic Zm9vOmJhcg==", "foo"};
 Map inmap = new HashMap();
@@ -102,6 +90,7 @@ public class HeadersTest extends Assert {
 assertEquals("unexpected header", 
protocolHeaders.get("SOAPACTION").get(0), headerValues[2]);
 assertEquals("unexpected header", 
protocolHeaders.get("soapAction").get(0), headerValues[2]);
 
+control.verify();
 }
 
 @Test
@@ -173,4 +162,49 @@ public class HeadersTest extends Assert {
 
 Headers.logProtocolHeaders(logger, Level.INFO, headerMap, false);
 }
+
+@Test
+public void nullContentTypeTest() {
+IMocksControl control = EasyMock.createNiceControl();
+
+Message message = new MessageImpl();
+
+// first check - content-type==null in message, nothing specified in 
request
+// expect that determineContentType will return the default value of 
text/xml
+message.put(Message.CONTENT_TYPE, null);
+Headers headers = new Headers(message);
+assertEquals("Unexpected content-type determined - expected text/xml", 
"text/xml", 
+ headers.determineContentType());
+
+// second check - null specified in request, valid content-type 
specified in message
+// expect that determineContentType returns the content-type specified 
in the message
+HttpServletRequest req = control.createMock(HttpServletRequest.class);
+
EasyMock.expect(req.getHeaderNames()).andReturn(Collections.emptyEnumeration());
+