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
                {

Reply via email to