From aa23a4acc9aeefbcedb2f2a9f7ecb18584cb6cdc Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Wed, 20 Nov 2024 17:12:37 +0800 Subject: [PATCH] downgrade ognl to 3.3.5. #2954, #2953 --- .../command/express/ArthasObjectPropertyAccessor.java | 5 +++-- .../command/express/ClassLoaderClassResolver.java | 6 ++---- .../core/command/express/CustomClassResolver.java | 5 ++--- .../core/command/express/DefaultMemberAccess.java | 11 +++++++---- pom.xml | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/command/express/ArthasObjectPropertyAccessor.java b/core/src/main/java/com/taobao/arthas/core/command/express/ArthasObjectPropertyAccessor.java index f83d33044..7562705fd 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/express/ArthasObjectPropertyAccessor.java +++ b/core/src/main/java/com/taobao/arthas/core/command/express/ArthasObjectPropertyAccessor.java @@ -1,9 +1,10 @@ package com.taobao.arthas.core.command.express; +import java.util.Map; + import com.taobao.arthas.core.GlobalOptions; import ognl.ObjectPropertyAccessor; -import ognl.OgnlContext; import ognl.OgnlException; /** @@ -12,7 +13,7 @@ import ognl.OgnlException; public class ArthasObjectPropertyAccessor extends ObjectPropertyAccessor { @Override - public Object setPossibleProperty(OgnlContext context, Object target, String name, Object value) throws OgnlException { + public Object setPossibleProperty(Map context, Object target, String name, Object value) throws OgnlException { if (GlobalOptions.strict) { throw new IllegalAccessError(GlobalOptions.STRICT_MESSAGE); } diff --git a/core/src/main/java/com/taobao/arthas/core/command/express/ClassLoaderClassResolver.java b/core/src/main/java/com/taobao/arthas/core/command/express/ClassLoaderClassResolver.java index e69cf743b..7409d2916 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/express/ClassLoaderClassResolver.java +++ b/core/src/main/java/com/taobao/arthas/core/command/express/ClassLoaderClassResolver.java @@ -4,7 +4,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import ognl.ClassResolver; -import ognl.OgnlContext; /** * @author hengyunabc 2018-10-18 @@ -20,9 +19,8 @@ public class ClassLoaderClassResolver implements ClassResolver { this.classLoader = classLoader; } - @Override - public Class classForName(String className, OgnlContext ognlContext) throws ClassNotFoundException { + public Class classForName(String className, Map context) throws ClassNotFoundException { Class result = null; if ((result = classes.get(className)) == null) { @@ -39,6 +37,6 @@ public class ClassLoaderClassResolver implements ClassResolver { } classes.put(className, result); } - return (Class) result; + return result; } } diff --git a/core/src/main/java/com/taobao/arthas/core/command/express/CustomClassResolver.java b/core/src/main/java/com/taobao/arthas/core/command/express/CustomClassResolver.java index 81c9c174b..7512e92a4 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/express/CustomClassResolver.java +++ b/core/src/main/java/com/taobao/arthas/core/command/express/CustomClassResolver.java @@ -1,7 +1,6 @@ package com.taobao.arthas.core.command.express; import ognl.ClassResolver; -import ognl.OgnlContext; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -21,7 +20,7 @@ public class CustomClassResolver implements ClassResolver { } @Override - public Class classForName(String className, OgnlContext ognlContext) throws ClassNotFoundException { + public Class classForName(String className, Map context) throws ClassNotFoundException { Class result = null; if ((result = classes.get(className)) == null) { @@ -40,6 +39,6 @@ public class CustomClassResolver implements ClassResolver { } classes.put(className, result); } - return (Class) result; + return result; } } diff --git a/core/src/main/java/com/taobao/arthas/core/command/express/DefaultMemberAccess.java b/core/src/main/java/com/taobao/arthas/core/command/express/DefaultMemberAccess.java index 2f5abb4c8..3384a863c 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/express/DefaultMemberAccess.java +++ b/core/src/main/java/com/taobao/arthas/core/command/express/DefaultMemberAccess.java @@ -1,11 +1,11 @@ package com.taobao.arthas.core.command.express; import ognl.MemberAccess; -import ognl.OgnlContext; import java.lang.reflect.AccessibleObject; import java.lang.reflect.Member; import java.lang.reflect.Modifier; +import java.util.Map; /** * ognl.DefaultMemberAccess (ognl:ognl:3.1.19) @@ -58,7 +58,8 @@ public class DefaultMemberAccess implements MemberAccess { allowPackageProtectedAccess = value; } - public Object setup(OgnlContext context, Object target, Member member, String propertyName) { + @Override + public Object setup(Map context, Object target, Member member, String propertyName) { Object result = null; if (isAccessible(context, target, member, propertyName)) { @@ -72,7 +73,8 @@ public class DefaultMemberAccess implements MemberAccess { return result; } - public void restore(OgnlContext context, Object target, Member member, String propertyName, Object state) { + @Override + public void restore(Map context, Object target, Member member, String propertyName, Object state) { if (state != null) { ((AccessibleObject)member).setAccessible((Boolean)state); } @@ -88,7 +90,8 @@ public class DefaultMemberAccess implements MemberAccess { * @param propertyName the property to test accessibility for (not used). * @return true if the member is accessible in the context, false otherwise. */ - public boolean isAccessible(OgnlContext context, Object target, Member member, String propertyName) { + @Override + public boolean isAccessible(Map context, Object target, Member member, String propertyName) { int modifiers = member.getModifiers(); boolean result = Modifier.isPublic(modifiers); diff --git a/pom.xml b/pom.xml index 31830bd7c..f8bd8e642 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ ognl ognl - 3.4.2 + 3.3.5 org.junit