Skip to content

Commit d1729cd

Browse files
committed
feat: add retrieval of RegisteredController by name
Signed-off-by: Chris Laprun <[email protected]>
1 parent 127e87d commit d1729cd

File tree

1 file changed

+13
-1
lines changed
  • operator-framework-core/src/main/java/io/javaoperatorsdk/operator

1 file changed

+13
-1
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/RuntimeInfo.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package io.javaoperatorsdk.operator;
22

33
import java.util.*;
4+
import java.util.stream.Collectors;
45

6+
import io.fabric8.kubernetes.api.model.HasMetadata;
57
import org.slf4j.Logger;
68
import org.slf4j.LoggerFactory;
79

@@ -22,14 +24,15 @@ public class RuntimeInfo {
2224
private final Operator operator;
2325

2426
public RuntimeInfo(Operator operator) {
25-
this.registeredControllers = operator.getRegisteredControllers();
27+
this.registeredControllers = Collections.unmodifiableSet(operator.getRegisteredControllers());
2628
this.operator = operator;
2729
}
2830

2931
public boolean isStarted() {
3032
return operator.isStarted();
3133
}
3234

35+
@SuppressWarnings("unused")
3336
public Set<RegisteredController> getRegisteredControllers() {
3437
checkIfStarted();
3538
return registeredControllers;
@@ -80,4 +83,13 @@ public Map<String, Map<String, EventSourceHealthIndicator>> unhealthyEventSource
8083
}
8184
return res;
8285
}
86+
87+
@SuppressWarnings({"unchecked", "unused"})
88+
public RegisteredController<? extends HasMetadata> getRegisteredController(String controllerName) {
89+
checkIfStarted();
90+
return registeredControllers.stream()
91+
.filter(rc -> rc.getConfiguration().getName().equals(controllerName))
92+
.findFirst()
93+
.orElse(null);
94+
}
8395
}

0 commit comments

Comments
 (0)