From d5bb4b5d45ce4106c93e850083595bfb16080892 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Wed, 12 Feb 2025 14:27:40 +0100 Subject: [PATCH] Simplify InternalOrder.isOrder a little No need for recursion here. We don't allow nested compound order instances so this thing works exactly as the JavaDoc states and we only need to check one level down. --- .../search/aggregations/InternalOrder.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java b/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java index afeeaa9bd6752..4258aefa2c97d 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java @@ -453,16 +453,7 @@ public static boolean isKeyDesc(BucketOrder order) { * @return {@code true} if the order matches, {@code false} otherwise. */ private static boolean isOrder(BucketOrder order, BucketOrder expected) { - if (order == expected) { - return true; - } else if (order instanceof CompoundOrder) { - // check if its a compound order with the first element that matches - List orders = ((CompoundOrder) order).orderElements; - if (orders.size() >= 1) { - return isOrder(orders.get(0), expected); - } - } - return false; + return order == expected || (order instanceof CompoundOrder compoundOrder && compoundOrder.orderElements.getFirst() == expected); } /**