You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2011/11/11 13:30:58 UTC

svn commit: r1200852 - in /wicket/trunk/wicket-request/src: main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java test/java/org/apache/wicket/request/mapper/CompoundRequestMapperTest.java

Author: svenmeier
Date: Fri Nov 11 12:30:58 2011
New Revision: 1200852

URL: http://svn.apache.org/viewvc?rev=1200852&view=rev
Log:
WICKET-4217 fixed request mapper score sorting

Modified:
    wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java
    wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/CompoundRequestMapperTest.java

Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java?rev=1200852&r1=1200851&r2=1200852&view=diff
==============================================================================
--- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java (original)
+++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java Fri Nov 11 12:30:58 2011
@@ -43,7 +43,7 @@ public class CompoundRequestMapper imple
 	/**
 	 * 
 	 */
-	private static class MapperWithScore implements Comparable<MapperWithScore>
+	static class MapperWithScore implements Comparable<MapperWithScore>
 	{
 		private final IRequestMapper mapper;
 		private final int compatibilityScore;
@@ -56,7 +56,8 @@ public class CompoundRequestMapper imple
 
 		public int compareTo(final MapperWithScore o)
 		{
-			return o.compatibilityScore - compatibilityScore;
+			return (compatibilityScore < o.compatibilityScore ? 1
+				: (compatibilityScore > o.compatibilityScore ? -1 : 0));
 		}
 
 		public IRequestMapper getMapper()

Modified: wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/CompoundRequestMapperTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/CompoundRequestMapperTest.java?rev=1200852&r1=1200851&r2=1200852&view=diff
==============================================================================
--- wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/CompoundRequestMapperTest.java (original)
+++ wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/mapper/CompoundRequestMapperTest.java Fri Nov 11 12:30:58 2011
@@ -18,6 +18,7 @@ package org.apache.wicket.request.mapper
 
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.handler.EmptyRequestHandler;
+import org.apache.wicket.request.mapper.CompoundRequestMapper.MapperWithScore;
 import org.apache.wicket.request.mapper.mount.MountMapper;
 import org.junit.Assert;
 import org.junit.Test;
@@ -59,4 +60,26 @@ public class CompoundRequestMapperTest e
 			compound.mapRequest(compound.createRequest(Url.parse(MOUNT_PATH_3))) instanceof EmptyRequestHandler);
 	}
 
+	/**
+	 * Test {@link MapperWithScore#compareTo(MapperWithScore)}.
+	 */
+	@Test
+	public void score()
+	{
+		assertTrue(score(0).compareTo(score(0)) == 0);
+		assertTrue(score(0).compareTo(score(10)) > 0);
+		assertTrue(score(10).compareTo(score(0)) < 0);
+		assertTrue(score(0).compareTo(score(10)) > 0);
+		assertTrue(score(-10).compareTo(score(0)) > 0);
+		assertTrue(score(0).compareTo(score(-10)) < 0);
+		assertTrue(score(10).compareTo(score(Integer.MIN_VALUE + 1)) < 0);
+		assertTrue(score(Integer.MIN_VALUE + 1).compareTo(score(10)) > 0);
+		assertTrue(score(10).compareTo(score(Integer.MAX_VALUE)) > 0);
+		assertTrue(score(Integer.MAX_VALUE).compareTo(score(10)) < 0);
+	}
+
+	private MapperWithScore score(int score)
+	{
+		return new MapperWithScore(null, score);
+	}
 }