aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-03-30 08:14:27 +0200
committerHarald Musum <musum@yahooinc.com>2023-03-30 08:14:27 +0200
commitfab35bbee817e0afcfeb951a24cbed8df55abd0f (patch)
tree05a24e27d01e37c2c961fb679c706bb7a844416c
parentf03364a0da1d3f7c5f460bf0c80e338aa55f3b25 (diff)
Remove interface now that there is only one implementation
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisiting.java32
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/HierarchicalGroupVisitingAdapter.java37
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java2
3 files changed, 28 insertions, 43 deletions
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();