From c0a059fbdc4b6322efb822f98d80750bb647c836 Mon Sep 17 00:00:00 2001 From: ReaJason Date: Thu, 8 Jan 2026 19:48:27 +0800 Subject: [PATCH] refactor: simplify code --- .../payload/filter/JettyFilterProbe.java | 59 +++++++------------ 1 file changed, 20 insertions(+), 39 deletions(-) diff --git a/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/JettyFilterProbe.java b/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/JettyFilterProbe.java index e4fae661..d7e8d10a 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/JettyFilterProbe.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/JettyFilterProbe.java @@ -36,7 +36,7 @@ public class JettyFilterProbe { } private List> collectFiltersData(Object context) { - Map> aggregatedData = new LinkedHashMap<>(); + List> result = new ArrayList<>(); try { Object servletHandler = getFieldValue(context, "_servletHandler"); if (servletHandler == null) return Collections.emptyList(); @@ -46,54 +46,35 @@ public class JettyFilterProbe { for (Object mapping : filterMappings) { String name = (String) invokeMethod(mapping, "getFilterName"); if (name == null) continue; - if (!aggregatedData.containsKey(name)) { - String filterClass = "N/A"; - if (filterHolders != null) { - for (Object holder : filterHolders) { - String holderName = (String) invokeMethod(holder, "getName"); - if (!name.equals(holderName)) continue; - String cls = (String) invokeMethod(holder, "getClassName"); - if (cls == null) { - Object filterInstance = invokeMethod(holder, "getFilter"); - if (filterInstance != null) { - cls = filterInstance.getClass().getName(); - } + String filterClass = "N/A"; + if (filterHolders != null) { + for (Object holder : filterHolders) { + String holderName = (String) invokeMethod(holder, "getName"); + if (!name.equals(holderName)) continue; + String cls = (String) invokeMethod(holder, "getClassName"); + if (cls == null) { + Object filterInstance = invokeMethod(holder, "getFilter"); + if (filterInstance != null) { + cls = filterInstance.getClass().getName(); } - - if (cls != null) filterClass = cls; - break; } + + if (cls != null) filterClass = cls; + break; } - Map info = new HashMap<>(); - info.put("filterName", name); - info.put("filterClass", filterClass); - info.put("urlPatterns", new LinkedHashSet()); - aggregatedData.put(name, info); } - Map info = aggregatedData.get(name); - String[] pathSpecs = null; + Map info = new HashMap<>(); + info.put("filterName", name); + info.put("filterClass", filterClass); try { - pathSpecs = (String[]) invokeMethod(mapping, "getPathSpecs"); + String[] pathSpecs = (String[]) invokeMethod(mapping, "getPathSpecs"); + info.put("urlPatterns", pathSpecs.length == 0 ? "" : Arrays.toString(pathSpecs)); } catch (Exception ignored) { } - - if (pathSpecs != null) { - ((Set) info.get("urlPatterns")).addAll(Arrays.asList(pathSpecs)); - } + result.add(info); } } catch (Exception ignored) { } - List> result = new ArrayList<>(); - for (Map entry : aggregatedData.values()) { - Map finalInfo = new HashMap<>(); - finalInfo.put("filterName", (String) entry.get("filterName")); - finalInfo.put("filterClass", (String) entry.get("filterClass")); - - Set urls = (Set) entry.get("urlPatterns"); - finalInfo.put("urlPatterns", urls.isEmpty() ? "" : urls.toString()); - - result.add(finalInfo); - } return result; }