This is an automated email from the ASF dual-hosted git repository. cschneider pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git
The following commit(s) were added to refs/heads/master by this push: new 84ae3a9 SLING-10488 - Also use path for LocalStore node name 84ae3a9 is described below commit 84ae3a999c780a837205cccc92e09c9c6be898a1 Author: Christian Schneider <cschn...@adobe.com> AuthorDate: Tue Jun 15 14:32:53 2021 +0200 SLING-10488 - Also use path for LocalStore node name --- pom.xml | 2 +- .../journal/impl/subscriber/DistributionSubscriber.java | 9 ++++++++- .../sling/distribution/journal/impl/subscriber/EscapeTest.java | 2 +- .../distribution/journal/impl/subscriber/SubscriberTest.java | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 587b7fb..0635655 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ <!-- P R O J E C T --> <!-- ======================================================================= --> <artifactId>org.apache.sling.distribution.journal</artifactId> - <version>0.1.17-SNAPSHOT</version> + <version>0.2.0-SNAPSHOT</version> <name>Apache Sling Journal based Content Distribution - Core bundle</name> <description>Implementation of Apache Sling Content Distribution components on top of an append-only persisted log</description> diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java index 53ee052..d37d1c2 100644 --- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java +++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java @@ -198,7 +198,14 @@ public class DistributionSubscriber { } public static String escapeTopicName(URI messagingUri, String topicName) { - return messagingUri.getHost() + "_" + Text.escapeIllegalJcrChars(topicName); + return String.format("%s%s_%s", + messagingUri.getHost(), + escape(messagingUri.getPath()), + escape(topicName)); + } + + private static String escape(String st) { + return Text.escapeIllegalJcrChars(st.replace("/", "_")); } private Set<String> getNotEmpty(String[] agentNames) { diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java index 8731036..f38bf7f 100644 --- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java +++ b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java @@ -33,6 +33,6 @@ public class EscapeTest { URI uri = new URI("http://myserver.apache.org:1234/somepath"); String topicName = "some_topic_name1"; String escaped = DistributionSubscriber.escapeTopicName(uri, topicName); - assertThat(escaped, equalTo("myserver.apache.org_some_topic_name1")); + assertThat(escaped, equalTo("myserver.apache.org_somepath_some_topic_name1")); } } diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java index 9273da3..d4f4f4f 100644 --- a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java +++ b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java @@ -117,7 +117,7 @@ public class SubscriberTest { private static final String PUB1_SLING_ID = "pub1sling"; private static final String PUB1_AGENT_NAME = "pub1agent"; - private static final String STORE_PACKAGE_NODE_NAME = "myserver.apache.org_aemdistribution_package"; + private static final String STORE_PACKAGE_NODE_NAME = "myserver.apache.org_somepath_aemdistribution_package"; private static final PackageMessage BASIC_ADD_PACKAGE = PackageMessage.builder() .pkgId("myid")