This is an automated email from the ASF dual-hosted git repository. vavrtom pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
The following commit(s) were added to refs/heads/main by this push: new 7cc69623a9 QPID-8664: [Broker-J] Guava removal (8/10) (#274) 7cc69623a9 is described below commit 7cc69623a9e55983d03adddec82ea643d9e9c8ae Author: Daniil Kirilyuk <daniel.kiril...@gmail.com> AuthorDate: Tue Apr 22 13:39:34 2025 +0200 QPID-8664: [Broker-J] Guava removal (8/10) (#274) This commit replaces guava collections and collection utilities with JDK collections and utilities --------- Co-authored-by: vavrtom <vavr...@apache.org> --- .../server/model/preferences/PreferenceImpl.java | 6 +- .../model/preferences/UserPreferencesImpl.java | 32 ++--- .../apache/qpid/server/queue/AbstractQueue.java | 18 ++- .../qpid/server/security/AbstractTrustStore.java | 5 +- .../GitHubOAuth2IdentityResolverService.java | 4 +- .../GoogleOAuth2IdentityResolverService.java | 4 +- .../KeycloakOAuth2IdentityResolverService.java | 4 +- .../server/transport/TransactionTimeoutTicker.java | 3 +- .../qpid/server/util/LimitedInputStream.java | 37 ++++-- .../apache/qpid/server/util/PrimitivesUtils.java | 4 +- .../ConfiguredObjectTypeRegistryTest.java | 7 +- .../singleton/AbstractConfiguredObjectTest.java | 3 +- .../testmodels/singleton/TestSingletonImpl.java | 4 +- .../qpid/server/queue/AbstractQueueTestBase.java | 142 ++++++++++----------- .../security/SiteSpecificTrustStoreTest.java | 23 ++-- .../transport/TransactionTimeoutTickerTest.java | 3 +- .../access/config/AclRulePredicatesBuilder.java | 3 +- .../v0_8/MessageConverter_0_8_to_InternalTest.java | 9 +- .../v0_8/MessageConverter_Internal_to_0_8Test.java | 11 +- .../protocol/v1_0/AMQPConnection_1_0Impl.java | 6 +- .../v1_0/MessageConverter_Internal_to_v1_0.java | 14 +- .../qpid/server/protocol/v1_0/Session_1_0.java | 6 +- .../v1_0/MessageConverter_Internal_to_1_0Test.java | 8 +- .../MessageConverter_0_10_to_1_0Test.java | 8 +- .../connection/limits/config/FileParserTest.java | 30 ++--- .../server/management/amqp/ManagementNode.java | 9 +- .../server/management/plugin/HttpManagement.java | 3 +- .../plugin/servlet/rest/RequestInfo.java | 10 +- .../plugin/servlet/rest/RestServlet.java | 3 +- .../servlet/rest/RestUserPreferenceHandler.java | 14 +- .../engine/parsing/converter/NumberConverter.java | 48 +++---- .../parsing/factory/FunctionExpressionFactory.java | 65 +++++----- .../query/engine/parsing/query/FromExpression.java | 19 ++- .../query/engine/retriever/AclRuleRetriever.java | 24 ++-- .../query/engine/retriever/BindingRetriever.java | 28 ++-- .../engine/retriever/CertificateRetriever.java | 51 ++++---- .../retriever/ConnectionLimitRuleRetriever.java | 28 ++-- .../query/engine/retriever/DomainRetriever.java | 7 +- .../query/engine/retriever/SessionRetriever.java | 29 +---- .../parsing/factory/CollectorFactoryTest.java | 34 +---- 40 files changed, 334 insertions(+), 432 deletions(-) diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java index e8ad8cfa4e..8f1e9270d2 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java +++ b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java @@ -20,14 +20,14 @@ package org.apache.qpid.server.model.preferences; import java.security.Principal; +import java.util.Collections; import java.util.Date; +import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.UUID; -import com.google.common.collect.ImmutableSet; - import org.apache.qpid.server.model.ConfiguredObject; public class PreferenceImpl implements Preference @@ -77,7 +77,7 @@ public class PreferenceImpl implements Preference _type = type; _description = description; _owner = owner; - _visibilitySet = (visibilitySet == null ? ImmutableSet.<Principal>of() : ImmutableSet.copyOf(visibilitySet)); + _visibilitySet = visibilitySet == null ? Set.of() : Collections.unmodifiableSet(visibilitySet); _preferenceValue = preferenceValue; } diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java index 6f3e387e1f..ed4373033e 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java +++ b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java @@ -45,8 +45,6 @@ import java.util.concurrent.CompletableFuture; import javax.security.auth.Subject; -import com.google.common.collect.Ordering; - import org.apache.qpid.server.configuration.updater.Task; import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.ConfiguredObject; @@ -57,32 +55,26 @@ import org.apache.qpid.server.store.preferences.PreferenceStore; public class UserPreferencesImpl implements UserPreferences { - private static final Comparator<Preference> PREFERENCE_COMPARATOR = new Comparator<>() + private static final Comparator<Preference> PREFERENCE_COMPARATOR = Comparator.nullsFirst((o1, o2) -> { - private final Ordering<Comparable> _ordering = Ordering.natural().nullsFirst(); - - @Override - public int compare(final Preference o1, final Preference o2) + int nameOrder = o1.getName().compareTo(o2.getName()); + if (nameOrder != 0) + { + return nameOrder; + } + else { - int nameOrder = _ordering.compare(o1.getName(), o2.getName()); - if (nameOrder != 0) + int typeOrder = o1.getType().compareTo(o2.getType()); + if (typeOrder != 0) { - return nameOrder; + return typeOrder; } else { - int typeOrder = _ordering.compare(o1.getType(), o2.getType()); - if (typeOrder != 0) - { - return typeOrder; - } - else - { - return o1.getId().compareTo(o2.getId()); - } + return o1.getId().compareTo(o2.getId()); } } - }; + }); private final Map<UUID, Preference> _preferences; private final Map<String, List<Preference>> _preferencesByName; diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java index a398f6f48d..730733bc32 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java +++ b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java @@ -59,8 +59,6 @@ import java.util.zip.GZIPOutputStream; import javax.security.auth.Subject; -import com.google.common.collect.Lists; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1200,7 +1198,9 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>> private Collection<QueueConsumer<?,?>> getConsumersImpl() { - return Lists.newArrayList(_queueConsumerManager.getAllIterator()); + final List<QueueConsumer<?,?>> result = new ArrayList<>(); + _queueConsumerManager.getAllIterator().forEachRemaining(result::add); + return result; } @@ -3346,11 +3346,15 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>> { if (clazz == org.apache.qpid.server.model.Consumer.class) { - return _queueConsumerManager == null - ? Set.of() - : (Collection<C>) Lists.newArrayList(_queueConsumerManager.getAllIterator()); + if (_queueConsumerManager == null) + { + return Set.of(); + } + final List<QueueConsumer<?,?>> result = new ArrayList<>(); + _queueConsumerManager.getAllIterator().forEachRemaining(result::add); + return (Collection<C>) result; } - else return super.getChildren(clazz); + return super.getChildren(clazz); } @Override diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java index 3f5b2d9dc2..54c6dcf34f 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java +++ b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java @@ -58,14 +58,13 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.net.ssl.CertPathTrustManagerParameters; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.X509TrustManager; -import com.google.common.collect.Sets; - import org.apache.qpid.server.logging.Outcome; import org.apache.qpid.server.transport.network.security.ssl.SSLUtil; import org.slf4j.Logger; @@ -300,7 +299,7 @@ public abstract class AbstractTrustStore<X extends AbstractTrustStore<X>> { if (isTrustAnchorValidityEnforced()) { - final Set<Certificate> trustManagerCerts = Sets.newHashSet(getCertificates()); + final Set<Certificate> trustManagerCerts = Stream.of(getCertificates()).collect(Collectors.toSet()); final Set<TrustAnchor> trustAnchors = new HashSet<>(); final Set<Certificate> otherCerts = new HashSet<>(); for (Certificate certs : trustManagerCerts) diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java index afb3aea9b9..acc86eab0a 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java +++ b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java @@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.security.Principal; import java.util.Map; +import java.util.stream.Stream; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,7 +75,7 @@ public class GitHubOAuth2IdentityResolverService implements OAuth2IdentityResolv @Override public void validate(final OAuth2AuthenticationProvider<?> authProvider) throws IllegalConfigurationException { - if (!Sets.newHashSet(authProvider.getScope().split("\\s")).contains("user")) + if (Stream.of(authProvider.getScope().split("\\s")).noneMatch("user"::equals)) { throw new IllegalConfigurationException("This identity resolver requires that scope 'user' is included in" + " the authentication request."); diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java index cb29f73341..c76fa33644 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java +++ b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java @@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.security.Principal; import java.util.Map; +import java.util.stream.Stream; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -79,7 +79,7 @@ public class GoogleOAuth2IdentityResolverService implements OAuth2IdentityResolv @Override public void validate(final OAuth2AuthenticationProvider<?> authProvider) throws IllegalConfigurationException { - if (!Sets.newHashSet(authProvider.getScope().split("\\s")).contains("profile")) + if (Stream.of(authProvider.getScope().split("\\s")).noneMatch("profile"::equals)) { throw new IllegalConfigurationException("This identity resolver requires that scope 'profile' is included in" + " the authentication request."); diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java index 6b4582d2ec..b662782edd 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java +++ b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java @@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.security.Principal; import java.util.Map; +import java.util.stream.Stream; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -79,7 +79,7 @@ public class KeycloakOAuth2IdentityResolverService implements OAuth2IdentityReso @Override public void validate(final OAuth2AuthenticationProvider<?> authProvider) throws IllegalConfigurationException { - if (!Sets.newHashSet(authProvider.getScope().split("\\s")).contains("openid")) + if (Stream.of(authProvider.getScope().split("\\s")).noneMatch("openid"::equals)) { throw new IllegalConfigurationException("This identity resolver requires that scope 'openid' is included in" + " the authentication request."); diff --git a/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java b/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java index 1eff6ef753..0af94007ce 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java +++ b/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java @@ -22,8 +22,7 @@ package org.apache.qpid.server.transport; import java.util.concurrent.atomic.AtomicLong; - -import com.google.common.base.Supplier; +import java.util.function.Supplier; import org.apache.qpid.server.util.Action; import org.apache.qpid.server.transport.network.Ticker; diff --git a/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java b/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java index dd34fc1438..1ffb2a62dc 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java +++ b/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java @@ -28,11 +28,11 @@ import java.util.Objects; public class LimitedInputStream extends FilterInputStream { - private long left; private long mark = -1; - public LimitedInputStream(InputStream in, long limit) { + public LimitedInputStream(InputStream in, long limit) + { super(in); Objects.requireNonNull(in); if (limit < 0) @@ -50,44 +50,54 @@ public class LimitedInputStream extends FilterInputStream // it's okay to mark even if mark isn't supported, as reset won't work @Override - public synchronized void mark(int readLimit) { + public synchronized void mark(int readLimit) + { in.mark(readLimit); mark = left; } @Override - public int read() throws IOException { - if (left == 0) { + public int read() throws IOException + { + if (left == 0) + { return -1; } int result = in.read(); - if (result != -1) { + if (result != -1) + { --left; } return result; } @Override - public int read(byte[] b, int off, int len) throws IOException { - if (left == 0) { + public int read(byte[] b, int off, int len) throws IOException + { + if (left == 0) + { return -1; } len = (int) Math.min(len, left); int result = in.read(b, off, len); - if (result != -1) { + if (result != -1) + { left -= result; } return result; } @Override - public synchronized void reset() throws IOException { - if (!in.markSupported()) { + public synchronized void reset() throws IOException + { + if (!in.markSupported()) + { throw new IOException("Mark not supported"); } - if (mark == -1) { + if (mark == -1) + { throw new IOException("Mark not set"); } @@ -96,7 +106,8 @@ public class LimitedInputStream extends FilterInputStream } @Override - public long skip(long n) throws IOException { + public long skip(long n) throws IOException + { n = Math.min(n, left); long skipped = in.skip(n); left -= skipped; diff --git a/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java b/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java index 119c72257e..373b4cccbc 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java +++ b/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java @@ -25,7 +25,9 @@ public final class PrimitivesUtils public static final int BYTES = Short.SIZE / Byte.SIZE; private static final String ARRAY_TOO_SMALL = "array too small: %s < %s"; - private PrimitivesUtils() { } + private PrimitivesUtils() + { + } private static void checkArgument(boolean expression, int p1) { diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java index 0c2d6ccba1..9f5e20fca1 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java +++ b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java @@ -30,11 +30,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Collection; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Set; -import com.google.common.collect.Lists; - import org.junit.jupiter.api.Test; import org.apache.qpid.server.model.ConfiguredObject; @@ -156,7 +155,7 @@ public class ConfiguredObjectTypeRegistryTest extends UnitTestBase final ConfiguredSettableAttribute<?, ?> attribute = (ConfiguredSettableAttribute<?, ?>) attributeTypes.get("bodyColour"); - assertEquals(Lists.newArrayList("BLACK", "RED", "BLUE", "GREY"), attribute.validValues(), + assertEquals(List.of("BLACK", "RED", "BLUE", "GREY"), attribute.validValues(), "The attribute's valid values should match the set of the enum"); } @@ -168,7 +167,7 @@ public class ConfiguredObjectTypeRegistryTest extends UnitTestBase final ConfiguredSettableAttribute<?, ?> attribute = (ConfiguredSettableAttribute<?, ?>) attributeTypes.get("interiorColour"); - assertEquals(Lists.newArrayList("GREY", "BLACK"), attribute.validValues(), + assertEquals(List.of("GREY", "BLACK"), attribute.validValues(), "The attribute's valid values should match the restricted set defined on the attribute itself"); } } diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java index f969bf47a2..ca8f18e401 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java +++ b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java @@ -39,7 +39,6 @@ import java.util.concurrent.atomic.AtomicInteger; import javax.security.auth.Subject; -import com.google.common.collect.Sets; import org.junit.jupiter.api.Test; import org.apache.qpid.server.configuration.IllegalConfigurationException; @@ -903,7 +902,7 @@ public class AbstractConfiguredObjectTest extends UnitTestBase final Map<String, Object> update = Map.of(TestSingleton.NAME, objectName, TestSingleton.DESCRIPTION, "an update"); object.setAttributes(update); - assertEquals(Sets.newHashSet(TestSingleton.DESCRIPTION), object.takeLastReportedSetAttributes(), + assertEquals(Set.of(TestSingleton.DESCRIPTION), object.takeLastReportedSetAttributes(), "Unexpected member of update set"); } diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java index 63fc8d7570..0733cf573a 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java +++ b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java @@ -30,8 +30,6 @@ import java.util.Set; import javax.security.auth.Subject; -import com.google.common.collect.Sets; - import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor; import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.AbstractConfiguredObject; @@ -264,7 +262,7 @@ public class TestSingletonImpl extends AbstractConfiguredObject<TestSingletonImp protected void postSetAttributes(final Set<String> actualUpdatedAttributes) { super.postSetAttributes(actualUpdatedAttributes); - _lastReportedSetAttributes.add(Sets.newHashSet(actualUpdatedAttributes)); + _lastReportedSetAttributes.add(new HashSet<>(actualUpdatedAttributes)); } @Override diff --git a/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java b/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java index 9cb091a109..8f66643132 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java +++ b/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java @@ -42,13 +42,13 @@ import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.EnumSet; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import com.google.common.collect.ImmutableMap; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; @@ -117,9 +117,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase @BeforeEach public void setUp() throws Exception { - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, _qname) - .put(Queue.OWNER, _owner).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, _qname); + attributes.put(Queue.OWNER, _owner); _queue = (AbstractQueue<?>) _virtualHost.createChild(Queue.class, attributes); _exchange = (DirectExchangeImpl) _virtualHost.getChildByName(Exchange.class, ExchangeDefaults.DIRECT_EXCHANGE_NAME); _consumerTarget = new TestConsumerTarget(); @@ -144,8 +144,8 @@ abstract class AbstractQueueTestBase extends UnitTestBase "Expected exception not thrown"); assertTrue(thrown.getMessage().contains("name"), "Exception was not about missing name"); - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, "differentName").build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, "differentName"); _queue = _virtualHost.createChild(Queue.class, attributes); assertNotNull(_queue, "Queue was not created"); } @@ -237,10 +237,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase public void testMessageHeldIfNotYetValidWhenConsumerAdded() throws Exception { _queue.close(); - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, _qname) - .put(Queue.OWNER, _owner) - .put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, _qname); + attributes.put(Queue.OWNER, _owner); + attributes.put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE); _queue = _virtualHost.createChild(Queue.class, attributes); @@ -266,10 +266,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase public void testMessageHoldingDependentOnQueueProperty() throws Exception { _queue.close(); - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, _qname) - .put(Queue.OWNER, _owner) - .put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.FALSE).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, _qname); + attributes.put(Queue.OWNER, _owner); + attributes.put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.FALSE); _queue = _virtualHost.createChild(Queue.class, attributes); @@ -290,10 +290,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase public void testUnheldMessageOvertakesHeld() throws Exception { _queue.close(); - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, _qname) - .put(Queue.OWNER, _owner) - .put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, _qname); + attributes.put(Queue.OWNER, _owner); + attributes.put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE); _queue = _virtualHost.createChild(Queue.class, attributes); @@ -782,9 +782,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase public void testMaximumMessageTtl() { // Test scenarios where only the maximum TTL has been set - Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME,"testTtlOverrideMaximumTTl") - .put(Queue.MAXIMUM_MESSAGE_TTL, 10000L).build(); + Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME,"testTtlOverrideMaximumTTl"); + attributes.put(Queue.MAXIMUM_MESSAGE_TTL, 10000L); Queue<?> queue = _virtualHost.createChild(Queue.class, attributes); @@ -809,9 +809,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase // Test the scenarios where only the minimum TTL has been set - attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME,"testTtlOverrideMinimumTTl") - .put(Queue.MINIMUM_MESSAGE_TTL, 10000L).build(); + attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME,"testTtlOverrideMinimumTTl"); + attributes.put(Queue.MINIMUM_MESSAGE_TTL, 10000L); queue = _virtualHost.createChild(Queue.class, attributes); @@ -836,10 +836,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase // Test the scenarios where both the minimum and maximum TTL have been set - attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME,"testTtlOverrideBothTTl") - .put(Queue.MINIMUM_MESSAGE_TTL, 10000L) - .put(Queue.MAXIMUM_MESSAGE_TTL, 20000L).build(); + attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME,"testTtlOverrideBothTTl"); + attributes.put(Queue.MINIMUM_MESSAGE_TTL, 10000L); + attributes.put(Queue.MAXIMUM_MESSAGE_TTL, 20000L); queue = _virtualHost.createChild(Queue.class, attributes); @@ -867,9 +867,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testNoneOverflowPolicy() { - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2) - .put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100); final Queue<?> queue = getQueue(); queue.setAttributes(attributes); @@ -893,9 +893,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testRingOverflowPolicyMaxCount() { - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING) - .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4); final Queue<?> queue = getQueue(); queue.setAttributes(attributes); @@ -925,10 +925,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testRingOverflowPolicyMaxSize() { - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING) - .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4) - .put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100); final Queue<?> queue = getQueue(); queue.setAttributes(attributes); @@ -962,9 +962,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testRingOverflowPolicyMessagesRejected() { - Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING) - .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 0).build(); + Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 0); final Queue<?> queue = getQueue(); queue.setAttributes(attributes); @@ -980,9 +980,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase final int payloadSize = 10; final int id = 28; - attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 10) - .put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 10).build(); + attributes = new HashMap<>(_arguments); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 10); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 10); queue.setAttributes(attributes); message = createMessage((long) id, headerSize, payloadSize); @@ -994,9 +994,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase public void testAlternateBindingValidationRejectsNonExistingDestination() { final String alternateBinding = "nonExisting"; - final Map<String, Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName()) - .put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, alternateBinding)).build(); + final Map<String, Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, getTestName()); + attributes.put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, alternateBinding)); final UnknownAlternateBindingException thrown = assertThrows(UnknownAlternateBindingException.class, () -> _virtualHost.createChild(Queue.class, attributes), "Expected exception is not thrown"); @@ -1018,16 +1018,16 @@ abstract class AbstractQueueTestBase extends UnitTestBase public void testDurableQueueRejectsNonDurableAlternateBinding() { final String dlqName = getTestName() + "_DLQ"; - final Map<String, Object> dlqAttributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, dlqName) - .put(Queue.DURABLE, false).build(); + final Map<String, Object> dlqAttributes = new HashMap<>(_arguments); + dlqAttributes.put(Queue.NAME, dlqName); + dlqAttributes.put(Queue.DURABLE, false); _virtualHost.createChild(Queue.class, dlqAttributes); - final Map<String, Object> queueAttributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName()) - .put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, dlqName)) - .put(Queue.DURABLE, true).build(); + final Map<String, Object> queueAttributes = new HashMap<>(_arguments); + queueAttributes.put(Queue.NAME, getTestName()); + queueAttributes.put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, dlqName)); + queueAttributes.put(Queue.DURABLE, true); assertThrows(IllegalConfigurationException.class, () -> _virtualHost.createChild(Queue.class, queueAttributes), @@ -1037,9 +1037,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testAlternateBinding() { - final Map<String, Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName()) - .put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, _qname)).build(); + final Map<String, Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, getTestName()); + attributes.put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, _qname)); final Queue<?> newQueue = _virtualHost.createChild(Queue.class, attributes); assertEquals(_qname, newQueue.getAlternateBinding().getDestination(), "Unexpected alternate binding"); @@ -1048,9 +1048,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testDeleteOfQueueSetAsAlternate() { - final Map<String, Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName()) - .put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, _qname)).build(); + final Map<String, Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, getTestName()); + attributes.put(Queue.ALTERNATE_BINDING, Map.of(AlternateBinding.DESTINATION, _qname)); final Queue<?> newQueue = _virtualHost.createChild(Queue.class, attributes); assertEquals(_qname, newQueue.getAlternateBinding().getDestination(), "Unexpected alternate binding"); @@ -1074,15 +1074,15 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testExpiryPolicyRouteToAlternate() { - final Map<String, Object> dlqAttributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName() + "_dlq") - .put(Queue.MINIMUM_MESSAGE_TTL, Long.MAX_VALUE).build(); + final Map<String, Object> dlqAttributes = new HashMap<>(_arguments); + dlqAttributes.put(Queue.NAME, getTestName() + "_dlq"); + dlqAttributes.put(Queue.MINIMUM_MESSAGE_TTL, Long.MAX_VALUE); final Queue<?> dlq = _virtualHost.createChild(Queue.class, dlqAttributes); - final Map<String,Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName()) - .put(Queue.ALTERNATE_BINDING, Map.of("destination", dlq.getName())) - .put(Queue.EXPIRY_POLICY, Queue.ExpiryPolicy.ROUTE_TO_ALTERNATE).build(); + final Map<String,Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, getTestName()); + attributes.put(Queue.ALTERNATE_BINDING, Map.of("destination", dlq.getName())); + attributes.put(Queue.EXPIRY_POLICY, Queue.ExpiryPolicy.ROUTE_TO_ALTERNATE); final Queue<?> queue = _virtualHost.createChild(Queue.class, attributes); @@ -1135,10 +1135,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase @Test public void testCopyMessageRespectsQueueSizeLimits() { - final Map<String, Object> attributes = ImmutableMap.<String,Object>builder().putAll(_arguments) - .put(Queue.NAME, getTestName() + "_target") - .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING) - .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2).build(); + final Map<String, Object> attributes = new HashMap<>(_arguments); + attributes.put(Queue.NAME, getTestName() + "_target"); + attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING); + attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2); final Queue<?> target = _virtualHost.createChild(Queue.class, attributes); diff --git a/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java b/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java index 2d99d9f8af..38964abd0d 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java +++ b/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java @@ -31,6 +31,7 @@ import java.net.ServerSocket; import java.net.Socket; import java.nio.file.Path; import java.security.SecureRandom; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ExecutorService; @@ -42,7 +43,6 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLServerSocketFactory; -import com.google.common.collect.ImmutableMap; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -148,10 +148,9 @@ public class SiteSpecificTrustStoreTest extends UnitTestBase { _testPeer = new TestPeer(); final int listeningPort = _testPeer.start(); - final Map<String, Object> attributes = ImmutableMap.<String, Object>builder() - .putAll(getTrustStoreAttributes(listeningPort)) - .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true) - .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, _clrUrl).build(); + final Map<String, Object> attributes = new HashMap<>(getTrustStoreAttributes(listeningPort)); + attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true); + attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, _clrUrl); final SiteSpecificTrustStore<?> trustStore = createTestTrustStore(attributes); final List<CertificateDetails> certDetails = trustStore.getCertificateDetails(); @@ -168,10 +167,9 @@ public class SiteSpecificTrustStoreTest extends UnitTestBase { _testPeer = new TestPeer(); final int listeningPort = _testPeer.start(); - final Map<String, Object> attributes = ImmutableMap.<String, Object>builder() - .putAll(getTrustStoreAttributes(listeningPort)) - .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true) - .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, _clrUrl).build(); + final Map<String, Object> attributes = new HashMap<>(getTrustStoreAttributes(listeningPort)); + attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true); + attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, _clrUrl); final SiteSpecificTrustStore<?> trustStore = createTestTrustStore(attributes); final IllegalConfigurationException thrown = assertThrows(IllegalConfigurationException.class, @@ -197,10 +195,9 @@ public class SiteSpecificTrustStoreTest extends UnitTestBase { _testPeer = new TestPeer(); final int listeningPort = _testPeer.start(); - final Map<String, Object> attributes = ImmutableMap.<String, Object>builder() - .putAll(getTrustStoreAttributes(listeningPort)) - .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true) - .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, NOT_A_CRL).build(); + final Map<String, Object> attributes = new HashMap<>(getTrustStoreAttributes(listeningPort)); + attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true); + attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, NOT_A_CRL); KeyStoreTestHelper.checkExceptionThrownDuringKeyStoreCreation(FACTORY, BROKER, TrustStore.class, attributes, String.format("Unable to load certificate revocation list '%s' for truststore '%s'", NOT_A_CRL, NAME)); diff --git a/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java b/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java index 8d88fd8cea..1471de82c1 100644 --- a/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java +++ b/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java @@ -30,7 +30,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import com.google.common.base.Supplier; +import java.util.function.Supplier; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java index 7a6054d9e9..24bda9e2b9 100644 --- a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java +++ b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java @@ -33,7 +33,6 @@ import org.apache.qpid.server.security.access.firewall.FirewallRuleFactory; import org.apache.qpid.server.security.access.util.PrefixTreeSet; import org.apache.qpid.server.security.access.util.WildCardSet; -import com.google.common.collect.ImmutableSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -266,7 +265,7 @@ public final class AclRulePredicatesBuilder final Set<?> values = entry.getValue(); if (!values.isEmpty()) { - properties.put(entry.getKey(), ImmutableSet.builder().addAll(values).build()); + properties.put(entry.getKey(), Collections.unmodifiableSet(values)); } } return properties; diff --git a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java index 6777f8bd21..dcf1b78157 100644 --- a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java +++ b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java @@ -36,7 +36,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import com.google.common.collect.Lists; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -183,7 +182,7 @@ class MessageConverter_0_8_to_InternalTest extends UnitTestBase @Test void convertJmsStreamMessageBody() throws Exception { - final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D); + final List<Object> expected = List.of("apple", 43, 31.42D); final byte[] messageBytes = getJmsStreamMessageBytes(expected); final String mimeType = "jms/stream-message"; doTestStreamMessage(messageBytes, mimeType, expected); @@ -192,7 +191,7 @@ class MessageConverter_0_8_to_InternalTest extends UnitTestBase @Test void convertEmptyJmsStreamMessageBody() { - final List<Object> expected = Lists.newArrayList(); + final List<Object> expected = List.of(); final String mimeType = "jms/stream-message"; doTestStreamMessage(null, mimeType, expected); } @@ -200,7 +199,7 @@ class MessageConverter_0_8_to_InternalTest extends UnitTestBase @Test void convertAmqpListMessageBody() { - final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D); + final List<Object> expected = List.of("apple", 43, 31.42D); final byte[] messageBytes = new ListToAmqpListConverter().toMimeContent(expected); doTestStreamMessage(messageBytes, "amqp/list", expected); @@ -209,7 +208,7 @@ class MessageConverter_0_8_to_InternalTest extends UnitTestBase @Test void convertEmptyAmqpListMessageBody() { - final List<Object> expected = Lists.newArrayList(); + final List<Object> expected = List.of(); doTestStreamMessage(null, "amqp/list", expected); } diff --git a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java index 92a1c1bb51..cfd4d45a01 100644 --- a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java +++ b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java @@ -31,10 +31,9 @@ import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; -import com.google.common.collect.Lists; - import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -85,7 +84,7 @@ class MessageConverter_Internal_to_0_8Test extends UnitTestBase @Test void listMessageWithMimeType() throws Exception { - final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42); + final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 42)); final ListToJmsStreamMessage listToJmsStreamMessage = new ListToJmsStreamMessage(); final byte[] expectedContent = listToJmsStreamMessage.toMimeContent(content); doTest(content, "foo/bar", expectedContent, listToJmsStreamMessage.getMimeType()); @@ -94,7 +93,7 @@ class MessageConverter_Internal_to_0_8Test extends UnitTestBase @Test void listMessageWithoutMimeType() throws Exception { - final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42); + final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 42)); final ListToJmsStreamMessage listToJmsStreamMessage = new ListToJmsStreamMessage(); final byte[] expectedContent = listToJmsStreamMessage.toMimeContent(content); doTest(content, null, expectedContent, listToJmsStreamMessage.getMimeType()); @@ -103,7 +102,7 @@ class MessageConverter_Internal_to_0_8Test extends UnitTestBase @Test void listMessageWithoutMimeTypeWithNonJmsContent() throws Exception { - final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42, Lists.newArrayList()); + final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 42, List.of())); final ListToAmqpListConverter listToAmqpListConverter = new ListToAmqpListConverter(); final byte[] expectedContent = listToAmqpListConverter.toMimeContent(content); doTest(content, null, expectedContent, listToAmqpListConverter.getMimeType()); @@ -112,7 +111,7 @@ class MessageConverter_Internal_to_0_8Test extends UnitTestBase @Test void listMessageWithoutMimeTypeWithNonConvertibleItem() throws Exception { - final ArrayList<?> content = Lists.newArrayList(new MySerializable()); + final ArrayList<?> content = new ArrayList<>(List.of(new MySerializable())); final InternalMessage sourceMessage = getAmqMessage(content, null); doTest(content, null, getObjectStreamMessageBytes(content), "application/java-object-stream"); } diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java index 1f3d7c6349..16157054cd 100644 --- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java +++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java @@ -48,10 +48,11 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; +import java.util.stream.Stream; import com.google.common.collect.Iterators; import com.google.common.collect.PeekingIterator; -import com.google.common.collect.Sets; import org.apache.qpid.server.logging.EventLogger; import org.apache.qpid.server.logging.messages.ResourceLimitMessages; @@ -855,7 +856,8 @@ public class AMQPConnection_1_0Impl extends AbstractAMQPConnection<AMQPConnectio final Map<Symbol, Object> remoteProperties = open.getProperties() == null ? Map.of() : Collections.unmodifiableMap(new LinkedHashMap<>(open.getProperties())); - _remoteDesiredCapabilities = open.getDesiredCapabilities() == null ? Set.of() : Sets.newHashSet(open.getDesiredCapabilities()); + _remoteDesiredCapabilities = open.getDesiredCapabilities() == null ? Set.of() : Stream.of(open.getDesiredCapabilities()) + .collect(Collectors.toSet()); if (remoteProperties.containsKey(Symbol.valueOf("product"))) { setClientProduct(remoteProperties.get(Symbol.valueOf("product")).toString()); diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java index 6d1a37f88c..4fd015c2e8 100644 --- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java +++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java @@ -39,8 +39,6 @@ import java.util.Map; import java.util.Set; import java.util.UUID; -import com.google.common.collect.Sets; - import org.apache.qpid.server.message.internal.InternalMessage; import org.apache.qpid.server.plugin.PluggableService; import org.apache.qpid.server.protocol.converter.MessageConversionException; @@ -65,12 +63,12 @@ import org.apache.qpid.server.util.ConnectionScopedRuntimeException; public class MessageConverter_Internal_to_v1_0 extends MessageConverter_to_1_0<InternalMessage> { - private static final Set<Class<?>> TYPES_EXPRESSIBLE_AS_AMQP_1_0_VALUE = Sets.newHashSet(String.class, - Character.class, - Boolean.class, - Number.class, - UUID.class, - Date.class); + private static final Set<Class<?>> TYPES_EXPRESSIBLE_AS_AMQP_1_0_VALUE = Set.of(String.class, + Character.class, + Boolean.class, + Number.class, + UUID.class, + Date.class); @Override public Class<InternalMessage> getInputClass() diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java index a3ee227446..1602b6d65b 100644 --- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java +++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java @@ -41,10 +41,10 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.security.auth.Subject; -import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -867,7 +867,7 @@ public class Session_1_0 extends AbstractAMQPSession<Session_1_0, ConsumerTarget if (terminus.getCapabilities() != null) { - final Set<Symbol> capabilities = Sets.newHashSet(terminus.getCapabilities()); + final Set<Symbol> capabilities = Stream.of(terminus.getCapabilities()).collect(Collectors.toSet()); if (capabilities.contains(Symbol.valueOf("temporary-queue")) || capabilities.contains(Symbol.valueOf("temporary-topic"))) { @@ -893,7 +893,7 @@ public class Session_1_0 extends AbstractAMQPSession<Session_1_0, ConsumerTarget final Terminus terminus) throws AmqpErrorException { final Symbol[] capabilities = terminus.getCapabilities(); - final Set<Symbol> capabilitySet = capabilities == null ? Set.of() : Sets.newHashSet(capabilities); + final Set<Symbol> capabilitySet = capabilities == null ? Set.of() : Stream.of(capabilities).collect(Collectors.toSet()); boolean isTopic = capabilitySet.contains(Symbol.valueOf("temporary-topic")) || capabilitySet.contains(Symbol.valueOf("topic")); final String destName = (isTopic ? "TempTopic" : "TempQueue") + UUID.randomUUID(); try diff --git a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java index 6c3f24bc03..22953de146 100644 --- a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java +++ b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java @@ -36,8 +36,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import com.google.common.collect.Lists; - import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -116,7 +114,7 @@ class MessageConverter_Internal_to_1_0Test extends UnitTestBase @Test void listMessageWithMimeType() throws Exception { - final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42); + final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 42)); doTest(content, "text/plain", AmqpSequenceSection.class, @@ -128,7 +126,7 @@ class MessageConverter_Internal_to_1_0Test extends UnitTestBase @Test void listMessageWithoutMimeType() throws Exception { - final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42); + final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 42)); doTest(content, null, AmqpSequenceSection.class, @@ -140,7 +138,7 @@ class MessageConverter_Internal_to_1_0Test extends UnitTestBase @Test void listMessageWithoutMimeTypeWithNonJmsContent() throws Exception { - final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42, Lists.newArrayList()); + final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 42, List.of())); doTest(content, null, AmqpSequenceSection.class, diff --git a/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java b/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java index 1eff81101e..15c458d62d 100644 --- a/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java +++ b/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java @@ -35,8 +35,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import com.google.common.collect.Lists; - import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -201,7 +199,7 @@ class MessageConverter_0_10_to_1_0Test extends UnitTestBase @Test void convertJmsStreamMessageBody() throws Exception { - final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D); + final List<Object> expected = List.of("apple", 43, 31.42D); final byte[] messageBytes = getJmsStreamMessageBytes(expected); final String mimeType = "jms/stream-message"; doTestStreamMessage(messageBytes, mimeType, expected, JmsMessageTypeAnnotation.STREAM_MESSAGE.getType()); @@ -217,7 +215,7 @@ class MessageConverter_0_10_to_1_0Test extends UnitTestBase @Test void convertAmqpListMessageBody() throws Exception { - final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D); + final List<Object> expected = List.of("apple", 43, 31.42D); final byte[] messageBytes = new ListToAmqpListConverter().toMimeContent(expected); final String mimeType = "amqp/list"; @@ -227,7 +225,7 @@ class MessageConverter_0_10_to_1_0Test extends UnitTestBase @Test void convertAmqpListMessageBodyWithNonJmsContent() throws Exception { - final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D, Lists.newArrayList("nonJMSList")); + final List<Object> expected = List.of("apple", 43, 31.42D, List.of("nonJMSList")); final byte[] messageBytes = new ListToAmqpListConverter().toMimeContent(expected); final String mimeType = "amqp/list"; doTestStreamMessage(messageBytes, mimeType, expected, null); diff --git a/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java b/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java index 976ca04264..706fae9c12 100644 --- a/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java +++ b/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java @@ -36,8 +36,6 @@ import java.nio.file.Path; import java.time.Duration; import java.util.Collections; -import com.google.common.collect.Iterables; - import org.junit.jupiter.api.Test; import org.mockito.Mockito; @@ -55,7 +53,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user port=amqp connection_limit=10"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -72,7 +70,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user port=amqp connection-frequency-limit=10/15M"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -88,7 +86,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user port=amqp connection-frequency-limit=17/m"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -105,7 +103,7 @@ public class FileParserTest extends UnitTestBase final RuleSetCreator creator = writeConfig("CLT user port=amqp connection-frequency-limit=17/P1dT1m17.7s"); final Duration duration = Duration.parse("P1dT1m17.7s"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -122,7 +120,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user port=amqp connection-frequency-limit=17"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -138,7 +136,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user port=amqp connection_limit=10 connection-frequency-limit=20/m"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -154,7 +152,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT\tuser\tport='amqp' connection_limit=\"10\" connection-frequency-limit='20/h'"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -170,7 +168,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user \\ \n connectionLimit=10 connection-frequency-limit=20"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals(RulePredicates.ALL_PORTS, rule.getPort()); @@ -184,7 +182,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user block port=amqp"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals("amqp", rule.getPort()); @@ -200,7 +198,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("CLT user connection_limit=10 connection-frequency-limit=20"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals(RulePredicates.ALL_PORTS, rule.getPort()); @@ -248,7 +246,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("ACL ALLOW-LOG user ACCESS VIRTUALHOST connection_limit=10"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals(RulePredicates.ALL_PORTS, rule.getPort()); @@ -264,7 +262,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("ACL ALLOW-LOG user ACCESS VIRTUALHOST connection_frequency_limit=60"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals(RulePredicates.ALL_PORTS, rule.getPort()); @@ -278,7 +276,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("ACL ALLOW-LOG user ACCESS VIRTUALHOST connection_limit=10 connection_frequency_limit=60"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals(RulePredicates.ALL_PORTS, rule.getPort()); @@ -292,7 +290,7 @@ public class FileParserTest extends UnitTestBase { final RuleSetCreator creator = writeConfig("27 ACL ALLOW-LOG user ACCESS VIRTUALHOST connection_limit=10 connection_frequency_limit=60"); - final Rule rule = Iterables.getFirst(creator, null); + final Rule rule = creator.iterator().next(); assertNotNull(rule); assertEquals("user", rule.getIdentity()); assertEquals(RulePredicates.ALL_PORTS, rule.getPort()); diff --git a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java index 787e13dba0..cf15d712d6 100644 --- a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java +++ b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java @@ -47,7 +47,6 @@ import java.util.regex.Pattern; import javax.security.auth.Subject; -import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -493,10 +492,10 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue } }; - private final Set<String> STANDARD_OPERATIONS = Sets.newHashSet(CREATE_OPERATION.getName(), - READ_OPERATION.getName(), - UPDATE_OPERATION.getName(), - DELETE_OPERATION.getName()); + private final Set<String> STANDARD_OPERATIONS = Set.of(CREATE_OPERATION.getName(), + READ_OPERATION.getName(), + UPDATE_OPERATION.getName(), + DELETE_OPERATION.getName()); private InternalMessage performOperation(final Class<? extends ConfiguredObject> clazz, final String operation, diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index 4452db7ad2..89d56fc226 100644 --- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -51,7 +51,6 @@ import jakarta.servlet.MultipartConfigElement; import jakarta.servlet.http.HttpServletRequest; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Joiner; import org.eclipse.jetty.io.Connection; import org.eclipse.jetty.io.ssl.SslHandshakeListener; import org.eclipse.jetty.rewrite.handler.CompactPathRule; @@ -358,7 +357,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem final FilterHolder corsFilter = new FilterHolder(new CrossOriginFilter()); corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, getCorsAllowOrigins()); - corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, Joiner.on(",").join(getCorsAllowMethods())); + corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, String.join(",", getCorsAllowMethods())); corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, getCorsAllowHeaders()); corsFilter.setInitParameter(CrossOriginFilter.ALLOW_CREDENTIALS_PARAM, String.valueOf(getCorsAllowCredentials())); root.addFilter(corsFilter, "/*", EnumSet.of(DispatcherType.REQUEST)); diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java index 1e4060569a..8ddf7710af 100644 --- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java +++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java @@ -19,12 +19,10 @@ package org.apache.qpid.server.management.plugin.servlet.rest; +import java.util.Collections; import java.util.List; import java.util.Map; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.management.plugin.RequestType; public class RequestInfo @@ -77,11 +75,11 @@ public class RequestInfo { _type = type; _operationName = operationName; - _modelParts = ImmutableList.copyOf(modelParts); + _modelParts = Collections.unmodifiableList(modelParts); _hierarchySatisfied = hierarchySatisfied; _hasWildcard = _modelParts.contains("*"); - _preferencesParts = ImmutableList.copyOf(preferencesParts); - _queryParameters = ImmutableMap.copyOf(queryParameters); + _preferencesParts = Collections.unmodifiableList(preferencesParts); + _queryParameters = Collections.unmodifiableMap(queryParameters); } public RequestType getType() diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java index 21bc766a6e..90c5eb11d4 100644 --- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java +++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java @@ -43,7 +43,6 @@ import jakarta.servlet.http.Part; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import com.google.common.base.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -301,7 +300,7 @@ public class RestServlet extends AbstractServlet private static Map<String, List<String>> parseQueryString(String queryString) { - if (Strings.isNullOrEmpty(queryString)) + if (queryString == null || queryString.isEmpty()) { return Map.of(); } diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java index be880945d9..22b6ffaca6 100644 --- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java +++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java @@ -30,8 +30,6 @@ import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; -import com.google.common.base.Joiner; - import org.apache.qpid.server.management.plugin.RequestType; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.preferences.Preference; @@ -76,8 +74,7 @@ public class RestUserPreferenceHandler } else { - throw new IllegalArgumentException(String.format("unexpected path '%s'", - Joiner.on("/").join(preferencesParts))); + throw new IllegalArgumentException(String.format("unexpected path '%s'", String.join("/", preferencesParts))); } awaitFuture(userPreferences.delete(type, name, id)); @@ -136,8 +133,7 @@ public class RestUserPreferenceHandler } else { - throw new IllegalArgumentException(String.format("unexpected path '%s'", - Joiner.on("/").join(preferencesParts))); + throw new IllegalArgumentException(String.format("unexpected path '%s'", String.join("/", preferencesParts))); } } @@ -173,8 +169,7 @@ public class RestUserPreferenceHandler } else { - throw new IllegalArgumentException(String.format("unexpected path '%s'", - Joiner.on("/").join(preferencesParts))); + throw new IllegalArgumentException(String.format("unexpected path '%s'", String.join("/", preferencesParts))); } awaitFuture(userPreferences.updateOrAppend(preferences)); @@ -289,8 +284,7 @@ public class RestUserPreferenceHandler } else { - throw new IllegalArgumentException(String.format("unexpected path '%s'", - Joiner.on("/").join(preferencesParts))); + throw new IllegalArgumentException(String.format("unexpected path '%s'", String.join("/", preferencesParts))); } } diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java index 302fd72f6a..660e229238 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java @@ -25,8 +25,6 @@ import java.math.RoundingMode; import java.util.Map; import java.util.function.Function; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.query.engine.evaluator.EvaluationContext; import org.apache.qpid.server.query.engine.evaluator.EvaluationContextHolder; import org.apache.qpid.server.query.engine.evaluator.settings.QuerySettings; @@ -42,31 +40,27 @@ public final class NumberConverter /** * Conversion rules */ - private static final Map<Class<?>, Map<Class<?>, Function<Object, ?>>> CONVERSIONS = ImmutableMap.<Class<?>, Map<Class<?>, Function<Object, ?>>>builder() - .put(Double.class, ImmutableMap.<Class<?>, Function<Object, ?>>builder() - .put(BigDecimal.class, arg -> ((BigDecimal) arg).doubleValue()) - .put(Byte.class, arg -> ((Byte) arg).doubleValue()) - .put(Double.class, arg -> arg) - .put(Float.class, arg -> ((Float) arg).doubleValue()) - .put(Integer.class, arg -> ((Integer) arg).doubleValue()) - .put(Long.class, arg -> ((Long) arg).doubleValue()) - .put(Number.class, arg -> ((Number) arg).doubleValue()) - .put(Short.class, arg -> ((Short) arg).doubleValue()) - .put(String.class, arg -> Double.parseDouble((String)arg)) - .build() - ) - .put(Long.class, ImmutableMap.<Class<?>, Function<Object, ?>>builder() - .put(BigDecimal.class, arg -> ((BigDecimal) arg).longValue()) - .put(Byte.class, arg -> ((Byte) arg).longValue()) - .put(Double.class, arg -> ((Double) arg).longValue()) - .put(Float.class, arg -> ((Float) arg).longValue()) - .put(Integer.class, arg -> ((Integer) arg).longValue()) - .put(Long.class, arg -> arg) - .put(Number.class, arg -> ((Number) arg).longValue()) - .put(Short.class, arg -> ((Short) arg).longValue()) - .put(String.class, arg -> ((Double) Double.parseDouble((String)arg)).longValue()) - .build() - ).build(); + private static final Map<Class<?>, Map<Class<?>, Function<Object, ?>>> CONVERSIONS = Map.of( + Double.class, Map.<Class<?>, Function<Object, ?>>of( + BigDecimal.class, arg -> ((BigDecimal) arg).doubleValue(), + Byte.class, arg -> ((Byte) arg).doubleValue(), + Double.class, arg -> arg, + Float.class, arg -> ((Float) arg).doubleValue(), + Integer.class, arg -> ((Integer) arg).doubleValue(), + Long.class, arg -> ((Long) arg).doubleValue(), + Number.class, arg -> ((Number) arg).doubleValue(), + Short.class, arg -> ((Short) arg).doubleValue(), + String.class, arg -> Double.parseDouble((String)arg)), + Long.class, Map.<Class<?>, Function<Object, ?>>of( + BigDecimal.class, arg -> ((BigDecimal) arg).longValue(), + Byte.class, arg -> ((Byte) arg).longValue(), + Double.class, arg -> ((Double) arg).longValue(), + Float.class, arg -> ((Float) arg).longValue(), + Integer.class, arg -> ((Integer) arg).longValue(), + Long.class, arg -> arg, + Number.class, arg -> ((Number) arg).longValue(), + Short.class, arg -> ((Short) arg).longValue(), + String.class, arg -> ((Double) Double.parseDouble((String)arg)).longValue())); /** * Shouldn't be instantiated directly diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java index 1e597a6e6b..74acaaca5a 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java @@ -21,6 +21,8 @@ package org.apache.qpid.server.query.engine.parsing.factory; import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; @@ -28,8 +30,6 @@ import java.util.Objects; import java.util.function.BiFunction; import java.util.stream.Collectors; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.query.engine.exception.Errors; import org.apache.qpid.server.query.engine.exception.QueryParsingException; import org.apache.qpid.server.query.engine.parsing.expression.ExpressionNode; @@ -104,34 +104,39 @@ public final class FunctionExpressionFactory /** * Mapping between function name and function creator */ - private static final Map<Functions, BiFunction<?, ?, ?>> FUNCTIONS = ImmutableMap.<Functions, BiFunction<?, ?, ?>>builder() - .put(Functions.ABS, absExpression()) - .put(Functions.AVG, avgExpression()) - .put(Functions.COALESCE, coalesceExpression()) - .put(Functions.CONCAT, concatExpression()) - .put(Functions.COUNT, countExpression()) - .put(Functions.CURRENT_TIMESTAMP, currentTimestampExpression()) - .put(Functions.DATE, dateExpression()) - .put(Functions.DATEADD, dateAddExpression()) - .put(Functions.DATEDIFF, dateDiffExpression()) - .put(Functions.EXTRACT, extractExpression()) - .put(Functions.LEN, lenExpression()) - .put(Functions.LENGTH, lenExpression()) - .put(Functions.LOWER, lowerExpression()) - .put(Functions.LTRIM, ltrim()) - .put(Functions.MAX, maxExpression()) - .put(Functions.MIN, minExpression()) - .put(Functions.POSITION, positionExpression()) - .put(Functions.REPLACE, replaceExpression()) - .put(Functions.ROUND, roundExpression()) - .put(Functions.RTRIM, rtrimExpression()) - .put(Functions.SUBSTR, substringExpression()) - .put(Functions.SUBSTRING, substringExpression()) - .put(Functions.SUM, sumExpression()) - .put(Functions.TRIM, trimExpression()) - .put(Functions.TRUNC, truncExpression()) - .put(Functions.UPPER, upperExpression()) - .build(); + private static final Map<Functions, BiFunction<?, ?, ?>> FUNCTIONS; + + static + { + final Map<Functions, BiFunction<?, ?, ?>> map = new LinkedHashMap(); + map.put(Functions.ABS, absExpression()); + map.put(Functions.AVG, avgExpression()); + map.put(Functions.COALESCE, coalesceExpression()); + map.put(Functions.CONCAT, concatExpression()); + map.put(Functions.COUNT, countExpression()); + map.put(Functions.CURRENT_TIMESTAMP, currentTimestampExpression()); + map.put(Functions.DATE, dateExpression()); + map.put(Functions.DATEADD, dateAddExpression()); + map.put(Functions.DATEDIFF, dateDiffExpression()); + map.put(Functions.EXTRACT, extractExpression()); + map.put(Functions.LEN, lenExpression()); + map.put(Functions.LENGTH, lenExpression()); + map.put(Functions.LOWER, lowerExpression()); + map.put(Functions.LTRIM, ltrim()); + map.put(Functions.MAX, maxExpression()); + map.put(Functions.MIN, minExpression()); + map.put(Functions.POSITION, positionExpression()); + map.put(Functions.REPLACE, replaceExpression()); + map.put(Functions.ROUND, roundExpression()); + map.put(Functions.RTRIM, rtrimExpression()); + map.put(Functions.SUBSTR, substringExpression()); + map.put(Functions.SUBSTRING, substringExpression()); + map.put(Functions.SUM, sumExpression()); + map.put(Functions.TRIM, trimExpression()); + map.put(Functions.TRUNC, truncExpression()); + map.put(Functions.UPPER, upperExpression()); + FUNCTIONS = Collections.unmodifiableMap(map); + } /** * Shouldn't be instantiated directly diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java index 8a70fbae9a..e05228882f 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java @@ -31,8 +31,6 @@ import java.util.Objects; import java.util.stream.Collectors; import java.util.stream.Stream; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.model.Binding; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; @@ -104,14 +102,13 @@ public class FromExpression<T, R extends Stream<?>, C extends ConfiguredObject<? /** * Additional domains allowed to be queried */ - private final Map<Class<?>, EntityRetriever<C>> _allowedClasses = ImmutableMap.<Class<?>, EntityRetriever<C>> builder() - .put(AclRule.class, _aclRuleRetriever) - .put(Binding.class, _bindingRetriever) - .put(Certificate.class, _certificateRetriever) - .put(ConnectionLimitRule.class, _connectionLimitRuleRetriever) - .put(Domain.class, _domainRetriever) - .put(Session.class, _sessionRetriever) - .build(); + private final Map<Class<?>, EntityRetriever<C>> _allowedClasses = Map.of( + AclRule.class, _aclRuleRetriever, + Binding.class, _bindingRetriever, + Certificate.class, _certificateRetriever, + ConnectionLimitRule.class, _connectionLimitRuleRetriever, + Domain.class, _domainRetriever, + Session.class, _sessionRetriever); /** * Domain name @@ -175,7 +172,7 @@ public class FromExpression<T, R extends Stream<?>, C extends ConfiguredObject<? if (_category.isAssignableFrom(Domain.class)) { return (R) Stream.concat( - _allowedClasses.keySet().stream().map(type -> ImmutableMap.<String, Object> builder().put("name", type.getSimpleName()).build()), + _allowedClasses.keySet().stream().map(type -> Map.of("name", type.getSimpleName())), _allowedClasses.get(_category).retrieve((C) _broker) ); } diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java index 22130d7fd2..90f4dbbf35 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java @@ -23,10 +23,9 @@ package org.apache.qpid.server.query.engine.retriever; import java.util.List; import java.util.Map; import java.util.function.Function; +import java.util.stream.Collectors; import java.util.stream.Stream; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,24 +61,17 @@ public class AclRuleRetriever<C extends ConfiguredObject<?>> extends ConfiguredO /** * List of entity field names */ - private final List<String> _fieldNames = new ImmutableList.Builder<String>() - .add("identity") - .add("attributes") - .add("objectType") - .add("operation") - .add("outcome") - .build(); + private final List<String> _fieldNames = List.of("identity", "attributes", "objectType", "operation", "outcome"); /** * Mapping function for a Rule */ - private final Function<Rule, Map<String, Object>> _ruleMapping = rule -> ImmutableMap.<String, Object>builder() - .put(_fieldNames.get(0), rule.getIdentity()) - .put(_fieldNames.get(1), rule.getAttributes()) - .put(_fieldNames.get(2), rule.getObjectType()) - .put(_fieldNames.get(3), rule.getOperation()) - .put(_fieldNames.get(4), rule.getOutcome()) - .build(); + private final Function<Rule, Map<String, Object>> _ruleMapping = rule -> Map.of( + _fieldNames.get(0), rule.getIdentity(), + _fieldNames.get(1), rule.getAttributes(), + _fieldNames.get(2), rule.getObjectType(), + _fieldNames.get(3), rule.getOperation(), + _fieldNames.get(4), rule.getOutcome()); /** * Cached RuleSet diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java index d1f2883135..f757268dc8 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java @@ -23,11 +23,9 @@ package org.apache.qpid.server.query.engine.retriever; import java.util.List; import java.util.Map; import java.util.function.BiFunction; +import java.util.stream.Collectors; import java.util.stream.Stream; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.model.Binding; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Exchange; @@ -50,27 +48,19 @@ public class BindingRetriever<C extends ConfiguredObject<?>> extends ConfiguredO /** * List of entity field names */ - private final List<String> _fieldNames = new ImmutableList.Builder<String>() - .add("exchange") - .add("bindingKey") - .add("name") - .add("type") - .add("arguments") - .add("destination") - .build(); + private final List<String> _fieldNames = List.of("exchange", "bindingKey", "name", "type", "arguments", "destination"); /** * Mapping function for a Binding */ private final BiFunction<ConfiguredObject<?>, Binding, Map<String, Object>> _bindingMapping = - (ConfiguredObject<?> parent, Binding binding) -> ImmutableMap.<String, Object>builder() - .put(_fieldNames.get(0), parent.getName()) - .put(_fieldNames.get(1), binding.getBindingKey()) - .put(_fieldNames.get(2), binding.getName()) - .put(_fieldNames.get(3), binding.getType()) - .put(_fieldNames.get(4), binding.getArguments()) - .put(_fieldNames.get(5), binding.getDestination()) - .build(); + (ConfiguredObject<?> parent, Binding binding) -> Map.of( + _fieldNames.get(0), parent.getName(), + _fieldNames.get(1), binding.getBindingKey(), + _fieldNames.get(2), binding.getName(), + _fieldNames.get(3), binding.getType(), + _fieldNames.get(4), binding.getArguments(), + _fieldNames.get(5), binding.getDestination()); /** * Returns stream of Binding entities diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java index 168bb364ba..7fb2c5dd41 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java @@ -21,14 +21,14 @@ package org.apache.qpid.server.query.engine.retriever; import java.math.BigInteger; +import java.util.Collections; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.function.BiFunction; +import java.util.stream.Collectors; import java.util.stream.Stream; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.KeyStore; import org.apache.qpid.server.model.TrustStore; @@ -58,37 +58,30 @@ public class CertificateRetriever<C extends ConfiguredObject<?>> extends Configu /** * List of entity field names */ - private final List<String> _fieldNames = new ImmutableList.Builder<String>() - .add("store") - .add("alias") - .add("issuerName") - .add("serialNumber") - .add("hexSerialNumber") - .add("signatureAlgorithm") - .add("subjectAltNames") - .add("subjectName") - .add("validFrom") - .add("validUntil") - .add("version") - .build(); + private final List<String> _fieldNames = Stream.of("store", "alias", "issuerName", "serialNumber", "hexSerialNumber", + "signatureAlgorithm", "subjectAltNames", "subjectName", "validFrom", "validUntil", "version") + .collect(Collectors.toList()); /** * Mapping function for a CertificateDetails */ private final BiFunction<ConfiguredObject<?>, CertificateDetails, Map<String, Object>> certificateMapping = - (ConfiguredObject<?> parent, CertificateDetails certificate) -> ImmutableMap.<String, Object>builder() - .put(_fieldNames.get(0), parent.getName()) - .put(_fieldNames.get(1), certificate.getAlias() == null ? "null" : certificate.getAlias()) - .put(_fieldNames.get(2), certificate.getIssuerName()) - .put(_fieldNames.get(3), certificate.getSerialNumber()) - .put(_fieldNames.get(4), toHex(certificate.getSerialNumber())) - .put(_fieldNames.get(5), certificate.getSignatureAlgorithm()) - .put(_fieldNames.get(6), certificate.getSubjectAltNames()) - .put(_fieldNames.get(7), certificate.getSubjectName()) - .put(_fieldNames.get(8), certificate.getValidFrom()) - .put(_fieldNames.get(9), certificate.getValidUntil()) - .put(_fieldNames.get(10), certificate.getVersion()) - .build(); + (ConfiguredObject<?> parent, CertificateDetails certificate) -> + { + final Map<String, Object> map = new LinkedHashMap<>(); + map.put(_fieldNames.get(0), parent.getName()); + map.put(_fieldNames.get(1), certificate.getAlias() == null ? "null" : certificate.getAlias()); + map.put(_fieldNames.get(2), certificate.getIssuerName()); + map.put(_fieldNames.get(3), certificate.getSerialNumber()); + map.put(_fieldNames.get(4), toHex(certificate.getSerialNumber())); + map.put(_fieldNames.get(5), certificate.getSignatureAlgorithm()); + map.put(_fieldNames.get(6), certificate.getSubjectAltNames()); + map.put(_fieldNames.get(7), certificate.getSubjectName()); + map.put(_fieldNames.get(8), certificate.getValidFrom()); + map.put(_fieldNames.get(9), certificate.getValidUntil()); + map.put(_fieldNames.get(10), certificate.getVersion()); + return Collections.unmodifiableMap(map); + }; /** * Returns stream of CertificateDetails entities diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java index c66d160ae5..13d5d69d0e 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java @@ -25,9 +25,6 @@ import java.util.Map; import java.util.function.Function; import java.util.stream.Stream; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.model.BrokerConnectionLimitProvider; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.security.limit.ConnectionLimitProvider; @@ -53,26 +50,19 @@ public class ConnectionLimitRuleRetriever<C extends ConfiguredObject<?>> extends /** * List of entity field names */ - private final List<String> _fieldNames = new ImmutableList.Builder<String>() - .add("blocked") - .add("countLimit") - .add("frequencyLimit") - .add("frequencyPeriod") - .add("identity") - .add("port") - .build(); + private final List<String> _fieldNames = List.of("blocked", "countLimit", "frequencyLimit", "frequencyPeriod", + "identity", "port"); /** * Mapping function for a ConnectionLimitRule */ - private final Function<ConnectionLimitRule, Map<String, Object>> _connectionLimitRuleMapping = rule -> ImmutableMap.<String, Object>builder() - .put(_fieldNames.get(0), rule.getBlocked()) - .put(_fieldNames.get(1), rule.getCountLimit()) - .put(_fieldNames.get(2), rule.getFrequencyLimit()) - .put(_fieldNames.get(3), rule.getFrequencyPeriod()) - .put(_fieldNames.get(4), rule.getIdentity()) - .put(_fieldNames.get(5), rule.getPort()) - .build(); + private final Function<ConnectionLimitRule, Map<String, Object>> _connectionLimitRuleMapping = rule -> Map.of( + _fieldNames.get(0), rule.getBlocked(), + _fieldNames.get(1), rule.getCountLimit(), + _fieldNames.get(2), rule.getFrequencyLimit(), + _fieldNames.get(3), rule.getFrequencyPeriod(), + _fieldNames.get(4), rule.getIdentity(), + _fieldNames.get(5), rule.getPort()); /** * Returns stream of ConnectionLimitRule entities diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java index b2b5149422..2bde83ddde 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java @@ -20,13 +20,10 @@ */ package org.apache.qpid.server.query.engine.retriever; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Stream; -import com.google.common.collect.ImmutableMap; - import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; @@ -42,7 +39,7 @@ public class DomainRetriever<C extends ConfiguredObject<?>> extends ConfiguredOb /** * List of entity field names */ - private final List<String> _fieldNames = Collections.singletonList("name"); + private final List<String> _fieldNames = List.of("name"); /** * Returns stream of Domain entities @@ -55,7 +52,7 @@ public class DomainRetriever<C extends ConfiguredObject<?>> extends ConfiguredOb public Stream<Map<String, ?>> retrieve(final C broker) { return broker.getModel().getDescendantCategories(Broker.class).stream() - .map(type -> ImmutableMap.<String, Object> builder().put("name", type.getSimpleName()).build()); + .map(type -> Map.of("name", type.getSimpleName())); } /** diff --git a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java index 18d44f9733..8a5c270300 100644 --- a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java +++ b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java @@ -18,16 +18,17 @@ * under the License. * */ + package org.apache.qpid.server.query.engine.retriever; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.function.BiFunction; +import java.util.stream.Collectors; import java.util.stream.Stream; -import com.google.common.collect.ImmutableList; - import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Connection; import org.apache.qpid.server.model.Session; @@ -50,25 +51,9 @@ public class SessionRetriever<C extends ConfiguredObject<?>> extends ConfiguredO /** * List of entity field names */ - private final List<String> _fieldNames = new ImmutableList.Builder<String>() - .add("connectionId") - .add("id") - .add("name") - .add("description") - .add("type") - .add("desiredState") - .add("state") - .add("durable") - .add("lifetimePolicy") - .add("channelId") - .add("lastOpenedTime") - .add("producerFlowBlocked") - .add("lastUpdatedTime") - .add("lastUpdatedBy") - .add("createdBy") - .add("createdTime") - .add("statistics") - .build(); + private final List<String> _fieldNames = List.of("connectionId", "id", "name", "description", "type", "desiredState", + "state", "durable", "lifetimePolicy", "channelId", "lastOpenedTime", "producerFlowBlocked", "lastUpdatedTime", + "lastUpdatedBy", "createdBy", "createdTime", "statistics"); /** * Mapping function for a Session @@ -94,7 +79,7 @@ public class SessionRetriever<C extends ConfiguredObject<?>> extends ConfiguredO result.put(_fieldNames.get(14), session.getCreatedBy()); result.put(_fieldNames.get(15), session.getCreatedTime()); result.put(_fieldNames.get(16), session.getStatistics()); - return result; + return Collections.unmodifiableMap(result); }; /** diff --git a/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java b/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java index 4fa05afb50..c9885cd491 100644 --- a/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java +++ b/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java @@ -29,7 +29,6 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collector; -import com.google.common.collect.ImmutableMap; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -45,33 +44,12 @@ import org.apache.qpid.server.query.engine.parsing.expression.accessor.MapObject */ public class CollectorFactoryTest { - private final List<Map<String, Object>> _entities = Arrays.asList( - ImmutableMap.<String, Object>builder() - .put("age", 10) - .put("firstname", "Anna") - .put("lastname", "Abbot") - .build(), - ImmutableMap.<String, Object>builder() - .put("age", 20) - .put("firstname", "Bart") - .put("lastname", "Burton") - .build(), - ImmutableMap.<String, Object>builder() - .put("age", 30) - .put("firstname", "Emma") - .put("lastname", "Edwards") - .build(), - ImmutableMap.<String, Object>builder() - .put("age", 40) - .put("firstname", "Piter") - .put("lastname", "Parker") - .build(), - ImmutableMap.<String, Object>builder() - .put("age", 50) - .put("firstname", "Vincent") - .put("lastname", "Van Gogh") - .build() - ); + private final List<Map<String, Object>> _entities = List.of( + Map.of("age", 10, "firstname", "Anna", "lastname", "Abbot"), + Map.of("age", 20, "firstname", "Bart", "lastname", "Burton"), + Map.of("age", 30, "firstname", "Emma", "lastname", "Edwards"), + Map.of("age", 40, "firstname", "Peter", "lastname", "Parker"), + Map.of("age", 50, "firstname", "Vincent", "lastname", "Van Gogh")); @BeforeEach() public void setUp() --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org