From aeef000c46d25c247aceb2d15c2979e2961e285e Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 19 Mar 2013 10:57:23 +0100 Subject: [PATCH] Fixed ReflectiveMethodResolver to avoid potential UnsupportedOperationException on sort Issue: SPR-10392 --- .../spel/support/ReflectiveMethodResolver.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectiveMethodResolver.java b/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectiveMethodResolver.java index ce6ad5123be..12cd86d36b9 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectiveMethodResolver.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectiveMethodResolver.java @@ -103,13 +103,15 @@ public class ReflectiveMethodResolver implements MethodResolver { } // Sort methods into a sensible order - Collections.sort(methods, new Comparator() { - public int compare(Method m1, Method m2) { - int m1pl = m1.getParameterTypes().length; - int m2pl = m2.getParameterTypes().length; - return (new Integer(m1pl)).compareTo(m2pl); - } - }); + if (methods.size() > 1) { + Collections.sort(methods, new Comparator() { + public int compare(Method m1, Method m2) { + int m1pl = m1.getParameterTypes().length; + int m2pl = m2.getParameterTypes().length; + return (new Integer(m1pl)).compareTo(m2pl); + } + }); + } // Resolve any bridge methods for (int i = 0; i < methods.size(); i++) {