You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by bl...@apache.org on 2009/10/02 03:28:59 UTC

svn commit: r820860 - in /incubator/wink/trunk: wink-common/src/main/java/org/apache/wink/common/internal/registry/ wink-common/src/test/java/org/apache/wink/common/internal/registry/ wink-server/src/test/java/org/apache/wink/server/internal/registry/

Author: bluk
Date: Fri Oct  2 01:28:59 2009
New Revision: 820860

URL: http://svn.apache.org/viewvc?rev=820860&view=rev
Log:
Stop the sort during multivalued params

[See WINK-201]

Added:
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/HeaderTest.java   (with props)
Modified:
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ValueConvertor.java
    incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/registry/ValueConvertorTest.java

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ValueConvertor.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ValueConvertor.java?rev=820860&r1=820859&r2=820860&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ValueConvertor.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/registry/ValueConvertor.java Fri Oct  2 01:28:59 2009
@@ -244,9 +244,7 @@
             if (values == null || values.size() == 0) {
                 return convert((String)null);
             }
-            List<String> valuesSorted = new ArrayList<String>(values);
-            Collections.sort(valuesSorted);
-            return convert(valuesSorted.get(0));
+            return convert(values.get(0));
         }
     }
 

Modified: incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/registry/ValueConvertorTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/registry/ValueConvertorTest.java?rev=820860&r1=820859&r2=820860&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/registry/ValueConvertorTest.java (original)
+++ incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/registry/ValueConvertorTest.java Fri Oct  2 01:28:59 2009
@@ -19,9 +19,6 @@
  *******************************************************************************/
 package org.apache.wink.common.internal.registry;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import junit.framework.TestCase;
 
 public class ValueConvertorTest extends TestCase {
@@ -149,16 +146,4 @@
         assertEquals(MyEnumWithFromString.SUNDAY_fromString, fromStringConvertor.convert("SUNDAY"));
     }
 
-    // make sure that a single value conversion will sort multiple values
-    // correctly
-    public void testMultipleValuesSortedReturned() throws Exception {
-        ValueConvertor constructorConvertor =
-            ValueConvertor.createValueConvertor(CustomTypeConstructor.class,
-                                                CustomTypeConstructor.class);
-        List<String> values = new ArrayList<String>();
-        values.add("z");
-        values.add("a");
-        values.add("aa");
-        assertEquals("a", constructorConvertor.convert(values).toString());
-    }
 }

Added: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/HeaderTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/HeaderTest.java?rev=820860&view=auto
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/HeaderTest.java (added)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/HeaderTest.java Fri Oct  2 01:28:59 2009
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.wink.server.internal.registry;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
+import org.apache.wink.test.mock.MockRequestConstructor;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+
+public class HeaderTest extends MockServletInvocationTest {
+
+    @Override
+    protected Class<?>[] getClasses() {
+        return new Class<?>[] {Resource.class};
+    }
+
+    @Path(value = "/test")
+    public static class Resource {
+
+        @GET
+        public String stringParamHandling(@HeaderParam("A") boolean a, @HeaderParam("B") boolean b) {
+            StringBuilder sb = new StringBuilder();
+            if (a) {
+                sb.append("a=" + a);
+            }
+            if (b) {
+                sb.append("b=" + b);
+            }
+            return sb.toString();
+        }
+    }
+
+    public void testHeaders() throws Exception {
+
+        testHeader(new String[][] {{"a", "true"}}, "a=true");
+
+        testHeader(new String[][] { {"a", "true"}, {"a", "false"}}, "a=true");
+
+        testHeader(new String[][] { {"a", "false"}, {"b", "true"}}, "b=true");
+
+        testHeader(new String[][] { {"a", "true"}, {"b", "false"}, {"a", "false"}}, "a=true");
+
+    }
+
+    private void testHeader(String[][] headers, String expected) throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("GET", "/test", MediaType.WILDCARD);
+        for (String[] header : headers) {
+            request.addHeader(header[0], header[1]);
+
+        }
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        assertTrue(response.getContentAsString().contains(expected));
+    }
+}

Propchange: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/HeaderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native