This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8aa4cabaccfc5224fc4fe6b9bae125d403d838b0 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Tue May 14 14:44:42 2024 +0200 Reuse the existing comparator instead of storing it --- .../processor/resequencer/ResequencerEngine.java | 8 ++++---- .../apache/camel/processor/resequencer/Sequence.java | 20 +++++++++----------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java index fc8272ce697..dc7bed62ec9 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java @@ -187,8 +187,8 @@ public class ResequencerEngine<E> { Element<E> element = new Element<>(o); // validate the exchange has no problem - if (!sequence.comparator().isValid(element)) { - throw new IllegalArgumentException("Element cannot be used in comparator: " + sequence.comparator()); + if (!sequence.seqComparator().isValid(element)) { + throw new IllegalArgumentException("Element cannot be used in comparator: " + sequence.seqComparator()); } // validate the exchange shouldn't be 'rejected' (if applicable) @@ -275,7 +275,7 @@ public class ResequencerEngine<E> { if (lastDelivered == null) { return false; } - if (sequence.comparator().successor(element, lastDelivered)) { + if (sequence.seqComparator().successor(element, lastDelivered)) { return true; } return false; @@ -291,7 +291,7 @@ public class ResequencerEngine<E> { if (lastDelivered == null) { return false; } - if (sequence.comparator().compare(element, lastDelivered) < 0) { + if (sequence.seqComparator().compare(element, lastDelivered) < 0) { return true; } return false; diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java index 11b2d46b46f..f16c509536e 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/Sequence.java @@ -17,6 +17,7 @@ package org.apache.camel.processor.resequencer; import java.io.Serial; +import java.util.Objects; import java.util.TreeSet; /** @@ -28,16 +29,13 @@ public class Sequence<E> extends TreeSet<E> { private static final @Serial long serialVersionUID = 5647393631147741711L; - private final SequenceElementComparator<E> comparator; - /** * Creates a new {@link Sequence} instance. * * @param comparator a strategy for comparing elements of this sequence. */ public Sequence(SequenceElementComparator<E> comparator) { - super(comparator); - this.comparator = comparator; + super(Objects.requireNonNull(comparator)); } /** @@ -52,7 +50,7 @@ public class Sequence<E> extends TreeSet<E> { if (elem == null) { return null; } - if (comparator.predecessor(elem, e)) { + if (seqComparator().predecessor(elem, e)) { return elem; } return null; @@ -70,7 +68,7 @@ public class Sequence<E> extends TreeSet<E> { if (elem == null) { return null; } - if (comparator.successor(elem, e)) { + if (seqComparator().successor(elem, e)) { return elem; } return null; @@ -81,9 +79,9 @@ public class Sequence<E> extends TreeSet<E> { * * @return this sequence's comparator. */ - @Override - public SequenceElementComparator<E> comparator() { - return comparator; + @SuppressWarnings("unchecked") + public SequenceElementComparator<E> seqComparator() { + return Objects.requireNonNull((SequenceElementComparator<E>) super.comparator()); } /** @@ -102,7 +100,7 @@ public class Sequence<E> extends TreeSet<E> { if (found) { return current; } - if (comparator.compare(e, current) == 0) { + if (seqComparator().compare(e, current) == 0) { found = true; } } @@ -122,7 +120,7 @@ public class Sequence<E> extends TreeSet<E> { public E lower(E e) { E last = null; for (E current : this) { - if (comparator.compare(e, current) == 0) { + if (seqComparator().compare(e, current) == 0) { return last; } last = current;