This is an automated email from the ASF dual-hosted git repository. mattsicker pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 47e78fcf3eebe11860cf3e9f48bf6c8691efffb5 Author: Matt Sicker <[email protected]> AuthorDate: Sun Oct 1 18:19:06 2023 -0500 Clean up various warnings Signed-off-by: Matt Sicker <[email protected]> --- .../java/org/apache/logging/log4j/BridgeAware.java | 5 ++-- .../log4j/internal/CopyOnWriteNavigableSet.java | 1 + .../logging/log4j/internal/DefaultLogBuilder.java | 4 +++ .../logging/log4j/message/FormattedMessage.java | 16 +++++------ .../logging/log4j/message/LocalizedMessage.java | 2 +- .../apache/logging/log4j/message/MapMessage.java | 15 ++++------ .../log4j/message/ParameterizedMessage.java | 6 ++-- .../logging/log4j/message/SimpleMessage.java | 16 ++++------- .../log4j/message/StringFormattedMessage.java | 7 ++--- .../log4j/message/StructuredDataMessage.java | 29 ++++--------------- .../logging/log4j/message/ThreadDumpMessage.java | 2 +- .../apache/logging/log4j/spi/AbstractLogger.java | 1 + .../logging/log4j/spi/LoggingSystemProperty.java | 2 ++ .../org/apache/logging/log4j/spi/Provider.java | 33 ++++++---------------- .../org/apache/logging/log4j/util/BiConsumer.java | 1 + .../apache/logging/log4j/util/PropertiesUtil.java | 16 ++++------- .../org/apache/logging/log4j/util/PropertyKey.java | 1 + .../apache/logging/log4j/util/PropertySource.java | 14 ++++----- .../logging/log4j/util/SortedArrayStringMap.java | 2 +- 19 files changed, 65 insertions(+), 108 deletions(-) diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/BridgeAware.java b/log4j-api/src/main/java/org/apache/logging/log4j/BridgeAware.java index ffb7412a81..86b7c00d7e 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/BridgeAware.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/BridgeAware.java @@ -27,8 +27,7 @@ public interface BridgeAware { * Fully qualified class name of the entry point to the logging system. This * class will not appear in the location information. * - * @param fqcn - * @return this + * @param fqcn fully qualified class name of logging system entry point */ - public void setEntryPoint(final String fqcn); + void setEntryPoint(final String fqcn); } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/internal/CopyOnWriteNavigableSet.java b/log4j-api/src/main/java/org/apache/logging/log4j/internal/CopyOnWriteNavigableSet.java index 63b0f21f2c..379e440125 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/internal/CopyOnWriteNavigableSet.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/internal/CopyOnWriteNavigableSet.java @@ -29,6 +29,7 @@ import java.util.function.Predicate; import java.util.stream.Stream; public class CopyOnWriteNavigableSet<E> extends TreeSet<E> { + private static final long serialVersionUID = 1L; private volatile NavigableSet<E> set; private final Comparator<? super E> comparator; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/internal/DefaultLogBuilder.java b/log4j-api/src/main/java/org/apache/logging/log4j/internal/DefaultLogBuilder.java index 149bd010bf..f11b917614 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/internal/DefaultLogBuilder.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/internal/DefaultLogBuilder.java @@ -81,21 +81,25 @@ public class DefaultLogBuilder implements BridgeAware, LogBuilder { return this; } + @Override public LogBuilder withMarker(final Marker marker) { this.marker = marker; return this; } + @Override public LogBuilder withThrowable(final Throwable throwable) { this.throwable = throwable; return this; } + @Override public LogBuilder withLocation() { location = StackLocatorUtil.getStackTraceElement(2); return this; } + @Override public LogBuilder withLocation(final StackTraceElement location) { this.location = location; return this; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/FormattedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/FormattedMessage.java index c83f572bdc..a63b2c3605 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/FormattedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/FormattedMessage.java @@ -130,14 +130,6 @@ public class FormattedMessage implements Message { this.throwable = throwable; } - @Override - public boolean equals(final Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - final FormattedMessage that = (FormattedMessage) o; - return Objects.equals(messagePattern, that.messagePattern) && Arrays.equals(argArray, that.argArray); - } - /** * Gets the message pattern. * @return the message pattern. @@ -202,6 +194,14 @@ public class FormattedMessage implements Message { return message.getThrowable(); } + @Override + public boolean equals(final Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + final FormattedMessage that = (FormattedMessage) o; + return Objects.equals(messagePattern, that.messagePattern) && Arrays.equals(argArray, that.argArray); + } + @Override public int hashCode() { int result = Objects.hash(messagePattern); diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java index e8be9ad952..92248931fc 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java @@ -45,7 +45,7 @@ public class LocalizedMessage implements Message, LoggerNameAwareMessage { private final String key; private final Object[] argArray; private String formattedMessage; - private transient Throwable throwable; + private Throwable throwable; /** * Constructor with message pattern and arguments. diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java index 5ebf022cc8..31cdeecd46 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java @@ -19,6 +19,7 @@ package org.apache.logging.log4j.message; import java.util.AbstractMap; import java.util.Collections; import java.util.Map; +import java.util.Objects; import java.util.TreeMap; import org.apache.logging.log4j.util.BiConsumer; @@ -477,21 +478,15 @@ public class MapMessage<M extends MapMessage<M, V>, V> implements MultiFormatStr @Override public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || this.getClass() != o.getClass()) { - return false; - } - + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; final MapMessage<?, ?> that = (MapMessage<?, ?>) o; - - return this.data.equals(that.data); + return Objects.equals(data, that.data); } @Override public int hashCode() { - return data.hashCode(); + return Objects.hash(data); } /** diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java index 7e65bb48cc..4d11b59732 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java @@ -65,8 +65,6 @@ public class ParameterizedMessage implements Message, StringBuilderFormattable { */ public static final String ERROR_SUFFIX = ParameterFormatter.ERROR_SUFFIX; - private static final int HASHVAL = 31; - // storing JDK classes in ThreadLocals does not cause memory leaks in web apps, so this is okay private static final ThreadLocal<StringBuilder> threadLocalStringBuilder = new ThreadLocal<>(); @@ -74,7 +72,7 @@ public class ParameterizedMessage implements Message, StringBuilderFormattable { private final Object[] argArray; private String formattedMessage; - private transient Throwable throwable; + private Throwable throwable; private int[] indices; private int usedCount; @@ -236,7 +234,7 @@ public class ParameterizedMessage implements Message, StringBuilderFormattable { @Override public int hashCode() { int result = Objects.hash(messagePattern); - result = HASHVAL * result + Arrays.hashCode(argArray); + result = 31 * result + Arrays.hashCode(argArray); return result; } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java index 8f4ea06c4f..94075aa872 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java @@ -16,6 +16,8 @@ */ package org.apache.logging.log4j.message; +import java.util.Objects; + import org.apache.logging.log4j.util.StringBuilderFormattable; /** @@ -85,21 +87,15 @@ public class SimpleMessage implements Message, StringBuilderFormattable, CharSeq @Override public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; final SimpleMessage that = (SimpleMessage) o; - - return !(charSequence != null ? !charSequence.equals(that.charSequence) : that.charSequence != null); + return Objects.equals(getFormattedMessage(), that.getFormattedMessage()); } @Override public int hashCode() { - return charSequence != null ? charSequence.hashCode() : 0; + return Objects.hash(getFormattedMessage()); } @Override diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/StringFormattedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/StringFormattedMessage.java index 9ad05c3d6a..995726286b 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/StringFormattedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/StringFormattedMessage.java @@ -38,8 +38,6 @@ public class StringFormattedMessage implements Message { private static final Logger LOGGER = StatusLogger.getLogger(); - private static final int HASHVAL = 31; - private final String messagePattern; private final Object[] argArray; private String formattedMessage; @@ -127,12 +125,11 @@ public class StringFormattedMessage implements Message { @Override public int hashCode() { - int result = messagePattern != null ? messagePattern.hashCode() : 0; - result = HASHVAL * result + (argArray != null ? Arrays.hashCode(argArray) : 0); + int result = Objects.hash(messagePattern); + result = 31 * result + Arrays.hashCode(argArray); return result; } - @Override public String toString() { return getFormattedMessage(); diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java index 7e7a251038..60ad5404ff 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java @@ -17,6 +17,7 @@ package org.apache.logging.log4j.message; import java.util.Map; +import java.util.Objects; import org.apache.logging.log4j.util.EnglishEnums; import org.apache.logging.log4j.util.StringBuilders; @@ -412,34 +413,16 @@ public class StructuredDataMessage extends MapMessage<StructuredDataMessage, Str @Override public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; final StructuredDataMessage that = (StructuredDataMessage) o; - - if (!super.equals(o)) { - return false; - } - if (type != null ? !type.equals(that.type) : that.type != null) { - return false; - } - if (id != null ? !id.equals(that.id) : that.id != null) { - return false; - } - return message != null ? message.equals(that.message) : that.message == null; + return Objects.equals(id, that.id) && Objects.equals(message, that.message) && Objects.equals(type, that.type); } @Override public int hashCode() { - int result = super.hashCode(); - result = HASHVAL * result + (type != null ? type.hashCode() : 0); - result = HASHVAL * result + (id != null ? id.hashCode() : 0); - result = HASHVAL * result + (message != null ? message.hashCode() : 0); - return result; + return Objects.hash(super.hashCode(), id, message, type); } @Override diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java index 04f020a473..32a31965e9 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java @@ -67,7 +67,7 @@ public class ThreadDumpMessage implements Message, StringBuilderFormattable { @Override public void formatTo(final StringBuilder sb) { sb.append(title); - if (title.length() > 0) { + if (!title.isEmpty()) { sb.append('\n'); } for (final Map.Entry<ThreadInformation, StackTraceElement[]> entry : threads.entrySet()) { diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java index 68cb9f8ca8..7f270f3b64 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java @@ -1932,6 +1932,7 @@ public abstract class AbstractLogger implements ExtendedLogger { logMessageSafely(fqcn, level, marker, msg, msg.getThrowable()); } + @Override public void logMessage(final Level level, final Marker marker, final String fqcn, final StackTraceElement location, final Message message, final Throwable throwable) { try { diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java index d5b8615330..3bd60133cf 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java @@ -218,10 +218,12 @@ public enum LoggingSystemProperty implements PropertyKey { return null; } + @Override public String getComponent() { return component.getName(); } + @Override public String getName() { return name; } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java index 39c5ad78fb..ad7db2f784 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java @@ -18,6 +18,7 @@ package org.apache.logging.log4j.spi; import java.lang.ref.WeakReference; import java.net.URL; +import java.util.Objects; import java.util.Properties; import org.apache.logging.log4j.Logger; @@ -42,7 +43,7 @@ public class Provider { */ public static final String LOGGER_CONTEXT_FACTORY = "LoggerContextFactory"; - private static final Integer DEFAULT_PRIORITY = Integer.valueOf(-1); + private static final Integer DEFAULT_PRIORITY = -1; private static final Logger LOGGER = StatusLogger.getLogger(); private final Integer priority; @@ -221,33 +222,17 @@ public class Provider { @Override public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; final Provider provider = (Provider) o; - - if (priority != null ? !priority.equals(provider.priority) : provider.priority != null) { - return false; - } - if (className != null ? !className.equals(provider.className) : provider.className != null) { - return false; - } - if (loggerContextFactoryClass != null ? !loggerContextFactoryClass.equals(provider.loggerContextFactoryClass) : provider.loggerContextFactoryClass != null) { - return false; - } - return versions != null ? versions.equals(provider.versions) : provider.versions == null; + return Objects.equals(priority, provider.priority) && + Objects.equals(className, provider.className) && + Objects.equals(loggerContextFactoryClass, provider.loggerContextFactoryClass) && + Objects.equals(versions, provider.versions); } @Override public int hashCode() { - int result = priority != null ? priority.hashCode() : 0; - result = 31 * result + (className != null ? className.hashCode() : 0); - result = 31 * result + (loggerContextFactoryClass != null ? loggerContextFactoryClass.hashCode() : 0); - result = 31 * result + (versions != null ? versions.hashCode() : 0); - return result; + return Objects.hash(priority, className, loggerContextFactoryClass, versions); } } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java index fff04b3931..9987a09808 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java @@ -31,5 +31,6 @@ public interface BiConsumer<K, V> extends java.util.function.BiConsumer<K, V> { * @param k the first input argument * @param v the second input argument */ + @Override void accept(K k, V v); } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java index 58077430f4..395f8c049f 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesUtil.java @@ -97,7 +97,7 @@ public class PropertiesUtil implements PropertyEnvironment { * @param propertiesFileName the location of properties file to load */ public PropertiesUtil(final String propertiesFileName) { - this(PropertySource.SYSTEM_CONTEXT, propertiesFileName, true); + this(PropertySource.SYSTEM_CONTEXT, propertiesFileName); } /** * Constructs a PropertiesUtil for a given properties file name on the classpath. The properties specified in this @@ -106,10 +106,6 @@ public class PropertiesUtil implements PropertyEnvironment { * @param propertiesFileName the location of properties file to load */ public PropertiesUtil(final String contextName, final String propertiesFileName) { - this(contextName, propertiesFileName, true); - } - - private PropertiesUtil(final String contextName, final String propertiesFileName, final boolean useTccl) { final List<PropertySource> sources = new ArrayList<>(); if (propertiesFileName.endsWith(".json") || propertiesFileName.endsWith(".jsn")) { final PropertySource source = getJsonPropertySource(propertiesFileName, 50); @@ -117,15 +113,15 @@ public class PropertiesUtil implements PropertyEnvironment { sources.add(source); } } else { - final PropertySource source = new PropertiesPropertySource(PropertyFilePropertySource.loadPropertiesFile(propertiesFileName), - null, 60, true); + final Properties properties = PropertyFilePropertySource.loadPropertiesFile(propertiesFileName); + final PropertySource source = new PropertiesPropertySource(properties, null, 60, true); sources.add(source); } this.environment = new Environment(contextName, sources); } private PropertiesUtil() { - this.environment = getEnvironment(LOG4J_NAMESPACE, true); + this.environment = getEnvironment(LOG4J_NAMESPACE); } /** @@ -167,10 +163,10 @@ public class PropertiesUtil implements PropertyEnvironment { } public static PropertyEnvironment getProperties(final String namespace) { - return getEnvironment(namespace, true); + return getEnvironment(namespace); } - private static Environment getEnvironment(final String namespace, final boolean useTccl) { + private static Environment getEnvironment(final String namespace) { final List<PropertySource> sources = new ArrayList<>(); final String fileName = String.format("log4j2.%s.properties", namespace); final Properties properties = PropertyFilePropertySource.loadPropertiesFile(fileName); diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyKey.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyKey.java index 13211f2201..9896de5eea 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyKey.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyKey.java @@ -30,5 +30,6 @@ public interface PropertyKey { return "log4j2.*." + getKey(); } + @Override String toString(); } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertySource.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertySource.java index 0cb1e326ae..6af0c05122 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertySource.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertySource.java @@ -19,7 +19,6 @@ package org.apache.logging.log4j.util; import java.io.InputStream; import java.net.URL; import java.nio.charset.StandardCharsets; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Enumeration; @@ -29,8 +28,6 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; - - /** * A source for global configuration properties. * @@ -128,7 +125,7 @@ public interface PropertySource { * @since 2.10.0 */ final class Util { - private static final Map<CharSequence, List<CharSequence>> CACHE = new ConcurrentHashMap<>(); + private static final Map<String, List<CharSequence>> CACHE = new ConcurrentHashMap<>(); // List of "shorthand" properties and the property they map to. static { populateCache(); @@ -143,11 +140,12 @@ public interface PropertySource { * @return the property broken into lower case tokens */ public static List<CharSequence> tokenize(final CharSequence value) { - if (CACHE.containsKey(value)) { - return CACHE.get(value); + final String key = value.toString(); + if (CACHE.containsKey(key)) { + return CACHE.get(key); } - final List<CharSequence> tokens = Arrays.asList(value.toString().split("[._/]+")); - CACHE.put(value, tokens); + final List<CharSequence> tokens = List.of(key.split("[._/]+")); + CACHE.put(key, tokens); return tokens; } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java index a7084c4eca..66bb06c683 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedArrayStringMap.java @@ -240,7 +240,7 @@ public class SortedArrayStringMap implements IndexedStringMap { } else { merge((SortedArrayStringMap) source); } - } else if (source != null) { + } else { source.forEach(PUT_ALL, this); } }
