return null if no header with given key is present Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d70b7f47 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d70b7f47 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d70b7f47
Branch: refs/heads/master Commit: d70b7f47f5daf5c8a7693e551ca15974f20c4c54 Parents: 6c2a0ca Author: svenmeier <[email protected]> Authored: Fri Dec 14 15:36:36 2012 +0100 Committer: svenmeier <[email protected]> Committed: Fri Dec 14 16:18:19 2012 +0100 ---------------------------------------------------------------------- .../wicket/request/HttpHeaderCollection.java | 62 +++++++------- .../wicket/request/HttpHeaderCollectionTest.java | 15 ++-- 2 files changed, 40 insertions(+), 37 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/d70b7f47/wicket-request/src/main/java/org/apache/wicket/request/HttpHeaderCollection.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/main/java/org/apache/wicket/request/HttpHeaderCollection.java b/wicket-request/src/main/java/org/apache/wicket/request/HttpHeaderCollection.java index 8e0cb55..080c7fe 100644 --- a/wicket-request/src/main/java/org/apache/wicket/request/HttpHeaderCollection.java +++ b/wicket-request/src/main/java/org/apache/wicket/request/HttpHeaderCollection.java @@ -30,11 +30,11 @@ import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.time.Time; /** - * a multivalue map of headers names and header values suitable for - * processing http request and response headers. - * + * a multivalue map of headers names and header values suitable for processing http request and + * response headers. + * * @author Peter Ertl - * + * * @since 1.5 */ public class HttpHeaderCollection @@ -51,11 +51,11 @@ public class HttpHeaderCollection /** * internally add new object to header values - * + * * @param name - * header name + * header name * @param object - * header value (can be a string or a {@link Time} object + * header value (can be a string or a {@link Time} object */ private void internalAdd(String name, Object object) { @@ -73,11 +73,11 @@ public class HttpHeaderCollection /** * set header value (and remove previous values) - * + * * @param name - * header name + * header name * @param value - * header value + * header value */ public void setHeader(String name, String value) { @@ -90,11 +90,11 @@ public class HttpHeaderCollection /** * add header value - * + * * @param name - * header name + * header name * @param value - * header value + * header value */ public void addHeader(String name, String value) { @@ -106,11 +106,11 @@ public class HttpHeaderCollection /** * add date header value - * + * * @param name - * header name + * header name * @param time - * timestamp + * timestamp */ public void addDateHeader(String name, Time time) { @@ -119,11 +119,11 @@ public class HttpHeaderCollection /** * add date header value - * + * * @param name - * header name + * header name * @param time - * timestamp + * timestamp */ public void setDateHeader(String name, Time time) { @@ -136,9 +136,9 @@ public class HttpHeaderCollection /** * remove header values for header name - * + * * @param name - * header name + * header name */ public void removeHeader(String name) { @@ -170,9 +170,9 @@ public class HttpHeaderCollection /** * check if header is defined - * + * * @param name - * header name + * header name * @return <code>true</code> if header has one or more values */ public boolean containsHeader(String name) @@ -192,7 +192,7 @@ public class HttpHeaderCollection /** * returns names of headers - * + * * @return set of header names */ public Set<String> getHeaderNames() @@ -213,10 +213,10 @@ public class HttpHeaderCollection /** * get header values (dates will be converted into strings) - * + * * @param name - * header name - * + * header name + * * @return array of header values or empty array if not found */ public String[] getHeaderValues(String name) @@ -241,7 +241,7 @@ public class HttpHeaderCollection { final List<Object> objects = headers.get(new HeaderKey(name)); - if (objects.isEmpty()) + if (objects == null || objects.isEmpty()) { return null; } @@ -267,7 +267,7 @@ public class HttpHeaderCollection /** * check if collection is empty - * + * * @return <code>true</code> if collection is empty, <code>false</code> otherwise */ public boolean isEmpty() @@ -277,7 +277,7 @@ public class HttpHeaderCollection /** * get number of headers - * + * * @return count */ public int getCount() @@ -304,7 +304,7 @@ public class HttpHeaderCollection private HeaderKey(String name) { this.name = Args.notEmpty(name, "name").trim(); - this.key = this.name.toLowerCase(Locale.US); + key = this.name.toLowerCase(Locale.US); } public String getName() http://git-wip-us.apache.org/repos/asf/wicket/blob/d70b7f47/wicket-request/src/test/java/org/apache/wicket/request/HttpHeaderCollectionTest.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/test/java/org/apache/wicket/request/HttpHeaderCollectionTest.java b/wicket-request/src/test/java/org/apache/wicket/request/HttpHeaderCollectionTest.java index 34b6fcb..c358704 100644 --- a/wicket-request/src/test/java/org/apache/wicket/request/HttpHeaderCollectionTest.java +++ b/wicket-request/src/test/java/org/apache/wicket/request/HttpHeaderCollectionTest.java @@ -19,6 +19,7 @@ package org.apache.wicket.request; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -39,14 +40,14 @@ public class HttpHeaderCollectionTest headers.addHeader("X-Test", "foo"); headers.addHeader("X-Test", "bar"); - assertArrayEquals(new String[]{"foo", "bar"}, headers.getHeaderValues("X-Test")); + assertArrayEquals(new String[] { "foo", "bar" }, headers.getHeaderValues("X-Test")); headers.removeHeader("x-test"); assertTrue(headers.isEmpty()); headers.addHeader(" X-Image ", " jpeg "); headers.addHeader("X-Image ", " gif "); - assertArrayEquals(new String[]{"jpeg", "gif"}, headers.getHeaderValues("X-IMAGE")); + assertArrayEquals(new String[] { "jpeg", "gif" }, headers.getHeaderValues("X-IMAGE")); assertEquals(1, headers.getCount()); headers.addHeader("X-Test", "123"); @@ -62,7 +63,7 @@ public class HttpHeaderCollectionTest // empty header values are valid (RFC2616) headers.setHeader("foobaz", " "); assertEquals("", headers.getHeader("foobaz")); - + } @Test @@ -78,6 +79,8 @@ public class HttpHeaderCollectionTest assertTrue(names.contains("key1")); assertFalse(names.contains("Key1")); assertTrue(names.contains("key2")); + + assertNull(headers.getHeader("key3")); } @Test @@ -117,9 +120,9 @@ public class HttpHeaderCollectionTest TimeZone.setDefault(defaultLocaleefaultTimezone); } - assertArrayEquals(new String[]{"Thu, 01 Jan 1970 00:16:40 GMT", "Thu, 01 Jan 1970 00:33:20 GMT", "not-a-date"}, - headers.getHeaderValues("date")); - + assertArrayEquals(new String[] { "Thu, 01 Jan 1970 00:16:40 GMT", + "Thu, 01 Jan 1970 00:33:20 GMT", "not-a-date" }, headers.getHeaderValues("date")); + headers.setHeader("date", "foobar"); try {
