From fab35bbee817e0afcfeb951a24cbed8df55abd0f Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Thu, 30 Mar 2023 08:14:27 +0200 Subject: Remove interface now that there is only one implementation --- .../core/HierarchicalGroupVisiting.java | 32 ++++++++++++++++--- .../core/HierarchicalGroupVisitingAdapter.java | 37 ---------------------- .../core/NodeStateChangeChecker.java | 2 +- 3 files changed, 28 insertions(+), 43 deletions(-) delete mode 100644 clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisitingAdapter.java diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisiting.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisiting.java index 19ff51f4cc4..09f1824824c 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisiting.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisiting.java @@ -1,16 +1,38 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -// package com.yahoo.vespa.clustercontroller.core; +import com.yahoo.vdslib.distribution.Distribution; import com.yahoo.vdslib.distribution.GroupVisitor; -public interface HierarchicalGroupVisiting { - /** Returns true if the group contains more than one (leaf) group. */ - boolean isHierarchical(); +class HierarchicalGroupVisiting { + + private final Distribution distribution; + + public HierarchicalGroupVisiting(Distribution distribution) { + this.distribution = distribution; + } + + /** + * Returns true if the group contains more than one (leaf) group. + */ + public boolean isHierarchical() { + return !distribution.getRootGroup().isLeafGroup(); + } /** * Invoke the visitor for each leaf group of an implied group. If the group is non-hierarchical * (flat), the visitor will not be invoked. */ - void visit(GroupVisitor visitor); + public void visit(GroupVisitor visitor) { + if (isHierarchical()) { + distribution.visitGroups(group -> { + if (group.isLeafGroup()) { + return visitor.visitGroup(group); + } + + return true; + }); + } + } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisitingAdapter.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisitingAdapter.java deleted file mode 100644 index 4bc487bfa7f..00000000000 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisitingAdapter.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -// -package com.yahoo.vespa.clustercontroller.core; - -import com.yahoo.vdslib.distribution.Distribution; -import com.yahoo.vdslib.distribution.GroupVisitor; - -/** - * Exposes {@link Distribution} as a {@link HierarchicalGroupVisiting}. - * - * @author hakon - */ -public class HierarchicalGroupVisitingAdapter implements HierarchicalGroupVisiting { - private final Distribution distribution; - - public HierarchicalGroupVisitingAdapter(Distribution distribution) { - this.distribution = distribution; - } - - @Override - public boolean isHierarchical() { - return !distribution.getRootGroup().isLeafGroup(); - } - - @Override - public void visit(GroupVisitor visitor) { - if (isHierarchical()) { - distribution.visitGroups(group -> { - if (group.isLeafGroup()) { - return visitor.visitGroup(group); - } - - return true; - }); - } - } -} diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java index 2025dfef562..e242833fd0c 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java @@ -46,7 +46,7 @@ public class NodeStateChangeChecker { public NodeStateChangeChecker(ContentCluster cluster, boolean inMoratorium) { this.requiredRedundancy = cluster.getDistribution().getRedundancy(); - this.groupVisiting = new HierarchicalGroupVisitingAdapter(cluster.getDistribution()); + this.groupVisiting = new HierarchicalGroupVisiting(cluster.getDistribution()); this.clusterInfo = cluster.clusterInfo(); this.inMoratorium = inMoratorium; this.maxNumberOfGroupsAllowedToBeDown = cluster.maxNumberOfGroupsAllowedToBeDown(); -- cgit v1.2.3