diff --git a/cf-java-logging-support-core/pom.xml b/cf-java-logging-support-core/pom.xml index 299ed7e0..7cc206ec 100644 --- a/cf-java-logging-support-core/pom.xml +++ b/cf-java-logging-support-core/pom.xml @@ -11,7 +11,6 @@ com.fasterxml.jackson.jr jackson-jr-objects - ${jackson-jr.version} @@ -21,12 +20,6 @@ ${logback.version} test - - - org.apache.commons - commons-lang3 - 3.19.0 - diff --git a/cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/converter/LineWriter.java b/cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/converter/LineWriter.java index 7422108f..c1b9d4eb 100644 --- a/cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/converter/LineWriter.java +++ b/cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/converter/LineWriter.java @@ -1,7 +1,5 @@ package com.sap.hcp.cf.logging.common.converter; -import org.apache.commons.lang3.StringUtils; - import java.io.IOException; import java.io.StringWriter; import java.io.Writer; @@ -12,7 +10,7 @@ public class LineWriter extends Writer { StringWriter sw = new StringWriter(); - private List lines = new LinkedList(); + private final List lines = new LinkedList(); public LineWriter() { } @@ -26,7 +24,7 @@ public List getLines() { */ @Override public void write(String str, int off, int len) { - if (StringUtils.isNotBlank(str)) { + if (str != null && !str.isBlank()) { lines.add(str); } } diff --git a/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/filter/DynamicLevelPrefixLoggerFilter.java b/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/filter/DynamicLevelPrefixLoggerFilter.java index 4bd52614..33307e90 100644 --- a/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/filter/DynamicLevelPrefixLoggerFilter.java +++ b/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/filter/DynamicLevelPrefixLoggerFilter.java @@ -1,7 +1,6 @@ package com.sap.hcp.cf.log4j2.filter; import com.sap.hcp.cf.logging.common.helper.DynamicLogLevelHelper; -import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.core.LogEvent; @@ -32,7 +31,11 @@ public Result filter(LogEvent event) { private Level getDynamicLevel(LogEvent event) { String logLevel = getContextValue(event, DynamicLogLevelHelper.MDC_DYNAMIC_LOG_LEVEL_KEY); - return StringUtils.isNotBlank(logLevel) ? Level.getLevel(logLevel) : null; + return isNotBlank(logLevel) ? Level.getLevel(logLevel) : null; + } + + private static boolean isNotBlank(String string) { + return string != null && !string.isBlank(); } private String getContextValue(LogEvent event, String key) { @@ -54,7 +57,7 @@ private Result filter(Level level, Level dynamicLevel, String loggerFqcn, String } private boolean checkPackages(String loggerFqcn, String logLevelPackages) { - if (StringUtils.isNotBlank(logLevelPackages)) { + if (isNotBlank(logLevelPackages)) { for (String current: logLevelPackages.split(",")) { if (loggerFqcn.startsWith(current)) { return true; @@ -84,7 +87,7 @@ public Result filter(final Logger logger, final Level level, final Marker marker private Level getMdcLevel() { String mdcLevel = MDC.get(DynamicLogLevelHelper.MDC_DYNAMIC_LOG_LEVEL_KEY); - return StringUtils.isNotBlank(mdcLevel) ? Level.getLevel(mdcLevel) : null; + return isNotBlank(mdcLevel) ? Level.getLevel(mdcLevel) : null; } private String getMdcPackages() { diff --git a/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/layout/suppliers/BaseFieldSupplier.java b/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/layout/suppliers/BaseFieldSupplier.java index 5c9fcbda..2ecfa83a 100644 --- a/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/layout/suppliers/BaseFieldSupplier.java +++ b/cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/layout/suppliers/BaseFieldSupplier.java @@ -3,7 +3,6 @@ import com.sap.hcp.cf.log4j2.converter.api.Log4jContextFieldSupplier; import com.sap.hcp.cf.logging.common.Defaults; import com.sap.hcp.cf.logging.common.Fields; -import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.core.LogEvent; import java.time.Instant; @@ -32,13 +31,17 @@ public Map map(LogEvent event) { if (event.getThrown() != null) { Throwable throwable = event.getThrown(); fields.put(Fields.EXCEPTION_TYPE, throwable.getClass().getName()); - if (StringUtils.isNotBlank(throwable.getMessage())) { + if (isNotBlank(throwable.getMessage())) { fields.put(Fields.EXCEPTION_MESSAGE, throwable.getMessage()); } } return fields; } + private static boolean isNotBlank(String string) { + return string != null && !string.isBlank(); + } + private String getIsoTs(LogEvent event) { org.apache.logging.log4j.core.time.Instant instant = event.getInstant(); return Instant.ofEpochSecond(instant.getEpochSecond(), instant.getNanoOfSecond()).toString(); diff --git a/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/encoder/BaseFieldSupplier.java b/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/encoder/BaseFieldSupplier.java index 41d9cdac..02af1676 100644 --- a/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/encoder/BaseFieldSupplier.java +++ b/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/encoder/BaseFieldSupplier.java @@ -6,7 +6,6 @@ import com.sap.hcp.cf.logging.common.Defaults; import com.sap.hcp.cf.logging.common.Fields; import com.sap.hcp.cf.logging.common.Markers; -import org.apache.commons.lang3.StringUtils; import java.time.Instant; import java.util.HashMap; @@ -34,13 +33,17 @@ public Map map(ILoggingEvent event) { if (event.getThrowableProxy() != null && event.getThrowableProxy() instanceof ThrowableProxy) { Throwable throwable = ((ThrowableProxy) event.getThrowableProxy()).getThrowable(); fields.put(Fields.EXCEPTION_TYPE, throwable.getClass().getName()); - if (StringUtils.isNotBlank(throwable.getMessage())) { + if (isNotBlank(throwable.getMessage())) { fields.put(Fields.EXCEPTION_MESSAGE, throwable.getMessage()); } } return fields; } + private static boolean isNotBlank(String string) { + return string != null && !string.isBlank(); + } + private String now() { Instant now = Instant.now(); long timestamp = now.getEpochSecond() * 1_000_000_000L + now.getNano(); diff --git a/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/filter/DynamicLevelPrefixLoggerTurboFilter.java b/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/filter/DynamicLevelPrefixLoggerTurboFilter.java index 85c5454e..5e2a1a3d 100644 --- a/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/filter/DynamicLevelPrefixLoggerTurboFilter.java +++ b/cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/filter/DynamicLevelPrefixLoggerTurboFilter.java @@ -5,7 +5,6 @@ import ch.qos.logback.classic.turbo.TurboFilter; import ch.qos.logback.core.spi.FilterReply; import com.sap.hcp.cf.logging.common.helper.DynamicLogLevelHelper; -import org.apache.commons.lang3.StringUtils; import org.slf4j.MDC; import org.slf4j.Marker; @@ -23,7 +22,7 @@ public FilterReply decide(final Marker marker, final Logger logger, final Level private boolean checkPackages(final Logger logger) { final String logLevelPackages = MDC.get(DynamicLogLevelHelper.MDC_DYNAMIC_LOG_LEVEL_PREFIXES); - if (StringUtils.isNotBlank(logLevelPackages)) { + if (isNotBlank(logLevelPackages)) { for (String current: logLevelPackages.split(",")) { if (logger.getName().startsWith(current)) { return true; @@ -33,4 +32,8 @@ private boolean checkPackages(final Logger logger) { return false; } + private static boolean isNotBlank(String string) { + return string != null && !string.isBlank(); + } + } diff --git a/cf-java-logging-support-opentelemetry-agent-extension/pom.xml b/cf-java-logging-support-opentelemetry-agent-extension/pom.xml index 6beca3b0..e1221de5 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/pom.xml +++ b/cf-java-logging-support-opentelemetry-agent-extension/pom.xml @@ -16,8 +16,6 @@ - 11 - 11 1.55.0 @@ -62,7 +60,6 @@ com.fasterxml.jackson.core jackson-core - ${jackson-jr.version} com.squareup.okhttp3 @@ -86,6 +83,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + ${compiler.plugin.version} + + 11 + + org.apache.maven.plugins maven-shade-plugin diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProvider.java b/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProvider.java index 1c7a2ef2..1e3b0d1f 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProvider.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProvider.java @@ -6,8 +6,6 @@ import java.util.function.Supplier; import java.util.stream.Stream; -import static java.util.Arrays.asList; -import static java.util.Collections.singletonList; import static java.util.stream.Collectors.toList; public class CloudLoggingServicesProvider implements Supplier> { @@ -23,8 +21,8 @@ public CloudLoggingServicesProvider(ConfigProperties config) { } CloudLoggingServicesProvider(ConfigProperties config, CloudFoundryServicesAdapter adapter) { - List serviceLabels = asList(getUserProvidedLabel(config), getCloudLoggingLabel(config)); - List serviceTags = singletonList(getCloudLoggingTag(config)); + List serviceLabels = List.of(getUserProvidedLabel(config), getCloudLoggingLabel(config)); + List serviceTags = List.of(getCloudLoggingTag(config)); this.services = adapter.stream(serviceLabels, serviceTags).collect(toList()); } diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServiceProvider.java b/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServiceProvider.java index b0af6f4b..aca506ce 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServiceProvider.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServiceProvider.java @@ -5,9 +5,6 @@ import java.util.List; import java.util.function.Supplier; -import static java.util.Arrays.asList; -import static java.util.Collections.singletonList; - public class DynatraceServiceProvider implements Supplier { private static final String DEFAULT_USER_PROVIDED_LABEL = "user-provided"; @@ -21,8 +18,8 @@ public DynatraceServiceProvider(ConfigProperties config) { } DynatraceServiceProvider(ConfigProperties config, CloudFoundryServicesAdapter adapter) { - List serviceLabels = asList(getUserProvidedLabel(config), getDynatraceLabel(config)); - List serviceTags = singletonList(getDynatraceTag(config)); + List serviceLabels = List.of(getUserProvidedLabel(config), getDynatraceLabel(config)); + List serviceTags = List.of(getDynatraceTag(config)); this.service = adapter.stream(serviceLabels, serviceTags).findFirst().orElse(null); } diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudFoundryServicesAdapterTest.java b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudFoundryServicesAdapterTest.java index 6b065b9e..8c337bf4 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudFoundryServicesAdapterTest.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudFoundryServicesAdapterTest.java @@ -4,71 +4,68 @@ import org.assertj.core.api.ObjectAssert; import org.junit.jupiter.api.Test; -import java.util.Collections; import java.util.List; -import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.stream.Collectors.toList; import static org.assertj.core.api.Assertions.assertThat; public class CloudFoundryServicesAdapterTest { - private static final String DEFAULT_VCAP_SERVICES = """ - { - "managed-find-me-service": [ - { - "label": "managed-find-me-service", - "tags": ["Find Me!"], - "name": "managed-find-me1" - }, - { - "label": "managed-find-me-service", - "tags": ["Find Me!"], - "name": "managed-find-me2" - }, - { - "label": "managed-find-me-service", - "tags": ["You can't see me!"], - "name": "managed-other" - } - ], - "managed-notice-me-not-service": [ - { - "label": "managed-notice-me-not-service", - "tags": ["Find Me!"], - "name": "managed-other1" - }, - { - "label": "managed-notice-me-not-service", - "tags": ["You can't see me!"], - "name": "managed-other2" - } - ], - "user-provided": [ - { - "label": "user-provided", - "tags": ["Find Me!"], - "name": "ups-find-me1" - }, - { - "label": "user-provided", - "tags": ["Find Me!"], - "name": "ups-find-me2" - }, - { - "label": "user-provided", - "tags": ["You can't see me!"], - "name": "ups-other" - } - ] - }"""; + private static final String DEFAULT_VCAP_SERVICES = "{\n" + // + " \"managed-find-me-service\": [\n" + // + " {\n" + // + " \"label\": \"managed-find-me-service\",\n" + // + " \"tags\": [\"Find Me!\"],\n" + // + " \"name\": \"managed-find-me1\"\n" + // + " },\n" + // + " {\n" + // + " \"label\": \"managed-find-me-service\",\n" + // + " \"tags\": [\"Find Me!\"],\n" + // + " \"name\": \"managed-find-me2\"\n" + // + " },\n" + // + " {\n" + // + " \"label\": \"managed-find-me-service\",\n" + // + " \"tags\": [\"You can't see me!\"],\n" + // + " \"name\": \"managed-other\"\n" + // + " }\n" + // + " ],\n" + // + " \"managed-notice-me-not-service\": [\n" + // + " {\n" + // + " \"label\": \"managed-notice-me-not-service\",\n" + // + " \"tags\": [\"Find Me!\"],\n" + // + " \"name\": \"managed-other1\"\n" + // + " },\n" + // + " {\n" + // + " \"label\": \"managed-notice-me-not-service\",\n" + // + " \"tags\": [\"You can't see me!\"],\n" + // + " \"name\": \"managed-other2\"\n" + // + " }\n" + // + " ],\n" + // + " \"user-provided\": [\n" + // + " {\n" + // + " \"label\": \"user-provided\",\n" + // + " \"tags\": [\"Find Me!\"],\n" + // + " \"name\": \"ups-find-me1\"\n" + // + " },\n" + // + " {\n" + // + " \"label\": \"user-provided\",\n" + // + " \"tags\": [\"Find Me!\"],\n" + // + " \"name\": \"ups-find-me2\"\n" + // + " },\n" + // + " {\n" + // + " \"label\": \"user-provided\",\n" + // + " \"tags\": [\"You can't see me!\"],\n" + // + " \"name\": \"ups-other\"\n" + // + " }\n" + // + " ]\n" + // + "}"; private static final CloudFoundryServicesAdapter DEFAULT_ADAPTER = new CloudFoundryServicesAdapter(DEFAULT_VCAP_SERVICES); @Test void getsAllServicesWithNullParameters() { - List services = DEFAULT_ADAPTER.stream(null, null).toList(); + List services = DEFAULT_ADAPTER.stream(null, null).collect(toList()); assertServiceNames(services).containsExactly("managed-find-me1", "managed-find-me2", "managed-other", "managed-other1", "managed-other2", "ups-find-me1", "ups-find-me2", "ups-other"); @@ -83,14 +80,15 @@ private static AbstractListAssert, String, ObjectAsser @Test void filtersBySingleLabel() { List services = - DEFAULT_ADAPTER.stream(Collections.singletonList("managed-find-me-service"), emptyList()).toList(); + DEFAULT_ADAPTER.stream(List.of("managed-find-me-service"), emptyList()).collect(toList()); assertServiceNames(services).containsExactlyInAnyOrder("managed-find-me1", "managed-find-me2", "managed-other"); } @Test void priotizesByServiceLabel() { List services = - DEFAULT_ADAPTER.stream(asList("user-provided", "managed-find-me-service"), emptyList()).toList(); + DEFAULT_ADAPTER.stream(List.of("user-provided", "managed-find-me-service"), emptyList()) + .collect(toList()); assertServiceNames(services).containsExactly("ups-find-me1", "ups-find-me2", "ups-other", "managed-find-me1", "managed-find-me2", "managed-other"); } @@ -98,7 +96,7 @@ void priotizesByServiceLabel() { @Test void filtersBySingleTag() { List services = - DEFAULT_ADAPTER.stream(emptyList(), Collections.singletonList("Find Me!")).toList(); + DEFAULT_ADAPTER.stream(emptyList(), List.of("Find Me!")).collect(toList()); assertServiceNames(services).containsExactlyInAnyOrder("managed-find-me1", "managed-find-me2", "managed-other1", "ups-find-me1", "ups-find-me2"); } @@ -106,8 +104,8 @@ void filtersBySingleTag() { @Test void standardUseCase() { List services = - DEFAULT_ADAPTER.stream(asList("user-provided", "managed-find-me-service"), - Collections.singletonList("Find Me!")).collect(toList()); + DEFAULT_ADAPTER.stream(List.of("user-provided", "managed-find-me-service"), List.of("Find Me!")) + .collect(toList()); assertServiceNames(services).containsExactly("ups-find-me1", "ups-find-me2", "managed-find-me1", "managed-find-me2"); } diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingBindingPropertiesSupplierTest.java b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingBindingPropertiesSupplierTest.java index fe4e2807..a6073ee9 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingBindingPropertiesSupplierTest.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingBindingPropertiesSupplierTest.java @@ -11,7 +11,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Stream; @@ -29,7 +28,7 @@ public class CloudLoggingBindingPropertiesSupplierTest { private static final Map BINDING = Map.ofEntries(entry("label", "user-provided"), entry("name", "test-name"), - entry("tags", Collections.singletonList("Cloud Logging")), entry("credentials", CREDENTIALS)); + entry("tags", List.of("Cloud Logging")), entry("credentials", CREDENTIALS)); @Mock private CloudLoggingServicesProvider servicesProvider; diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProviderTest.java b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProviderTest.java index 464ffd61..c23ff120 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProviderTest.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/CloudLoggingServicesProviderTest.java @@ -8,10 +8,10 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.stream.Stream; -import static java.util.Arrays.asList; import static java.util.Map.entry; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anyList; @@ -38,7 +38,7 @@ void defaultLabelsAndTags() { CloudLoggingServicesProvider provider = new CloudLoggingServicesProvider(emptyProperties, adapter); assertThat(provider.get()).containsExactly(mockService); - verify(adapter).stream(asList("user-provided", "cloud-logging"), Collections.singletonList("Cloud Logging")); + verify(adapter).stream(List.of("user-provided", "cloud-logging"), List.of("Cloud Logging")); } @Test @@ -50,8 +50,7 @@ void customLabel() { CloudLoggingServicesProvider provider = new CloudLoggingServicesProvider(config, adapter); assertThat(provider.get()).containsExactly(mockService); - verify(adapter).stream(asList("unknown-label", "not-cloud-logging"), - Collections.singletonList("Cloud Logging")); + verify(adapter).stream(List.of("unknown-label", "not-cloud-logging"), List.of("Cloud Logging")); } @Test @@ -62,8 +61,7 @@ void customTag() { CloudLoggingServicesProvider provider = new CloudLoggingServicesProvider(emptyProperties, adapter); assertThat(provider.get()).containsExactly(mockService); - verify(adapter).stream(asList("user-provided", "cloud-logging"), - Collections.singletonList("NOT Cloud Logging")); + verify(adapter).stream(List.of("user-provided", "cloud-logging"), List.of("NOT Cloud Logging")); } } diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServicesProviderTest.java b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServicesProviderTest.java index c2c3eb90..c1eb0050 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServicesProviderTest.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/binding/DynatraceServicesProviderTest.java @@ -8,10 +8,10 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.stream.Stream; -import static java.util.Arrays.asList; import static java.util.Map.entry; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anyList; @@ -38,7 +38,7 @@ void defaultLabelsAndTags() { DynatraceServiceProvider provider = new DynatraceServiceProvider(emptyProperties, adapter); assertThat(provider.get()).isEqualTo(mockService); - verify(adapter).stream(asList("user-provided", "dynatrace"), Collections.singletonList("dynatrace")); + verify(adapter).stream(List.of("user-provided", "dynatrace"), List.of("dynatrace")); } @Test @@ -50,7 +50,7 @@ void customLabel() { DynatraceServiceProvider provider = new DynatraceServiceProvider(config, adapter); assertThat(provider.get()).isEqualTo(mockService); - verify(adapter).stream(asList("unknown-label", "not-dynatrace"), Collections.singletonList("dynatrace")); + verify(adapter).stream(List.of("unknown-label", "not-dynatrace"), List.of("dynatrace")); } @Test @@ -61,7 +61,7 @@ void customTag() { DynatraceServiceProvider provider = new DynatraceServiceProvider(emptyProperties, adapter); assertThat(provider.get()).isEqualTo(mockService); - verify(adapter).stream(asList("user-provided", "dynatrace"), Collections.singletonList("NOT dynatrace")); + verify(adapter).stream(List.of("user-provided", "dynatrace"), List.of("NOT dynatrace")); } } diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/exporter/MultiMetricExporterTest.java b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/exporter/MultiMetricExporterTest.java index 31ebc7da..38c41a1d 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/exporter/MultiMetricExporterTest.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/test/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/exporter/MultiMetricExporterTest.java @@ -10,10 +10,9 @@ import java.util.Collection; import java.util.Collections; +import java.util.List; -import static java.util.Arrays.asList; import static java.util.Collections.emptyList; -import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.*; @@ -32,7 +31,7 @@ public void createsNoopExporterOnEmptyExporterList() { @Test public void returnsSingleExporterOnOneEntryExporterList() { MetricExporter exporter = mock(MetricExporter.class); - assertThat(MultiMetricExporter.composite(singletonList(exporter), null, null)).isSameAs(exporter); + assertThat(MultiMetricExporter.composite(List.of(exporter), null, null)).isSameAs(exporter); } @Test @@ -43,7 +42,7 @@ public void delegatesExport() { MetricExporter exporter2 = mock(MetricExporter.class); when(exporter2.export(metrics)).thenReturn(CompletableResultCode.ofSuccess()); - MetricExporter metricExporter = MultiMetricExporter.composite(asList(exporter1, exporter2), null, null); + MetricExporter metricExporter = MultiMetricExporter.composite(List.of(exporter1, exporter2), null, null); metricExporter.export(metrics); verify(exporter1).export(metrics); @@ -57,7 +56,7 @@ public void delegatesFlush() { MetricExporter exporter2 = mock(MetricExporter.class); when(exporter2.flush()).thenReturn(CompletableResultCode.ofSuccess()); - MetricExporter metricExporter = MultiMetricExporter.composite(asList(exporter1, exporter2), null, null); + MetricExporter metricExporter = MultiMetricExporter.composite(List.of(exporter1, exporter2), null, null); metricExporter.flush(); verify(exporter1).flush(); @@ -71,7 +70,7 @@ public void delegatesShutdwon() { MetricExporter exporter2 = mock(MetricExporter.class); when(exporter2.shutdown()).thenReturn(CompletableResultCode.ofSuccess()); - MetricExporter metricExporter = MultiMetricExporter.composite(asList(exporter1, exporter2), null, null); + MetricExporter metricExporter = MultiMetricExporter.composite(List.of(exporter1, exporter2), null, null); metricExporter.shutdown(); verify(exporter1).shutdown(); @@ -86,7 +85,7 @@ public void delegatesAggregationTemporality() { AggregationTemporalitySelector aggregationTemporalitySelector = mock(AggregationTemporalitySelector.class); MetricExporter metricExporter = - MultiMetricExporter.composite(asList(exporter1, exporter2), aggregationTemporalitySelector, null); + MultiMetricExporter.composite(List.of(exporter1, exporter2), aggregationTemporalitySelector, null); metricExporter.getAggregationTemporality(InstrumentType.OBSERVABLE_GAUGE); verify(aggregationTemporalitySelector).getAggregationTemporality(InstrumentType.OBSERVABLE_GAUGE); @@ -100,7 +99,7 @@ public void delegatesDefaultAggregation() { DefaultAggregationSelector defaultAggregationSelector = mock(DefaultAggregationSelector.class); MetricExporter metricExporter = - MultiMetricExporter.composite(asList(exporter1, exporter2), null, defaultAggregationSelector); + MultiMetricExporter.composite(List.of(exporter1, exporter2), null, defaultAggregationSelector); metricExporter.getDefaultAggregation(InstrumentType.OBSERVABLE_GAUGE); verify(defaultAggregationSelector).getDefaultAggregation(InstrumentType.OBSERVABLE_GAUGE); @@ -111,7 +110,7 @@ public void delegatesAggregationTemporalityToFirstExporterIfNoExplicitAggregatio MetricExporter exporter1 = mock(MetricExporter.class); MetricExporter exporter2 = mock(MetricExporter.class); - MetricExporter metricExporter = MultiMetricExporter.composite(asList(exporter1, exporter2), null, null); + MetricExporter metricExporter = MultiMetricExporter.composite(List.of(exporter1, exporter2), null, null); metricExporter.getAggregationTemporality(InstrumentType.OBSERVABLE_GAUGE); @@ -123,7 +122,7 @@ public void delegatesDefaultAggregationToFirstExporterIfNoExplicitAggregation() MetricExporter exporter1 = mock(MetricExporter.class); MetricExporter exporter2 = mock(MetricExporter.class); - MetricExporter metricExporter = MultiMetricExporter.composite(asList(exporter1, exporter2), null, null); + MetricExporter metricExporter = MultiMetricExporter.composite(List.of(exporter1, exporter2), null, null); metricExporter.getDefaultAggregation(InstrumentType.OBSERVABLE_GAUGE); diff --git a/cf-java-logging-support-servlet-dynlog-jwt/pom.xml b/cf-java-logging-support-servlet-dynlog-jwt/pom.xml index 6f32d2c0..c5e0b0d1 100644 --- a/cf-java-logging-support-servlet-dynlog-jwt/pom.xml +++ b/cf-java-logging-support-servlet-dynlog-jwt/pom.xml @@ -15,6 +15,10 @@ ../pom.xml + + 4.5.0 + + com.sap.hcp.cf.logging @@ -32,11 +36,6 @@ java-jwt ${java-jwt.version} - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind.version} - com.sap.hcp.cf.logging diff --git a/cf-java-logging-support-servlet/pom.xml b/cf-java-logging-support-servlet/pom.xml index 5fc88bbf..3008662e 100644 --- a/cf-java-logging-support-servlet/pom.xml +++ b/cf-java-logging-support-servlet/pom.xml @@ -45,11 +45,6 @@ ${logback.version} test - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind.version} - diff --git a/cf-java-logging-support-servlet/src/test/java/com/sap/hcp/cf/logging/servlet/filter/GenerateRequestLogFilterTest.java b/cf-java-logging-support-servlet/src/test/java/com/sap/hcp/cf/logging/servlet/filter/GenerateRequestLogFilterTest.java index 0092fbd1..7645ed91 100644 --- a/cf-java-logging-support-servlet/src/test/java/com/sap/hcp/cf/logging/servlet/filter/GenerateRequestLogFilterTest.java +++ b/cf-java-logging-support-servlet/src/test/java/com/sap/hcp/cf/logging/servlet/filter/GenerateRequestLogFilterTest.java @@ -22,9 +22,9 @@ import org.slf4j.MDC; import java.util.Enumeration; +import java.util.List; import static java.util.Collections.enumeration; -import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.*; @@ -140,7 +140,7 @@ public String getInitParameter(String s) { @Override public Enumeration getInitParameterNames() { - return enumeration(singletonList("wrapRequest")); + return enumeration(List.of("wrapRequest")); } } } diff --git a/pom.xml b/pom.xml index 78c833af..9e717f9a 100644 --- a/pom.xml +++ b/pom.xml @@ -106,27 +106,32 @@ UTF-8 - 2.20.1 + + + 2.19.2 2.0.17 1.5.20 - 2.25.2 - 3.2.1 - 3.3.1 - 3.4.2 - 1.3 - 3.27.6 + 2.24.3 + 6.0.0 + + 5.12.2 + 3.27.6 5.20.0 1.37 + 11.0.26 + 4.5.14 + + + 3.2.1 + 3.14.1 + 3.6.2 + 3.3.1 + 3.4.2 2.22.2 3.6.2 3.12.0 3.2.8 - 3.19.4 - 2.20.1 - 4.5.14 - 6.1.0 - 11.0.26 0.9.0 @@ -140,6 +145,18 @@ sample-spring-boot + + + + com.fasterxml.jackson + jackson-bom + ${jackson.version} + pom + import + + + + @@ -220,11 +237,31 @@ org.apache.maven.plugins maven-compiler-plugin - 3.14.1 + ${compiler.plugin.version} 17 + + org.apache.maven.plugins + maven-enforcer-plugin + ${enforcer.plugin.version} + + + enforce-java-17 + + enforce + + + + + [17,) + + + + + +