This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit a5764537c61506759cf2a8d578714b0029e61f96 Author: Michael Lück <[email protected]> AuthorDate: Mon Nov 28 20:00:29 2022 +0100 default implementation for run(Predicate, payload) in BlockingTask --- .../apache/camel/support/task/BackgroundTask.java | 5 ---- .../apache/camel/support/task/BlockingTask.java | 4 ++- .../apache/camel/support/task/ForegroundTask.java | 30 ---------------------- 3 files changed, 3 insertions(+), 36 deletions(-) diff --git a/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java b/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java index c7e63fb50e9..035e795b422 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/task/BackgroundTask.java @@ -105,11 +105,6 @@ public class BackgroundTask implements BlockingTask { } } - @Override - public <T> boolean run(Predicate<T> predicate, T payload) { - return this.run(() -> predicate.test(payload)); - } - @Override public boolean run(BooleanSupplier supplier) { final CountDownLatch latch = new CountDownLatch(1); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java b/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java index a7e93e1d572..757a7bcea20 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/task/BlockingTask.java @@ -36,7 +36,9 @@ public interface BlockingTask extends Task { * @return true if the task has completed successfully or false if: 1) the budget is exhausted or 2) the * task was interrupted. */ - <T> boolean run(Predicate<T> predicate, T payload); + default <T> boolean run(Predicate<T> predicate, T payload) { + return this.run(() -> predicate.test(payload)); + } /** * Run the task diff --git a/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java b/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java index deefe7e8d78..e5e32df2242 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/task/ForegroundTask.java @@ -80,36 +80,6 @@ public class ForegroundTask implements BlockingTask { this.name = name; } - @Override - public <T> boolean run(Predicate<T> predicate, T payload) { - boolean completed = false; - try { - if (budget.initialDelay() > 0) { - Thread.sleep(budget.initialDelay()); - } - - while (budget.next()) { - if (predicate.test(payload)) { - LOG.debug("Task {} is complete after {} iterations and it is ready to continue", - name, budget.iteration()); - completed = true; - break; - } - - if (budget.canContinue()) { - Thread.sleep(budget.interval()); - } - } - } catch (InterruptedException e) { - LOG.warn("Interrupted {} while waiting for the repeatable task to finish", name); - Thread.currentThread().interrupt(); - } finally { - elapsed = budget.elapsed(); - } - - return completed; - } - @Override public boolean run(BooleanSupplier supplier) { boolean completed = false;
