This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/master by this push:
new 9571ca1 ARTEMIS-2753 Expanding wildcard fix to Advisories
9571ca1 is described below
commit 9571ca16dbb5c74b077a04b61268babdc6019211
Author: Clebert Suconic <[email protected]>
AuthorDate: Thu May 7 12:16:35 2020 -0400
ARTEMIS-2753 Expanding wildcard fix to Advisories
---
.../artemis/core/protocol/openwire/amq/AMQConsumer.java | 7 +------
.../artemis/core/protocol/openwire/amq/AMQSession.java | 15 +++++++--------
.../core/protocol/openwire/amq/AMQConsumerTest.java | 3 ++-
3 files changed, 10 insertions(+), 15 deletions(-)
diff --git
a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java
b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java
index cefd027..7e6be43 100644
---
a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java
+++
b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java
@@ -139,12 +139,7 @@ public class AMQConsumer {
}
}
- SimpleString destinationName;
- if (openwireDestination.isTemporary()) {
- destinationName = new
SimpleString(openwireDestination.getPhysicalName());
- } else {
- destinationName = new
SimpleString(session.convertWildcard(openwireDestination.getPhysicalName()));
- }
+ SimpleString destinationName = new
SimpleString(session.convertWildcard(openwireDestination));
if (openwireDestination.isTopic()) {
SimpleString queueName = createTopicSubscription(info.isDurable(),
info.getClientId(), destinationName.toString(), info.getSubscriptionName(),
selector, destinationName);
diff --git
a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
index af7a194..106983f 100644
---
a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
+++
b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
@@ -183,12 +183,7 @@ public class AMQSession implements SessionCallback {
}
if (openWireDest.isQueue()) {
openWireDest =
protocolManager.virtualTopicConsumerToFQQN(openWireDest);
- SimpleString queueName;
- if (!openWireDest.isTemporary()) {
- queueName = new
SimpleString(convertWildcard(openWireDest.getPhysicalName()));
- } else {
- queueName = new SimpleString(openWireDest.getPhysicalName());
- }
+ SimpleString queueName = new
SimpleString(convertWildcard(openWireDest));
if (!checkAutoCreateQueue(queueName, openWireDest.isTemporary())) {
throw new InvalidDestinationException("Destination doesn't
exist: " + queueName);
@@ -522,8 +517,12 @@ public class AMQSession implements SessionCallback {
connection.enableTtl();
}
- public String convertWildcard(String physicalName) {
- return OPENWIRE_WILDCARD.convert(physicalName,
server.getConfiguration().getWildcardConfiguration());
+ public String convertWildcard(ActiveMQDestination openWireDest) {
+ if (openWireDest.isTemporary() ||
AdvisorySupport.isAdvisoryTopic(openWireDest)) {
+ return openWireDest.getPhysicalName();
+ } else {
+ return OPENWIRE_WILDCARD.convert(openWireDest.getPhysicalName(),
server.getConfiguration().getWildcardConfiguration());
+ }
}
public ServerSession getCoreSession() {
diff --git
a/artemis-protocols/artemis-openwire-protocol/src/test/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumerTest.java
b/artemis-protocols/artemis-openwire-protocol/src/test/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumerTest.java
index b25881b..5c1a879 100644
---
a/artemis-protocols/artemis-openwire-protocol/src/test/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumerTest.java
+++
b/artemis-protocols/artemis-openwire-protocol/src/test/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumerTest.java
@@ -28,6 +28,7 @@ import
org.apache.activemq.artemis.core.server.MessageReference;
import org.apache.activemq.artemis.core.server.ServerSession;
import org.apache.activemq.artemis.core.server.SlowConsumerDetectionListener;
import org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl;
+import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQTopic;
import org.apache.activemq.command.ConsumerInfo;
import org.junit.Assert;
@@ -63,7 +64,7 @@ public class AMQConsumerTest {
Mockito.when(session.getConnection()).thenReturn(Mockito.mock(OpenWireConnection.class));
Mockito.when(session.getCoreServer()).thenReturn(Mockito.mock(ActiveMQServer.class));
Mockito.when(session.getCoreSession()).thenReturn(coreSession);
-
Mockito.when(session.convertWildcard(ArgumentMatchers.any(String.class))).thenReturn("");
+
Mockito.when(session.convertWildcard(ArgumentMatchers.any(ActiveMQDestination.class))).thenReturn("");
ConsumerInfo info = new ConsumerInfo();
info.setPrefetchSize(prefetchSize);