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 044b088 trying to unify the logic in fixPreservedPackages to isolate
the prefixes we handles in a single 'array like' structure
044b088 is described below
commit 044b088d6270c66b338e0f951b00c37e24e39a2d
Author: Romain Manni-Bucau <[email protected]>
AuthorDate: Sat Mar 13 19:45:56 2021 +0100
trying to unify the logic in fixPreservedPackages to isolate the prefixes
we handles in a single 'array like' structure
---
.../org/apache/webbeans/proxy/AbstractProxyFactory.java | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
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 1b156cf..f66d03b 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
@@ -269,15 +269,15 @@ public abstract class AbstractProxyFactory
return "org.apache.webbeans.custom.signed." + classToProxy.getName();
}
- protected String fixPreservedPackages(String proxyClassName)
+ protected String fixPreservedPackages(final String proxyClassName)
{
- proxyClassName = fixPreservedPackage(proxyClassName, "java.");
- proxyClassName = fixPreservedPackage(proxyClassName, "javax.");
- proxyClassName = fixPreservedPackage(proxyClassName, "jakarta.");
- proxyClassName = fixPreservedPackage(proxyClassName, "sun.misc.");
-
- return proxyClassName;
+ return Stream.of("java.", "javax.", "jakarta.", "sun.misc.")
+ .filter(proxyClassName::startsWith)
+ .findFirst() // can only be one, you can't start with 2 of them
+ .map(it -> fixPreservedPackage(proxyClassName, it))
+ .orElse(proxyClassName);
}
+
/**
* Detect if the provided className is in the forbidden package.
* If so, move it to org.apache.webbeans.custom.