From 40d529c439259f6d6f7322e298029e7f46a81d44 Mon Sep 17 00:00:00 2001 From: yilinwang Date: Mon, 7 Dec 2020 02:44:51 -0600 Subject: [PATCH 1/2] sort getMethods --- .../src/main/java/org/apache/struts2/json/JSONUtil.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java index 8c443e5e5..4de1e94bc 100644 --- a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java +++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java @@ -35,6 +35,7 @@ import java.util.Map; import java.util.Set; import java.util.regex.Pattern; import java.util.zip.GZIPOutputStream; +import java.util.Arrays; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -410,7 +411,9 @@ public class JSONUtil { public static Method[] listSMDMethods(Class clazz, boolean ignoreInterfaces) { final List methods = new LinkedList<>(); if (ignoreInterfaces) { - for (Method method : clazz.getMethods()) { + Method[] SMDMethods = clazz.getMethods(); + Arrays.sort(SMDMethods, (a, b) -> a.toString().compareTo(b.toString())); + for (Method method : SMDMethods) { SMDMethod smdMethodAnnotation = method.getAnnotation(SMDMethod.class); if (smdMethodAnnotation != null) { methods.add(method); @@ -421,7 +424,9 @@ public class JSONUtil { // order encountered JSONUtil.visitInterfaces(clazz, new JSONUtil.ClassVisitor() { public boolean visit(Class aClass) { - for (Method method : aClass.getMethods()) { + Method[] SMDMethods = aClass.getMethods(); + Arrays.sort(SMDMethods, (a, b) -> a.toString().compareTo(b.toString())); + for (Method method : SMDMethods) { SMDMethod smdMethodAnnotation = method.getAnnotation(SMDMethod.class); if ((smdMethodAnnotation != null) && !methods.contains(method)) { methods.add(method); From fb49bc4705adaaeaf00e51d24bfff7017ea102cf Mon Sep 17 00:00:00 2001 From: yilinwang Date: Mon, 7 Dec 2020 04:02:14 -0600 Subject: [PATCH 2/2] classMethods --- .../main/java/org/apache/struts2/json/JSONUtil.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java index 4de1e94bc..f8c5683d6 100644 --- a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java +++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java @@ -411,9 +411,9 @@ public class JSONUtil { public static Method[] listSMDMethods(Class clazz, boolean ignoreInterfaces) { final List methods = new LinkedList<>(); if (ignoreInterfaces) { - Method[] SMDMethods = clazz.getMethods(); - Arrays.sort(SMDMethods, (a, b) -> a.toString().compareTo(b.toString())); - for (Method method : SMDMethods) { + Method[] classMethods = clazz.getMethods(); + Arrays.sort(classMethods, (a, b) -> a.toString().compareTo(b.toString())); + for (Method method : classMethods) { SMDMethod smdMethodAnnotation = method.getAnnotation(SMDMethod.class); if (smdMethodAnnotation != null) { methods.add(method); @@ -424,9 +424,9 @@ public class JSONUtil { // order encountered JSONUtil.visitInterfaces(clazz, new JSONUtil.ClassVisitor() { public boolean visit(Class aClass) { - Method[] SMDMethods = aClass.getMethods(); - Arrays.sort(SMDMethods, (a, b) -> a.toString().compareTo(b.toString())); - for (Method method : SMDMethods) { + Method[] classMethods = aClass.getMethods(); + Arrays.sort(classMethods, (a, b) -> a.toString().compareTo(b.toString())); + for (Method method : classMethods) { SMDMethod smdMethodAnnotation = method.getAnnotation(SMDMethod.class); if ((smdMethodAnnotation != null) && !methods.contains(method)) { methods.add(method);