You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by tm...@apache.org on 2020/09/25 12:19:00 UTC
[sling-org-apache-sling-distribution-journal] branch master
updated: SLING-9742 - PubQueue#getEntry throws when provided an illegal
arguments
This is an automated email from the ASF dual-hosted git repository.
tmaret 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 0284693 SLING-9742 - PubQueue#getEntry throws when provided an illegal arguments
0284693 is described below
commit 02846937fa0e07d183f50484bc68e028337c3fe5
Author: tmaret <tm...@adobe.com>
AuthorDate: Fri Sep 25 14:18:39 2020 +0200
SLING-9742 - PubQueue#getEntry throws when provided an illegal arguments
---
.../sling/distribution/journal/queue/impl/EntryUtil.java | 4 +++-
.../sling/distribution/journal/queue/impl/PubErrQueue.java | 10 ++++++----
.../apache/sling/distribution/journal/queue/impl/PubQueue.java | 8 ++++++--
.../sling/distribution/journal/queue/impl/PubQueueTest.java | 6 ++++++
4 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/apache/sling/distribution/journal/queue/impl/EntryUtil.java b/src/main/java/org/apache/sling/distribution/journal/queue/impl/EntryUtil.java
index 9b9a84b..50b9884 100644
--- a/src/main/java/org/apache/sling/distribution/journal/queue/impl/EntryUtil.java
+++ b/src/main/java/org/apache/sling/distribution/journal/queue/impl/EntryUtil.java
@@ -18,6 +18,8 @@
*/
package org.apache.sling.distribution.journal.queue.impl;
+import javax.annotation.Nonnull;
+
import org.apache.sling.distribution.journal.queue.QueueItemFactory;
import org.apache.sling.distribution.queue.DistributionQueueItem;
@@ -26,7 +28,7 @@ public final class EntryUtil {
private EntryUtil() {
}
- public static long entryOffset(String entryId) {
+ public static long entryOffset(@Nonnull String entryId) {
String[] chunks = entryId.split("@");
if (chunks.length != 2) {
throw new IllegalArgumentException(String.format("Unsupported entryId format %s", entryId));
diff --git a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubErrQueue.java b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubErrQueue.java
index 69f1f59..790acae 100644
--- a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubErrQueue.java
+++ b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubErrQueue.java
@@ -96,10 +96,12 @@ public class PubErrQueue implements DistributionQueue {
@Override
public DistributionQueueEntry getEntry(@Nonnull String entryId) {
- DistributionQueueItem queueItem = agentQueue.getItem(EntryUtil.entryOffset(entryId));
- return (queueItem != null)
- ? entryFactory.create(queueItem)
- : null;
+ try {
+ DistributionQueueItem queueItem = agentQueue.getItem(EntryUtil.entryOffset(entryId));
+ return (queueItem != null) ? entryFactory.create(queueItem) : null;
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
}
@Override
diff --git a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueue.java b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueue.java
index 3ca97fc..f8ed0ff 100644
--- a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueue.java
+++ b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueue.java
@@ -124,8 +124,12 @@ public class PubQueue implements DistributionQueue {
@Override
public DistributionQueueEntry getEntry(String entryId) {
- DistributionQueueItem queueItem = offsetQueue.getItem(EntryUtil.entryOffset(entryId));
- return entryFactory.create(queueItem);
+ try {
+ DistributionQueueItem queueItem = offsetQueue.getItem(EntryUtil.entryOffset(entryId));
+ return entryFactory.create(queueItem);
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
}
@Override
diff --git a/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueTest.java b/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueTest.java
index 8ae13b4..e540502 100644
--- a/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueTest.java
@@ -103,6 +103,12 @@ public class PubQueueTest {
}
@Test
+ public void testGetItemWithIllegalArgument() {
+ assertNull(queue.getEntry("illegal"));
+ assertNull(queue.getEntry("illegal@argument"));
+ }
+
+ @Test
public void testGetItem() throws Exception {
addEntries();