You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2020/12/30 13:48:07 UTC

[openwebbeans] branch master updated: [OWB-1364] ensure we ignore non proxied Object class when computing stable proxy names

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 c5103b0  [OWB-1364] ensure we ignore non proxied Object class when computing stable proxy names
c5103b0 is described below

commit c5103b076723075832cdb981aedc085d7467b548
Author: Romain Manni-Bucau <rm...@gmail.com>
AuthorDate: Wed Dec 30 14:48:01 2020 +0100

    [OWB-1364] ensure we ignore non proxied Object class when computing stable proxy names
---
 .../apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java   | 4 ++--
 .../main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java    | 5 ++++-
 .../test/java/org/apache/webbeans/test/managed/ProxyFactoryTest.java | 2 +-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java b/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java
index 1b4b13c..afd4e44 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/OwbAnnotationFinder.java
@@ -42,8 +42,8 @@ public class OwbAnnotationFinder extends AnnotationFinder
 
     public OwbAnnotationFinder(final Class<?>[] classes)
     {
-        super(new ClassesArchive(/*empty since we want to read from reflection, not form resources*/));
-        Stream.of(classes).forEach(super::readClassDef);
+        super(new ClassesArchive(/*empty since we want to read from reflection, not from resources*/));
+        Stream.of(classes).forEach(c -> super.readClassDef(c));
     }
 
     public ClassInfo getClassInfo(String className)
diff --git a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
index f9625f1..6be6ee3 100644
--- a/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
+++ b/webbeans-impl/src/main/java/org/apache/webbeans/proxy/AbstractProxyFactory.java
@@ -252,7 +252,10 @@ public abstract class AbstractProxyFactory
                     proxiedMethods == null ? Stream.empty() :
                             Stream.of(proxiedMethods).map(Method::toGenericString).sorted(),
                     notProxiedMethods == null ? Stream.empty() :
-                            Stream.of(notProxiedMethods).map(Method::toGenericString).map(it -> "<NOT>" + it).sorted()
+                            Stream.of(notProxiedMethods)
+                                    .filter(it -> it.getDeclaringClass() != Object.class)
+                                    .map(Method::toGenericString)
+                                    .map(it -> "<NOT>" + it).sorted()
             ).collect(joining("_")))));
         }
         // else unsafe - 1 proxy per class max!
diff --git a/webbeans-impl/src/test/java/org/apache/webbeans/test/managed/ProxyFactoryTest.java b/webbeans-impl/src/test/java/org/apache/webbeans/test/managed/ProxyFactoryTest.java
index 38f3945..0ff1ecd 100644
--- a/webbeans-impl/src/test/java/org/apache/webbeans/test/managed/ProxyFactoryTest.java
+++ b/webbeans-impl/src/test/java/org/apache/webbeans/test/managed/ProxyFactoryTest.java
@@ -123,7 +123,7 @@ public class ProxyFactoryTest extends AbstractUnitTest
         final ABean bean1 = getInstance("bean1");
         final ABean bean2 = getInstance("bean2");
         assertEquals(
-                "org.apache.webbeans.test.managed.ProxyFactoryTest$ABean$$OwbNormalScopeProxy8050522010792129812",
+                "org.apache.webbeans.test.managed.ProxyFactoryTest$ABean$$OwbNormalScopeProxy5751833139562769786",
                 bean1.getClass().getName());
         assertEquals(
                 "org.apache.webbeans.test.managed.ProxyFactoryTest$ABean$$OwbInterceptProxy5751833139562769786",