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 2013/04/15 12:16:09 UTC

svn commit: r1467927 - in /cxf/trunk/rt/frontend/jaxrs/src: main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java test/java/org/apache/cxf/jaxrs/SelectMethodCandidatesTest.java

Author: sergeyb
Date: Mon Apr 15 10:16:09 2013
New Revision: 1467927

URL: http://svn.apache.org/r1467927
Log:
[CXF-4950] Some follow up updates based on the analysis from Andrei

Modified:
    cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/SelectMethodCandidatesTest.java

Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java?rev=1467927&r1=1467926&r2=1467927&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java Mon Apr 15 10:16:09 2013
@@ -544,7 +544,11 @@ public final class JAXRSUtils {
             Collections.sort(all, new Comparator<MediaType>() {
 
                 public int compare(MediaType mt1, MediaType mt2) {
-                    return compareQualityAndDistance(mt1, mt2, checkDistance);
+                    int result = compareMediaTypes(mt1, mt2, null);
+                    if (result == 0) {
+                        result = compareQualityAndDistance(mt1, mt2, checkDistance);
+                    }
+                    return result;
                 }
                 
             });    
@@ -666,7 +670,10 @@ public final class JAXRSUtils {
         int size1 = mts1.size();
         int size2 = mts2.size();
         for (int i = 0; i < size1 && i < size2; i++) {
-            int result = compareQualityAndDistance(actualMts1.get(i), actualMts2.get(i), true);
+            int result = compareMediaTypes(actualMts1.get(i), actualMts2.get(i), null);
+            if (result == 0) {
+                result = compareQualityAndDistance(actualMts1.get(i), actualMts2.get(i), true);
+            }
             if (result != 0) {
                 return result;
             }

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/SelectMethodCandidatesTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/SelectMethodCandidatesTest.java?rev=1467927&r1=1467926&r2=1467927&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/SelectMethodCandidatesTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/SelectMethodCandidatesTest.java Mon Apr 15 10:16:09 2013
@@ -56,7 +56,6 @@ import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageImpl;
 import org.easymock.EasyMock;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class SelectMethodCandidatesTest extends Assert {
@@ -350,7 +349,6 @@ public class SelectMethodCandidatesTest 
     }
 
     @Test
-    @Ignore
     public void testProducesResource8() throws Exception {
         doTestProducesResource(ProducesResource5.class, "/", 
                                "application/*,text/html", 
@@ -361,14 +359,14 @@ public class SelectMethodCandidatesTest 
     public void testProducesResource9() throws Exception {
         doTestProducesResource(ProducesResource5.class, "/", 
                                "application/*,text/html;q=0.3", 
-                               "application/*", "m2");
+                               "text/html", "m1");
     }
 
     @Test
     public void testProducesResource10() throws Exception {
         doTestProducesResource(ProducesResource6.class, "/", 
                                "application/*,text/html", 
-                               "application/*", "m2");
+                               "text/html", "m1");
     }
 
     private void doTestProducesResource(Class<?> resourceClass,