This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit d672923719f4f0e076deb06002838df12b9c00bf
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Mon Nov 13 13:13:10 2023 +0100

    Replace `getDeclaredConstructor().getInstance()` with `LoaderUtil`
---
 log4j-core/pom.xml                                    | 19 -------------------
 .../logging/log4j/core/impl/ContextDataFactory.java   | 15 +++++++++------
 .../log4j/core/net/MulticastDnsAdvertiser.java        |  2 +-
 3 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/log4j-core/pom.xml b/log4j-core/pom.xml
index cdfb614072..d444705e53 100644
--- a/log4j-core/pom.xml
+++ b/log4j-core/pom.xml
@@ -162,25 +162,6 @@
   <build>
     <plugins>
 
-      <plugin>
-        <groupId>biz.aQute.bnd</groupId>
-        <artifactId>bnd-baseline-maven-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ These packages are documented as internal and were removed
-            ~ from the public OSGi exports.
-            -->
-          <diffpackages>
-            
<diffpackage>!org.apache.logging.log4j.core.layout.internal</diffpackage>
-            <diffpackage>!org.apache.logging.log4j.core.message</diffpackage>
-            
<diffpackage>!org.apache.logging.log4j.core.time.internal</diffpackage>
-            
<diffpackage>!org.apache.logging.log4j.core.tools.picocli</diffpackage>
-            
<diffpackage>!org.apache.logging.log4j.core.util.internal</diffpackage>
-            <diffpackage>*</diffpackage>
-          </diffpackages>
-        </configuration>
-      </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
index f792356743..40af516be1 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
@@ -56,8 +56,9 @@ public class ContextDataFactory {
      * In graalvm doc 
(https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md),
      * graalvm is not support MethodHandle now, so the Constructor need not to 
return MethodHandle.
      */
-    private static final Constructor<?> DEFAULT_CONSTRUCTOR = 
createDefaultConstructor(CACHED_CLASS);
-    private static final Constructor<?> INITIAL_CAPACITY_CONSTRUCTOR = 
createInitialCapacityConstructor(CACHED_CLASS);
+    private static final Constructor<? extends StringMap> DEFAULT_CONSTRUCTOR 
= createDefaultConstructor(CACHED_CLASS);
+    private static final Constructor<? extends StringMap> 
INITIAL_CAPACITY_CONSTRUCTOR =
+            createInitialCapacityConstructor(CACHED_CLASS);
 
     private static final StringMap EMPTY_STRING_MAP = createContextData(0);
 
@@ -76,7 +77,8 @@ public class ContextDataFactory {
         }
     }
 
-    private static Constructor<?> createDefaultConstructor(final Class<? 
extends StringMap> cachedClass){
+    private static Constructor<? extends StringMap> createDefaultConstructor(
+            final Class<? extends StringMap> cachedClass) {
         if (cachedClass == null) {
             return null;
         }
@@ -87,7 +89,8 @@ public class ContextDataFactory {
         }
     }
 
-    private static Constructor<?> createInitialCapacityConstructor(final 
Class<? extends StringMap> cachedClass){
+    private static Constructor<? extends StringMap> 
createInitialCapacityConstructor(
+            final Class<? extends StringMap> cachedClass) {
         if (cachedClass == null) {
             return null;
         }
@@ -103,7 +106,7 @@ public class ContextDataFactory {
             return new SortedArrayStringMap();
         }
         try {
-            return (IndexedStringMap) DEFAULT_CONSTRUCTOR.newInstance();
+            return DEFAULT_CONSTRUCTOR.newInstance();
         } catch (final Throwable ignored) {
             return new SortedArrayStringMap();
         }
@@ -114,7 +117,7 @@ public class ContextDataFactory {
             return new SortedArrayStringMap(initialCapacity);
         }
         try {
-            return (IndexedStringMap) 
INITIAL_CAPACITY_CONSTRUCTOR.newInstance(initialCapacity);
+            return INITIAL_CAPACITY_CONSTRUCTOR.newInstance(initialCapacity);
         } catch (final Throwable ignored) {
             return new SortedArrayStringMap(initialCapacity);
         }
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
index b573743c57..37417ff219 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
@@ -136,7 +136,7 @@ public class MulticastDnsAdvertiser implements Advertiser {
 
     private static Object createJmDnsVersion1() {
         try {
-            return jmDNSClass.getConstructor().newInstance();
+            return LoaderUtil.newInstanceOf(jmDNSClass);
         } catch (final InstantiationException | IllegalAccessException | 
NoSuchMethodException | InvocationTargetException e) {
             LOGGER.warn("Unable to instantiate JMDNS", e);
         }

Reply via email to