MCPcopy Create free account
hub / github.com/ax1sX/MemShell / MemShellCheck

Class MemShellCheck

GlassfishMemShell/src/main/java/com/axisx/MemShellCheck.java:16–315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14import java.util.*;
15
16public class MemShellCheck implements Filter {
17
18 private static Integer count=0;
19
20 @Override
21 public void init(FilterConfig filterConfig) throws ServletException {
22
23 }
24
25 @Override
26 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
27 HttpServletRequest req = (HttpServletRequest) servletRequest;
28 HttpServletResponse resp = (HttpServletResponse) servletResponse;
29 count=0;
30 resp.setCharacterEncoding("UTF-8");
31 resp.setHeader("Content-type", "text/plain;charset=UTF-8");
32 String id = req.getParameter("id");
33 String action=req.getParameter("action");
34 try {
35 Object context=getContext();
36 if(action.equals("scan")){
37 /**
38 * Listener
39 */
40 resp.getWriter().println("/**\n" + "* Listener\n" + "*/\n");
41 List<Object> listeners=(List<Object>)getFV(context,"eventListeners");
42 if (listeners != null || listeners.size() != 0) {
43 List<ServletRequestListener> newListeners = new ArrayList<>();
44 for (Object o : listeners) {
45 if (o instanceof ServletRequestListener) {
46 newListeners.add((ServletRequestListener) o);
47 }
48 }
49 String listenerTName=null;
50 for (ServletRequestListener listener : newListeners) {
51 listenerTName=listener.getClass().getName();
52 int idw=IDGenerate();
53 resp.getWriter().println(Template(idw,listener.hashCode(),null,null,listenerTName,listener.getClass().getClassLoader().getClass().getName(),listener.getClass()));
54 HashMap<String, Object> memShellInfo= CheckStruct.newMemShellInfo(null,null,listenerTName,listener.getClass().getClassLoader().getClass().getName(),listener.getClass(),"Listener");
55 CheckStruct.set(listener.hashCode(),memShellInfo);
56 }
57 }
58
59
60 /**
61 * Filter
62 */
63 resp.getWriter().println("/**\n" + "* Filter\n" + "*/\n");
64 List<Object> filterMaps1=(List<Object>)getFV(context,"filterMaps");;
65 for (Object o:filterMaps1) {
66 try {
67 Method getFilterName = o.getClass().getDeclaredMethod("getFilterName");
68 getFilterName.setAccessible(true);
69 String filterName = (String) getFilterName.invoke(o, null);
70
71 HashMap<String, Object> filterConfigs = (HashMap<String, Object>) getFV(context, "filterConfigs");
72 Object appFilterConfig = filterConfigs.get(filterName);
73

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected