This is an automated email from the ASF dual-hosted git repository.
rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwebbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 0d022c1 [OWB-1401] sort intercepted methods
0d022c1 is described below
commit 0d022c1ef8a76f02e4d7b3efe294ad877e2732a2
Author: Romain Manni-Bucau <[email protected]>
AuthorDate: Wed Jan 26 17:07:58 2022 +0100
[OWB-1401] sort intercepted methods
---
.../java/org/apache/webbeans/portable/AbstractProducer.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git
a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractProducer.java
b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractProducer.java
index 599c493..d2c0c1f 100644
---
a/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractProducer.java
+++
b/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractProducer.java
@@ -42,6 +42,8 @@ import
org.apache.webbeans.intercept.InterceptorResolutionService.BeanIntercepto
import org.apache.webbeans.proxy.InterceptorDecoratorProxyFactory;
import org.apache.webbeans.proxy.OwbInterceptorProxy;
+import static java.util.Comparator.comparing;
+
public abstract class AbstractProducer<T> implements Producer<T>
{
@@ -99,8 +101,12 @@ public abstract class AbstractProducer<T> implements
Producer<T>
ClassLoader classLoader =
webBeansContext.getApplicationBoundaryService().getBoundaryClassLoader(annotatedType.getJavaClass());
- Method[] businessMethods = methodInterceptors.keySet().toArray(new
Method[methodInterceptors.size()]);
- Method[] nonInterceptedMethods =
interceptorInfo.getNonInterceptedMethods().toArray(new
Method[interceptorInfo.getNonInterceptedMethods().size()]);
+ Method[] businessMethods = methodInterceptors.keySet().stream()
+
.sorted(comparing(Method::getName).thenComparing(Method::getParameterCount).thenComparing(Method::toGenericString))
+ .toArray(Method[]::new);
+ Method[] nonInterceptedMethods =
interceptorInfo.getNonInterceptedMethods().stream()
+
.sorted(comparing(Method::getName).thenComparing(Method::getParameterCount).thenComparing(Method::toGenericString))
+ .toArray(Method[]::new);
proxyClass = (Class<? extends T>) pf.createProxyClass(bean,
classLoader, annotatedType.getJavaClass(), businessMethods,
nonInterceptedMethods);